Adding network resource to GCE, removing default inbound ports

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

Branch: refs/heads/master
Commit: 92ff7e9b5800d578a37d6aa82551d60fbdd66529
Parents: 897edde
Author: Akila Perera <[email protected]>
Authored: Fri Aug 21 12:38:43 2015 +0530
Committer: Akila Perera <[email protected]>
Committed: Fri Aug 21 12:38:43 2015 +0530

----------------------------------------------------------------------
 .../cloud/controller/iaases/gce/GCEIaas.java    | 24 +++++++----
 ...licationInstanceCreatedMessageProcessor.java | 42 ++++++++++----------
 2 files changed, 37 insertions(+), 29 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/92ff7e9b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/gce/GCEIaas.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/gce/GCEIaas.java
 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/gce/GCEIaas.java
index 7b60b71..5cb2934 100644
--- 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/gce/GCEIaas.java
+++ 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/gce/GCEIaas.java
@@ -64,6 +64,7 @@ import static org.jclouds.util.Predicates2.retry;
 public class GCEIaas extends JcloudsIaas {
     private static final Log log = LogFactory.getLog(GCEIaas.class);
     public static final int MAX_WAIT_TIME = 60; // seconds
+    public static final String GCE_NETWORK_PROPERTY = "networkURI";
 
     public GCEIaas(IaasProvider iaasProvider) {
         super(iaasProvider);
@@ -134,9 +135,6 @@ public class GCEIaas extends JcloudsIaas {
         boolean blockUntilRunning = 
Boolean.parseBoolean(iaasInfo.getProperty("autoAssignIp"));
         
template.getOptions().as(GoogleComputeEngineTemplateOptions.class).blockUntilRunning(blockUntilRunning);
 
-        // this is required in order to avoid creation of additional security 
groups by Jclouds.
-        
template.getOptions().as(GoogleComputeEngineTemplateOptions.class).inboundPorts(22,
 80, 8080, 443, 8243);
-
         if (zone != null) {
             templateBuilder.locationId(zone);
             log.debug("setting location to " + zone);
@@ -151,19 +149,29 @@ public class GCEIaas extends JcloudsIaas {
                         .length()), iaasInfo.getProperties().get(propertyKey));
                 
template.getOptions().as(GoogleComputeEngineTemplateOptions.class).userMetadata(keyValuePairTagsMap);
             }
-            log.info("usermeta data key:" + propertyKey + " value: " + 
iaasInfo.getProperties().get(propertyKey));
+            log.info("User defined property [key]" + propertyKey + ", [value] 
" +
+                    iaasInfo.getProperties().get(propertyKey));
         }
 
         if (iaasInfo.getNetworkInterfaces() != null) {
             List<String> networks = new 
ArrayList<String>(iaasInfo.getNetworkInterfaces().length);
             for (NetworkInterface ni : iaasInfo.getNetworkInterfaces()) {
                 networks.add(ni.getNetworkUuid());
-                log.info("using network interface " + ni.getNetworkUuid());
             }
             
template.getOptions().as(GoogleComputeEngineTemplateOptions.class).networks(networks);
-            log.info("using network interface " + networks);
+            log.info("Using network interfaces: " + networks);
         }
 
+        if (iaasInfo.getProperty(GCEIaas.GCE_NETWORK_PROPERTY) != null) {
+            try {
+                URI networkURI = new 
URI(iaasInfo.getProperty(GCEIaas.GCE_NETWORK_PROPERTY));
+                
template.getOptions().as(GoogleComputeEngineTemplateOptions.class).network(networkURI);
+                log.info("Using GCE network: " + networkURI.toString());
+            }
+            catch (Exception e) {
+                log.error("Error while adding the network", e);
+            }
+        }
         // set Template
         iaasInfo.setTemplate(template);
     }
@@ -408,10 +416,10 @@ public class GCEIaas extends JcloudsIaas {
     }
 
     @Override
-    public String getGroupName(MemberContext memberContext, byte[] payload){
+    public String getGroupName(MemberContext memberContext, byte[] payload) {
         String clusterId = memberContext.getClusterId();
         String str = clusterId.length() > 10 ? clusterId.substring(0, 10) : 
clusterId.substring(0, clusterId.length());
-        String group = getIaasProvider().getName().substring(0, 4) + "-"  + 
str.replaceAll("[^a-z0-9-]", "");
+        String group = "stratos-" + str.replaceAll("[^a-z0-9-]", "");
         return group.toLowerCase();
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/stratos/blob/92ff7e9b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/ApplicationInstanceCreatedMessageProcessor.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/ApplicationInstanceCreatedMessageProcessor.java
 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/ApplicationInstanceCreatedMessageProcessor.java
index 314a915..e56d7bf 100644
--- 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/ApplicationInstanceCreatedMessageProcessor.java
+++ 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/application/ApplicationInstanceCreatedMessageProcessor.java
@@ -40,18 +40,14 @@ public class ApplicationInstanceCreatedMessageProcessor 
extends MessageProcessor
 
     @Override
     public boolean process(String type, String message, Object object) {
-
         Applications applications = (Applications) object;
-
         if (ApplicationInstanceCreatedEvent.class.getName().equals(type)) {
-
             if (!applications.isInitialized()) {
                 return false;
             }
-
-
-            ApplicationInstanceCreatedEvent event = 
(ApplicationInstanceCreatedEvent) MessagingUtil.jsonToObject(message,
-                    ApplicationInstanceCreatedEvent.class);
+            ApplicationInstanceCreatedEvent event =
+                    (ApplicationInstanceCreatedEvent) 
MessagingUtil.jsonToObject(message,
+                            ApplicationInstanceCreatedEvent.class);
             if (event == null) {
                 log.error("Unable to convert the JSON message to 
ApplicationInstanceCreatedEvent");
                 return false;
@@ -60,17 +56,18 @@ public class ApplicationInstanceCreatedMessageProcessor 
extends MessageProcessor
             ApplicationsUpdater.acquireWriteLockForApplications();
             try {
                 return doProcess(event, applications);
-
-            } finally {
+            }
+            finally {
                 ApplicationsUpdater.releaseWriteLockForApplications();
             }
-
         } else {
             if (nextProcessor != null) {
                 // ask the next processor to take care of the message.
                 return nextProcessor.process(type, message, applications);
             } else {
-                throw new RuntimeException(String.format("Failed to process 
message using available message processors: [type] %s [body] %s", type, 
message));
+                throw new RuntimeException(String.format(
+                        "Failed to process message using available message 
processors: [type] %s [body] %s", type,
+                        message));
             }
         }
     }
@@ -78,13 +75,18 @@ public class ApplicationInstanceCreatedMessageProcessor 
extends MessageProcessor
     private boolean doProcess(ApplicationInstanceCreatedEvent event, 
Applications applications) {
 
         // check if required properties are available
-        if (event.getApplicationInstance() == null) {
-            String errorMsg = "Application instance object of application 
instance created event is invalid";
+        if (event.getApplicationInstance() == null || event.getApplicationId() 
== null) {
+            String errorMsg = "Application instance object of 
ApplicationInstanceCreatedEvent is invalid. " +
+                    "[ApplicationId] " + event.getApplicationId() + ", 
[ApplicationInstance] " +
+                    event.getApplicationInstance();
+            log.error(errorMsg);
+            throw new RuntimeException(errorMsg);
+        }
+        if (applications == null) {
+            String errorMsg = "Error! Applications object is null";
             log.error(errorMsg);
             throw new RuntimeException(errorMsg);
-
         }
-
         ApplicationInstance applicationInstance = 
event.getApplicationInstance();
 
         if (applicationInstance.getInstanceId() == null || 
applicationInstance.getInstanceId().isEmpty()) {
@@ -97,15 +99,13 @@ public class ApplicationInstanceCreatedMessageProcessor 
extends MessageProcessor
         // check if an Application instance with same name exists in 
applications instance
         if (null != applications.getApplication(event.getApplicationId()).
                 
getInstanceByNetworkPartitionId(applicationInstance.getNetworkPartitionId())) {
-
-            log.warn("Application instance with id [ " + 
applicationInstance.getInstanceId() + " ] already exists");
-
+            log.warn("Application instance [AppInstanceId] " + 
applicationInstance.getInstanceId() + " already exists");
         } else {
             // add application instance to Application Topology
-            
applications.getApplication(event.getApplicationId()).addInstance(applicationInstance.getInstanceId(),
 applicationInstance);
+            applications.getApplication(event.getApplicationId())
+                    .addInstance(applicationInstance.getInstanceId(), 
applicationInstance);
         }
-
         notifyEventListeners(event);
         return true;
     }
-}
+}
\ No newline at end of file

Reply via email to