Updated Branches:
  refs/heads/master 9b1bd2c51 -> 263e2f75c

Fixing public ip issue not getting set in InstanceSpawnedMessageProcessor. 
Modify CLI output to remove table structures for some commands.


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

Branch: refs/heads/master
Commit: 3ac05f5be898e52b64379e08286b76e6a8b689fc
Parents: 989be9c
Author: Sajith Kariyawasam <[email protected]>
Authored: Wed Feb 5 18:55:56 2014 +0530
Committer: Sajith Kariyawasam <[email protected]>
Committed: Wed Feb 5 18:55:56 2014 +0530

----------------------------------------------------------------------
 .../stratos/cli/RestCommandLineService.java     | 160 +++++++------------
 .../stratos/cli/beans/cartridge/Cartridge.java  |   9 ++
 .../controller/topology/TopologyBuilder.java    |   2 +-
 .../topology/TopologyEventPublisher.java        |   5 +-
 .../StratosManagerTopologyReceiver.java         |  39 +++++
 .../event/topology/InstanceSpawnedEvent.java    |  19 +++
 .../InstanceSpawnedMessageProcessor.java        |   2 +
 .../rest/endpoint/services/StratosAdmin.java    |   1 +
 8 files changed, 137 insertions(+), 100 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/3ac05f5b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestCommandLineService.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestCommandLineService.java
 
b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestCommandLineService.java
index 4b87d8b..8456e71 100644
--- 
a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestCommandLineService.java
+++ 
b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestCommandLineService.java
@@ -444,50 +444,36 @@ public class RestCommandLineService {
             final Set<String> lbFloatingIpSet = lbIpMap.get("floating");
             Cartridge[] cartridges = new Cartridge[1];
             cartridges[0] = cartridge;
-
-            RowMapper<Cartridge> cartridgeMapper = new RowMapper<Cartridge>() {
-
-                public String[] getData(Cartridge cartridge) {
-                       
-                       String[] data = lbFloatingIpSet != null ? new 
String[13] : new String[12];
-                    data[0] = cartridge.getCartridgeType();
-                    data[1] = cartridge.getDisplayName();
-                    data[2] = cartridge.getVersion();
-                    data[3] = cartridge.isMultiTenant() ? "Multi-Tenant" : 
"Single-Tenant";
-                    data[4] = cartridge.getCartridgeAlias();
-                    data[5] = cartridge.getStatus();
-                    data[6] = cartridge.isMultiTenant() ? "N/A" : 
String.valueOf(cartridge.getActiveInstances());
-                    data[7] = getAccessURLs(cartridge);
-                    data[8] = cartridge.getRepoURL() != null ? 
cartridge.getRepoURL() : "";
-                    data[9] = lbPrivateIpSet.toString();
-                                       if (lbFloatingIpSet != null) {
-                                               data[10] = 
lbFloatingIpSet.toString();
-                                       }
-                                       data[11] = cartridge.getDbUserName();
-                                       data[12] = cartridge.getPassword();
-                    return data;
-                }
-            };
-
-            List<String> headers = new ArrayList<String>();
-            headers.add("Type");
-            headers.add("Name");
-            headers.add("Version");
-            headers.add("Tenancy Model");
-            headers.add("Alias");
-            headers.add("Status");
-            headers.add("Running Instances");
-            headers.add("Access URL(s)");
-            headers.add("Repo URL");
-            headers.add("LB Private Ip");
+          
+                        
+            System.out.println("\nSubscribed Cartridges Info :");
+            System.out.println("\tType : " + cartridge.getCartridgeType());
+            System.out.println("\tName : "     + cartridge.getDisplayName());
+            System.out.println("\tVersion : "  + cartridge.getVersion());
+            String tenancy  = cartridge.isMultiTenant() ? "Multi-Tenant" : 
"Single-Tenant";
+            System.out.println("\tTenancy Model        : "     + tenancy);
+            System.out.println("\tAlias : "    + 
cartridge.getCartridgeAlias());
+            System.out.println("\tStatus : "   + cartridge.getStatus());
+            String instanceCount  = cartridge.isMultiTenant() ? "N/A" : 
String.valueOf(cartridge.getActiveInstances());
+            System.out.println("\tRunning Instances    : " + instanceCount);
+            System.out.println("\tAccess URL(s) : " + 
getAccessURLs(cartridge));
+                       if (cartridge.getRepoURL() != null) {
+                               System.out.println("\tRepo URL : " + 
cartridge.getRepoURL());
+                       }
+                       System.out.println("\tLB Private ip     : "     + 
lbPrivateIpSet.toString());
                        if (lbFloatingIpSet != null) {
-                               headers.add("LB Floating Ip");
+                               System.out.println("\tLB Floating Ip : " +  
lbFloatingIpSet.toString());
                        }
-                       headers.add("DB username");
-                       headers.add("DB password");
-                        
-            System.out.println("Subscribed Cartridges Info ************ : 
[TODO database info]");
-            CommandLineUtils.printTable(cartridges, cartridgeMapper, 
headers.toArray(new String[headers.size()]));
+                       if (cartridge.getProvider().equals("data")) {
+                               System.out.println("\tDB-username : " 
+cartridge.getDbUserName());
+                               System.out.println("\tDB-password : "   
+cartridge.getPassword());
+                               System.out.println("\tDB-HostIP (private)  : "  
+cartridge.getIp());
+                               if (cartridge.getPublicIp() != null) {
+                                       System.out.println("\tDB-HostIP 
(floating) : "
+                                                       + 
cartridge.getPublicIp());
+                               }
+                       }
+            //CommandLineUtils.printTable(cartridges, cartridgeMapper, 
headers.toArray(new String[headers.size()]));
             System.out.println();
         } catch (Exception e) {
             handleException("Exception in listing subscribe cartridges", e);
@@ -508,6 +494,8 @@ public class RestCommandLineService {
        
        for (Member member : members) {
                        lbClusterIdSet.add(member.getLbClusterId());
+                       cartridge.setIp(member.getMemberIp());
+                       cartridge.setPublicIp(member.getMemberPublicIp());
                }
        
         // Invoke  cluster/{clusterId}
@@ -553,36 +541,24 @@ public class RestCommandLineService {
                 return;
             }
 
-            RowMapper<Member> memberMapper = new RowMapper<Member>() {
-
-                public String[] getData(Member member) {
-                    String[] data = new String[8];
-                    data[0] = member.getServiceName();
-                    data[1] = member.getClusterId();
-                    data[2] = member.getNetworkPartitionId();
-                    data[3] = member.getPartitionId();
-                    data[4] = member.getMemberIp();
-                    data[5] = member.getStatus().toString();
-                    data[6] = member.getLbClusterId() != null ? 
member.getLbClusterId() : "";
-                    data[7] = member.getMemberPublicIp().toString();
-                    return data;
-                }
-            };
-
-            List<String> headers = new ArrayList<String>();
-            headers.add("ServiceName");
-            headers.add("ClusterId");
-            headers.add("NewtworkPartitionId");
-            headers.add("PartitionId");
-            headers.add("MemberIp");
-            headers.add("Status");
-            headers.add("LBCluster");
-            headers.add("MemberPublicIp");
-
-            System.out.println("List of members in the [cluster]: " + alias);
-            CommandLineUtils.printTable(members, memberMapper, 
headers.toArray(new String[headers.size()]));
 
-            System.out.println("List of LB members for the [cluster]: " + 
"TODO" );
+            System.out.println("\nList of members in the [cluster]: " + alias);
+            for (Member member : members) {
+               System.out.println("\n\tServiceName : 
"+member.getServiceName());
+               System.out.println("\tClusterId : "+member.getClusterId());
+               System.out.println("\tNewtworkPartitionId : 
"+member.getNetworkPartitionId());
+               System.out.println("\tPartitionId : "+member.getPartitionId());
+               System.out.println("\tStatus : "+member.getStatus());
+               if(member.getLbClusterId() != null) {
+               System.out.println("\tLBCluster : "+member.getLbClusterId());
+               }
+               System.out.println("\tMemberPrivateIp : "+member.getMemberIp());
+               System.out.println("\tMemberFloatingIp : 
"+member.getMemberPublicIp());
+               System.out.println("\t-----------------------");
+                       }
+            //CommandLineUtils.printTable(members, memberMapper, 
headers.toArray(new String[headers.size()]));
+            
System.out.println("==================================================");
+            System.out.println("List of LB members for the [cluster]: " + 
alias );
             
             // Invoke  cluster/{clusterId}
             for (Member m : members) {
@@ -657,34 +633,22 @@ public class RestCommandLineService {
             System.out.println("There are no subscribed cartridges");
             return;
         }
-
-        RowMapper<Member> memberMapper = new RowMapper<Member>() {
-
-            public String[] getData(Member member) {
-                String[] data = new String[8];
-                data[0] = member.getServiceName();
-                data[1] = member.getClusterId();
-                data[2] = member.getNetworkPartitionId();
-                data[3] = member.getPartitionId();
-                data[4] = member.getMemberIp();
-                data[5] = member.getStatus().toString();
-                data[6] = member.getLbClusterId() != null ? 
member.getLbClusterId() : "";
-                data[7] = member.getMemberPublicIp().toString();
-                return data;
-            }
-        };
-
-        List<String> headers = new ArrayList<String>();
-        headers.add("ServiceName");
-        headers.add("ClusterId");
-        headers.add("NewtworkPartitionId");
-        headers.add("PartitionId");
-        headers.add("MemberIp");
-        headers.add("Status");
-        headers.add("LBCluster");
-        headers.add("MemberPublicIp");
         
-        CommandLineUtils.printTable(members, memberMapper, headers.toArray(new 
String[headers.size()]));
+        for (Member member : members) {
+               System.out.println("\n\tServiceName : 
"+member.getServiceName());
+               System.out.println("\tClusterId : "+member.getClusterId());
+               System.out.println("\tNewtworkPartitionId : 
"+member.getNetworkPartitionId());
+               System.out.println("\tPartitionId : "+member.getPartitionId());
+               System.out.println("\tStatus : "+member.getStatus());
+               if(member.getLbClusterId() != null) {
+               System.out.println("\tLBCluster : "+member.getLbClusterId());
+               }
+               System.out.println("\tMemberPrivateIp : "+member.getMemberIp());
+               System.out.println("\tMemberFloatingIp : 
"+member.getMemberPublicIp());
+               System.out.println("\t-----------------------");
+               }
+        
+        //CommandLineUtils.printTable(members, memberMapper, 
headers.toArray(new String[headers.size()]));
                
        }
 

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/3ac05f5b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/beans/cartridge/Cartridge.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/beans/cartridge/Cartridge.java
 
b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/beans/cartridge/Cartridge.java
index 976ee72..d5d9825 100644
--- 
a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/beans/cartridge/Cartridge.java
+++ 
b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/beans/cartridge/Cartridge.java
@@ -43,6 +43,7 @@ public class Cartridge implements Comparable<Cartridge> {
     private String dbUserName;
     private String mappedDomain;
     private String dbHost;
+    private String publicIp;
 
     private String[] accessURLs;
     private PortMapping[] portMappings;
@@ -206,6 +207,14 @@ public class Cartridge implements Comparable<Cartridge> {
        public void setDbHost(String dbHost) {
                this.dbHost = dbHost;
        }
+       
+       public String getPublicIp() {
+               return publicIp;
+       }
+
+       public void setPublicIp(String publicIp) {
+               this.publicIp = publicIp;
+       }
 
        public int compareTo(Cartridge o) {
         int compare = 0;

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/3ac05f5b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/topology/TopologyBuilder.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/topology/TopologyBuilder.java
 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/topology/TopologyBuilder.java
index 353d15c..f98327b 100644
--- 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/topology/TopologyBuilder.java
+++ 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/topology/TopologyBuilder.java
@@ -194,7 +194,7 @@ public class TopologyBuilder {
         } finally {
             TopologyManager.releaseWriteLock();
         }
-        TopologyEventPublisher.sendInstanceSpawnedEvent(serviceName, 
clusterId, networkPartitionId, partitionId, memberId, lbClusterId);
+        TopologyEventPublisher.sendInstanceSpawnedEvent(serviceName, 
clusterId, networkPartitionId, partitionId, memberId, lbClusterId, publicIp, 
privateIp);
     }
 
     public static void handleMemberStarted(InstanceStartedEvent 
instanceStartedEvent) {

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/3ac05f5b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/topology/TopologyEventPublisher.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/topology/TopologyEventPublisher.java
 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/topology/TopologyEventPublisher.java
index d88aa47..7a9120a 100644
--- 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/topology/TopologyEventPublisher.java
+++ 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/topology/TopologyEventPublisher.java
@@ -95,9 +95,12 @@ public class TopologyEventPublisher {
 
     }
 
-    public static void sendInstanceSpawnedEvent(String serviceName, String 
clusterId, String networkPartitionId, String partitionId, String memberId, 
String lbClusterId) {
+    public static void sendInstanceSpawnedEvent(String serviceName, String 
clusterId, String networkPartitionId, String partitionId, String memberId,
+               String lbClusterId, String publicIp, String privateIp) {
         InstanceSpawnedEvent instanceSpawnedEvent = new 
InstanceSpawnedEvent(serviceName, clusterId, networkPartitionId, partitionId, 
memberId);
         instanceSpawnedEvent.setLbClusterId(lbClusterId);
+        instanceSpawnedEvent.setMemberIp(privateIp);
+        instanceSpawnedEvent.setMemberPublicIp(publicIp);
         if(log.isInfoEnabled()) {
             log.info(String.format("Publishing instance spawned event: 
[service] %s [cluster] %s [network-partition] %s [partition] %s [member] %s 
[lb-cluster-id] %s",
                     serviceName, clusterId, networkPartitionId, partitionId, 
memberId, lbClusterId));

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/3ac05f5b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/topology/receiver/StratosManagerTopologyReceiver.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/topology/receiver/StratosManagerTopologyReceiver.java
 
b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/topology/receiver/StratosManagerTopologyReceiver.java
index 128d7bc..e23b2d4 100644
--- 
a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/topology/receiver/StratosManagerTopologyReceiver.java
+++ 
b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/topology/receiver/StratosManagerTopologyReceiver.java
@@ -150,6 +150,45 @@ public class StratosManagerTopologyReceiver implements 
Runnable {
                 }
             }
         });
+        
+        
+      //Instance Spawned event listner
+        processorChain.addEventListener(new InstanceSpawnedEventListener() {
+               
+            @Override
+            protected void onEvent(Event event) {
+
+                log.info("********** [InstanceSpawnedEventListener] Received: 
" + event.getClass() + " **********");
+
+                InstanceSpawnedEvent instanceSpawnedEvent = 
(InstanceSpawnedEvent) event;
+
+                String clusterDomain = instanceSpawnedEvent.getClusterId();
+                Set<CartridgeSubscription> cartridgeSubscriptions = 
getCartridgeSubscription(clusterDomain);
+
+                if(cartridgeSubscriptions != null) {
+
+                    Cluster cluster;
+                    //acquire read lock
+                    TopologyManager.acquireReadLock();
+
+                    try {
+                        for (CartridgeSubscription cartridgeSubscription : 
cartridgeSubscriptions) {
+
+                            cluster = TopologyManager.getTopology().
+                                    
getService(cartridgeSubscription.getType()).getCluster(cartridgeSubscription.getClusterDomain());
+
+                            
TopologyClusterInformationModel.getInstance().addCluster(cartridgeSubscription.getSubscriber().getTenantId(),
+                                    cartridgeSubscription.getType(), 
cartridgeSubscription.getAlias(), cluster);
+                        }
+
+                    } finally {
+                        //release read lock
+                        TopologyManager.releaseReadLock();
+                    }
+                }
+
+            }
+        });
 
         //Member Started event listner
         processorChain.addEventListener(new MemberStartedEventListener() {

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/3ac05f5b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/topology/InstanceSpawnedEvent.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/topology/InstanceSpawnedEvent.java
 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/topology/InstanceSpawnedEvent.java
index 86067dd..f42dda8 100644
--- 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/topology/InstanceSpawnedEvent.java
+++ 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/topology/InstanceSpawnedEvent.java
@@ -34,6 +34,8 @@ public class InstanceSpawnedEvent extends TopologyEvent 
implements Serializable
     private final String partitionId;
     private final String memberId;
     private String lbClusterId;
+    private String memberPublicIp;
+    private String memberIp;
 
     public InstanceSpawnedEvent(String serviceName, String clusterId, String 
networkPartitionId, String partitionId, String memberId) {
         this.serviceName = serviceName;
@@ -70,4 +72,21 @@ public class InstanceSpawnedEvent extends TopologyEvent 
implements Serializable
     public void setLbClusterId(String lbClusterId) {
         this.lbClusterId = lbClusterId;
     }
+
+       public String getMemberPublicIp() {
+               return memberPublicIp;
+       }
+
+       public void setMemberPublicIp(String memberPublicIp) {
+               this.memberPublicIp = memberPublicIp;
+       }
+
+       public String getMemberIp() {
+               return memberIp;
+       }
+
+       public void setMemberIp(String memberIp) {
+               this.memberIp = memberIp;
+       }
+    
 }

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/3ac05f5b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/InstanceSpawnedMessageProcessor.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/InstanceSpawnedMessageProcessor.java
 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/InstanceSpawnedMessageProcessor.java
index cd106eb..2d8bdc1 100644
--- 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/InstanceSpawnedMessageProcessor.java
+++ 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/InstanceSpawnedMessageProcessor.java
@@ -112,6 +112,8 @@ public class InstanceSpawnedMessageProcessor extends 
MessageProcessor {
             // Apply changes to the topology
             Member member = new Member(event.getServiceName(), 
event.getClusterId(), event.getNetworkPartitionId(), event.getPartitionId(), 
event.getMemberId());
             member.setStatus(MemberStatus.Created);
+            member.setMemberPublicIp(event.getMemberPublicIp());
+            member.setMemberIp(event.getMemberIp());
             member.setLbClusterId(event.getLbClusterId());
             cluster.addMember(member);
 

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/3ac05f5b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/StratosAdmin.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/StratosAdmin.java
 
b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/StratosAdmin.java
index c5cc172..8e6f14b 100644
--- 
a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/StratosAdmin.java
+++ 
b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/StratosAdmin.java
@@ -70,6 +70,7 @@ public class StratosAdmin extends AbstractAdmin {
 
     @POST
     @Path("/init")
+    @AuthorizationAction("/permission/protected/manage/monitor/tenants")
     public void initialize ()
             throws RestAPIException {
        

Reply via email to