Werner Buck created WHIRR-728:
---------------------------------

             Summary: Empty locationid for vanilla openstack results in 
NullPointerException
                 Key: WHIRR-728
                 URL: https://issues.apache.org/jira/browse/WHIRR-728
             Project: Whirr
          Issue Type: Bug
          Components: service/zookeeper
    Affects Versions: 0.8.2
         Environment: Openstack Nova (Vanilla)

Options:
whirr.instance-templates=2 zookeeper
whirr.provider = openstack-nova
whirr.hardware-id = RegionOne/15
whirr.image-id = RegionOne/b647a9cd-99fa-4247-b775-dc0198f3777f (ubuntu lucid 
cloud image)
jclouds.keystone.tenant-id = a8a405cb510e4607b3f31cf002b60a28
whirr.endpoint = http://ip:5000/v2.0
whirr.identity = demo:admin
whirr.credential = password
jclouds.openstack-nova.auto-create-floating-ips = true
jclouds.openstack-nova.auto-generate-keypairs = true
            Reporter: Werner Buck
            Priority: Trivial


In the whirr version 0.8.2 a NullPointerException occurs with configureServices 
with zookeeper during firewall operations.

Setting location-id to RegionOne fixes it.
Reporting this because I don't know if this is a bug or proper behaviour. I 
would expect the location-id to be RegionOne taken from whirr.image-id or 
whirr.hardware-id if location-id is not set?

Also all my whirr-runs require jclouds.openstack-nova.auto-generate-keypairs to 
be set to true, otherwise an authorization exception is raised. Should I 
specify another issue for this?

Log:


14:02:08.135 [pool-4-thread-2] INFO  org.apache.whirr.compute.NodeStarter - 
Nodes started: [{id=RegionOne/da02c9df-2026-44d7-a08a-7d48a6e231b9, 
providerId=da02c9df-2026-44d7-a08a-7d48a6e231b9, name=whirrtest-1-f8a, 
location={scope=HOST, 
id=d3781468178d18f8a789261ff3cb9c3ed0c0444837e6d6bb5a896961, 
description=d3781468178d18f8a789261ff3cb9c3ed0c0444837e6d6bb5a896961, 
parent=RegionOne}, group=whirrtest-1, 
imageId=RegionOne/b647a9cd-99fa-4247-b775-dc0198f3777f, 
os={family=unrecognized, name=ubuntu-lucid-64, description=ubuntu-lucid-64, 
is64Bit=true}, status=RUNNING, loginPort=22, hostname=whirrtest-1-f8a, 
privateAddresses=[10.11.12.2], publicAddresses=[172.25.95.3], 
hardware={id=RegionOne/15, providerId=15, name=custom, location={scope=ZONE, 
id=RegionOne, description=RegionOne, parent=openstack-nova}, 
processors=[{cores=1.0, speed=1.0}], ram=256, volumes=[{type=LOCAL, size=10.0, 
bootDevice=true, durable=true}], supportsImage=ALWAYS_TRUE}, loginUser=root}, 
{id=RegionOne/518a5a35-9fea-4df7-aa91-ade52406b6a8, 
providerId=518a5a35-9fea-4df7-aa91-ade52406b6a8, name=whirrtest-1-17a, 
location={scope=HOST, 
id=d3781468178d18f8a789261ff3cb9c3ed0c0444837e6d6bb5a896961, 
description=d3781468178d18f8a789261ff3cb9c3ed0c0444837e6d6bb5a896961, 
parent=RegionOne}, group=whirrtest-1, 
imageId=RegionOne/b647a9cd-99fa-4247-b775-dc0198f3777f, 
os={family=unrecognized, name=ubuntu-lucid-64, description=ubuntu-lucid-64, 
is64Bit=true}, status=RUNNING, loginPort=22, hostname=whirrtest-1-17a, 
privateAddresses=[10.11.12.3], publicAddresses=[172.25.95.2], 
hardware={id=RegionOne/15, providerId=15, name=custom, location={scope=ZONE, 
id=RegionOne, description=RegionOne, parent=openstack-nova}, 
processors=[{cores=1.0, speed=1.0}], ram=256, volumes=[{type=LOCAL, size=10.0, 
bootDevice=true, durable=true}], supportsImage=ALWAYS_TRUE}, loginUser=root}]
14:02:08.139 [ForkJoinPool-1-worker-2] WARN  
o.a.w.state.ClusterStateStoreFactory - No cluster state is going to be 
persisted. There is no easy way to retrieve instance roles after launch.
14:02:08.140 [ForkJoinPool-1-worker-1] INFO  org.rugco.test.WhirrLaunchTest - 
Bootstrapped following cluster: Cluster{instances=[Instance{roles=[zookeeper], 
publicIp=172.25.95.3, privateIp=10.11.12.2, 
id=RegionOne/da02c9df-2026-44d7-a08a-7d48a6e231b9, 
nodeMetadata={id=RegionOne/da02c9df-2026-44d7-a08a-7d48a6e231b9, 
providerId=da02c9df-2026-44d7-a08a-7d48a6e231b9, name=whirrtest-1-f8a, 
location={scope=HOST, 
id=d3781468178d18f8a789261ff3cb9c3ed0c0444837e6d6bb5a896961, 
description=d3781468178d18f8a789261ff3cb9c3ed0c0444837e6d6bb5a896961, 
parent=RegionOne}, group=whirrtest-1, 
imageId=RegionOne/b647a9cd-99fa-4247-b775-dc0198f3777f, 
os={family=unrecognized, name=ubuntu-lucid-64, description=ubuntu-lucid-64, 
is64Bit=true}, status=RUNNING, loginPort=22, hostname=whirrtest-1-f8a, 
privateAddresses=[10.11.12.2], publicAddresses=[172.25.95.3], 
hardware={id=RegionOne/15, providerId=15, name=custom, location={scope=ZONE, 
id=RegionOne, description=RegionOne, parent=openstack-nova}, 
processors=[{cores=1.0, speed=1.0}], ram=256, volumes=[{type=LOCAL, size=10.0, 
bootDevice=true, durable=true}], supportsImage=ALWAYS_TRUE}, loginUser=root}}, 
Instance{roles=[zookeeper], publicIp=172.25.95.2, privateIp=10.11.12.3, 
id=RegionOne/518a5a35-9fea-4df7-aa91-ade52406b6a8, 
nodeMetadata={id=RegionOne/518a5a35-9fea-4df7-aa91-ade52406b6a8, 
providerId=518a5a35-9fea-4df7-aa91-ade52406b6a8, name=whirrtest-1-17a, 
location={scope=HOST, 
id=d3781468178d18f8a789261ff3cb9c3ed0c0444837e6d6bb5a896961, 
description=d3781468178d18f8a789261ff3cb9c3ed0c0444837e6d6bb5a896961, 
parent=RegionOne}, group=whirrtest-1, 
imageId=RegionOne/b647a9cd-99fa-4247-b775-dc0198f3777f, 
os={family=unrecognized, name=ubuntu-lucid-64, description=ubuntu-lucid-64, 
is64Bit=true}, status=RUNNING, loginPort=22, hostname=whirrtest-1-17a, 
privateAddresses=[10.11.12.3], publicAddresses=[172.25.95.2], 
hardware={id=RegionOne/15, providerId=15, name=custom, location={scope=ZONE, 
id=RegionOne, description=RegionOne, parent=openstack-nova}, 
processors=[{cores=1.0, speed=1.0}], ram=256, volumes=[{type=LOCAL, size=10.0, 
bootDevice=true, durable=true}], supportsImage=ALWAYS_TRUE}, loginUser=root}}]}
14:02:08.566 [ForkJoinPool-1-worker-1] INFO  o.a.whirr.service.FirewallManager 
- Authorizing firewall ingress to 
[RegionOne/da02c9df-2026-44d7-a08a-7d48a6e231b9, 
RegionOne/518a5a35-9fea-4df7-aa91-ade52406b6a8] on ports [80, 22, 2181] for 
[213.126.101.146/32]
14:02:08.566 [ForkJoinPool-1-worker-1] INFO  o.a.whirr.service.FirewallManager 
- Authorizing firewall ingress to 
[RegionOne/da02c9df-2026-44d7-a08a-7d48a6e231b9, 
RegionOne/518a5a35-9fea-4df7-aa91-ade52406b6a8] on ports [2181] for 
[213.126.101.146/32]
14:02:08.566 [ForkJoinPool-1-worker-1] INFO  o.a.whirr.service.FirewallManager 
- Authorizing firewall ingress to 
[RegionOne/da02c9df-2026-44d7-a08a-7d48a6e231b9, 
RegionOne/518a5a35-9fea-4df7-aa91-ade52406b6a8] on ports [80, 22, 2181] for 
[213.126.101.146/32]
java.lang.RuntimeException: java.lang.NullPointerException: arg[0] in 
{clazz=interface 
org.jclouds.openstack.nova.v2_0.extensions.SecurityGroupAsyncApi, method=public 
abstract com.google.common.base.Optional 
org.jclouds.openstack.nova.v2_0.NovaApi.getSecurityGroupExtensionForZone(java.lang.String),
 args=[null], returnVal=Sync Proxy for: $Proxy94}
        at 
org.rugco.deployer.deployer.WhirrWrapper$$anonfun$launchInstance$1.applyOrElse(WhirrWrapper.scala:80)
        at 
org.rugco.deployer.deployer.WhirrWrapper$$anonfun$launchInstance$1.applyOrElse(WhirrWrapper.scala:71)
        at 
scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:33)
        at scala.concurrent.Future$$anonfun$onFailure$1.apply(Future.scala:137)
        at scala.concurrent.Future$$anonfun$onFailure$1.apply(Future.scala:136)
        at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:29)
        at 
scala.concurrent.impl.ExecutionContextImpl$$anon$3.exec(ExecutionContextImpl.scala:107)
        at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:262)
        at 
scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:975)
        at 
scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1478)
        at 
scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:104)
Caused by: java.lang.NullPointerException: arg[0] in {clazz=interface 
org.jclouds.openstack.nova.v2_0.extensions.SecurityGroupAsyncApi, method=public 
abstract com.google.common.base.Optional 
org.jclouds.openstack.nova.v2_0.NovaApi.getSecurityGroupExtensionForZone(java.lang.String),
 args=[null], returnVal=Sync Proxy for: $Proxy94}
        at 
com.google.common.base.Preconditions.checkNotNull(Preconditions.java:235)
        at 
org.jclouds.openstack.v2_0.functions.PresentWhenExtensionAnnotationNamespaceEqualsAnyNamespaceInExtensionsSet.apply(PresentWhenExtensionAnnotationNamespaceEqualsAnyNamespaceInExtensionsSet.java:70)
        at 
org.jclouds.openstack.v2_0.functions.PresentWhenExtensionAnnotationNamespaceEqualsAnyNamespaceInExtensionsSet.apply(PresentWhenExtensionAnnotationNamespaceEqualsAnyNamespaceInExtensionsSet.java:46)
        at org.jclouds.concurrent.internal.SyncProxy.invoke(SyncProxy.java:159)
        at com.sun.proxy.$Proxy63.getSecurityGroupExtensionForZone(Unknown 
Source)
        at 
org.apache.whirr.service.FirewallManager.authorizeIngress(FirewallManager.java:310)
        at 
org.apache.whirr.service.FirewallManager.authorizeAllRules(FirewallManager.java:242)
        at 
org.apache.whirr.service.ClusterActionHandlerSupport.handleFirewallRules(ClusterActionHandlerSupport.java:220)
        at 
org.apache.whirr.service.zookeeper.ZooKeeperClusterActionHandler.beforeConfigure(ZooKeeperClusterActionHandler.java:87)
        at 
org.apache.whirr.service.ClusterActionHandlerSupport.beforeAction(ClusterActionHandlerSupport.java:58)
        at 
org.apache.whirr.actions.ScriptBasedClusterAction.execute(ScriptBasedClusterAction.java:123)
        at 
org.apache.whirr.ClusterController.configureServices(ClusterController.java:161)
        at 
org.apache.whirr.ClusterController.configureServices(ClusterController.java:153)
        at 
org.rugco.deployer.deployer.WhirrWrapper$$anonfun$configureServices$1.apply(WhirrWrapper.scala:40)
        at 
org.rugco.deployer.deployer.WhirrWrapper$$anonfun$configureServices$1.apply(WhirrWrapper.scala:38)
        at 
scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1$1(Future.scala:24)
        at 
scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24)
        ... 5 more
14:02:08.576 [ForkJoinPool-1-worker-2] ERROR org.rugco.test.WhirrLaunchTest - 
*CRITICAL* the cluster failed to launch and the automated node termination 
option was not selected, there might be orphaned nodes.
java.lang.NullPointerException: arg[0] in {clazz=interface 
org.jclouds.openstack.nova.v2_0.extensions.SecurityGroupAsyncApi, method=public 
abstract com.google.common.base.Optional 
org.jclouds.openstack.nova.v2_0.NovaApi.getSecurityGroupExtensionForZone(java.lang.String),
 args=[null], returnVal=Sync Proxy for: $Proxy94}
        at 
com.google.common.base.Preconditions.checkNotNull(Preconditions.java:235) 
~[guava-13.0.jar:na]
        at 
org.jclouds.openstack.v2_0.functions.PresentWhenExtensionAnnotationNamespaceEqualsAnyNamespaceInExtensionsSet.apply(PresentWhenExtensionAnnotationNamespaceEqualsAnyNamespaceInExtensionsSet.java:70)
 ~[openstack-keystone-1.5.8.jar:1.5.8]
        at 
org.jclouds.openstack.v2_0.functions.PresentWhenExtensionAnnotationNamespaceEqualsAnyNamespaceInExtensionsSet.apply(PresentWhenExtensionAnnotationNamespaceEqualsAnyNamespaceInExtensionsSet.java:46)
 ~[openstack-keystone-1.5.8.jar:1.5.8]
        at org.jclouds.concurrent.internal.SyncProxy.invoke(SyncProxy.java:159) 
~[jclouds-core-1.5.8.jar:1.5.8]
        at com.sun.proxy.$Proxy63.getSecurityGroupExtensionForZone(Unknown 
Source) ~[na:na]
        at 
org.apache.whirr.service.FirewallManager.authorizeIngress(FirewallManager.java:310)
 ~[whirr-core-0.8.2.jar:0.8.2]
        at 
org.apache.whirr.service.FirewallManager.authorizeAllRules(FirewallManager.java:242)
 ~[whirr-core-0.8.2.jar:0.8.2]
        at 
org.apache.whirr.service.ClusterActionHandlerSupport.handleFirewallRules(ClusterActionHandlerSupport.java:220)
 ~[whirr-core-0.8.2.jar:0.8.2]
        at 
org.apache.whirr.service.zookeeper.ZooKeeperClusterActionHandler.beforeConfigure(ZooKeeperClusterActionHandler.java:87)
 ~[whirr-zookeeper-0.8.2.jar:0.8.2]
        at 
org.apache.whirr.service.ClusterActionHandlerSupport.beforeAction(ClusterActionHandlerSupport.java:58)
 ~[whirr-core-0.8.2.jar:0.8.2]
        at 
org.apache.whirr.actions.ScriptBasedClusterAction.execute(ScriptBasedClusterAction.java:123)
 ~[whirr-core-0.8.2.jar:0.8.2]
        at 
org.apache.whirr.ClusterController.configureServices(ClusterController.java:161)
 ~[whirr-core-0.8.2.jar:0.8.2]
        at 
org.apache.whirr.ClusterController.configureServices(ClusterController.java:153)
 ~[whirr-core-0.8.2.jar:0.8.2]

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to