Return-Path: X-Original-To: apmail-incubator-cloudstack-commits-archive@minotaur.apache.org Delivered-To: apmail-incubator-cloudstack-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 4E152E513 for ; Wed, 13 Feb 2013 22:04:35 +0000 (UTC) Received: (qmail 78314 invoked by uid 500); 13 Feb 2013 22:04:23 -0000 Delivered-To: apmail-incubator-cloudstack-commits-archive@incubator.apache.org Received: (qmail 78252 invoked by uid 500); 13 Feb 2013 22:04:23 -0000 Mailing-List: contact cloudstack-commits-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: cloudstack-dev@incubator.apache.org Delivered-To: mailing list cloudstack-commits@incubator.apache.org Received: (qmail 77646 invoked by uid 99); 13 Feb 2013 22:04:22 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 13 Feb 2013 22:04:22 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id 2ACFF3252AC; Wed, 13 Feb 2013 22:04:22 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: bfederle@apache.org To: cloudstack-commits@incubator.apache.org X-Mailer: ASF-Git Admin Mailer Subject: [11/50] [abbrv] git commit: refs/heads/ui-plugins - CLOUDSTACK-1133: [EC2 Query API] In StopInstances add support for parameter 'force' Message-Id: <20130213220422.2ACFF3252AC@tyr.zones.apache.org> Date: Wed, 13 Feb 2013 22:04:22 +0000 (UTC) CLOUDSTACK-1133: [EC2 Query API] In StopInstances add support for parameter 'force' Propagate this parameter to CS to force stop an instance Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/57969843 Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/57969843 Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/57969843 Branch: refs/heads/ui-plugins Commit: 57969843d658fe01cf1f55bb7990a0716726250f Parents: 3337106 Author: Likitha Shetty Authored: Tue Feb 12 14:03:51 2013 -0800 Committer: Prachi Damle Committed: Tue Feb 12 14:04:07 2013 -0800 ---------------------------------------------------------------------- .../com/cloud/bridge/service/EC2RestServlet.java | 5 +++++ .../cloud/bridge/service/EC2SoapServiceImpl.java | 3 +++ .../cloud/bridge/service/core/ec2/EC2Engine.java | 3 ++- .../bridge/service/core/ec2/EC2StopInstances.java | 9 +++++++++ 4 files changed, 19 insertions(+), 1 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/57969843/awsapi/src/com/cloud/bridge/service/EC2RestServlet.java ---------------------------------------------------------------------- diff --git a/awsapi/src/com/cloud/bridge/service/EC2RestServlet.java b/awsapi/src/com/cloud/bridge/service/EC2RestServlet.java index fe93038..e209662 100644 --- a/awsapi/src/com/cloud/bridge/service/EC2RestServlet.java +++ b/awsapi/src/com/cloud/bridge/service/EC2RestServlet.java @@ -1269,6 +1269,11 @@ public class EC2RestServlet extends HttpServlet { } if (0 == count) { response.sendError(530, "Missing InstanceId parameter" ); return; } + String[] force = request.getParameterValues("Force"); + if ( force != null) { + EC2request.setForce( Boolean.parseBoolean(force[0])); + } + // -> execute the request StopInstancesResponse EC2response = EC2SoapServiceImpl.toStopInstancesResponse( ServiceProvider.getInstance().getEC2Engine().stopInstances( EC2request )); serializeResponse(response, EC2response); http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/57969843/awsapi/src/com/cloud/bridge/service/EC2SoapServiceImpl.java ---------------------------------------------------------------------- diff --git a/awsapi/src/com/cloud/bridge/service/EC2SoapServiceImpl.java b/awsapi/src/com/cloud/bridge/service/EC2SoapServiceImpl.java index 4e9445e..9fc581b 100644 --- a/awsapi/src/com/cloud/bridge/service/EC2SoapServiceImpl.java +++ b/awsapi/src/com/cloud/bridge/service/EC2SoapServiceImpl.java @@ -773,6 +773,7 @@ public class EC2SoapServiceImpl implements AmazonEC2SkeletonInterface { public StopInstancesResponse stopInstances(StopInstances stopInstances) { EC2StopInstances request = new EC2StopInstances(); StopInstancesType sit = stopInstances.getStopInstances(); + Boolean force = sit.getForce(); // -> toEC2StopInstances InstanceIdSetType iist = sit.getInstancesSet(); @@ -780,6 +781,8 @@ public class EC2SoapServiceImpl implements AmazonEC2SkeletonInterface { if (null != items) { // -> should not be empty for( int i=0; i < items.length; i++ ) request.addInstanceId( items[i].getInstanceId()); } + + if (force) request.setForce(sit.getForce()); return toStopInstancesResponse( engine.stopInstances( request )); } http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/57969843/awsapi/src/com/cloud/bridge/service/core/ec2/EC2Engine.java ---------------------------------------------------------------------- diff --git a/awsapi/src/com/cloud/bridge/service/core/ec2/EC2Engine.java b/awsapi/src/com/cloud/bridge/service/core/ec2/EC2Engine.java index 277cdc8..a835d8a 100644 --- a/awsapi/src/com/cloud/bridge/service/core/ec2/EC2Engine.java +++ b/awsapi/src/com/cloud/bridge/service/core/ec2/EC2Engine.java @@ -1512,6 +1512,7 @@ public class EC2Engine extends ManagerBase { // -> first determine the current state of each VM (becomes it previous state) try { String[] instanceSet = request.getInstancesSet(); + Boolean forced = request.getForce(); EC2DescribeInstancesResponse previousState = listVirtualMachines( instanceSet, null, null ); virtualMachines = previousState.getInstanceSet(); @@ -1533,7 +1534,7 @@ public class EC2Engine extends ManagerBase { instances.addInstance(vm); continue; } - resp = getApi().stopVirtualMachine(vm.getId(), false); + resp = getApi().stopVirtualMachine(vm.getId(), forced); if(logger.isDebugEnabled()) logger.debug("Stopping VM " + vm.getId() + " job " + resp.getJobId()); } http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/57969843/awsapi/src/com/cloud/bridge/service/core/ec2/EC2StopInstances.java ---------------------------------------------------------------------- diff --git a/awsapi/src/com/cloud/bridge/service/core/ec2/EC2StopInstances.java b/awsapi/src/com/cloud/bridge/service/core/ec2/EC2StopInstances.java index 13e23d1..be14000 100644 --- a/awsapi/src/com/cloud/bridge/service/core/ec2/EC2StopInstances.java +++ b/awsapi/src/com/cloud/bridge/service/core/ec2/EC2StopInstances.java @@ -23,6 +23,7 @@ public class EC2StopInstances { private List instancesSet = new ArrayList(); // a list of strings identifying instances private boolean destroyInstances; // we are destroying the instances rather than stopping them + private Boolean force = false; public EC2StopInstances() { destroyInstances = false; @@ -43,5 +44,13 @@ public class EC2StopInstances { public boolean getDestroyInstances() { return this.destroyInstances; } + + public void setForce( Boolean force ) { + this.force = force; + } + + public Boolean getForce() { + return this.force; + } }