Hi Harry

I've had to do some digging as your settings worked fine for me. Turns out there is a bug in the last release of jclouds if there are VM instances which don't follow the jclouds naming convention [1]. This was fixed in May but isn't yet released.

There are some workarounds although they're not particularly pleasant: if you set a metadata key "jclouds-group" on those non-jclouds VM instances (value can be anything) jclouds should stop its NPE. Or if it's an option for you, just delete those other GCE instances or get a new empty GCE account.

If that's not practical I can make you a branch of Brooklyn which uses jclouds snapshot. That would be useful for us to confirm that this bug is indeed fixed in latest! Hopefully there will be a new jclouds release soon and so we can make a Brooklyn which has the proper fix.

Best
Alex


On 28/08/2015 21:15, Alex Heneveld wrote:

Hi Harry

Your settings look good. It could be a low level error in jclouds/gce with the use of the network. The firewall line in the stack trace suggests that. We'll look in to it.

Best
Alex

On 28 Aug 2015 18:41, "Harry Metske" <[email protected] <mailto:[email protected]>> wrote:

    Hi,

    I am new to this group (and new to GCE) and have played around with
    brooklyn a few days.
    I am currently trying to deploy a simple yaml that uses GCE.
    I have specified the following in brooklyn.properties:

    brooklyn.location.jclouds.google-compute-engine.identity=<id>
    brooklyn.location.jclouds.google-compute-engine.credential=<key>
    brooklyn.location.jclouds.google-compute-engine.imageId =
    
https://www.googleapis.com/compute/v1/projects/centos-cloud/global/images/centos-7-v20150818
    brooklyn.location.named.GoogleEU = jclouds:google-compute-engine
    brooklyn.location.named.GoogleEU.region=europe-west1-b
    brooklyn.location.jclouds.google-compute-engine.networkName=brooklyn-network
    brooklyn.location.jclouds.google-compute-engine.installDevUrandom=true
    brooklyn.location.jclouds.google-compute-engine.stopIptables=true

    But this fails with the below stacktrace.
    What am I missing here ?

    Failed after 26.5s: java.lang.NullPointerException: group

    java.lang.NullPointerException: group
        at
    com.google.common.base.Preconditions.checkNotNull(Preconditions.java:229)
        at
    
org.jclouds.compute.internal.FormatSharedNamesAndAppendUniqueStringToThoseWhichRepeat.checkGroup(FormatSharedNamesAndAppendUniqueStringToThoseWhichRepeat.java:124)
        at
    
org.jclouds.compute.internal.FormatSharedNamesAndAppendUniqueStringToThoseWhichRepeat.sharedNameForGroup(FormatSharedNamesAndAppendUniqueStringToThoseWhichRepeat.java:120)
        at
    
org.jclouds.googlecomputeengine.compute.functions.FirewallTagNamingConvention$Factory.get(FirewallTagNamingConvention.java:39)
        at
    
org.jclouds.googlecomputeengine.compute.functions.InstanceToNodeMetadata.apply(InstanceToNodeMetadata.java:68)
        at
    
org.jclouds.googlecomputeengine.compute.functions.InstanceToNodeMetadata.apply(InstanceToNodeMetadata.java:43)
        at
    
com.google.common.base.Functions$FunctionComposition.apply(Functions.java:216)
        at
    com.google.common.collect.Iterators$8.transform(Iterators.java:794)
        at
    
com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48)
        at
    com.google.common.collect.Iterators$7.computeNext(Iterators.java:646)
        at
    
com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
        at
    
com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
        at com.google.common.collect.Iterators.indexOf(Iterators.java:771)
        at com.google.common.collect.Iterators.any(Iterators.java:679)
        at com.google.common.collect.Iterables.any(Iterables.java:623)
        at
    
org.jclouds.compute.strategy.impl.CreateNodesWithGroupEncodedIntoNameThenAddToSet.getNextNames(CreateNodesWithGroupEncodedIntoNameThenAddToSet.java:197)
        at
    
org.jclouds.compute.strategy.impl.CreateNodesWithGroupEncodedIntoNameThenAddToSet.execute(CreateNodesWithGroupEncodedIntoNameThenAddToSet.java:121)
        at
    
org.jclouds.googlecomputeengine.compute.strategy.CreateNodesWithGroupEncodedIntoNameThenAddToSet.execute(CreateNodesWithGroupEncodedIntoNameThenAddToSet.java:130)
        at
    
org.jclouds.compute.internal.BaseComputeService.createNodesInGroup(BaseComputeService.java:210)
        at
    
brooklyn.location.jclouds.JcloudsLocation.obtainOnce(JcloudsLocation.java:701)
        at
    brooklyn.location.jclouds.JcloudsLocation.obtain(JcloudsLocation.java:596)
        at
    
brooklyn.entity.software.MachineLifecycleEffectorTasks$5$1.call(MachineLifecycleEffectorTasks.java:287)
        at
    
brooklyn.entity.software.MachineLifecycleEffectorTasks$5$1.call(MachineLifecycleEffectorTasks.java:285)
        at brooklyn.util.task.Tasks.withBlockingDetails(Tasks.java:99)
        at
    
brooklyn.entity.software.MachineLifecycleEffectorTasks$5.call(MachineLifecycleEffectorTasks.java:285)
        at
    
brooklyn.entity.software.MachineLifecycleEffectorTasks$5.call(MachineLifecycleEffectorTasks.java:275)
        at
    
brooklyn.util.task.DynamicSequentialTask$DstJob.call(DynamicSequentialTask.java:337)
        at
    
brooklyn.util.task.BasicExecutionManager$SubmissionCallable.call(BasicExecutionManager.java:469)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at
    
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at
    
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)



    kind regards,
    Harry



--
Cloudsoft Corporation Limited, Registered in Scotland No: SC349230. Registered Office: 13 Dryden Place, Edinburgh, EH9 1RP

This e-mail message is confidential and for use by the addressee only. If the message is received by anyone other than the addressee, please return the message to the sender by replying to it and then delete the message from your computer. Internet e-mails are not necessarily secure. Cloudsoft Corporation Limited does not accept responsibility for changes made to this message after it was sent.

Whilst all reasonable care has been taken to avoid the transmission of viruses, it is the responsibility of the recipient to ensure that the onward transmission, opening or use of this message and any attachments will not adversely affect its systems or data. No responsibility is accepted by Cloudsoft Corporation Limited in this regard and the recipient should carry out such virus and other checks as it considers appropriate.

Reply via email to