jclouds-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Richard Janik <rja...@redhat.com>
Subject DnsNameValidator and EC2
Date Wed, 31 Aug 2016 12:12:30 GMT
Hello everyone,

I've run into [2] some time ago. First off, it's not a problem for me to just shorten the
group names. However, I've brought this up with a colleague of mine and it's been suggested,
that the limit of 63 characters is in there due to [1], which is obsolete, and that maybe
the limit could be removed. I searched briefly through the RFCs that update [1], but couldn't
find any clear proof that that the limit has been removed or is higher now.

I've rebuilt JClouds with DnsNameValidator with its max value = 200. The JClouds unit tests
are passing and EC2 has no problems with long instance names (~150 characters) either. Other
cloud providers might have some issues with that, but I wouldn't know.

So the question is: could the limit of 63 characters on DnsNameValidator be removed or increased
without impacting something I'm not aware of? If it could be increased, how high can we go?
If its there for a reason, what is the reason?

Thanks for any insights,
R.

[1]: https://tools.ietf.org/html/rfc1035#section-2.3.4
[2]: <<< stacktrace begin >>>
java.lang.IllegalArgumentException: Object 'a-very-long-node-group-name-that-is-definitely-longer-than-sixty-three-characters-and-will-require-postprocessing'
doesn't match dns naming constraints. Reason: Can't be null or empty. Length must be 3 to
63 symbols..
	at org.jclouds.predicates.validators.DnsNameValidator.exception(DnsNameValidator.java:74)
~[jclouds-core-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
	at org.jclouds.predicates.validators.DnsNameValidator.validate(DnsNameValidator.java:51)
~[jclouds-core-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
	at org.jclouds.predicates.validators.DnsNameValidator.validate(DnsNameValidator.java:36)
~[jclouds-core-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
	at org.jclouds.compute.internal.FormatSharedNamesAndAppendUniqueStringToThoseWhichRepeat.checkGroup(FormatSharedNamesAndAppendUniqueStringToThoseWhichRepeat.java:124)
~[jclouds-compute-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
	at org.jclouds.compute.internal.FormatSharedNamesAndAppendUniqueStringToThoseWhichRepeat.sharedNameForGroup(FormatSharedNamesAndAppendUniqueStringToThoseWhichRepeat.java:120)
~[jclouds-compute-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
	at org.jclouds.ec2.compute.strategy.CreateKeyPairAndSecurityGroupsAsNeededAndReturnRunOptions.getSecurityGroupsForTagAndOptions(CreateKeyPairAndSecurityGroupsAsNeededAndReturnRunOptions.java:168)
~[ec2-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
	at org.jclouds.aws.ec2.compute.strategy.CreateKeyPairPlacementAndSecurityGroupsAsNeededAndReturnRunOptions.addSecurityGroups(CreateKeyPairPlacementAndSecurityGroupsAsNeededAndReturnRunOptions.java:199)
~[aws-ec2-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
	at org.jclouds.ec2.compute.strategy.CreateKeyPairAndSecurityGroupsAsNeededAndReturnRunOptions.execute(CreateKeyPairAndSecurityGroupsAsNeededAndReturnRunOptions.java:80)
~[ec2-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
	at org.jclouds.aws.ec2.compute.strategy.CreateKeyPairPlacementAndSecurityGroupsAsNeededAndReturnRunOptions.execute(CreateKeyPairPlacementAndSecurityGroupsAsNeededAndReturnRunOptions.java:88)
~[aws-ec2-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
	at org.jclouds.aws.ec2.compute.strategy.CreateKeyPairPlacementAndSecurityGroupsAsNeededAndReturnRunOptions.execute(CreateKeyPairPlacementAndSecurityGroupsAsNeededAndReturnRunOptions.java:55)
~[aws-ec2-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
	at org.jclouds.ec2.compute.strategy.EC2CreateNodesInGroupThenAddToSet.createKeyPairAndSecurityGroupsAsNeededThenRunInstances(EC2CreateNodesInGroupThenAddToSet.java:213)
~[ec2-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
	at org.jclouds.ec2.compute.strategy.EC2CreateNodesInGroupThenAddToSet.runInstancesAndWarnOnInvisible(EC2CreateNodesInGroupThenAddToSet.java:151)
~[ec2-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
	at org.jclouds.ec2.compute.strategy.EC2CreateNodesInGroupThenAddToSet.execute(EC2CreateNodesInGroupThenAddToSet.java:132)
~[ec2-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
	at org.jclouds.compute.internal.BaseComputeService.createNodesInGroup(BaseComputeService.java:217)
~[jclouds-compute-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
	at org.jclouds.ec2.compute.EC2ComputeService.createNodesInGroup(EC2ComputeService.java:148)
~[ec2-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
	at org.wildfly.extras.sunstone.api.impl.AbstractJCloudsNode.createNode(AbstractJCloudsNode.java:154)
~[classes/:na]
	at org.wildfly.extras.sunstone.api.impl.ec2.EC2Node.<init>(EC2Node.java:81) ~[classes/:na]
	at org.wildfly.extras.sunstone.api.impl.ec2.EC2CloudProvider.createNodeInternal(EC2CloudProvider.java:74)
~[classes/:na]
	at org.wildfly.extras.sunstone.api.impl.AbstractJCloudsCloudProvider.lambda$createNode$3(AbstractJCloudsCloudProvider.java:101)
~[classes/:na]
	at org.wildfly.extras.sunstone.api.impl.AbstractJCloudsCloudProvider$$Lambda$9/2121317689.apply(Unknown
Source) ~[na:na]
	at java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1853) ~[na:1.8.0_45]
	at org.wildfly.extras.sunstone.api.impl.AbstractJCloudsCloudProvider.createNode(AbstractJCloudsCloudProvider.java:96)
~[classes/:na]
	at org.wildfly.extras.sunstone.api.impl.AbstractJCloudsCloudProvider.createNode(AbstractJCloudsCloudProvider.java:84)
~[classes/:na]
	at org.wildfly.extras.sunstone.tests.ec2.EC2LongNodeGroupTest.testLongNodeGroup(EC2LongNodeGroupTest.java:36)
~[test-classes/:na]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_45]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_45]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[na:1.8.0_45]
	at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_45]
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) [junit-4.12.jar:4.12]
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) [junit-4.12.jar:4.12]
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) [junit-4.12.jar:4.12]
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) [junit-4.12.jar:4.12]
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) [junit-4.12.jar:4.12]
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) [junit-4.12.jar:4.12]
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) [junit-4.12.jar:4.12]
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) [junit-4.12.jar:4.12]
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) [junit-4.12.jar:4.12]
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) [junit-4.12.jar:4.12]
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) [junit-4.12.jar:4.12]
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) [junit-4.12.jar:4.12]
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) [junit-4.12.jar:4.12]
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363) [junit-4.12.jar:4.12]
	at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:367) [surefire-junit4-2.19.1.jar:2.19.1]
	at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:274)
[surefire-junit4-2.19.1.jar:2.19.1]
	at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:238)
[surefire-junit4-2.19.1.jar:2.19.1]
	at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:161) [surefire-junit4-2.19.1.jar:2.19.1]
	at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:290)
[surefire-booter-2.19.1.jar:2.19.1]
	at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:242)
[surefire-booter-2.19.1.jar:2.19.1]
	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:121) [surefire-booter-2.19.1.jar:2.19.1]
<<< stacktrace end >>>

Mime
View raw message