Updated Branches:
  refs/heads/1.7.x 50f1a0c5c -> 859ca920c

Adds support for networks in the NovaComputeServiceAdapter Related to 
https://issues.apache.org/jira/browse/JCLOUDS-416


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

Branch: refs/heads/1.7.x
Commit: 859ca920c6f3798dcdf58685bec43ebe3770420b
Parents: 50f1a0c
Author: Zack Shoylev <[email protected]>
Authored: Thu Jan 9 14:14:56 2014 -0600
Committer: Zack Shoylev <[email protected]>
Committed: Tue Jan 21 16:07:19 2014 -0600

----------------------------------------------------------------------
 .../v2_0/compute/NovaComputeServiceAdapter.java |  1 +
 .../NovaComputeServiceAdapterExpectTest.java    | 35 ++++++++++++++++
 .../resources/new_server_networks_response.json | 42 ++++++++++++++++++++
 3 files changed, 78 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/859ca920/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/NovaComputeServiceAdapter.java
----------------------------------------------------------------------
diff --git 
a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/NovaComputeServiceAdapter.java
 
b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/NovaComputeServiceAdapter.java
index 2178792..85bd640 100644
--- 
a/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/NovaComputeServiceAdapter.java
+++ 
b/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/NovaComputeServiceAdapter.java
@@ -109,6 +109,7 @@ public class NovaComputeServiceAdapter implements
          
options.securityGroupNames(templateOptions.getSecurityGroupNames().get());
       options.userData(templateOptions.getUserData());
       options.diskConfig(templateOptions.getDiskConfig());
+      options.networks(templateOptions.getNetworks());
 
       Optional<String> privateKey = Optional.absent();
       if (templateOptions.getKeyPairName() != null) {

http://git-wip-us.apache.org/repos/asf/jclouds/blob/859ca920/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/compute/NovaComputeServiceAdapterExpectTest.java
----------------------------------------------------------------------
diff --git 
a/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/compute/NovaComputeServiceAdapterExpectTest.java
 
b/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/compute/NovaComputeServiceAdapterExpectTest.java
index 94de755..c48c434 100644
--- 
a/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/compute/NovaComputeServiceAdapterExpectTest.java
+++ 
b/apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/compute/NovaComputeServiceAdapterExpectTest.java
@@ -61,6 +61,41 @@ public class NovaComputeServiceAdapterExpectTest extends 
BaseNovaComputeServiceC
    HttpResponse serverDetailResponse = HttpResponse.builder().statusCode(200)
          .payload(payloadFromResource("/server_details.json")).build();
 
+   public void testCreateNodeWithGroupEncodedIntoNameWithNetworks() throws 
Exception {
+
+      HttpRequest createServer = HttpRequest
+         .builder()
+         .method("POST")
+         
.endpoint("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/3456/servers";)
+         .addHeader("Accept", "application/json")
+         .addHeader("X-Auth-Token", authToken)
+         .payload(payloadFromStringWithContentType(
+                  
"{\"server\":{\"name\":\"test-e92\",\"imageRef\":\"1241\",\"flavorRef\":\"100\",\"networks\":
 [{\"uuid\": \"4ebd35cf-bfe7-4d93-b0d8-eb468ce2245a\"}]}}","application/json"))
+         .build();
+
+      HttpResponse createServerResponse = 
HttpResponse.builder().statusCode(202).message("HTTP/1.1 202 Accepted")
+         
.payload(payloadFromResourceWithContentType("/new_server_networks_response.json","application/json;
 charset=UTF-8")).build();
+
+      Map<HttpRequest, HttpResponse> requestResponseMap = 
ImmutableMap.<HttpRequest, HttpResponse> builder()
+               .put(keystoneAuthWithUsernameAndPasswordAndTenantName, 
responseWithKeystoneAccess)
+               .put(extensionsOfNovaRequest, extensionsOfNovaResponse)
+               .put(listDetail, listDetailResponse)
+               .put(listFlavorsDetail, listFlavorsDetailResponse)
+               .put(createServer, createServerResponse)
+               .put(serverDetail, serverDetailResponse).build();
+
+      Injector forNetworks = requestsSendResponses(requestResponseMap);
+
+      Template template = 
forNetworks.getInstance(TemplateBuilder.class).build();
+      
template.getOptions().as(NovaTemplateOptions.class).networks("4ebd35cf-bfe7-4d93-b0d8-eb468ce2245a");
+      
+      NovaComputeServiceAdapter adapter = 
forNetworks.getInstance(NovaComputeServiceAdapter.class);
+
+      NodeAndInitialCredentials<ServerInZone> server = 
adapter.createNodeWithGroupEncodedIntoName("test", "test-e92", template);
+      assertNotNull(server);
+      // Response irrelevant in this expect test - just verifying the request.
+   }
+   
    public void testCreateNodeWithGroupEncodedIntoNameWithDiskConfig() throws 
Exception {
 
       HttpRequest createServer = HttpRequest

http://git-wip-us.apache.org/repos/asf/jclouds/blob/859ca920/apis/openstack-nova/src/test/resources/new_server_networks_response.json
----------------------------------------------------------------------
diff --git 
a/apis/openstack-nova/src/test/resources/new_server_networks_response.json 
b/apis/openstack-nova/src/test/resources/new_server_networks_response.json
new file mode 100644
index 0000000..7238333
--- /dev/null
+++ b/apis/openstack-nova/src/test/resources/new_server_networks_response.json
@@ -0,0 +1,42 @@
+{
+    "server": {
+        "status": "BUILD(scheduling)",
+        "updated": "2012-03-19T06:21:13Z",
+        "hostId": "",
+        "user_id": "54297837463082",
+        "name": "test-e92",
+        "links": [{
+            "href": 
"https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/37936628937291/servers/71752";,
+            "rel": "self"
+        }, {
+            "href": 
"https://az-1.region-a.geo-1.compute.hpcloudsvc.com/37936628937291/servers/71752";,
+            "rel": "bookmark"
+        }],
+        "addresses": {},
+        "tenant_id": "37936628937291",
+        "image": {
+            "id": "1241",
+            "links": [{
+                "href": 
"https://az-1.region-a.geo-1.compute.hpcloudsvc.com/37936628937291/images/1241";,
+                "rel": "bookmark"
+            }]
+        },
+        "created": "2012-03-19T06:21:13Z",
+        "uuid": "47491020-6a78-4f63-9475-23195ac4515c",
+        "accessIPv4": "",
+        "accessIPv6": "",
+        "key_name": null,
+        "adminPass": "ZWuHcmTMQ7eXoHeM",
+        "flavor": {
+            "id": "100",
+            "links": [{
+                "href": 
"https://az-1.region-a.geo-1.compute.hpcloudsvc.com/37936628937291/flavors/100";,
+                "rel": "bookmark"
+            }]
+        },
+        "config_drive": "",
+        "id": 71752,
+        "metadata": {},
+        "OS-DCF:diskConfig": "AUTO"
+    }
+}
\ No newline at end of file

Reply via email to