it's probably clear from the code, but this bug means anyone who has a VM in SL
with multiple passwords set on it is unable to use jclouds to deploy to SL.
the error this fixes causes it to bomb out when listing VM's before any
creation, with e.g.:
```
java.lang.IllegalArgumentException: expected one element but was: <Password{id=
..., username=root, password=...}, Password{id=..., username=vyatta,
password=...}>
at
com.google.common.collect.Iterators.getOnlyElement(Iterators.java:312)
at
com.google.common.collect.Iterables.getOnlyElement(Iterables.java:289)
at
org.jclouds.softlayer.compute.functions.VirtualGuestToNodeMetadata.apply(VirtualGuestToNodeMetadata.java:98)
at
org.jclouds.softlayer.compute.functions.VirtualGuestToNodeMetadata.apply(VirtualGuestToNodeMetadata.java:48)
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.compute.internal.BaseComputeService.createNodesInGroup(BaseComputeService.java:210)
```
---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/931#issuecomment-193701606