Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-10-27 Thread Ignasi Barrera
Rebased and pushed to [master](https://git-wip-us.apache.org/repos/asf?p=jclouds-labs.git;a=commit;h=a7dd1933d8ca283e1118b538be8aa2e2ac5e8be7) and [1.8.x](https://git-wip-us.apache.org/repos/asf?p=jclouds-labs.git;a=commit;h=4c7c29897a2d4f8160a7f14bc0e4d575ccfec882) (after fixing the versions

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-10-27 Thread Ignasi Barrera
Closed #70. --- Reply to this email directly or view it on GitHub: https://github.com/jclouds/jclouds-labs/pull/70#event-184207626

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-10-21 Thread CloudBees pull request builder plugin
[jclouds-labs-pull-requests #329](https://jclouds.ci.cloudbees.com/job/jclouds-labs-pull-requests/329/) FAILURE Looks like there's a problem with this pull request --- Reply to this email directly or view it on GitHub: https://github.com/jclouds/jclouds-labs/pull/70#issuecomment-59972254

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-10-21 Thread BuildHive
[jclouds » jclouds-labs #1731](https://buildhive.cloudbees.com/job/jclouds/job/jclouds-labs/1731/) FAILURE Looks like there's a problem with this pull request [(what's this?)](https://www.cloudbees.com/what-is-buildhive) --- Reply to this email directly or view it on GitHub:

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-10-21 Thread CloudBees pull request builder plugin
[jclouds-labs-pull-requests #330](https://jclouds.ci.cloudbees.com/job/jclouds-labs-pull-requests/330/) SUCCESS This pull request looks good --- Reply to this email directly or view it on GitHub: https://github.com/jclouds/jclouds-labs/pull/70#issuecomment-59974418

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-10-21 Thread BuildHive
[jclouds » jclouds-labs #1732](https://buildhive.cloudbees.com/job/jclouds/job/jclouds-labs/1732/) SUCCESS This pull request looks good [(what's this?)](https://www.cloudbees.com/what-is-buildhive) --- Reply to this email directly or view it on GitHub:

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-10-21 Thread Ignasi Barrera
@demobox I think all comments are addressed now. The only remaining bit is the visibility of the maps in the module class, but the option is to move them to their own class/function, which won't make it less visible to users. They are already annotated as visible for testing, but would be

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-10-20 Thread Ignasi Barrera
super(uuid, name, resourceUri); this.meta = meta; this.owner = owner; this.rules = rules == null ? new ArrayListFirewallRule() : rules; + this.tags = tags == null ? new ArrayListTag() : tags; If I'm not wrong, this is because a single raw type in an

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-10-20 Thread Ignasi Barrera
+ String uuid = 9001b532-857a-405a-8e50-54e342871e77; + + CloudSigma2Api api = requestsSendResponses( +deleteBuilder() + .endpoint(endpoint + fwpolicies/ + uuid + /) + .build(), +responseBuilder() +

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-10-20 Thread Ignasi Barrera
Ok. I've addressed the remaining bits (which are basically the rollback of the created resources, to make sure we don't leak them if something fails) and sent a patch to the CloudSigma people. We've working together in this PR, so I hope they can apply the patch and get it here soon. ---

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-10-17 Thread Ignasi Barrera
@demobox I've been discussing with the people at CloudSigma the best approach to get this pull request merged, and we've agreed to remove for now the SecurityGroupExtension, and merge this just with the ComputeService. The extension can be added later, but it presents some design challenges, as

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-10-17 Thread Ilya Kulakov
+ .ServerStatus, NodeMetadata.Statusbuilder().put(ServerStatus.RUNNING, NodeMetadata.Status.RUNNING) + .put(ServerStatus.STARTING, NodeMetadata.Status.PENDING) + .put(ServerStatus.STOPPING, NodeMetadata.Status.PENDING) + .put(ServerStatus.STOPPED,

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-10-16 Thread CloudBees pull request builder plugin
[jclouds-labs-pull-requests #317](https://jclouds.ci.cloudbees.com/job/jclouds-labs-pull-requests/317/) SUCCESS This pull request looks good --- Reply to this email directly or view it on GitHub: https://github.com/jclouds/jclouds-labs/pull/70#issuecomment-59383551

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-10-16 Thread BuildHive
[jclouds » jclouds-labs #1698](https://buildhive.cloudbees.com/job/jclouds/job/jclouds-labs/1698/) SUCCESS This pull request looks good [(what's this?)](https://www.cloudbees.com/what-is-buildhive) --- Reply to this email directly or view it on GitHub:

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-10-15 Thread CloudBees pull request builder plugin
[jclouds-labs-pull-requests #316](https://jclouds.ci.cloudbees.com/job/jclouds-labs-pull-requests/316/) FAILURE Looks like there's a problem with this pull request --- Reply to this email directly or view it on GitHub: https://github.com/jclouds/jclouds-labs/pull/70#issuecomment-59307882

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-10-15 Thread BuildHive
[jclouds » jclouds-labs #1697](https://buildhive.cloudbees.com/job/jclouds/job/jclouds-labs/1697/) FAILURE Looks like there's a problem with this pull request [(what's this?)](https://www.cloudbees.com/what-is-buildhive) --- Reply to this email directly or view it on GitHub:

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-10-05 Thread Ignasi Barrera
+ + @Inject + public FirewallRuleToIpPermission(MapFirewallIpProtocol, IpProtocol firewallIpProtocolToIpProtocol) { + this.firewallIpProtocolToIpProtocol = checkNotNull(firewallIpProtocolToIpProtocol, +firewallIpProtocolToIpProtocol); + } + + @Override +

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-10-05 Thread Ignasi Barrera
+ destinationPort.length()); + } + if (destinationPort.contains(:)) { +int[] ports = parsePort(destinationPort); +permissionBuilder.fromPort(ports[0]); +permissionBuilder.toPort(ports[1]); + } else { +

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-10-05 Thread Ilya Kulakov
+ + @Inject + public FirewallRuleToIpPermission(MapFirewallIpProtocol, IpProtocol firewallIpProtocolToIpProtocol) { + this.firewallIpProtocolToIpProtocol = checkNotNull(firewallIpProtocolToIpProtocol, +firewallIpProtocolToIpProtocol); + } + + @Override +

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-10-05 Thread Ilya Kulakov
+ destinationPort.length()); + } + if (destinationPort.contains(:)) { +int[] ports = parsePort(destinationPort); +permissionBuilder.fromPort(ports[0]); +permissionBuilder.toPort(ports[1]); + } else { +

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-10-04 Thread BuildHive
[jclouds » jclouds-labs #1592](https://buildhive.cloudbees.com/job/jclouds/job/jclouds-labs/1592/) FAILURE Looks like there's a problem with this pull request [(what's this?)](https://www.cloudbees.com/what-is-buildhive) --- Reply to this email directly or view it on GitHub:

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-10-04 Thread CloudBees pull request builder plugin
[jclouds-labs-pull-requests #284](https://jclouds.ci.cloudbees.com/job/jclouds-labs-pull-requests/284/) FAILURE Looks like there's a problem with this pull request --- Reply to this email directly or view it on GitHub: https://github.com/jclouds/jclouds-labs/pull/70#issuecomment-57895958

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-10-03 Thread Ignasi Barrera
+ this.driveCloned = checkNotNull(driveCloned, driveCloned); + this.serverStopped = checkNotNull(serverStopped, serverStopped); + this.destroyDrives = destroyDrives; + this.groupNamingConvention = checkNotNull(groupNamingConvention, groupNamingConvention).create(); + }

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-10-02 Thread Ilya Kulakov
super(uuid, name, resourceUri); this.meta = meta; this.owner = owner; this.rules = rules == null ? new ArrayListFirewallRule() : rules; + this.tags = tags == null ? new ArrayListTag() : tags; @nacx, @demobox: hmm, it fails for me this.rules = rules ==

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-10-02 Thread Ilya Kulakov
super(uuid, name, resourceUri); this.meta = meta; this.owner = owner; this.rules = rules == null ? new ArrayListFirewallRule() : rules; + this.tags = tags == null ? new ArrayListTag() : tags; I guess it's due to how Java determines types. I think it's better

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-10-02 Thread Ilya Kulakov
+ }).to(FirewallRuleToIpPermission.class); + + bind(TemplateOptions.class).to(CloudSigma2TemplateOptions.class); + bind(TemplateOptionsToStatement.class).to(TemplateOptionsToStatementWithoutPublicKey.class); + + bind(new TypeLiteralSecurityGroupExtension() { +

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-10-02 Thread BuildHive
[jclouds » jclouds-labs #1580](https://buildhive.cloudbees.com/job/jclouds/job/jclouds-labs/1580/) SUCCESS This pull request looks good [(what's this?)](https://www.cloudbees.com/what-is-buildhive) --- Reply to this email directly or view it on GitHub:

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-10-02 Thread Ilya Kulakov
+permissionBuilder.toPort(Integer.parseInt(destinationPort)); + } + } + permissionBuilder.ipProtocol(input.getIpProtocol() != null ? firewallIpProtocolToIpProtocol.get(input +.getIpProtocol()) : IpProtocol.UNRECOGNIZED); + if

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-10-02 Thread CloudBees pull request builder plugin
[jclouds-labs-pull-requests #279](https://jclouds.ci.cloudbees.com/job/jclouds-labs-pull-requests/279/) SUCCESS This pull request looks good --- Reply to this email directly or view it on GitHub: https://github.com/jclouds/jclouds-labs/pull/70#issuecomment-57722477

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-10-02 Thread Ilya Kulakov
+ private final CloudSigma2Api api; + + @Inject + public ServerDriveToVolume(CloudSigma2Api api) { + this.api = checkNotNull(api, api); + } + + @Override + public Volume apply(ServerDrive serverDrive) { + VolumeBuilder builder = new VolumeBuilder(); +

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-10-02 Thread Ilya Kulakov
+ this.driveCloned = checkNotNull(driveCloned, driveCloned); + this.serverStopped = checkNotNull(serverStopped, serverStopped); + this.destroyDrives = destroyDrives; + this.groupNamingConvention = checkNotNull(groupNamingConvention, groupNamingConvention).create(); + }

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-10-02 Thread BuildHive
[jclouds » jclouds-labs #1581](https://buildhive.cloudbees.com/job/jclouds/job/jclouds-labs/1581/) SUCCESS This pull request looks good [(what's this?)](https://www.cloudbees.com/what-is-buildhive) --- Reply to this email directly or view it on GitHub:

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-10-02 Thread CloudBees pull request builder plugin
[jclouds-labs-pull-requests #280](https://jclouds.ci.cloudbees.com/job/jclouds-labs-pull-requests/280/) SUCCESS This pull request looks good --- Reply to this email directly or view it on GitHub: https://github.com/jclouds/jclouds-labs/pull/70#issuecomment-57726723

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-10-02 Thread CloudBees pull request builder plugin
[jclouds-labs-pull-requests #281](https://jclouds.ci.cloudbees.com/job/jclouds-labs-pull-requests/281/) SUCCESS This pull request looks good --- Reply to this email directly or view it on GitHub: https://github.com/jclouds/jclouds-labs/pull/70#issuecomment-57727284

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-10-02 Thread CloudBees pull request builder plugin
[jclouds-labs-pull-requests #282](https://jclouds.ci.cloudbees.com/job/jclouds-labs-pull-requests/282/) SUCCESS This pull request looks good --- Reply to this email directly or view it on GitHub: https://github.com/jclouds/jclouds-labs/pull/70#issuecomment-57728566

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-10-02 Thread BuildHive
[jclouds » jclouds-labs #1582](https://buildhive.cloudbees.com/job/jclouds/job/jclouds-labs/1582/) SUCCESS This pull request looks good [(what's this?)](https://www.cloudbees.com/what-is-buildhive) --- Reply to this email directly or view it on GitHub:

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-10-02 Thread CloudBees pull request builder plugin
[jclouds-labs-pull-requests #283](https://jclouds.ci.cloudbees.com/job/jclouds-labs-pull-requests/283/) SUCCESS This pull request looks good --- Reply to this email directly or view it on GitHub: https://github.com/jclouds/jclouds-labs/pull/70#issuecomment-57729186

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-10-02 Thread BuildHive
[jclouds » jclouds-labs #1583](https://buildhive.cloudbees.com/job/jclouds/job/jclouds-labs/1583/) SUCCESS This pull request looks good [(what's this?)](https://www.cloudbees.com/what-is-buildhive) --- Reply to this email directly or view it on GitHub:

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-10-02 Thread BuildHive
[jclouds » jclouds-labs #1584](https://buildhive.cloudbees.com/job/jclouds/job/jclouds-labs/1584/) SUCCESS This pull request looks good [(what's this?)](https://www.cloudbees.com/what-is-buildhive) --- Reply to this email directly or view it on GitHub:

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-10-02 Thread Ilya Kulakov
+ firewallRuleBuilder.ipProtocol(ipProtocolToFirewallIpProtocol.get(protocol)); + } + firewallRules.add(firewallRuleBuilder.build()); + } + + firewallPolicy = api.editFirewallPolicy(firewallPolicy.getUuid(), +

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-10-01 Thread Ignasi Barrera
+import org.jclouds.scriptbuilder.domain.StatementList; +import org.jclouds.scriptbuilder.statements.ssh.InstallRSAPrivateKey; +import org.jclouds.ssh.SshKeys; +import org.testng.annotations.Test; + +import java.util.Map; + +import static org.testng.Assert.assertEquals; +import static

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-09-30 Thread Andrew Phillips
@@ -50,12 +54,10 @@ protected CloudSigma2ApiMetadata(Builder builder) { public static Properties defaultProperties() { Properties properties = BaseHttpApiMetadata.defaultProperties(); - properties.setProperty(CloudSigma2Properties.PROPERTY_VNC_PASSWORD, IL9vs34d); -

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-09-30 Thread Andrew Phillips
+import org.jclouds.scriptbuilder.domain.StatementList; +import org.jclouds.scriptbuilder.statements.ssh.InstallRSAPrivateKey; +import org.jclouds.ssh.SshKeys; +import org.testng.annotations.Test; + +import java.util.Map; + +import static org.testng.Assert.assertEquals; +import static

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-09-25 Thread Ignasi Barrera
@@ -50,12 +54,10 @@ protected CloudSigma2ApiMetadata(Builder builder) { public static Properties defaultProperties() { Properties properties = BaseHttpApiMetadata.defaultProperties(); - properties.setProperty(CloudSigma2Properties.PROPERTY_VNC_PASSWORD, IL9vs34d); -

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-09-25 Thread Ignasi Barrera
+ Template template) { + CloudSigma2TemplateOptions options = template.getOptions().as(CloudSigma2TemplateOptions.class); + Image image = template.getImage(); + Hardware hardware =

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-09-25 Thread Ignasi Barrera
+import org.jclouds.scriptbuilder.domain.StatementList; +import org.jclouds.scriptbuilder.statements.ssh.InstallRSAPrivateKey; +import org.jclouds.ssh.SshKeys; +import org.testng.annotations.Test; + +import java.util.Map; + +import static org.testng.Assert.assertEquals; +import static

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-09-24 Thread Ilya Kulakov
@@ -50,12 +54,10 @@ protected CloudSigma2ApiMetadata(Builder builder) { public static Properties defaultProperties() { Properties properties = BaseHttpApiMetadata.defaultProperties(); - properties.setProperty(CloudSigma2Properties.PROPERTY_VNC_PASSWORD, IL9vs34d); -

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-09-24 Thread Ilya Kulakov
+import org.jclouds.scriptbuilder.domain.StatementList; +import org.jclouds.scriptbuilder.statements.ssh.InstallRSAPrivateKey; +import org.jclouds.ssh.SshKeys; +import org.testng.annotations.Test; + +import java.util.Map; + +import static org.testng.Assert.assertEquals; +import static

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-09-24 Thread Ilya Kulakov
+ Template template) { + CloudSigma2TemplateOptions options = template.getOptions().as(CloudSigma2TemplateOptions.class); + Image image = template.getImage(); + Hardware hardware =

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-09-21 Thread Ignasi Barrera
It looks that there are some [checkstyle violations](https://jclouds.ci.cloudbees.com/job/jclouds-labs-pull-requests/254/org.apache.jclouds.labs$cloudsigma2/violations/) that are making the build to fail. Could you fix them? You'll find the details, if the Jenkins ones are not enough, in the

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-09-21 Thread Andrew Phillips
+ * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-09-21 Thread Andrew Phillips
@@ -574,6 +578,17 @@ void startServerInSeparateAvailabilityGroup(@PathParam(uuid) String uuid, PaginatedCollectionFirewallPolicy listFirewallPoliciesInfo(PaginationOptions options); /** +* Gets a detailed list of firewall policy [minor] Does this get a _list_ or simply a

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-09-21 Thread Andrew Phillips
@@ -50,12 +54,10 @@ protected CloudSigma2ApiMetadata(Builder builder) { public static Properties defaultProperties() { Properties properties = BaseHttpApiMetadata.defaultProperties(); - properties.setProperty(CloudSigma2Properties.PROPERTY_VNC_PASSWORD, IL9vs34d); -

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-09-21 Thread Andrew Phillips
+ }).to(FirewallRuleToIpPermission.class); + + bind(TemplateOptions.class).to(CloudSigma2TemplateOptions.class); + bind(TemplateOptionsToStatement.class).to(TemplateOptionsToStatementWithoutPublicKey.class); + + bind(new TypeLiteralSecurityGroupExtension() { +

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-09-21 Thread Andrew Phillips
+ .ServerStatus, NodeMetadata.Statusbuilder().put(ServerStatus.RUNNING, NodeMetadata.Status.RUNNING) + .put(ServerStatus.STARTING, NodeMetadata.Status.PENDING) + .put(ServerStatus.STOPPING, NodeMetadata.Status.PENDING) + .put(ServerStatus.STOPPED,

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-09-21 Thread Andrew Phillips
+ } + + @VisibleForTesting + public static final MapDriveStatus, Image.Status driveStatusToImageStatus = ImmutableMap + .DriveStatus, Image.Statusbuilder().put(DriveStatus.MOUNTED, Image.Status.AVAILABLE) + .put(DriveStatus.UNMOUNTED,

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-09-21 Thread Andrew Phillips
+ @Override + public SecurityGroup getSecurityGroupById(String id) { + return firewallPolicyToSecurityGroup.apply(api.getFirewallPolicy(id)); + } + + @Override + public SecurityGroup createSecurityGroup(String name, Location location) { + FirewallPolicy firewallPolicy =

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-09-21 Thread Andrew Phillips
+ + @Override + public boolean removeSecurityGroup(String id) { + FirewallPolicy firewallPolicy = api.getFirewallPolicy(id); + if (firewallPolicy == null) { + throw new IllegalArgumentException(There is no SecurityGroup with + id + id); + } + + if

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-09-21 Thread Andrew Phillips
+ firewallRuleBuilder.ipProtocol(ipProtocolToFirewallIpProtocol.get(protocol)); + } + firewallRules.add(firewallRuleBuilder.build()); + } + + firewallPolicy = api.editFirewallPolicy(firewallPolicy.getUuid(), +

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-09-21 Thread Andrew Phillips
+ + @Override + public IpPermission apply(FirewallRule input) { + IpPermission.Builder permissionBuilder = new IpPermission.Builder(); + String destinationPort = input.getDestinationPort(); + if (destinationPort != null) { + if (destinationPort.contains(!)) { +

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-09-21 Thread Andrew Phillips
+@Singleton +public class FirewallRuleToIpPermission implements FunctionFirewallRule, IpPermission { + + private final MapFirewallIpProtocol, IpProtocol firewallIpProtocolToIpProtocol; + + @Inject + public FirewallRuleToIpPermission(MapFirewallIpProtocol, IpProtocol

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-09-21 Thread Andrew Phillips
+permissionBuilder.toPort(Integer.parseInt(destinationPort)); + } + } + permissionBuilder.ipProtocol(input.getIpProtocol() != null ? firewallIpProtocolToIpProtocol.get(input +.getIpProtocol()) : IpProtocol.UNRECOGNIZED); + if

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-09-21 Thread Andrew Phillips
+ private final CloudSigma2Api api; + + @Inject + public ServerDriveToVolume(CloudSigma2Api api) { + this.api = checkNotNull(api, api); + } + + @Override + public Volume apply(ServerDrive serverDrive) { + VolumeBuilder builder = new VolumeBuilder(); +

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-09-21 Thread Andrew Phillips
+public class TemplateOptionsToStatementWithoutPublicKey extends TemplateOptionsToStatement { + + @Override + public Statement apply(TemplateOptions options) { + ImmutableList.BuilderStatement builder = ImmutableList.builder(); + if (options.getRunScript() != null) { +

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-09-21 Thread Andrew Phillips
+ if (options.getRunScript() != null) { + builder.add(options.getRunScript()); + } + if (options.getPrivateKey() != null) { + builder.add(new InstallRSAPrivateKey(options.getPrivateKey())); + } + + ImmutableListStatement bootstrap = builder.build();

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-09-21 Thread Andrew Phillips
+ this.driveCloned = checkNotNull(driveCloned, driveCloned); + this.serverStopped = checkNotNull(serverStopped, serverStopped); + this.destroyDrives = destroyDrives; + this.groupNamingConvention = checkNotNull(groupNamingConvention, groupNamingConvention).create(); + }

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-09-21 Thread Andrew Phillips
+ Template template) { + CloudSigma2TemplateOptions options = template.getOptions().as(CloudSigma2TemplateOptions.class); + Image image = template.getImage(); + Hardware hardware =

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-09-21 Thread Andrew Phillips
+ .cpu((int) hardware.getProcessors().get(0).getSpeed()) + .memory(BigInteger.valueOf(hardware.getRam()).multiply(BigInteger.valueOf(1024 * 1024))) + .drives(ImmutableList.of(drive.toServerDrive(1, 0:1, options.getDeviceEmulationType( +

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-09-21 Thread Andrew Phillips
+ if (serverInfo != null) { +logger.debug( rolling back the server...); +api.deleteServer(serverInfo.getUuid()); + } + if (destroyDrives) { +logger.debug( rolling back the cloned drive...); +

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-09-21 Thread Andrew Phillips
+ private ListTag configureTags(CloudSigma2TemplateOptions options) { + ImmutableList.BuilderTag builder = ImmutableList.builder(); + for (String tagName : options.getTags()) { + String nameWithPrefix = groupNamingConvention.sharedNameForGroup(tagName); +

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-09-21 Thread Andrew Phillips
*/ public static final String PROPERTY_VNC_PASSWORD = jclouds.cloudsigma.vnc-password; - + + /** +* Time in milliseconds to wait for a drive to be cloned +* Default: 6 +*/ + public static final String TIMEOUT_DRIVE_CLONED =

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-09-21 Thread Andrew Phillips
super(uuid, name, resourceUri); this.meta = meta; this.owner = owner; this.rules = rules == null ? new ArrayListFirewallRule() : rules; + this.tags = tags == null ? new ArrayListTag() : tags; We're on Java 7, so use the diamond operator here? --- Reply to

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-09-21 Thread Andrew Phillips
@@ -163,6 +185,13 @@ public URI getResourceUri() { } /** +* @return Many related resources. Can be either a list of URIs or list of individually nested resource data. Confusing comment? This returns tags set on the instance, or not..? --- Reply to this email directly or view

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-09-21 Thread Andrew Phillips
+ String uuid = 9001b532-857a-405a-8e50-54e342871e77; + + CloudSigma2Api api = requestsSendResponses( +deleteBuilder() + .endpoint(endpoint + fwpolicies/ + uuid + /) + .build(), +responseBuilder() +

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-09-21 Thread Andrew Phillips
@@ -460,7 +508,7 @@ public void testEditIP() throws Exception { .meta(meta) .build(); - if (api.listIPs().size() 0) { + if (api.listIPs().concat().size() 0) { See above comment --- Reply to this email directly or view it on GitHub:

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-09-21 Thread Andrew Phillips
@@ -429,7 +477,7 @@ public void testEditVLAN() throws Exception { .meta(meta) .build(); - if (api.listVLANs().size() 0) { + if (api.listVLANs().concat().size() 0) { Can we check this using `isEmpty` instead? --- Reply to this email directly or view

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-09-21 Thread Andrew Phillips
+import org.jclouds.scriptbuilder.domain.StatementList; +import org.jclouds.scriptbuilder.statements.ssh.InstallRSAPrivateKey; +import org.jclouds.ssh.SshKeys; +import org.testng.annotations.Test; + +import java.util.Map; + +import static org.testng.Assert.assertEquals; +import static

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-09-21 Thread Andrew Phillips
+ +import static com.google.common.base.Preconditions.checkNotNull; + +@Singleton +public class FirewallRuleToIpPermission implements FunctionFirewallRule, IpPermission { + + private final MapFirewallIpProtocol, IpProtocol firewallIpProtocolToIpProtocol; + + @Inject + public

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-09-20 Thread Ilya Kulakov
@nacx Issue with `testAddIpPermission` should be addressed now. --- Reply to this email directly or view it on GitHub: https://github.com/jclouds/jclouds-labs/pull/70#issuecomment-56286616

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-09-20 Thread CloudBees pull request builder plugin
[jclouds-labs-pull-requests #254](https://jclouds.ci.cloudbees.com/job/jclouds-labs-pull-requests/254/) FAILURE Looks like there's a problem with this pull request --- Reply to this email directly or view it on GitHub: https://github.com/jclouds/jclouds-labs/pull/70#issuecomment-56286770

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-09-18 Thread Ignasi Barrera
Code LGTM. I've rebased the branch to the latest master and fixed a couple minor checkstyle violations, but there are 2 failures in the live tests (and 5 tests skipped as a consequence). Could you have a look to them? /cc @shevchenator ```bash

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-09-17 Thread Viktor Petersson
@nacx / @demobox Please take a look at this. We have customer waiting for this. --- Reply to this email directly or view it on GitHub: https://github.com/jclouds/jclouds-labs/pull/70#issuecomment-55882697

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-09-10 Thread Viktor Petersson
Is there anything holding this back, @nacx? --- Reply to this email directly or view it on GitHub: https://github.com/jclouds/jclouds-labs/pull/70#issuecomment-55107533

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-09-10 Thread Ignasi Barrera
I just want someone else to have a look at the changes. @demobox could you have a look a this? --- Reply to this email directly or view it on GitHub: https://github.com/jclouds/jclouds-labs/pull/70#issuecomment-55111328

[jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-08-29 Thread Ilya Kulakov
* Added the ComputeService implementation * Added the SecurityGroup extension * Added the San Jose region You can merge this Pull Request by running: git pull https://github.com/cloudsigma/jclouds-labs cloudsigma2-compute-service-rebased Or you can view, comment on it, or merge it online at:

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-08-29 Thread BuildHive
[jclouds » jclouds-labs #1465](https://buildhive.cloudbees.com/job/jclouds/job/jclouds-labs/1465/) SUCCESS This pull request looks good [(what's this?)](https://www.cloudbees.com/what-is-buildhive) --- Reply to this email directly or view it on GitHub:

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-08-29 Thread CloudBees pull request builder plugin
[jclouds-labs-pull-requests #235](https://jclouds.ci.cloudbees.com/job/jclouds-labs-pull-requests/235/) SUCCESS This pull request looks good --- Reply to this email directly or view it on GitHub: https://github.com/jclouds/jclouds-labs/pull/70#issuecomment-53927338

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-08-29 Thread Ignasi Barrera
This PR basically adds the missing compute stuff so the `cloudsigma2` provider can be used with the jclouds portable interface. This provider should be the replacement for the one in the main repo once the v1 is deprecated. I've assisted a bit in the development, and I can say the compute

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-08-29 Thread Ignasi Barrera
@POST @Path(/servers/{uuid}/action/?do=start) - @Fallback(Fallbacks.NullOnNotFoundOr404.class) + @Fallback(Fallbacks.VoidOnNotFoundOr404.class) There has been [a recent discussion](https://github.com/jclouds/jclouds-labs-openstack/pull/135/files#r16700137) about the convenience

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-08-29 Thread Ilya Kulakov
@POST @Path(/servers/{uuid}/action/?do=start) - @Fallback(Fallbacks.NullOnNotFoundOr404.class) + @Fallback(Fallbacks.VoidOnNotFoundOr404.class) Could add an issue for this at https://github.com/GreatFruitOmsk/jclouds-labs/issues ? --- Reply to this email directly or view it on

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-08-29 Thread Ignasi Barrera
This PR fixes: https://issues.apache.org/jira/browse/JCLOUDS-292 --- Reply to this email directly or view it on GitHub: https://github.com/jclouds/jclouds-labs/pull/70#issuecomment-53936749

Re: [jclouds-labs] CloudSigma2 ComputeService and SecurityGroupExtension (#70)

2014-08-29 Thread Ignasi Barrera
@POST @Path(/servers/{uuid}/action/?do=start) - @Fallback(Fallbacks.NullOnNotFoundOr404.class) + @Fallback(Fallbacks.VoidOnNotFoundOr404.class) Let's better use the jclouds JIRA to track this. I've just opened [JCLOUDS-690](https://issues.apache.org/jira/browse/JCLOUDS-690). ---