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

Matt Spaulding mspaulding06 at gmail.com
Sun Jun 16 02:31:12 UTC 2013


The following commit has been merged in the master branch:
commit cde75f5cde6c18e329a6cfa510112f0f2228d7d9
Author: Matt Spaulding <mspaulding06 at gmail.com>
Date:   Tue Apr 30 08:37:30 2013 -0700

    TOOLS-311 More information when describing AS groups
    
    * Add instance information
    * Add suspended process information
    * Add enabled metrics information
    
    Fixes TOOLS-311

diff --git a/euca2ools/commands/autoscaling/describeautoscalinggroups.py b/euca2ools/commands/autoscaling/describeautoscalinggroups.py
index bf3e186..ee77fc6 100644
--- a/euca2ools/commands/autoscaling/describeautoscalinggroups.py
+++ b/euca2ools/commands/autoscaling/describeautoscalinggroups.py
@@ -56,6 +56,7 @@ class DescribeAutoScalingGroups(AutoScalingRequest, TabifyingCommand):
         return response.get('NextToken') or None
 
     def print_result(self, result):
+        lines = []
         for group in result.get('AutoScalingGroups', []):
             bits = ['AUTO-SCALING-GROUP']
             bits.append(group.get('AutoScalingGroupName'))
@@ -84,4 +85,36 @@ class DescribeAutoScalingGroups(AutoScalingRequest, TabifyingCommand):
                 bits.append(','.join(policies))
             else:
                 bits.append(None)
-            print self.tabify(bits)
+            lines.append(self.tabify(bits))
+            for instance in group.get('Instances', []):
+                lines.append(self._get_tabified_instance(instance))
+            scale_group = group.get('AutoScalingGroupName')
+            for process in group.get('SuspendedProcesses', []):
+                lines.append(self._get_tabified_suspended_process(process,
+                                                                  scale_group))
+            for metric in group.get('EnabledMetrics', []):
+                lines.append(self._get_tabified_metric(metric))
+        for line in lines:
+            print line
+
+    def _get_tabified_instance(self, instance):
+        return self.tabify(['INSTANCE',
+                            instance.get('InstanceId'),
+                            instance.get('AvailabilityZone'),
+                            instance.get('LifecycleState'),
+                            instance.get('HealthStatus'),
+                            instance.get('LaunchConfigurationName')
+                            ])
+
+    def _get_tabified_suspended_process(self, process, scale_group):
+        return self.tabify(['SUSPENDED-PROCESS',
+                            process.get('ProcessName'),
+                            process.get('SuspensionReason'),
+                            scale_group
+                            ])
+
+    def _get_tabified_metric(self, metric):
+        return self.tabify(['ENABLED-METRICS',
+                            metric.get('Metric'),
+                            metric.get('Granularity')
+                            ])

-- 
managing cloud instances for Eucalyptus



More information about the pkg-eucalyptus-commits mailing list