conflict resolution

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

Branch: refs/heads/master
Commit: da145aad2cbf3f629e3db92baf965535d16dd9eb
Parents: 0818d34 237c0bb
Author: Nirmal Fernando <[email protected]>
Authored: Tue Feb 18 10:29:46 2014 +0530
Committer: Nirmal Fernando <[email protected]>
Committed: Tue Feb 18 10:29:46 2014 +0530

----------------------------------------------------------------------
 .../autoscaler/partition/PartitionManager.java  |  5 +-
 .../stratos/cartridge/agent/CartridgeAgent.java |  6 +-
 .../agent/data/publisher/DataPublisher.java     |  6 +-
 .../data/publisher/GenericDataPublisher.java    | 29 +++++++
 .../publisher/CartridgeAgentEventPublisher.java | 28 +++++++
 .../stratos/cli/RestCommandLineService.java     |  4 +-
 .../cli/beans/cartridge/CartridgeInfoBean.java  |  9 +++
 .../stratos/cli/commands/SubscribeCommand.java  | 22 +++++-
 .../apache/stratos/cli/utils/CliConstants.java  |  3 +
 .../impl/CloudControllerServiceImpl.java        | 13 +++-
 .../InstanceStatusEventMessageDelegator.java    |  6 ++
 .../controller/topology/TopologyBuilder.java    | 44 ++++++++++-
 .../topology/TopologyEventPublisher.java        | 11 ++-
 .../controllers/cartridgeSubscribeSubmit.jag    |  4 +-
 .../theme1/partials/subscribe_cartridge.hbs     | 14 +---
 .../SubscriptionSingleTenantBehaviour.java      | 19 ++---
 .../messaging/domain/topology/MemberStatus.java |  3 +-
 .../status/InstanceMaintenanceModeEvent.java    | 59 +++++++++++++++
 .../topology/MemberMaintenanceModeEvent.java    | 79 ++++++++++++++++++++
 .../topology/MemberReadyToShutdownEvent.java    | 18 +++++
 .../rest/endpoint/services/ServiceUtils.java    | 26 +++++--
 .../rest/endpoint/services/StratosAdmin.java    | 16 ++--
 22 files changed, 363 insertions(+), 61 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/da145aad/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImpl.java
----------------------------------------------------------------------
diff --cc 
components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImpl.java
index e016928,5852795..cf3d978
--- 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImpl.java
+++ 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImpl.java
@@@ -246,9 -246,11 +246,11 @@@ public class CloudControllerServiceImp
              addToPayload(payload, "LB_CLUSTER_ID", 
memberContext.getLbClusterId());
              addToPayload(payload, "NETWORK_PARTITION_ID", 
memberContext.getNetworkPartitionId());
              addToPayload(payload, "PARTITION_ID", partitionId);
-                         
-             addToPayload(payload, "PERSISTENCE_MAPPING", 
getPersistencePayload(cartridge).toString());
+ 
+             if(ctxt.isVolumeRequired()){
+                 addToPayload(payload, "PERSISTENCE_MAPPING", 
getPersistencePayload(cartridge).toString());
+             }
 -                        
 +            
              if (log.isDebugEnabled()) {
                  log.debug("Payload: " + payload.toString());
              }
@@@ -340,12 -337,13 +342,16 @@@
                                                .substring(nodeId.indexOf('/') 
+ 1, nodeId.length())
                                                : nodeId;
                                memberContext.setInstanceId(instanceId);
 -                              try {
 -                                      iaas.attachVolume(instanceId, 
ctxt.getVolumeId(),
 -                                                      ctxt.getDeviceName());
 -                              } catch (Exception e) {
 +                              if (!ctxt.getListOfVolumes().isEmpty()) {
 +                      for (Volume volume : ctxt.getListOfVolumes()) {
-                               
++                              try {
 +                              iaas.attachVolume(instanceId, volume.getId(), 
volume.getDevice());
++                                              } catch (Exception e) {
+                                       //continue without throwing an 
exception, since there is an instance already running
+                                       log.error("Attaching Volume to Instance 
[ " + instanceId + " ] failed!", e);
+                               }
 +                      }
 +                              }
                        }
  
              log.info("Instance is successfully starting up. 
"+memberContext.toString());
@@@ -1050,36 -1009,23 +1056,37 @@@
                       }
                       
                       log.info("Unregistration of service cluster: " + 
clusterId_);
 -                     if(ctxt.shouldDeleteVolume()) {
 +                     deleteVolumes(ctxt);
 +                     TopologyBuilder.handleClusterRemoved(ctxt);
 +                     dataHolder.removeClusterContext(clusterId_);
 +                     dataHolder.removeMemberContextsOfCluster(clusterId_);
 +                     persist();
 +                 }
 +
 +                              private void deleteVolumes(ClusterContext ctxt) 
{
 +                                      if(ctxt.isVolumeRequired()) {
                         Cartridge cartridge = 
dataHolder.getCartridge(ctxt.getCartridgeType());
 -                       if(cartridge != null && cartridge.getIaases() != null) 
{
 -                               for (IaasProvider prov : 
cartridge.getIaases()) {
 -                                                              if (prov != 
null) {
 -                                                                      Iaas 
iaas = prov.getIaas();
 -                                                                      
iaas.deleteVolume(ctxt.getVolumeId());
 +                       if(cartridge != null && cartridge.getIaases() != null 
&& !ctxt.getListOfVolumes().isEmpty()) {
 +                               for (Volume volume : ctxt.getListOfVolumes()) {
 +                                                              
if(volume.getId() != null) {
 +                                                                      String 
iaasType = volume.getIaasType();
 +                                                                      Iaas 
iaas = dataHolder.getIaasProvider(iaasType).getIaas();
 +                                                                      if(iaas 
!= null) {
 +                                                                              
try {
 +                                                                              
// delete the volume
 +                                                                              
iaas.deleteVolume(volume.getId());
 +                                                                              
} catch(Exception ignore) {
 +                                                                              
        if(log.isDebugEnabled()) {
 +                                                                              
                log.debug(ignore);
 +                                                                              
        }
 +                                                                              
}
 +                                                                      }
                                                                }
                                                        }
+                                
                         }
                       }
 -                     TopologyBuilder.handleClusterRemoved(ctxt);
 -                     dataHolder.removeClusterContext(clusterId_);
 -                     dataHolder.removeMemberContextsOfCluster(clusterId_);
 -                     persist();
 -                 }
 +                              }
              };
          new Thread(r).start();
          

Reply via email to