[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 75e5d4ad0cae986470d326452f68d376e2b3be86
Author: Garrett Holmstrom <gholms at fedoraproject.org>
Date:   Tue Mar 5 16:50:21 2013 -0800

    Implement DescribePolicies
    
    I'm a little concerned about ambiguous documentation with respect to how
    I'm supposed to display alarms, so for the time being, we aren't going
    to print them at all.  If you figure out what it's supposed to look
    like, patches are welcome!
    
    Fixes TOOLS-219

diff --git a/bin/kilo-describe-policies b/bin/kilo-describe-policies
new file mode 100755
index 0000000..bf64f22
--- /dev/null
+++ b/bin/kilo-describe-policies
@@ -0,0 +1,6 @@
+#!/usr/bin/python -tt
+
+import euca2ools.commands.autoscaling.describepolicies
+
+if __name__ == '__main__':
+    euca2ools.commands.autoscaling.describepolicies.DescribePolicies.run()
diff --git a/euca2ools/commands/autoscaling/describeautoscalinginstances.py b/euca2ools/commands/autoscaling/describepolicies.py
similarity index 64%
copy from euca2ools/commands/autoscaling/describeautoscalinginstances.py
copy to euca2ools/commands/autoscaling/describepolicies.py
index 1317822..c243ee6 100644
--- a/euca2ools/commands/autoscaling/describeautoscalinginstances.py
+++ b/euca2ools/commands/autoscaling/describepolicies.py
@@ -28,23 +28,24 @@
 # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 # POSSIBILITY OF SUCH DAMAGE.
 
-import argparse
 from euca2ools.commands.autoscaling import AutoScalingRequest
 from requestbuilder import Arg
 from requestbuilder.mixins import TabifyingCommand
 from requestbuilder.response import PaginatedResponse
 
-class DescribeAutoScalingInstances(AutoScalingRequest, TabifyingCommand):
-    DESCRIPTION = 'Describe instances in auto-scaling groups'
-    ARGS = [Arg('InstanceIds.member', metavar='INSTANCE', nargs='*',
-                help='limit results to specific instances'),
+
+class DescribePolicies(AutoScalingRequest, TabifyingCommand):
+    DESCRIPTION = 'Describe auto-scaling policies'
+    ARGS = [Arg('PolicyNames.member', metavar='POLICY', nargs='*',
+                help='limit results to specific auto-scaling policies'),
+            Arg('-g', '--auto-scaling-group', dest='AutoScalingGroupName',
+                metavar='ASGROUP'),
             Arg('--show-long', action='store_true', route_to=None,
-                help=argparse.SUPPRESS)]  # doesn't actually do anything, but
-                                          # people will use it out of habit
-    LIST_MARKERS = ['AutoScalingInstances']
+                help="show all of the policies' info")]
+    LIST_MARKERS = ['ScalingPolicies', 'Alarms']
 
     def main(self):
-        return PaginatedResponse(self, (None,), ('AutoScalingInstances',))
+        return PaginatedResponse(self, (None,), ('ScalingPolicies',))
 
     def prepare_for_page(self, page):
         # Pages are defined by NextToken
@@ -54,12 +55,15 @@ class DescribeAutoScalingInstances(AutoScalingRequest, TabifyingCommand):
         return response.get('NextToken') or None
 
     def print_result(self, result):
-        for instance in result.get('AutoScalingInstances', []):
-            bits = ['INSTANCE']
-            bits.append(instance.get('InstanceId'))
-            bits.append(instance.get('AutoScalingGroupName'))
-            bits.append(instance.get('AvailabilityZone'))
-            bits.append(instance.get('LifecycleState'))
-            bits.append(instance.get('HealthStatus'))
-            bits.append(instance.get('LaunchConfigurationName'))
+        for policy in result.get('ScalingPolicies', []):
+            bits = ['SCALING-POLICY']
+            bits.append(policy.get('AutoScalingGroupName'))
+            bits.append(policy.get('PolicyName'))
+            bits.append(policy.get('ScalingAdjustment'))
+            if self.args['show_long']:
+                bits.append(policy.get('MinAdjustmentStep'))
+            bits.append(policy.get('AdjustmentType'))
+            if self.args['show_long']:
+                bits.append(policy.get('Cooldown'))
+            bits.append(policy.get('PolicyARN'))
             print self.tabify(bits)

-- 
managing cloud instances for Eucalyptus



More information about the pkg-eucalyptus-commits mailing list