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
-------------------------------------------------------------------------------
Test set: TestSuite
-------------------------------------------------------------------------------
Tests run: 84, Failures: 2, Errors: 0, Skipped: 5, Time elapsed: 2,174.414 sec 
<<< FAILURE! - in TestSuite
testAddIpPermission(org.jclouds.cloudsigma2.compute.extensions.CloudSigma2LasVegasSecurityGroupExtensionLiveTest)
  Time elapsed: 9.069 sec  <<< FAILURE!
java.lang.IllegalArgumentException: [{"error_point": "dst_port", "error_type": 
"validation", "error_message": "Invalid port range '41:41'. {port1} should be 
smaller than {port2}"}]
        at 
org.jclouds.cloudsigma2.handlers.CloudSigmaErrorHandler.handleError(CloudSigmaErrorHandler.java:64)
        at 
org.jclouds.http.handlers.DelegatingErrorHandler.handleError(DelegatingErrorHandler.java:65)
        at 
org.jclouds.http.internal.BaseHttpCommandExecutorService.shouldContinue(BaseHttpCommandExecutorService.java:135)
        at 
org.jclouds.http.internal.BaseHttpCommandExecutorService.invoke(BaseHttpCommandExecutorService.java:105)
        at 
org.jclouds.rest.internal.InvokeHttpMethod.invoke(InvokeHttpMethod.java:91)
        at 
org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:74)
        at 
org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:45)
        at 
org.jclouds.rest.internal.DelegatesToInvocationFunction.handle(DelegatesToInvocationFunction.java:156)
        at 
org.jclouds.rest.internal.DelegatesToInvocationFunction.invoke(DelegatesToInvocationFunction.java:123)
        at com.sun.proxy.$Proxy55.editFirewallPolicy(Unknown Source)
        at 
org.jclouds.cloudsigma2.compute.extensions.CloudSigma2SecurityGroupExtension.addIpPermission(CloudSigma2SecurityGroupExtension.java:173)
        at 
org.jclouds.cloudsigma2.compute.extensions.CloudSigma2SecurityGroupExtension.addIpPermission(CloudSigma2SecurityGroupExtension.java:133)
        at 
org.jclouds.compute.extensions.internal.BaseSecurityGroupExtensionLiveTest.testAddIpPermission(BaseSecurityGroupExtensionLiveTest.java:144)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:483)
        at 
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
        at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
        at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
        at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
        at 
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
        at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
        at org.testng.TestRunner.privateRun(TestRunner.java:767)
        at org.testng.TestRunner.run(TestRunner.java:617)
        at org.testng.SuiteRunner.runTest(SuiteRunner.java:348)
        at org.testng.SuiteRunner.access$000(SuiteRunner.java:38)
        at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:382)
        at org.testng.internal.thread.ThreadUtil$2.call(ThreadUtil.java:64)
        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)
Caused by: org.jclouds.http.HttpResponseException: command: PUT 
https://lvs.cloudsigma.com/api/2.0/fwpolicies/d8ee1f91-4d05-4904-ba98-d50e2a01b2f5/
 HTTP/1.1 failed with response: HTTP/1.1 400 BAD REQUEST; content: 
[[{"error_point": "dst_port", "error_type": "validation", "error_message": 
"Invalid port range '41:41'. {port1} should be smaller than {port2}"}]]
        at 
org.jclouds.cloudsigma2.handlers.CloudSigmaErrorHandler.handleError(CloudSigmaErrorHandler.java:51)
        at 
org.jclouds.http.handlers.DelegatingErrorHandler.handleError(DelegatingErrorHandler.java:65)
        at 
org.jclouds.http.internal.BaseHttpCommandExecutorService.shouldContinue(BaseHttpCommandExecutorService.java:135)
        at 
org.jclouds.http.internal.BaseHttpCommandExecutorService.invoke(BaseHttpCommandExecutorService.java:105)
        at 
org.jclouds.rest.internal.InvokeHttpMethod.invoke(InvokeHttpMethod.java:91)
        at 
org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:74)
        at 
org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:45)
        at 
org.jclouds.rest.internal.DelegatesToInvocationFunction.handle(DelegatesToInvocationFunction.java:156)
        at 
org.jclouds.rest.internal.DelegatesToInvocationFunction.invoke(DelegatesToInvocationFunction.java:123)
        at com.sun.proxy.$Proxy55.editFirewallPolicy(Unknown Source)
        at 
org.jclouds.cloudsigma2.compute.extensions.CloudSigma2SecurityGroupExtension.addIpPermission(CloudSigma2SecurityGroupExtension.java:173)
        at 
org.jclouds.cloudsigma2.compute.extensions.CloudSigma2SecurityGroupExtension.addIpPermission(CloudSigma2SecurityGroupExtension.java:133)
        at 
org.jclouds.compute.extensions.internal.BaseSecurityGroupExtensionLiveTest.testAddIpPermission(BaseSecurityGroupExtensionLiveTest.java:144)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:483)
        at 
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
        at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
        at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
        at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
        at 
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
        at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
        at org.testng.TestRunner.privateRun(TestRunner.java:767)
        at org.testng.TestRunner.run(TestRunner.java:617)
        at org.testng.SuiteRunner.runTest(SuiteRunner.java:348)
        at org.testng.SuiteRunner.access$000(SuiteRunner.java:38)
        at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:382)
        at org.testng.internal.thread.ThreadUtil$2.call(ThreadUtil.java:64)
        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)

testEditTag(org.jclouds.cloudsigma2.CloudSigma2LasVegasLiveTest)  Time elapsed: 
4.45 sec  <<< FAILURE!
org.jclouds.http.HttpResponseException: command: PUT 
https://lvs.cloudsigma.com/api/2.0/tags/14fd53c0-c210-44d1-887b-e8ad89b10837/ 
HTTP/1.1 failed with response: HTTP/1.1 500 INTERNAL SERVER ERROR; content: 
[[{"error_point": null, "error_type": "backend", "error_message": "unknown 
error"}]]
        at 
org.jclouds.cloudsigma2.handlers.CloudSigmaErrorHandler.handleError(CloudSigmaErrorHandler.java:51)
        at 
org.jclouds.http.handlers.DelegatingErrorHandler.handleError(DelegatingErrorHandler.java:67)
        at 
org.jclouds.http.internal.BaseHttpCommandExecutorService.shouldContinue(BaseHttpCommandExecutorService.java:135)
        at 
org.jclouds.http.internal.BaseHttpCommandExecutorService.invoke(BaseHttpCommandExecutorService.java:105)
        at 
org.jclouds.rest.internal.InvokeHttpMethod.invoke(InvokeHttpMethod.java:91)
        at 
org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:74)
        at 
org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:45)
        at 
org.jclouds.rest.internal.DelegatesToInvocationFunction.handle(DelegatesToInvocationFunction.java:156)
        at 
org.jclouds.rest.internal.DelegatesToInvocationFunction.invoke(DelegatesToInvocationFunction.java:123)
        at com.sun.proxy.$Proxy55.editTag(Unknown Source)
        at 
org.jclouds.cloudsigma2.CloudSigma2ApiLiveTest.testEditTag(CloudSigma2ApiLiveTest.java:572)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:483)
        at 
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
        at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
        at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
        at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
        at 
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
        at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
        at org.testng.TestRunner.privateRun(TestRunner.java:767)
        at org.testng.TestRunner.run(TestRunner.java:617)
        at org.testng.SuiteRunner.runTest(SuiteRunner.java:348)
        at org.testng.SuiteRunner.access$000(SuiteRunner.java:38)
        at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:382)
        at org.testng.internal.thread.ThreadUtil$2.call(ThreadUtil.java:64)
        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)
```

---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs/pull/70#issuecomment-56012486

Reply via email to