[pkg-eucalyptus-commits] [SCM] managing cloud instances for Eucalyptus branch, master, updated. 3.0.0-alpha3-257-g1da8e3a

Garrett Holmstrom gholms at fedoraproject.org
Sun Jun 16 02:30:35 UTC 2013


The following commit has been merged in the master branch:
commit 9cef267a4355ee7da9baf7166cf45c1786e4125c
Author: Garrett Holmstrom <gholms at fedoraproject.org>
Date:   Tue Mar 5 16:22:03 2013 -0800

    Implement PutScalingPolicy
    
    Fixes TOOLS-216

diff --git a/bin/kilo-put-scaling-policy b/bin/kilo-put-scaling-policy
new file mode 100755
index 0000000..79cb62c
--- /dev/null
+++ b/bin/kilo-put-scaling-policy
@@ -0,0 +1,6 @@
+#!/usr/bin/python -tt
+
+import euca2ools.commands.autoscaling.putscalingpolicy
+
+if __name__ == '__main__':
+    euca2ools.commands.autoscaling.putscalingpolicy.PutScalingPolicy.run()
diff --git a/euca2ools/commands/autoscaling/putscalingpolicy.py b/euca2ools/commands/autoscaling/putscalingpolicy.py
new file mode 100644
index 0000000..7eb4c11
--- /dev/null
+++ b/euca2ools/commands/autoscaling/putscalingpolicy.py
@@ -0,0 +1,63 @@
+# Software License Agreement (BSD License)
+#
+# Copyright (c) 2013, Eucalyptus Systems, Inc.
+# All rights reserved.
+#
+# Redistribution and use of this software in source and binary forms, with or
+# without modification, are permitted provided that the following conditions
+# are met:
+#
+#   Redistributions of source code must retain the above
+#   copyright notice, this list of conditions and the
+#   following disclaimer.
+#
+#   Redistributions in binary form must reproduce the above
+#   copyright notice, this list of conditions and the
+#   following disclaimer in the documentation and/or other
+#   materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+
+from requestbuilder import Arg
+from euca2ools.commands.argtypes import delimited_list
+from euca2ools.commands.autoscaling import AutoScalingRequest
+
+
+class PutScalingPolicy(AutoScalingRequest):
+    DESCRIPTION = "Create or update an auto-scaling group's scaling policy"
+    ARGS = [Arg('PolicyName', metavar='POLICY',
+                help='name of the policy to create or update (required)'),
+            Arg('-g', '--auto-scaling-group', dest='AutoScalingGroupName',
+                metavar='ASGROUP', required=True, help='''name of the
+                auto-scaling group the policy is associated with (required)'''),
+            Arg('-a', '--adjustment', dest='ScalingAdjustment', metavar='SCALE',
+                type=int, required=True, help='''amount to scale the group's
+                capacity of the group.  Use a negative value, as in
+                "--adjustment=-1", to decrease capacity. (required)'''),
+            Arg('-t', '--type', dest='AdjustmentType', required=True,
+                choices=('ChangeInCapacity', 'ExactCapacity',
+                         'PercentChangeInCapacity'), help='''whether the
+                adjustment is the new desired size or an increment to the
+                group's current capacity. An increment can either be a fixed
+                number or a percentage of current capacity.  (required)'''),
+            Arg('--cooldown', dest='Cooldown', metavar='SECONDS', type=int,
+                help='''waiting period after successful auto-scaling activities
+                during which later auto-scaling activities will not execute'''),
+            Arg('-s', '--min-adjustment-step', dest='MinAdjustmentStep',
+                type=int, metavar='PERCENT',
+                help='''for a PercentChangeInCapacity type policy, guarantee
+                that this policy will change the group's desired capacity by at
+                least this much''')]
+
+    def print_result(self, result):
+        print result.get('PolicyARN')

-- 
managing cloud instances for Eucalyptus



More information about the pkg-eucalyptus-commits mailing list