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