stratos-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From R-Rajkumar <...@git.apache.org>
Subject [GitHub] stratos pull request: Data publisher integration
Date Wed, 22 Jul 2015 16:48:50 GMT
Github user R-Rajkumar commented on a diff in the pull request:

    https://github.com/apache/stratos/pull/403#discussion_r35235134
  
    --- Diff: components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/AutoscalerCloudControllerClient.java
---
    @@ -48,194 +48,205 @@
      */
     public class AutoscalerCloudControllerClient {
     
    -    private static final Log log = LogFactory.getLog(AutoscalerCloudControllerClient.class);
    -
    -    private static CloudControllerServiceStub stub;
    -
    -    /* An instance of a CloudControllerClient is created when the class is loaded. 
    -     * Since the class is loaded only once, it is guaranteed that an object of 
    -     * CloudControllerClient is created only once. Hence it is singleton.
    -     */
    -    private static class InstanceHolder {
    -        private static final AutoscalerCloudControllerClient INSTANCE = new AutoscalerCloudControllerClient();
    -    }
    -
    -    public static AutoscalerCloudControllerClient getInstance() {
    -        return InstanceHolder.INSTANCE;
    -    }
    -
    -    private AutoscalerCloudControllerClient() {
    -        try {
    -            XMLConfiguration conf = ConfUtil.getInstance(null).getConfiguration();
    -            int port = conf.getInt("autoscaler.cloudController.port", AutoscalerConstants.CLOUD_CONTROLLER_DEFAULT_PORT);
    -            String hostname = conf.getString("autoscaler.cloudController.hostname", "localhost");
    -            String epr = "https://" + hostname + ":" + port + "/" + AutoscalerConstants.CLOUD_CONTROLLER_SERVICE_SFX;
    -            int cloudControllerClientTimeout = conf.getInt("autoscaler.cloudController.clientTimeout",
180000);
    -
    -            stub = new CloudControllerServiceStub(epr);
    -            stub._getServiceClient().getOptions().setProperty(HTTPConstants.SO_TIMEOUT,
cloudControllerClientTimeout);
    -            stub._getServiceClient().getOptions().setProperty(HTTPConstants.CONNECTION_TIMEOUT,
    -                    cloudControllerClientTimeout);
    -        } catch (Exception e) {
    -            log.error("Could not initialize cloud controller client", e);
    -        }
    -    }
    -
    -    public synchronized MemberContext startInstance(PartitionRef partition,
    -                                                    String clusterId, String clusterInstanceId,
    -                                                    String networkPartitionId, boolean
isPrimary,
    -                                                    int minMemberCount) throws SpawningException
{
    -        try {
    -            if (log.isInfoEnabled()) {
    -                log.info(String.format("Trying to spawn an instance via cloud controller:
" +
    -                                "[cluster] %s [partition] %s [network-partition-id] %s",
    -                        clusterId, partition.getId(), networkPartitionId));
    -            }
    -
    -            XMLConfiguration conf = ConfUtil.getInstance(null).getConfiguration();
    -            long expiryTime = conf.getLong(StratosConstants.OBSOLETED_MEMBER_EXPIRY_TIMEOUT,
86400000);
    -            if (log.isDebugEnabled()) {
    -                log.debug("Member obsolete expiry time is set to: " + expiryTime);
    -            }
    -
    -            InstanceContext instanceContext = new InstanceContext();
    -            instanceContext.setClusterId(clusterId);
    -            instanceContext.setClusterInstanceId(clusterInstanceId);
    -            instanceContext.setPartition(AutoscalerObjectConverter.convertPartitionToCCPartition(partition));
    -            instanceContext.setInitTime(System.currentTimeMillis());
    -            instanceContext.setObsoleteExpiryTime(expiryTime);
    -            instanceContext.setNetworkPartitionId(networkPartitionId);
    -
    -            Properties memberContextProps = new Properties();
    -            Property isPrimaryProp = new Property();
    -            isPrimaryProp.setName("PRIMARY");
    -            isPrimaryProp.setValue(String.valueOf(isPrimary));
    -
    -            Property minCountProp = new Property();
    -            minCountProp.setName(StratosConstants.MIN_COUNT);
    -            minCountProp.setValue(String.valueOf(minMemberCount));
    -
    -            memberContextProps.addProperty(isPrimaryProp);
    -            memberContextProps.addProperty(minCountProp);
    -            instanceContext.setProperties(AutoscalerUtil.toStubProperties(memberContextProps));
    -
    -            long startTime = System.currentTimeMillis();
    -            MemberContext memberContext = stub.startInstance(instanceContext);
    -
    -            if (log.isDebugEnabled()) {
    -                long endTime = System.currentTimeMillis();
    -                log.debug(String.format("Service call startInstance() returned in %dms",
(endTime - startTime)));
    -            }
    -            return memberContext;
    -        } catch (CloudControllerServiceCartridgeNotFoundExceptionException e) {
    -            String message = e.getFaultMessage().getCartridgeNotFoundException().getMessage();
    -            log.error(message, e);
    -            throw new SpawningException(message, e);
    -        } catch (RemoteException e) {
    -            log.error(e.getMessage(), e);
    -            throw new SpawningException(e.getMessage(), e);
    -        } catch (CloudControllerServiceInvalidIaasProviderExceptionException e) {
    -            String message = e.getFaultMessage().getInvalidIaasProviderException().getMessage();
    -            log.error(message, e);
    -            throw new SpawningException(message, e);
    -        } catch (CloudControllerServiceCloudControllerExceptionException e) {
    -            String message = e.getMessage();
    -            log.error(message, e);
    -            throw new SpawningException(message, e);
    -        }
    -    }
    -
    -    public synchronized void createApplicationClusters(String appId,
    -                                                       ApplicationClusterContext[] applicationClusterContexts)
{
    -        List<org.apache.stratos.cloud.controller.stub.domain.ApplicationClusterContext>
contextDTOs =
    -                new ArrayList<org.apache.stratos.cloud.controller.stub.domain.ApplicationClusterContext>();
    -        if (applicationClusterContexts != null) {
    -            for (ApplicationClusterContext applicationClusterContext : applicationClusterContexts)
{
    -                if (applicationClusterContext != null) {
    -                    org.apache.stratos.cloud.controller.stub.domain.ApplicationClusterContext
dto =
    -                            new org.apache.stratos.cloud.controller.stub.domain.ApplicationClusterContext();
    -                    dto.setClusterId(applicationClusterContext.getClusterId());
    -                    dto.setAutoscalePolicyName(applicationClusterContext.getAutoscalePolicyName());
    -                    dto.setDeploymentPolicyName(applicationClusterContext.getDeploymentPolicyName());
    -                    dto.setCartridgeType(applicationClusterContext.getCartridgeType());
    -                    dto.setHostName(applicationClusterContext.getHostName());
    -                    dto.setTenantRange(applicationClusterContext.getTenantRange());
    -                    dto.setTextPayload(applicationClusterContext.getTextPayload());
    -                    dto.setProperties(AutoscalerUtil.toStubProperties(applicationClusterContext.getProperties()));
    -                    dto.setDependencyClusterIds(applicationClusterContext.getDependencyClusterIds());
    -                    if (applicationClusterContext.getPersistenceContext() != null) {
    -                        dto.setVolumeRequired(true);
    -                        dto.setVolumes(convertVolumesToStubVolumes(
    -                                applicationClusterContext.getPersistenceContext().getVolumes()));
    -                    }
    -                    contextDTOs.add(dto);
    -                }
    -            }
    -        }
    -
    -        org.apache.stratos.cloud.controller.stub.domain.ApplicationClusterContext[] applicationClusterContextDTOs
=
    -                new org.apache.stratos.cloud.controller.stub.domain.ApplicationClusterContext[contextDTOs.size()];
    -        contextDTOs.toArray(applicationClusterContextDTOs);
    -        try {
    -            stub.createApplicationClusters(appId, applicationClusterContextDTOs);
    -        } catch (RemoteException e) {
    -            String msg = e.getMessage();
    -            log.error(msg, e);
    -        } catch (CloudControllerServiceApplicationClusterRegistrationExceptionException
e) {
    -            String msg = e.getMessage();
    -            log.error(msg, e);
    -        }
    -    }
    -
    -
    -    private Volume[] convertVolumesToStubVolumes(VolumeContext[] volumeContexts) {
    -
    -        ArrayList<Volume> volumes = new ArrayList<Volume>();
    -        for (VolumeContext volumeContext : volumeContexts) {
    -            Volume volume = new Volume();
    -            volume.setRemoveOntermination(volumeContext.isRemoveOntermination());
    -            volume.setMappingPath(volumeContext.getMappingPath());
    -            volume.setId(volumeContext.getId());
    -            volume.setDevice(volumeContext.getDevice());
    -            volume.setIaasType(volumeContext.getIaasType());
    -            volume.setSnapshotId(volumeContext.getSnapshotId());
    -            volume.setVolumeId(volumeContext.getVolumeId());
    -            volume.setSize(volumeContext.getSize());
    -            volumes.add(volume);
    -        }
    -        return volumes.toArray(new Volume[volumes.size()]);
    -    }
    -
    -    public void terminateInstance(String memberId) throws Exception {
    -        if (log.isInfoEnabled()) {
    -            log.info(String.format("Terminating instance via cloud controller: [member]
%s", memberId));
    -        }
    -        long startTime = System.currentTimeMillis();
    -        stub.terminateInstance(memberId);
    -        if (log.isDebugEnabled()) {
    -            long endTime = System.currentTimeMillis();
    -            log.debug(String.format("Service call terminateInstance() returned in %dms",
(endTime - startTime)));
    -        }
    -    }
    -
    -    public void terminateInstanceForcefully(String memberId) throws Exception {
    -        if (log.isDebugEnabled()) {
    -            log.debug(String.format("Terminating instance forcefully via cloud controller:
[member] %s", memberId));
    -        }
    -        stub.terminateInstanceForcefully(memberId);
    -    }
    -
    -    public void terminateAllInstances(String clusterId) throws RemoteException,
    -            CloudControllerServiceInvalidClusterExceptionException {
    -        if (log.isInfoEnabled()) {
    -            log.info(String.format("Terminating all instances of cluster via cloud controller:
[cluster] %s", clusterId));
    -        }
    -        long startTime = System.currentTimeMillis();
    -        stub.terminateInstances(clusterId);
    -
    -        if (log.isDebugEnabled()) {
    -            long endTime = System.currentTimeMillis();
    -            log.debug(String.format("Service call terminateInstances() returned in %dms",
(endTime - startTime)));
    -        }
    -    }
    +	private static final Log log = LogFactory.getLog(AutoscalerCloudControllerClient.class);
    +
    +	private static CloudControllerServiceStub stub;
    +
    +	/* An instance of a CloudControllerClient is created when the class is loaded.
    +	 * Since the class is loaded only once, it is guaranteed that an object of
    +	 * CloudControllerClient is created only once. Hence it is singleton.
    +	 */
    +	private static class InstanceHolder {
    +		private static final AutoscalerCloudControllerClient INSTANCE = new AutoscalerCloudControllerClient();
    +	}
    +
    +	public static AutoscalerCloudControllerClient getInstance() {
    +		return InstanceHolder.INSTANCE;
    +	}
    +
    +	private AutoscalerCloudControllerClient() {
    +		try {
    +			XMLConfiguration conf = ConfUtil.getInstance(null).getConfiguration();
    +			int port =
    +					conf.getInt("autoscaler.cloudController.port", AutoscalerConstants.CLOUD_CONTROLLER_DEFAULT_PORT);
    +			String hostname = conf.getString("autoscaler.cloudController.hostname", "localhost");
    +			String epr = "https://" + hostname + ":" + port + "/" + AutoscalerConstants.CLOUD_CONTROLLER_SERVICE_SFX;
    +			int cloudControllerClientTimeout = conf.getInt("autoscaler.cloudController.clientTimeout",
180000);
    +
    +			stub = new CloudControllerServiceStub(epr);
    +			stub._getServiceClient().getOptions().setProperty(HTTPConstants.SO_TIMEOUT, cloudControllerClientTimeout);
    +			stub._getServiceClient().getOptions()
    +			    .setProperty(HTTPConstants.CONNECTION_TIMEOUT, cloudControllerClientTimeout);
    +		} catch (Exception e) {
    +			log.error("Could not initialize cloud controller client", e);
    +		}
    +	}
    +
    +	public synchronized MemberContext startInstance(PartitionRef partition, String clusterId,
String clusterInstanceId,
    +	                                                String networkPartitionId, boolean isPrimary,
int minMemberCount,
    +	                                                String autoscalingReason, long scalingTime)
    +			throws SpawningException {
    +		try {
    +			if (log.isInfoEnabled()) {
    +				log.info(String.format("Trying to spawn an instance via cloud controller: " +
    +				                       "[cluster] %s [partition] %s [network-partition-id] %s", clusterId,
    +				                       partition.getId(), networkPartitionId));
    +			}
    +
    +			XMLConfiguration conf = ConfUtil.getInstance(null).getConfiguration();
    +			long expiryTime = conf.getLong(StratosConstants.OBSOLETED_MEMBER_EXPIRY_TIMEOUT, 86400000);
    +			if (log.isDebugEnabled()) {
    +				log.debug("Member obsolete expiry time is set to: " + expiryTime);
    +			}
    +
    +			InstanceContext instanceContext = new InstanceContext();
    +			instanceContext.setClusterId(clusterId);
    +			instanceContext.setClusterInstanceId(clusterInstanceId);
    +			instanceContext.setPartition(AutoscalerObjectConverter.convertPartitionToCCPartition(partition));
    +			instanceContext.setInitTime(System.currentTimeMillis());
    +			instanceContext.setObsoleteExpiryTime(expiryTime);
    +			instanceContext.setNetworkPartitionId(networkPartitionId);
    +
    +			Properties memberContextProps = new Properties();
    +			Property isPrimaryProp = new Property();
    +			isPrimaryProp.setName("PRIMARY");
    +			isPrimaryProp.setValue(String.valueOf(isPrimary));
    --- End diff --
    
    what is this PRIMARY property? 


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

Mime
View raw message