You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by ga...@apache.org on 2013/05/24 01:22:55 UTC

[1/6] git commit: FGCP: increase timeout for nonBlock test, cleanups

Updated Branches:
  refs/heads/master cf6cfc6ad -> 5a7554bbc


FGCP: increase timeout for nonBlock test, cleanups


Project: http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs/commit/5a7554bb
Tree: http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs/tree/5a7554bb
Diff: http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs/diff/5a7554bb

Branch: refs/heads/master
Commit: 5a7554bbcc2bca4ce6930e55ac2bde1319052b91
Parents: 65a99a5
Author: Dies Koper <di...@fast.au.fujitsu.com>
Authored: Wed May 22 15:29:36 2013 +1000
Committer: Andrew Gaul <an...@gaul.org>
Committed: Thu May 23 16:21:51 2013 -0700

----------------------------------------------------------------------
 .../handlers/FGCPBackoffLimitedRetryHandler.java   |   27 +++
 .../compute/FGCPBaseComputeServiceLiveTest.java    |  162 ++++++---------
 2 files changed, 91 insertions(+), 98 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs/blob/5a7554bb/fgcp/src/main/java/org/jclouds/fujitsu/fgcp/handlers/FGCPBackoffLimitedRetryHandler.java
----------------------------------------------------------------------
diff --git a/fgcp/src/main/java/org/jclouds/fujitsu/fgcp/handlers/FGCPBackoffLimitedRetryHandler.java b/fgcp/src/main/java/org/jclouds/fujitsu/fgcp/handlers/FGCPBackoffLimitedRetryHandler.java
new file mode 100644
index 0000000..cfd4c34
--- /dev/null
+++ b/fgcp/src/main/java/org/jclouds/fujitsu/fgcp/handlers/FGCPBackoffLimitedRetryHandler.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (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 License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jclouds.fujitsu.fgcp.handlers;
+
+import org.jclouds.http.handlers.BackoffLimitedRetryHandler;
+
+public class FGCPBackoffLimitedRetryHandler extends BackoffLimitedRetryHandler {
+
+   public void imposeBackoffExponentialDelay(long period, int pow, int failureCount, int max, String commandDescription) {
+      imposeBackoffExponentialDelay(period, period * 100l, pow, failureCount, max, commandDescription);
+   }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs/blob/5a7554bb/fgcp/src/test/java/org/jclouds/fujitsu/fgcp/compute/FGCPBaseComputeServiceLiveTest.java
----------------------------------------------------------------------
diff --git a/fgcp/src/test/java/org/jclouds/fujitsu/fgcp/compute/FGCPBaseComputeServiceLiveTest.java b/fgcp/src/test/java/org/jclouds/fujitsu/fgcp/compute/FGCPBaseComputeServiceLiveTest.java
index d7dbd2e..cf0865b 100644
--- a/fgcp/src/test/java/org/jclouds/fujitsu/fgcp/compute/FGCPBaseComputeServiceLiveTest.java
+++ b/fgcp/src/test/java/org/jclouds/fujitsu/fgcp/compute/FGCPBaseComputeServiceLiveTest.java
@@ -16,23 +16,68 @@
  */
 package org.jclouds.fujitsu.fgcp.compute;
 
+import static com.google.common.collect.Iterables.get;
+import static com.google.common.collect.Iterables.getOnlyElement;
+import static java.lang.String.format;
+import static java.util.logging.Logger.getAnonymousLogger;
+import static org.jclouds.compute.options.RunScriptOptions.Builder.nameTask;
+import static org.jclouds.compute.options.RunScriptOptions.Builder.wrapInInitScript;
+import static org.jclouds.compute.options.TemplateOptions.Builder.inboundPorts;
+import static org.jclouds.compute.options.TemplateOptions.Builder.runAsRoot;
+import static org.jclouds.compute.predicates.NodePredicates.inGroup;
+import static org.jclouds.compute.predicates.NodePredicates.runningInGroup;
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertNotNull;
+
+import java.io.File;
+import java.io.IOException;
+import java.net.URL;
+import java.util.Map.Entry;
+import java.util.List;
 import java.util.Properties;
+import java.util.Set;
+import java.util.concurrent.Callable;
+import java.util.concurrent.TimeUnit;
+import java.util.logging.Level;
 
 import org.jclouds.Constants;
+import org.jclouds.compute.ComputeServiceContext;
+import org.jclouds.compute.ComputeTestUtils;
+import org.jclouds.compute.JettyStatements;
+import org.jclouds.compute.RunNodesException;
 import org.jclouds.compute.domain.ExecResponse;
 import org.jclouds.compute.domain.NodeMetadata;
+import org.jclouds.compute.domain.OperatingSystem;
 import org.jclouds.compute.internal.BaseComputeServiceLiveTest;
+import org.jclouds.compute.options.TemplateOptions;
+import org.jclouds.domain.LoginCredentials;
 import org.jclouds.rest.AuthorizationException;
+import org.jclouds.scriptbuilder.statements.login.AdminAccess;
 import org.jclouds.sshj.config.SshjSshClientModule;
 import org.testng.annotations.Test;
 
+import com.google.common.base.Charsets;
+import com.google.common.base.Stopwatch;
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.ImmutableSet;
+import com.google.common.collect.Lists;
+import com.google.common.io.Files;
+import com.google.common.io.Resources;
+import com.google.common.util.concurrent.Futures;
+import com.google.common.util.concurrent.ListenableFuture;
+import com.google.common.util.concurrent.ListeningExecutorService;
+import com.google.common.util.concurrent.MoreExecutors;
 import com.google.inject.Module;
 
 public abstract class FGCPBaseComputeServiceLiveTest extends
       BaseComputeServiceLiveTest {
 
+   public FGCPBaseComputeServiceLiveTest() {
+      // create operation must complete before start request is sent, taking a
+      // few minutes
+      nonBlockDurationSeconds = 300; // 5 min.
+   }
+
    @Override
    protected Properties setupProperties() {
       Properties overrides = super.setupProperties();
@@ -52,7 +97,7 @@ public abstract class FGCPBaseComputeServiceLiveTest extends
 
          overrides.setProperty(Constants.PROPERTY_PROXY_FOR_SOCKETS, "false");
       }
-   
+
       // enables peer verification using the CAs bundled with the JRE (or
       // value of javax.net.ssl.trustStore if set)
       overrides.setProperty(Constants.PROPERTY_TRUST_ALL_CERTS, "false");
@@ -66,9 +111,9 @@ public abstract class FGCPBaseComputeServiceLiveTest extends
    }
 
    @Override
+   // fatal handshake is not returned as AuthorizationException; should it?
    @Test(enabled = false, expectedExceptions = AuthorizationException.class)
    public void testCorrectAuthException() throws Exception {
-      // http://code.google.com/p/jclouds/issues/detail?id=1060
    }
 
    // fgcp does not support metadata
@@ -80,6 +125,7 @@ public abstract class FGCPBaseComputeServiceLiveTest extends
     }
 
    // node name can't be retrieved through the API and is therefore null
+   @Override
    protected void checkResponseEqualsHostname(ExecResponse execResponse,
          NodeMetadata node) {
       assert node.getHostname() == null : node + " with hostname: "
@@ -87,119 +133,39 @@ public abstract class FGCPBaseComputeServiceLiveTest extends
    }
 
    // tags are not (yet) supported for fgcp
+   @Override
    protected void checkTagsInNodeEquals(NodeMetadata node,
          ImmutableSet<String> tags) {
       assert node.getTags().isEmpty() : String.format(
             "node tags found %s (%s) in node %s", node.getTags(), tags, node);
    }
 
-   /*
-    * public void testCreateAndRunAService() throws Exception {
-    * super.testCreateAndRunAService(); }
-    */
+   // using user/pwd based auth to ssh to nodes instead
+   @Override
+   protected void setupKeyPairForTest() {
+   }
 
-   // this test requires network access to the VM it creates:
+   // these tests require network access to the VMs they create:
    // before running it, start an SSL/VPN connection to the last updated vsys'
    // DMZ.
-   // may also need to configure SNAT and FW rules to allow the VM to
+   // May also need to configure SNAT and FW rules to allow the VM to
    // communicate out (53/tcp-udp for DNS, 80/tcp for yum).
+/*   @Override
+   @Test(enabled = true, dependsOnMethods = { "testCompareSizes" })
    public void testAScriptExecutionAfterBootWithBasicTemplate()
          throws Exception {
       super.testAScriptExecutionAfterBootWithBasicTemplate();
    }
-
    @Override
-   @Test(enabled = false)
-   public void testOptionToNotBlock() throws Exception {
-      // start call returns before node reaches running state, but
-      // test may be failing due to the system being in a 're-configuring'
-      // state while destroying nodes of a previous test.
-      // http://code.google.com/p/jclouds/issues/detail?id=1066
-         /*
-   org.jclouds.compute.RunNodesException: error running 1 node group(fgcp-aublock) location(UZXC0GRT-IZKDVGIL5-N-SECURE1) image(IMG_3c9820_71OW9NZC268) size(islanda-cbrm_140) options({inboundPorts=[], blockUntilRunning=false})
-   Execution failures:
-   
-   1) ExecutionException on fgcp-aublock-787:
-   java.util.concurrent.ExecutionException: java.lang.IllegalStateException: The status of Instance[UZXC0GRT-IZKDVGIL5] is [RECONFIG_ING].
-      at com.google.common.util.concurrent.AbstractFuture$Sync.getValue(AbstractFuture.java:289)
-      at com.google.common.util.concurrent.AbstractFuture$Sync.get(AbstractFuture.java:276)
-      at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:111)
-      at org.jclouds.concurrent.FutureIterables$1.run(FutureIterables.java:134)
-      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
-      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
-      at java.lang.Thread.run(Unknown Source)
-   Caused by: java.lang.IllegalStateException: The status of Instance[UZXC0GRT-IZKDVGIL5] is [RECONFIG_ING].
-      at org.jclouds.fujitsu.fgcp.xml.FGCPJAXBParser.fromXML(FGCPJAXBParser.java:75)
-      at org.jclouds.http.functions.ParseXMLWithJAXB.apply(ParseXMLWithJAXB.java:91)
-      at org.jclouds.http.functions.ParseXMLWithJAXB.apply(ParseXMLWithJAXB.java:86)
-      at org.jclouds.http.functions.ParseXMLWithJAXB.apply(ParseXMLWithJAXB.java:73)
-      at org.jclouds.http.functions.ParseXMLWithJAXB.apply(ParseXMLWithJAXB.java:54)
-      at com.google.common.base.Functions$FunctionComposition.apply(Functions.java:209)
-      at com.google.common.util.concurrent.Futures$3.apply(Futures.java:380)
-      at com.google.common.util.concurrent.Futures$ChainingListenableFuture.run(Futures.java:522)
-      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
-      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
-      at java.lang.Thread.run(Unknown Source)
-      at org.jclouds.concurrent.config.DescribingExecutorService.submit(DescribingExecutorService.java:89)
-      at org.jclouds.compute.strategy.impl.CreateNodesWithGroupEncodedIntoNameThenAddToSet.createNodeInGroupWithNameAndTemplate(CreateNodesWithGroupEncodedIntoNameThenAddToSet.java:170)
-      at org.jclouds.compute.strategy.impl.CreateNodesWithGroupEncodedIntoNameThenAddToSet.execute(CreateNodesWithGroupEncodedIntoNameThenAddToSet.java:125)
-      at org.jclouds.compute.internal.BaseComputeService.createNodesInGroup(BaseComputeService.java:213)
-      at org.jclouds.compute.internal.BaseComputeService.createNodesInGroup(BaseComputeService.java:229)
-      at org.jclouds.compute.internal.BaseComputeServiceLiveTest.testOptionToNotBlock(BaseComputeServiceLiveTest.java:803)
-          */
-      }
-
-/*   @Override
-   @Test(enabled = false)
-   public void testCreateTwoNodesWithRunScript() {
+   @Test(enabled = true)
+   public void testCreateAndRunAService() throws Exception {
+      super.testCreateAndRunAService();
    }
-
    @Override
-   @Test(enabled = false)
-   public void testCreateAnotherNodeWithANewContextToEnsureSharedMemIsntRequired() {
-   }
-
-   @Override
-   @Test(enabled = false)
-   public void testGet() {
+   @Test(enabled = true, dependsOnMethods = "testCompareSizes")
+   public void testConcurrentUseOfComputeServiceToCreateNodes() throws Exception {
+      super.testConcurrentUseOfComputeServiceToCreateNodes();
    }
 */
-//   @Override
-//   @Test(enabled = false)
-//   public void testConcurrentUseOfComputeServiceToCreateNodes() throws Exception {
-      // http://code.google.com/p/jclouds/issues/detail?id=1066
-      /*
-      1) ExecutionException on twin0-f6a:
-         java.util.concurrent.ExecutionException: org.jclouds.http.HttpResponseException: Error parsing input
-         {statusCode=200, message=OK, headers={Date=[Sun, 26 Aug 2012 01:22:50 GMT], Transfer-Encoding=[chunked], Set-Cookie=[JSESSIONID=8A07404DF0405E46B3A748C3763B0D9F; Path=/ovisspxy; Secure], Connection=[close]}, payload=[content=true, contentMetadata=[contentDisposition=null, contentEncoding=null, contentLanguage=null, contentLength=null, contentMD5=null, contentType=text/xml;charset=UTF-8, expires=null], written=false]}
-            at com.google.common.util.concurrent.AbstractFuture$Sync.getValue(AbstractFuture.java:289)
-            at com.google.common.util.concurrent.AbstractFuture$Sync.get(AbstractFuture.java:276)
-            at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:111)
-            at org.jclouds.concurrent.FutureIterables$1.run(FutureIterables.java:134)
-            at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
-            at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
-            at java.lang.Thread.run(Unknown Source)
-         Caused by: org.jclouds.http.HttpResponseException: Error parsing input
-         {statusCode=200, message=OK, headers={Date=[Sun, 26 Aug 2012 01:22:50 GMT], Transfer-Encoding=[chunked], Set-Cookie=[JSESSIONID=8A07404DF0405E46B3A748C3763B0D9F; Path=/ovisspxy; Secure], Connection=[close]}, payload=[content=true, contentMetadata=[contentDisposition=null, contentEncoding=null, contentLanguage=null, contentLength=null, contentMD5=null, contentType=text/xml;charset=UTF-8, expires=null], written=false]}
-            at org.jclouds.http.functions.ParseXMLWithJAXB.apply(ParseXMLWithJAXB.java:78)
-            at org.jclouds.http.functions.ParseXMLWithJAXB.apply(ParseXMLWithJAXB.java:1)
-            at com.google.common.base.Functions$FunctionComposition.apply(Functions.java:209)
-            at com.google.common.util.concurrent.Futures$3.apply(Futures.java:380)
-            at com.google.common.util.concurrent.Futures$ChainingListenableFuture.run(Futures.java:522)
-            at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
-            at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
-            at java.lang.Thread.run(Unknown Source)
-            at org.jclouds.concurrent.config.DescribingExecutorService.submit(DescribingExecutorService.java:89)
-            at org.jclouds.compute.strategy.impl.CreateNodesWithGroupEncodedIntoNameThenAddToSet.createNodeInGroupWithNameAndTemplate(CreateNodesWithGroupEncodedIntoNameThenAddToSet.java:170)
-            at org.jclouds.compute.strategy.impl.CreateNodesWithGroupEncodedIntoNameThenAddToSet.execute(CreateNodesWithGroupEncodedIntoNameThenAddToSet.java:125)
-            at org.jclouds.compute.internal.BaseComputeService.createNodesInGroup(BaseComputeService.java:213)
-            at org.jclouds.compute.internal.BaseComputeService.createNodesInGroup(BaseComputeService.java:229)
-            at org.jclouds.compute.internal.BaseComputeServiceLiveTest$1.call(BaseComputeServiceLiveTest.java:442)
-            at org.jclouds.compute.internal.BaseComputeServiceLiveTest$1.call(BaseComputeServiceLiveTest.java:1)
-            ... 3 more
-         Caused by: org.jclouds.http.HttpException: The status of Instance[UZXC0GRT-9Q988189J] is [RECONFIG_ING].
-            at org.jclouds.fujitsu.fgcp.xml.FGCPJAXBParser.fromXML(FGCPJAXBParser.java:81)
-            at org.jclouds.http.functions.ParseXMLWithJAXB.apply(ParseXMLWithJAXB.java:91)
-*/      
-//   }
+
 }


[5/6] git commit: FGCP: fix location description (was showing '1') and other minor cleanups.

Posted by ga...@apache.org.
FGCP: fix location description (was showing '1') and other minor cleanups.


Project: http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs/commit/65a99a50
Tree: http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs/tree/65a99a50
Diff: http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs/diff/65a99a50

Branch: refs/heads/master
Commit: 65a99a50c879d93781137bf329e05298e3cba8db
Parents: 449c095
Author: Dies Koper <di...@fast.au.fujitsu.com>
Authored: Wed May 22 15:24:16 2013 +1000
Committer: Andrew Gaul <an...@gaul.org>
Committed: Thu May 23 16:21:51 2013 -0700

----------------------------------------------------------------------
 .../SystemAndNetworkSegmentToLocationSupplier.java |    2 +-
 .../responses/GetVSYSConfiguration-response.xml    |    2 +-
 .../IllegalState_RECONFIG_ING-response.xml         |    2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs/blob/65a99a50/fgcp/src/main/java/org/jclouds/fujitsu/fgcp/location/SystemAndNetworkSegmentToLocationSupplier.java
----------------------------------------------------------------------
diff --git a/fgcp/src/main/java/org/jclouds/fujitsu/fgcp/location/SystemAndNetworkSegmentToLocationSupplier.java b/fgcp/src/main/java/org/jclouds/fujitsu/fgcp/location/SystemAndNetworkSegmentToLocationSupplier.java
index 47bbf7b..7ee2314 100644
--- a/fgcp/src/main/java/org/jclouds/fujitsu/fgcp/location/SystemAndNetworkSegmentToLocationSupplier.java
+++ b/fgcp/src/main/java/org/jclouds/fujitsu/fgcp/location/SystemAndNetworkSegmentToLocationSupplier.java
@@ -83,7 +83,7 @@ public class SystemAndNetworkSegmentToLocationSupplier implements LocationsSuppl
          for (VNet net : systemWithDetails.getNetworks()) {
 
             locations.add(new LocationBuilder().scope(LocationScope.NETWORK).parent(systemLocation)
-                  .description(net.getNetworkId().replaceFirst(".+(DMZ|SECURE.)", "\\1")).id(net.getNetworkId())
+                  .description(net.getNetworkId().replaceFirst(".+-N-", "")).id(net.getNetworkId())
                   .build());
          }
       }

http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs/blob/65a99a50/fgcp/src/test/resources/responses/GetVSYSConfiguration-response.xml
----------------------------------------------------------------------
diff --git a/fgcp/src/test/resources/responses/GetVSYSConfiguration-response.xml b/fgcp/src/test/resources/responses/GetVSYSConfiguration-response.xml
index ca01590..352b46c 100644
--- a/fgcp/src/test/resources/responses/GetVSYSConfiguration-response.xml
+++ b/fgcp/src/test/resources/responses/GetVSYSConfiguration-response.xml
@@ -41,7 +41,7 @@
         </vnics>
         <vserverId>ABCDEFGH-I123J456K-S-0001</vserverId>
         <vserverName>Firewall</vserverName>
-        <vserverType>economy</vserverType>
+        <vserverType>firewall</vserverType>
       </vserver>
       <vserver>
         <creator>ABCDEFGH</creator>

http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs/blob/65a99a50/fgcp/src/test/resources/responses/IllegalState_RECONFIG_ING-response.xml
----------------------------------------------------------------------
diff --git a/fgcp/src/test/resources/responses/IllegalState_RECONFIG_ING-response.xml b/fgcp/src/test/resources/responses/IllegalState_RECONFIG_ING-response.xml
index 145bdd0..4d34395 100644
--- a/fgcp/src/test/resources/responses/IllegalState_RECONFIG_ING-response.xml
+++ b/fgcp/src/test/resources/responses/IllegalState_RECONFIG_ING-response.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <CreateVServerResponse xmlns="http://apioviss.jp.fujitsu.com">
-  <responseMessage>The status of Instance[UZXC0GRT-ZG8ZJCJ07] is [RECONFIG_ING].</responseMessage>
+  <responseMessage>The status of Instance[ABCDEFGH-A123B456CE] is [RECONFIG_ING].</responseMessage>
   <responseStatus>ILLEGAL_STATE</responseStatus>
 </CreateVServerResponse>
\ No newline at end of file


[6/6] git commit: FGCP: catch exceptions when node is not in expected state when rebooting, deleting, etc. and ensure it reaches the final state the user wants

Posted by ga...@apache.org.
FGCP: catch exceptions when node is not in expected state when rebooting,
deleting, etc. and ensure it reaches the final state the user wants


Project: http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs/commit/d3a180ef
Tree: http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs/tree/d3a180ef
Diff: http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs/diff/d3a180ef

Branch: refs/heads/master
Commit: d3a180eff84db4ac65a32d9b4d318322e4aa77f5
Parents: 2f11286
Author: Dies Koper <di...@fast.au.fujitsu.com>
Authored: Wed May 22 15:22:58 2013 +1000
Committer: Andrew Gaul <an...@gaul.org>
Committed: Thu May 23 16:21:51 2013 -0700

----------------------------------------------------------------------
 .../strategy/FGCPComputeServiceAdapter.java        |  105 +++++++++------
 .../fgcp/handlers/FGCPServerErrorRetryHandler.java |    5 +-
 .../fgcp/handlers/ResponseNotSuccessHandler.java   |    2 +-
 .../fgcp/services/ErrorResponseExpectTest.java     |   37 +++++-
 .../IllegalState_ALREADY_STOPPED-response.xml      |    5 +
 .../responses/IllegalState_RUNNING-response.xml    |    5 +
 6 files changed, 111 insertions(+), 48 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs/blob/d3a180ef/fgcp/src/main/java/org/jclouds/fujitsu/fgcp/compute/strategy/FGCPComputeServiceAdapter.java
----------------------------------------------------------------------
diff --git a/fgcp/src/main/java/org/jclouds/fujitsu/fgcp/compute/strategy/FGCPComputeServiceAdapter.java b/fgcp/src/main/java/org/jclouds/fujitsu/fgcp/compute/strategy/FGCPComputeServiceAdapter.java
index 72b8975..e1cbfce 100644
--- a/fgcp/src/main/java/org/jclouds/fujitsu/fgcp/compute/strategy/FGCPComputeServiceAdapter.java
+++ b/fgcp/src/main/java/org/jclouds/fujitsu/fgcp/compute/strategy/FGCPComputeServiceAdapter.java
@@ -41,16 +41,17 @@ import org.jclouds.fujitsu.fgcp.compute.functions.ResourceIdToFirewallId;
 import org.jclouds.fujitsu.fgcp.compute.functions.ResourceIdToSystemId;
 import org.jclouds.fujitsu.fgcp.compute.predicates.ServerStarted;
 import org.jclouds.fujitsu.fgcp.compute.predicates.ServerStopped;
-import org.jclouds.fujitsu.fgcp.compute.predicates.SystemStatusNormal;
 import org.jclouds.fujitsu.fgcp.compute.strategy.VServerMetadata.Builder;
 import org.jclouds.fujitsu.fgcp.domain.DiskImage;
 import org.jclouds.fujitsu.fgcp.domain.ServerType;
+import org.jclouds.fujitsu.fgcp.domain.VServer;
 import org.jclouds.fujitsu.fgcp.domain.VServerStatus;
 import org.jclouds.fujitsu.fgcp.domain.VServerWithDetails;
 import org.jclouds.fujitsu.fgcp.domain.VServerWithVNICs;
 import org.jclouds.fujitsu.fgcp.domain.VSystem;
 import org.jclouds.fujitsu.fgcp.domain.VSystemWithDetails;
 import org.jclouds.logging.Logger;
+import org.jclouds.rest.ResourceNotFoundException;
 
 import com.google.common.base.Predicate;
 import com.google.common.collect.ImmutableSet;
@@ -73,20 +74,18 @@ public class FGCPComputeServiceAdapter implements
    protected Predicate<String> serverStopped = null;
    protected Predicate<String> serverStarted = null;
    protected Predicate<String> serverCreated = null;
-   protected Predicate<String> systemNormal = null;
    protected ResourceIdToFirewallId toFirewallId = null;
    protected ResourceIdToSystemId toSystemId = null;
 
    @Inject
    public FGCPComputeServiceAdapter(FGCPApi api, ServerStopped serverStopped,
-         ServerStarted serverStarted, SystemStatusNormal systemNormal,
-         Timeouts timeouts, ResourceIdToFirewallId toFirewallId,
+         ServerStarted serverStarted, Timeouts timeouts,
+         ResourceIdToFirewallId toFirewallId,
          ResourceIdToSystemId toSystemId) {
       this.api = checkNotNull(api, "api");
       this.serverStopped = retry(checkNotNull(serverStopped), timeouts.nodeSuspended);
       this.serverStarted = retry(checkNotNull(serverStarted), timeouts.nodeRunning);
       this.serverCreated = retry(checkNotNull(serverStopped), timeouts.nodeRunning);
-      this.systemNormal = retry(checkNotNull(systemNormal), timeouts.nodeTerminated);
       this.toFirewallId = checkNotNull(toFirewallId, "ResourceIdToFirewallId");
       this.toSystemId = checkNotNull(toSystemId, "ResourceIdToSystemId");
    }
@@ -104,8 +103,7 @@ public class FGCPComputeServiceAdapter implements
       // wait until fully created (i.e. transitions to stopped status)
       checkState(serverCreated.apply(id), "node %s not reaching STOPPED state after creation", id);
       resumeNode(id);
-      // wait until fully started
-      checkState(serverStarted.apply(id), "could not start %s after creation", id);
+      // don't wait until fully started, template "optionToNotBlock" takes care of that
       VServerMetadata server = getNode(id);
 
       // do we need this?
@@ -158,31 +156,34 @@ public class FGCPComputeServiceAdapter implements
       Builder builder = VServerMetadata.builder();
       builder.id(id);
 
-      // mapped public ips?
-//      String fwId = toFirewallId.apply(id);
-      // futures.add(asyncApi.getBuiltinServerApi().getConfiguration(fwId,
-      // BuiltinServerConfiguration.SLB_RULE));
-
-      VServerWithDetails server = api.getVirtualServerApi().getDetails(id);
-      VServerStatus status = api.getVirtualServerApi().getStatus(id);
-      logger.info("%s [%s] - %s", id, status, server);
-      if (server == null) {
-         server = api.getVirtualServerApi().getDetails(id);
-         logger.warn("!!!!!!!!!! server returned null. 2nd try: %s", server);
+      try {
+         VServerWithDetails server = api.getVirtualServerApi().getDetails(id);
+         // skip FWs and SLBs
+         if (isFWorSLB(server)) {
+            return null;
+         }
+         VServerStatus status = api.getVirtualServerApi().getStatus(id);
+         logger.trace("Node %s [%s] - %s", id, status, server);
+         builder.serverWithDetails(server);
+         builder.status(status);
+         builder.initialPassword(api.getVirtualServerApi().getInitialPassword(id));
+
+         // mapped public ips?
+//       String fwId = toFirewallId.apply(id);
+       // futures.add(asyncApi.getBuiltinServerApi().getConfiguration(fwId,
+       // BuiltinServerConfiguration.FW_RULE));
+      } catch (ResourceNotFoundException e) {
+         return null;
       }
-      builder.serverWithDetails(server);
-      builder.status(status == null ? VServerStatus.UNRECOGNIZED : status);
-      // System.out.println("status in adapter#getNode: "
-      // + (VServerStatus) results.get(1)
-      // +" for "
-      // + server.getId());
-      builder.initialPassword(api.getVirtualServerApi().getInitialPassword(id));
-      // SLB slb = ((BuiltinServer) results.get(4)).;
-      // slb.
 
       return builder.build();
    }
 
+   private boolean isFWorSLB(VServer server) {
+      String serverType = server.getType();
+      return "firewall".equals(serverType) || "slb".equals(serverType);
+   }
+
    /**
     * {@inheritDoc}
     */
@@ -197,15 +198,9 @@ public class FGCPComputeServiceAdapter implements
 
          for (VServerWithVNICs server : systemDetails.getServers()) {
 
-            // skip FW (S-0001) and SLBs (>0 for SLB)
-            // TODO: rewrite to use serverType instead
-            if (!server.getId().endsWith("-S-0001") && server.getVnics().iterator().next().getNicNo() == 0) {
-
+            // skip FWs and SLBs
+            if (!isFWorSLB(server)) {
                servers.add(getNode(server.getId()));
-               // Builder builder = VServerMetadata.builder();
-               // builder.server(server);
-               // builder.status(VServerStatus.UNRECOGNIZED);
-               // servers.add(builder.build());
             }
          }
       }
@@ -233,9 +228,6 @@ public class FGCPComputeServiceAdapter implements
       suspendNode(id);
       checkState(serverStopped.apply(id), "could not stop %s before destroying it", id);
       api.getVirtualServerApi().destroy(id);
-      // wait until vsys completes reconfiguration
-      String systemId = toSystemId.apply(id);
-      checkState(systemNormal.apply(systemId), "system %s not returning to NORMAL", systemId);
    }
 
    /**
@@ -253,7 +245,13 @@ public class FGCPComputeServiceAdapter implements
     */
    @Override
    public void resumeNode(String id) {
-      api.getVirtualServerApi().start(id);
+      try {
+         api.getVirtualServerApi().start(id);
+      } catch (IllegalStateException ise) {
+         if (!(ise.getMessage().contains("ALREADY_STARTED") || ise.getMessage().contains("STARTING"))) {
+            throw ise;
+         }
+      }
    }
 
    /**
@@ -261,6 +259,33 @@ public class FGCPComputeServiceAdapter implements
     */
    @Override
    public void suspendNode(String id) {
-      api.getVirtualServerApi().stop(id);
+      try {
+         api.getVirtualServerApi().stop(id);
+      } catch (IllegalStateException ise) {
+         if (ise.getMessage().contains("ALREADY_STOPPED") || ise.getMessage().contains("STOPPING")) {
+            logger.trace("suspendNode({0}) - {1}", id, ise.getMessage());
+            // ignore as it has/will reach the desired destination state
+         } else if (ise.getMessage().contains("STARTING")) {
+            // wait till running, then try to stop again
+            logger.trace("suspendNode({0}) - {1} - waiting to reach RUNNING state", id, ise.getMessage());
+            checkState(serverStarted.apply(id), "starting %s didn't reach RUNNING state", id);
+            logger.trace("suspendNode({0}) - now RUNNING, trying to stop again", id);
+            try {
+               api.getVirtualServerApi().stop(id);
+            } catch (IllegalStateException e) {
+               if (e.getMessage().contains("ALREADY_STOPPED") || e.getMessage().contains("STOPPING")) {
+                  logger.trace("suspendNode({0}) - {1}", id, e.getMessage());
+                  // ignore as it has/will reach the desired destination state
+               } else {
+                  throw e;
+               }
+            }
+         } else {
+            throw ise;
+         }
+      } catch (RuntimeException e) {
+         logger.error(e, "suspendNode({0}) - exception occurred!", id);
+         throw e;
+      }
    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs/blob/d3a180ef/fgcp/src/main/java/org/jclouds/fujitsu/fgcp/handlers/FGCPServerErrorRetryHandler.java
----------------------------------------------------------------------
diff --git a/fgcp/src/main/java/org/jclouds/fujitsu/fgcp/handlers/FGCPServerErrorRetryHandler.java b/fgcp/src/main/java/org/jclouds/fujitsu/fgcp/handlers/FGCPServerErrorRetryHandler.java
index 8c4da29..47936ca 100644
--- a/fgcp/src/main/java/org/jclouds/fujitsu/fgcp/handlers/FGCPServerErrorRetryHandler.java
+++ b/fgcp/src/main/java/org/jclouds/fujitsu/fgcp/handlers/FGCPServerErrorRetryHandler.java
@@ -25,7 +25,6 @@ import org.jclouds.http.HttpCommand;
 import org.jclouds.http.HttpResponse;
 import org.jclouds.http.HttpRetryHandler;
 import org.jclouds.http.HttpUtils;
-import org.jclouds.http.handlers.BackoffLimitedRetryHandler;
 import org.jclouds.logging.Logger;
 
 import com.google.inject.Singleton;
@@ -37,7 +36,7 @@ import com.google.inject.Singleton;
  */
 @Singleton
 public class FGCPServerErrorRetryHandler implements HttpRetryHandler {
-   private final BackoffLimitedRetryHandler backoffHandler;
+   private final HttpRetryHandler backoffHandler;
 
    @Inject
    @Named(Constants.PROPERTY_MAX_RETRIES)
@@ -46,7 +45,7 @@ public class FGCPServerErrorRetryHandler implements HttpRetryHandler {
    protected Logger logger = Logger.NULL;
 
    @Inject
-   public FGCPServerErrorRetryHandler(BackoffLimitedRetryHandler backoffHandler) {
+   public FGCPServerErrorRetryHandler(FGCPBackoffLimitedRetryHandler backoffHandler) {
       this.backoffHandler = backoffHandler;
    }
 

http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs/blob/d3a180ef/fgcp/src/main/java/org/jclouds/fujitsu/fgcp/handlers/ResponseNotSuccessHandler.java
----------------------------------------------------------------------
diff --git a/fgcp/src/main/java/org/jclouds/fujitsu/fgcp/handlers/ResponseNotSuccessHandler.java b/fgcp/src/main/java/org/jclouds/fujitsu/fgcp/handlers/ResponseNotSuccessHandler.java
index 9d4ea62..ec461dd 100644
--- a/fgcp/src/main/java/org/jclouds/fujitsu/fgcp/handlers/ResponseNotSuccessHandler.java
+++ b/fgcp/src/main/java/org/jclouds/fujitsu/fgcp/handlers/ResponseNotSuccessHandler.java
@@ -48,7 +48,7 @@ public class ResponseNotSuccessHandler implements HttpErrorHandler {
    private static final Pattern RESOURCE_NOT_FOUND_PATTERN = Pattern.compile(".*RESOURCE_NOT_FOUND.*");
    private static final Pattern NOT_IMPLEMENTED_PATTERN = Pattern.compile(".*NOTFOUND: API to the Version.*");
    private static final Pattern ILLEGAL_STATE_PATTERN = Pattern
-         .compile(".*(NEVER_BOOTED|ALREADY_STARTED|ILLEGAL_STATE).*");
+         .compile(".*(NEVER_BOOTED|ALREADY_STARTED|ALREADY_STOPPED|ILLEGAL_STATE).*");
    private static final Pattern ILLEGAL_ARGUMENT_PATTERN = Pattern
          .compile(".*(SERVER_NAME_ALREADY_EXISTS|VALIDATION_ERROR).*");
 

http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs/blob/d3a180ef/fgcp/src/test/java/org/jclouds/fujitsu/fgcp/services/ErrorResponseExpectTest.java
----------------------------------------------------------------------
diff --git a/fgcp/src/test/java/org/jclouds/fujitsu/fgcp/services/ErrorResponseExpectTest.java b/fgcp/src/test/java/org/jclouds/fujitsu/fgcp/services/ErrorResponseExpectTest.java
index 1c8f8b9..c651fc4 100644
--- a/fgcp/src/test/java/org/jclouds/fujitsu/fgcp/services/ErrorResponseExpectTest.java
+++ b/fgcp/src/test/java/org/jclouds/fujitsu/fgcp/services/ErrorResponseExpectTest.java
@@ -22,7 +22,6 @@ import static org.testng.Assert.fail;
 
 import org.jclouds.http.HttpRequest;
 import org.jclouds.http.HttpResponse;
-import org.jclouds.http.HttpResponseException;
 import org.jclouds.rest.AuthorizationException;
 import org.jclouds.rest.ResourceNotFoundException;
 import org.testng.annotations.Test;
@@ -45,11 +44,11 @@ public class ErrorResponseExpectTest extends BaseFGCPRestApiExpectTest {
          api.createServer("vm1", "economy", "IMG_A1B2C3_1234567890ABCD", "ABCDEFGH-A123B456CE-N-DMZ");
          fail("should have thrown an exception");
       } catch (IllegalStateException e) {
-         assertTrue(e.getMessage().contains("RECONFIG_ING"));
+         assertTrue(e.getMessage().contains("RECONFIG_ING"), e.getMessage());
       }
    }
 
-   public void testAuthenticationErrorDueToCertFromDifferentRegion() {
+   public void testAuthorizationErrorDueToCertFromDifferentRegion() {
       HttpRequest request = buildGETWithQuery("Action=CreateVServer" + "&vserverName=vm1" + "&vserverType=economy"
             + "&diskImageId=IMG_A1B2C3_1234567890ABCD" + "&networkId=ABCDEFGH-A123B456CE-N-DMZ"
             + "&vsysId=ABCDEFGH-A123B456CE");
@@ -65,6 +64,36 @@ public class ErrorResponseExpectTest extends BaseFGCPRestApiExpectTest {
       }
    }
 
+   public void testIllegalStateDueToStartingRunningServer() {
+      HttpRequest request = buildGETWithQuery("Action=StartVServer" + "&vserverId=ABCDEFGH-A123B456CE-S-0004"
+            + "&vsysId=ABCDEFGH-A123B456CE");
+      HttpResponse response = HttpResponse.builder().statusCode(500)
+            .payload(payloadFromResource("/IllegalState_RUNNING-response.xml")).build();
+      VirtualServerApi api = requestSendsResponse(request, response).getVirtualServerApi();
+
+      try {
+         api.start("ABCDEFGH-A123B456CE-S-0004");
+         fail("should have thrown an exception");
+      } catch (IllegalStateException e) {
+         assertTrue(e.getMessage().contains("RUNNING"), e.getMessage());
+      }
+   }
+
+   public void testIllegalStateDueToStoppingStoppedServer() {
+      HttpRequest request = buildGETWithQuery("Action=StopVServer" + "&vserverId=ABCDEFGH-A123B456CE-S-0004"
+            + "&vsysId=ABCDEFGH-A123B456CE");
+      HttpResponse response = HttpResponse.builder().statusCode(500)
+            .payload(payloadFromResource("/IllegalState_ALREADY_STOPPED-response.xml")).build();
+      VirtualServerApi api = requestSendsResponse(request, response).getVirtualServerApi();
+
+      try {
+         api.stop("ABCDEFGH-A123B456CE-S-0004");
+         fail("should have thrown an exception");
+      } catch (IllegalStateException e) {
+         assertTrue(e.getMessage().contains("ALREADY_STOPPED"), e.getMessage());
+      }
+   }
+
    public void testErrorDueToWrongResourceId() {
       HttpRequest request = buildGETWithQuery("Action=CreateVServer" + "&vserverName=vm1" + "&vserverType=economy"
             + "&diskImageId=IMG_DOES_NOT_EXIST" + "&networkId=ABCDEFGH-A123B456CE-N-DMZ"
@@ -77,7 +106,7 @@ public class ErrorResponseExpectTest extends BaseFGCPRestApiExpectTest {
          api.createServer("vm1", "economy", "IMG_DOES_NOT_EXIST", "ABCDEFGH-A123B456CE-N-DMZ");
          fail("should have thrown an exception");
       } catch (ResourceNotFoundException e) {
-         assertTrue(e.getMessage().contains("RESOURCE_NOT_FOUND"));
+         assertTrue(e.getMessage().contains("RESOURCE_NOT_FOUND"), e.getMessage());
       }
    }
 

http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs/blob/d3a180ef/fgcp/src/test/resources/responses/IllegalState_ALREADY_STOPPED-response.xml
----------------------------------------------------------------------
diff --git a/fgcp/src/test/resources/responses/IllegalState_ALREADY_STOPPED-response.xml b/fgcp/src/test/resources/responses/IllegalState_ALREADY_STOPPED-response.xml
new file mode 100644
index 0000000..37370a4
--- /dev/null
+++ b/fgcp/src/test/resources/responses/IllegalState_ALREADY_STOPPED-response.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<CreateVServerResponse xmlns="http://apioviss.jp.fujitsu.com">
+  <responseMessage>The status of Instance[ABCDEFGH-A123B456CE-S-0004] is [STOPPED].</responseMessage>
+  <responseStatus>ALREADY_STOPPED</responseStatus>
+</CreateVServerResponse>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs/blob/d3a180ef/fgcp/src/test/resources/responses/IllegalState_RUNNING-response.xml
----------------------------------------------------------------------
diff --git a/fgcp/src/test/resources/responses/IllegalState_RUNNING-response.xml b/fgcp/src/test/resources/responses/IllegalState_RUNNING-response.xml
new file mode 100644
index 0000000..b263e18
--- /dev/null
+++ b/fgcp/src/test/resources/responses/IllegalState_RUNNING-response.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<CreateVServerResponse xmlns="http://apioviss.jp.fujitsu.com">
+  <responseMessage>The status of Instance[ABCDEFGH-A123B456CE-S-0004] is [RUNNING].</responseMessage>
+  <responseStatus>ALREADY_STARTED</responseStatus>
+</CreateVServerResponse>
\ No newline at end of file


[4/6] git commit: FGCP: enable HttpApiMetadataTests for fgcp

Posted by ga...@apache.org.
FGCP: enable HttpApiMetadataTests for fgcp


Project: http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs/commit/2f112861
Tree: http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs/tree/2f112861
Diff: http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs/diff/2f112861

Branch: refs/heads/master
Commit: 2f112861c78ce68b994f49b4b15462f4ffc105a4
Parents: b98dcf6
Author: Dies Koper <di...@fast.au.fujitsu.com>
Authored: Wed May 22 15:14:48 2013 +1000
Committer: Andrew Gaul <an...@gaul.org>
Committed: Thu May 23 16:21:51 2013 -0700

----------------------------------------------------------------------
 .../fujitsu/fgcp/compute/FGCPApiMetadataTest.java  |   33 +++++++++++++++
 1 files changed, 33 insertions(+), 0 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs/blob/2f112861/fgcp/src/test/java/org/jclouds/fujitsu/fgcp/compute/FGCPApiMetadataTest.java
----------------------------------------------------------------------
diff --git a/fgcp/src/test/java/org/jclouds/fujitsu/fgcp/compute/FGCPApiMetadataTest.java b/fgcp/src/test/java/org/jclouds/fujitsu/fgcp/compute/FGCPApiMetadataTest.java
new file mode 100644
index 0000000..5c50628
--- /dev/null
+++ b/fgcp/src/test/java/org/jclouds/fujitsu/fgcp/compute/FGCPApiMetadataTest.java
@@ -0,0 +1,33 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (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 License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jclouds.fujitsu.fgcp.compute;
+
+import org.jclouds.View;
+import org.jclouds.fujitsu.fgcp.FGCPApiMetadata;
+import org.jclouds.rest.internal.BaseHttpApiMetadataTest;
+import org.testng.annotations.Test;
+
+import com.google.common.collect.ImmutableSet;
+import com.google.common.reflect.TypeToken;
+
+@Test(groups = "unit", testName = "FGCPApiMetadataTest")
+public class FGCPApiMetadataTest extends BaseHttpApiMetadataTest {
+
+   public FGCPApiMetadataTest() {
+      super(new FGCPApiMetadata(), ImmutableSet.<TypeToken<? extends View>> of());
+   }
+}


[2/6] git commit: FGCP: throw IAE instead of AuthorizationException when pem can't be parsed

Posted by ga...@apache.org.
FGCP: throw IAE instead of AuthorizationException when pem can't be parsed


Project: http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs/commit/449c095f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs/tree/449c095f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs/diff/449c095f

Branch: refs/heads/master
Commit: 449c095fd7a3f590b5122bda8cd71fdb586d977d
Parents: d3a180e
Author: Dies Koper <di...@fast.au.fujitsu.com>
Authored: Wed May 22 15:25:33 2013 +1000
Committer: Andrew Gaul <an...@gaul.org>
Committed: Thu May 23 16:21:51 2013 -0700

----------------------------------------------------------------------
 .../fgcp/suppliers/FGCPCredentialsSupplier.java    |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs/blob/449c095f/fgcp/src/main/java/org/jclouds/fujitsu/fgcp/suppliers/FGCPCredentialsSupplier.java
----------------------------------------------------------------------
diff --git a/fgcp/src/main/java/org/jclouds/fujitsu/fgcp/suppliers/FGCPCredentialsSupplier.java b/fgcp/src/main/java/org/jclouds/fujitsu/fgcp/suppliers/FGCPCredentialsSupplier.java
index 59d99ed..af09422 100644
--- a/fgcp/src/main/java/org/jclouds/fujitsu/fgcp/suppliers/FGCPCredentialsSupplier.java
+++ b/fgcp/src/main/java/org/jclouds/fujitsu/fgcp/suppliers/FGCPCredentialsSupplier.java
@@ -35,7 +35,6 @@ import org.jclouds.domain.Credentials;
 import org.jclouds.fujitsu.fgcp.FGCPCredentials;
 import org.jclouds.io.Payloads;
 import org.jclouds.location.Provider;
-import org.jclouds.rest.AuthorizationException;
 
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.Charsets;
@@ -90,9 +89,9 @@ public class FGCPCredentialsSupplier implements Supplier<FGCPCredentials> {
          } catch (IOException e) {
             throw Throwables.propagate(e);
          } catch (GeneralSecurityException e) {
-            throw new AuthorizationException("security exception parsing pem. " + e.getMessage(), e);
+            throw new IllegalArgumentException("security exception parsing pem. " + e.getMessage(), e);
          } catch (IllegalArgumentException e) {
-            throw new AuthorizationException("cannot parse pk. " + e.getMessage(), e);
+            throw new IllegalArgumentException("not a valid pem: cannot parse pk. " + e.getMessage(), e);
          }
       }
 
@@ -148,7 +147,7 @@ public class FGCPCredentialsSupplier implements Supplier<FGCPCredentials> {
       try {
          return keyCache.getUnchecked(checkNotNull(creds.get(), "credential supplier returned null"));
       } catch (UncheckedExecutionException e) {
-         throw new AuthorizationException(e.getCause());
+         throw Throwables.propagate(e.getCause());
       }
    }
 


[3/6] git commit: FGCP: add @Test(enabled = false) to public methods that are not tests

Posted by ga...@apache.org.
FGCP: add @Test(enabled = false) to public methods that are not tests


Project: http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs/commit/b98dcf64
Tree: http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs/tree/b98dcf64
Diff: http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs/diff/b98dcf64

Branch: refs/heads/master
Commit: b98dcf643ac017d8c92603fd8374ebe7e6176ad7
Parents: cf6cfc6
Author: Dies Koper <di...@fast.au.fujitsu.com>
Authored: Wed May 22 15:13:11 2013 +1000
Committer: Andrew Gaul <an...@gaul.org>
Committed: Thu May 23 16:21:51 2013 -0700

----------------------------------------------------------------------
 .../fgcp/compute/FGCPAUComputeServiceLiveTest.java |    3 +--
 .../fgcp/compute/FGCPDEComputeServiceLiveTest.java |    1 +
 2 files changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs/blob/b98dcf64/fgcp-au/src/test/java/org/jclouds/fujitsu/fgcp/compute/FGCPAUComputeServiceLiveTest.java
----------------------------------------------------------------------
diff --git a/fgcp-au/src/test/java/org/jclouds/fujitsu/fgcp/compute/FGCPAUComputeServiceLiveTest.java b/fgcp-au/src/test/java/org/jclouds/fujitsu/fgcp/compute/FGCPAUComputeServiceLiveTest.java
index 06185e6..fe6615d 100644
--- a/fgcp-au/src/test/java/org/jclouds/fujitsu/fgcp/compute/FGCPAUComputeServiceLiveTest.java
+++ b/fgcp-au/src/test/java/org/jclouds/fujitsu/fgcp/compute/FGCPAUComputeServiceLiveTest.java
@@ -16,11 +16,9 @@
  */
 package org.jclouds.fujitsu.fgcp.compute;
 
-
 import org.jclouds.fujitsu.fgcp.compute.FGCPBaseComputeServiceLiveTest;
 import org.testng.annotations.Test;
 
-
 /**
  * @author Dies Koper
  *
@@ -29,6 +27,7 @@ import org.testng.annotations.Test;
 public class FGCPAUComputeServiceLiveTest extends FGCPBaseComputeServiceLiveTest {
 
    @Override
+   @Test(enabled = false)
    public void setServiceDefaults() {
       provider = "fgcp-au";
    }

http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs/blob/b98dcf64/fgcp-de/src/test/java/org/jclouds/fujitsu/fgcp/compute/FGCPDEComputeServiceLiveTest.java
----------------------------------------------------------------------
diff --git a/fgcp-de/src/test/java/org/jclouds/fujitsu/fgcp/compute/FGCPDEComputeServiceLiveTest.java b/fgcp-de/src/test/java/org/jclouds/fujitsu/fgcp/compute/FGCPDEComputeServiceLiveTest.java
index 06e685e..a1dfaeb 100644
--- a/fgcp-de/src/test/java/org/jclouds/fujitsu/fgcp/compute/FGCPDEComputeServiceLiveTest.java
+++ b/fgcp-de/src/test/java/org/jclouds/fujitsu/fgcp/compute/FGCPDEComputeServiceLiveTest.java
@@ -29,6 +29,7 @@ import org.testng.annotations.Test;
 public class FGCPDEComputeServiceLiveTest extends FGCPBaseComputeServiceLiveTest {
 
    @Override
+   @Test(enabled = false)
    public void setServiceDefaults() {
       provider = "fgcp-de";
    }