You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by ra...@apache.org on 2014/12/03 21:02:37 UTC

stratos git commit: adding floating networks

Repository: stratos
Updated Branches:
  refs/heads/master 5a191402a -> def7d3f14


adding floating networks


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

Branch: refs/heads/master
Commit: def7d3f149b83feb85731e3eb894ac1efe59001e
Parents: 5a19140
Author: R-Rajkumar <rr...@gmail.com>
Authored: Thu Dec 4 01:32:05 2014 +0530
Committer: R-Rajkumar <rr...@gmail.com>
Committed: Thu Dec 4 01:32:05 2014 +0530

----------------------------------------------------------------------
 .../controller/domain/FloatingNetwork.java      | 87 ++++++++++++++++++++
 .../controller/domain/FloatingNetworks.java     | 44 ++++++++++
 .../controller/domain/NetworkInterface.java     | 15 ++++
 .../definition/FloatingNetworkBean.java         | 51 ++++++++++++
 .../definition/NetworkInterfaceBean.java        | 21 +++++
 .../bean/util/converter/PojoConverter.java      | 22 +++++
 .../main/resources/CloudControllerService.wsdl  | 25 ++++--
 7 files changed, 259 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/def7d3f1/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/FloatingNetwork.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/FloatingNetwork.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/FloatingNetwork.java
new file mode 100644
index 0000000..8a83733
--- /dev/null
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/FloatingNetwork.java
@@ -0,0 +1,87 @@
+/*
+ * 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.apache.stratos.cloud.controller.domain;
+
+import java.io.Serializable;
+
+/**
+ * Every {@link NetworkInterface} can have 
+ * an array of {@link FloatingNetwork} 
+ * to which the network interface is associated
+ * @author rajkumar
+ */
+public class FloatingNetwork implements Serializable{
+
+	private static final long serialVersionUID = -432127317992004321L;
+	private String name;
+	private String networkUuid;
+	private String floatingIP;
+	
+	public FloatingNetwork() {
+	}
+	
+	public FloatingNetwork(String name, String networkUuid, String flotingIP) {
+		this.name = name;
+		this.networkUuid = networkUuid;
+		this.floatingIP = flotingIP;
+	}
+	
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public String getNetworkUuid() {
+		return networkUuid;
+	}
+
+	public void setNetworkUuid(String networkUuid) {
+		this.networkUuid = networkUuid;
+	}
+	
+	public String getFloatingIP() {
+		return floatingIP;
+	}
+
+	public void setFloatingIP(String floatingIP) {
+		this.floatingIP = floatingIP;
+	}
+
+	public String toString() {
+    	StringBuilder sb = new StringBuilder('{');
+    	String delimeter = "";
+    	if (name != null) {
+    		sb.append(delimeter).append("name : ").append(name);
+    		delimeter = ", ";
+    	}
+    	if (networkUuid != null) {
+    		sb.append(delimeter).append("networkUuid : ").append(networkUuid);
+    		delimeter = ", ";
+    	}
+    	if (floatingIP != null) {
+    		sb.append(delimeter).append("floatingIP : ").append(floatingIP);
+    		delimeter = ", ";
+    	}
+    	sb.append('}');
+        return sb.toString();
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/stratos/blob/def7d3f1/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/FloatingNetworks.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/FloatingNetworks.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/FloatingNetworks.java
new file mode 100644
index 0000000..01ecda1
--- /dev/null
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/FloatingNetworks.java
@@ -0,0 +1,44 @@
+/*
+ * 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.apache.stratos.cloud.controller.domain;
+
+import java.io.Serializable;
+import java.util.Arrays;
+
+/**
+ * Wrapping {@link FloatingNetwork} array
+ * @author rajkumar
+ */
+public class FloatingNetworks implements Serializable{
+	
+	private static final long serialVersionUID = -6754884581236402662L;
+	private FloatingNetwork[] floatingNetworks;
+	
+	public FloatingNetwork[] getFloatingNetworks() {
+		return floatingNetworks;
+	}
+	public void setFloatingNetworks(FloatingNetwork[] floatingNetworks) {
+		this.floatingNetworks = floatingNetworks;
+	}
+	
+	@Override
+    public String toString() {
+        return "FloatingNetworks [FloatingNetworks =" + Arrays.toString(floatingNetworks) + "]";
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/stratos/blob/def7d3f1/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/NetworkInterface.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/NetworkInterface.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/NetworkInterface.java
index 4e939b4..7c1fea1 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/NetworkInterface.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/NetworkInterface.java
@@ -29,6 +29,7 @@ public class NetworkInterface implements Serializable {
 	private String networkUuid;
 	private String fixedIp;
 	private String portUuid;
+	private FloatingNetworks floatingNetworks;
 	
 	public NetworkInterface() {
 	}
@@ -76,6 +77,20 @@ public class NetworkInterface implements Serializable {
 		this.portUuid = portUuid;
 	}
 	
+	/**
+	* @return {@link FloatingNetworks}
+	*/
+	public FloatingNetworks getFloatingNetworks() {
+		return floatingNetworks;
+	}
+	
+	/**
+	* @param floatingNetworks the {@link FloatingNetworks} to be set
+	*/
+	public void setFloatingNetworks(FloatingNetworks floatingNetworks) {
+		this.floatingNetworks = floatingNetworks;
+	}
+	
 	public String toString() {
     	StringBuilder sb = new StringBuilder('{');
     	String delimeter = "";

http://git-wip-us.apache.org/repos/asf/stratos/blob/def7d3f1/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/cartridge/definition/FloatingNetworkBean.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/cartridge/definition/FloatingNetworkBean.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/cartridge/definition/FloatingNetworkBean.java
new file mode 100644
index 0000000..e6df7e1
--- /dev/null
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/cartridge/definition/FloatingNetworkBean.java
@@ -0,0 +1,51 @@
+/*
+ * 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.apache.stratos.rest.endpoint.bean.cartridge.definition;
+
+import javax.xml.bind.annotation.XmlRootElement;
+
+/**
+ * @author rajkumar
+ */
+@XmlRootElement (name = "floatingNetworks")
+public class FloatingNetworkBean {
+	public String name;
+	public String networkUuid;
+	public String floatingIP;
+	
+    public String toString () {
+    	StringBuilder sb = new StringBuilder('{');
+    	String delimeter = "";
+    	if (name != null) {
+    		sb.append(delimeter).append("name : ").append(name);
+    		delimeter = ", ";
+    	}
+    	if (networkUuid != null) {
+    		sb.append(delimeter).append("networkUuid : ").append(networkUuid);
+    		delimeter = ", ";
+    	}
+    	if (floatingIP != null) {
+    		sb.append(delimeter).append("floatingIP : ").append(floatingIP);
+    		delimeter = ", ";
+    	}
+    	sb.append('}');
+        return sb.toString();
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/stratos/blob/def7d3f1/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/cartridge/definition/NetworkInterfaceBean.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/cartridge/definition/NetworkInterfaceBean.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/cartridge/definition/NetworkInterfaceBean.java
index 9ba16e3..707e7fe 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/cartridge/definition/NetworkInterfaceBean.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/cartridge/definition/NetworkInterfaceBean.java
@@ -19,6 +19,8 @@
 
 package org.apache.stratos.rest.endpoint.bean.cartridge.definition;
 
+import java.util.List;
+
 import javax.xml.bind.annotation.XmlRootElement;
 
 @XmlRootElement (name = "networkInterfaces")
@@ -26,6 +28,7 @@ public class NetworkInterfaceBean {
 	public String networkUuid;
 	public String fixedIp;
 	public String portUuid;
+	public List<FloatingNetworkBean> floatingNetworks;
     public String toString () {
     	StringBuilder sb = new StringBuilder('{');
     	String delimeter = "";
@@ -41,7 +44,25 @@ public class NetworkInterfaceBean {
     		sb.append(delimeter).append("portUuid : ").append(portUuid);
     		delimeter = ", ";
     	}
+    	if (floatingNetworks != null) {
+    	sb.append(delimeter).append("floatingNetworks : ").append(getFloatingNetworks());
+    	delimeter = ", ";
+    	}
     	sb.append('}');
         return sb.toString();
     }
+    
+    private String getFloatingNetworks() {
+    	StringBuilder sb = new StringBuilder();
+    	if (floatingNetworks != null) {
+    		sb.append('[');
+    		String delimeter = "";
+    		for (FloatingNetworkBean floatingNetworkBean:floatingNetworks) {
+    			sb.append(delimeter).append(floatingNetworkBean);
+    			delimeter = ", ";
+    		}
+    		sb.append(']');
+    	}
+    	return sb.toString();
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/stratos/blob/def7d3f1/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/util/converter/PojoConverter.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/util/converter/PojoConverter.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/util/converter/PojoConverter.java
index 75dea28..284f5da 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/util/converter/PojoConverter.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/bean/util/converter/PojoConverter.java
@@ -291,6 +291,10 @@ public class PojoConverter {
             networkInterface.setNetworkUuid(nib.networkUuid);
             networkInterface.setFixedIp(nib.fixedIp);
             networkInterface.setPortUuid(nib.portUuid);
+            if (nib.floatingNetworks != null && !nib.floatingNetworks.isEmpty()) {
+            	networkInterface.setFloatingNetworks(PojoConverter.getFloatingNetworks(nib.floatingNetworks));
+            }
+
             networkInterfacesArray[i++] = networkInterface;
         }
 
@@ -298,6 +302,24 @@ public class PojoConverter {
         networkInterfaces.setNetworkInterfaces(networkInterfacesArray);
         return networkInterfaces;
     }
+    
+    private static FloatingNetworks getFloatingNetworks(List<FloatingNetworkBean> floatingNetworkBeans) {
+    	
+    	FloatingNetwork[] floatingNetworksArray = new FloatingNetwork[floatingNetworkBeans.size()];
+    	
+    	int i =0;
+    	for (FloatingNetworkBean floatingNetworkBean : floatingNetworkBeans) {
+    	FloatingNetwork floatingNetwork = new FloatingNetwork();
+    	floatingNetwork.setName(floatingNetworkBean.name);
+    	floatingNetwork.setNetworkUuid(floatingNetworkBean.networkUuid);
+    	floatingNetwork.setFloatingIP(floatingNetworkBean.floatingIP);
+    	floatingNetworksArray[i++] = floatingNetwork;
+    	}
+    	
+    	FloatingNetworks floatingNetworks = new FloatingNetworks();
+    	floatingNetworks.setFloatingNetworks(floatingNetworksArray);
+    	return floatingNetworks;
+    	}
 
     public static org.apache.stratos.autoscaler.stub.deployment.partition.Partition convertToCCPartitionPojo
             (Partition partitionBean) {

http://git-wip-us.apache.org/repos/asf/stratos/blob/def7d3f1/service-stubs/org.apache.stratos.cloud.controller.service.stub/src/main/resources/CloudControllerService.wsdl
----------------------------------------------------------------------
diff --git a/service-stubs/org.apache.stratos.cloud.controller.service.stub/src/main/resources/CloudControllerService.wsdl b/service-stubs/org.apache.stratos.cloud.controller.service.stub/src/main/resources/CloudControllerService.wsdl
index c449f31..4213cbe 100644
--- a/service-stubs/org.apache.stratos.cloud.controller.service.stub/src/main/resources/CloudControllerService.wsdl
+++ b/service-stubs/org.apache.stratos.cloud.controller.service.stub/src/main/resources/CloudControllerService.wsdl
@@ -912,10 +912,23 @@
             <xs:complexType name="NetworkInterface">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="fixedIp" nillable="true" type="xs:string"></xs:element>
+                    <xs:element minOccurs="0" name="floatingNetworks" nillable="true" type="ax231:FloatingNetworks"></xs:element>
                     <xs:element minOccurs="0" name="networkUuid" nillable="true" type="xs:string"></xs:element>
                     <xs:element minOccurs="0" name="portUuid" nillable="true" type="xs:string"></xs:element>
                 </xs:sequence>
             </xs:complexType>
+            <xs:complexType name="FloatingNetworks">
+                <xs:sequence>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="floatingNetworks" nillable="true" type="ax231:FloatingNetwork"></xs:element>
+                </xs:sequence>
+            </xs:complexType>
+            <xs:complexType name="FloatingNetwork">
+                <xs:sequence>
+                    <xs:element minOccurs="0" name="floatingIP" nillable="true" type="xs:string"></xs:element>
+                    <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"></xs:element>
+                    <xs:element minOccurs="0" name="networkUuid" nillable="true" type="xs:string"></xs:element>
+                </xs:sequence>
+            </xs:complexType>
             <xs:complexType name="ApplicationClusterContext">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="autoscalePolicyName" nillable="true" type="xs:string"></xs:element>
@@ -2493,22 +2506,22 @@
     </wsdl:binding>
     <wsdl:service name="CloudControllerService">
         <wsdl:port name="CloudControllerServiceHttpSoap11Endpoint" binding="ns:CloudControllerServiceSoap11Binding">
-            <soap:address location="http://10.100.1.142:9763/services/CloudControllerService.CloudControllerServiceHttpSoap11Endpoint/"></soap:address>
+            <soap:address location="http://10.111.144.9:9763/services/CloudControllerService.CloudControllerServiceHttpSoap11Endpoint/"></soap:address>
         </wsdl:port>
         <wsdl:port name="CloudControllerServiceHttpsSoap11Endpoint" binding="ns:CloudControllerServiceSoap11Binding">
-            <soap:address location="https://10.100.1.142:9443/services/CloudControllerService.CloudControllerServiceHttpsSoap11Endpoint/"></soap:address>
+            <soap:address location="https://10.111.144.9:9443/services/CloudControllerService.CloudControllerServiceHttpsSoap11Endpoint/"></soap:address>
         </wsdl:port>
         <wsdl:port name="CloudControllerServiceHttpSoap12Endpoint" binding="ns:CloudControllerServiceSoap12Binding">
-            <soap12:address location="http://10.100.1.142:9763/services/CloudControllerService.CloudControllerServiceHttpSoap12Endpoint/"></soap12:address>
+            <soap12:address location="http://10.111.144.9:9763/services/CloudControllerService.CloudControllerServiceHttpSoap12Endpoint/"></soap12:address>
         </wsdl:port>
         <wsdl:port name="CloudControllerServiceHttpsSoap12Endpoint" binding="ns:CloudControllerServiceSoap12Binding">
-            <soap12:address location="https://10.100.1.142:9443/services/CloudControllerService.CloudControllerServiceHttpsSoap12Endpoint/"></soap12:address>
+            <soap12:address location="https://10.111.144.9:9443/services/CloudControllerService.CloudControllerServiceHttpsSoap12Endpoint/"></soap12:address>
         </wsdl:port>
         <wsdl:port name="CloudControllerServiceHttpEndpoint" binding="ns:CloudControllerServiceHttpBinding">
-            <http:address location="http://10.100.1.142:9763/services/CloudControllerService.CloudControllerServiceHttpEndpoint/"></http:address>
+            <http:address location="http://10.111.144.9:9763/services/CloudControllerService.CloudControllerServiceHttpEndpoint/"></http:address>
         </wsdl:port>
         <wsdl:port name="CloudControllerServiceHttpsEndpoint" binding="ns:CloudControllerServiceHttpBinding">
-            <http:address location="https://10.100.1.142:9443/services/CloudControllerService.CloudControllerServiceHttpsEndpoint/"></http:address>
+            <http:address location="https://10.111.144.9:9443/services/CloudControllerService.CloudControllerServiceHttpsEndpoint/"></http:address>
         </wsdl:port>
     </wsdl:service>
 </wsdl:definitions>
\ No newline at end of file