Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 583BA200B71 for ; Wed, 31 Aug 2016 14:12:42 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 56B15160AB4; Wed, 31 Aug 2016 12:12:42 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 78A06160A8C for ; Wed, 31 Aug 2016 14:12:41 +0200 (CEST) Received: (qmail 4457 invoked by uid 500); 31 Aug 2016 12:12:40 -0000 Mailing-List: contact user-help@jclouds.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@jclouds.apache.org Delivered-To: mailing list user@jclouds.apache.org Received: (qmail 4447 invoked by uid 99); 31 Aug 2016 12:12:40 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 31 Aug 2016 12:12:40 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id 2A136C05B7 for ; Wed, 31 Aug 2016 12:12:40 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -3.748 X-Spam-Level: X-Spam-Status: No, score=-3.748 tagged_above=-999 required=6.31 tests=[RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-1.426, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id w0aHFFSCxLgp for ; Wed, 31 Aug 2016 12:12:37 +0000 (UTC) Received: from mx5-phx2.redhat.com (mx5-phx2.redhat.com [209.132.183.37]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTPS id 0957560CD1 for ; Wed, 31 Aug 2016 12:12:36 +0000 (UTC) Received: from zmail19.collab.prod.int.phx2.redhat.com (zmail19.collab.prod.int.phx2.redhat.com [10.5.83.22]) by mx5-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u7VCCU8q024820; Wed, 31 Aug 2016 08:12:30 -0400 Date: Wed, 31 Aug 2016 08:12:30 -0400 (EDT) From: Richard Janik To: user@jclouds.apache.org Cc: Josef Cacek Message-ID: <34501550.3568310.1472645549997.JavaMail.zimbra@redhat.com> In-Reply-To: <1281264188.3566406.1472643976039.JavaMail.zimbra@redhat.com> Subject: DnsNameValidator and EC2 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.40.5.101] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - FF47 (Linux)/8.0.6_GA_5922) Thread-Topic: DnsNameValidator and EC2 Thread-Index: FKcDL8TDULueCBnwL9rCgKMXMUsuCA== archived-at: Wed, 31 Aug 2016 12:12:42 -0000 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.(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 >>>