summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorSeth Vidal <skvidal@fedoraproject.org>2012-11-01 15:27:27 +0000
committerSeth Vidal <skvidal@fedoraproject.org>2012-11-01 15:27:27 +0000
commit3926cdaccffb0216e0037709efb69cc2714cae2b (patch)
tree4ff9aabf17e57fc59339f3b88cc8bff4a448a3dd /scripts
parentf62f023506d95bfe5bb1a3fb0b71dd9f30a687e4 (diff)
downloadansible-3926cdaccffb0216e0037709efb69cc2714cae2b.tar.gz
ansible-3926cdaccffb0216e0037709efb69cc2714cae2b.tar.xz
ansible-3926cdaccffb0216e0037709efb69cc2714cae2b.zip
notes about my-describe-instances and how to use it;
Diffstat (limited to 'scripts')
-rw-r--r--scripts/README10
-rwxr-xr-xscripts/my-describe-instances78
2 files changed, 88 insertions, 0 deletions
diff --git a/scripts/README b/scripts/README
index 8a98bc5f8..d32a55d46 100644
--- a/scripts/README
+++ b/scripts/README
@@ -1 +1,11 @@
executable scripts to use ansible on the system
+
+my-describe-instances is to get a simple list of all the instances under an
+account in the eucalyptus cloudlet.
+
+normal invocation:
+
+sudo watch my-describe-instances
+
+so you can see it update/change
+
diff --git a/scripts/my-describe-instances b/scripts/my-describe-instances
new file mode 100755
index 000000000..d3679a6ed
--- /dev/null
+++ b/scripts/my-describe-instances
@@ -0,0 +1,78 @@
+#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
+# Software License Agreement (BSD License)
+#
+# Copyright (c) 2009-2011, 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.
+#
+# Author: Neil Soman neil@eucalyptus.com
+# Mitch Garnaat mgarnaat@eucalyptus.com
+
+
+# additions below added by seth vidal skvidal@fedoraproject.org
+
+import euca2ools.commands.euca.describeinstances
+import euca2ools.commands.euare.listaccounts
+import euca2ools.utils
+import prettytable
+import time
+import sys
+from operator import itemgetter
+
+if __name__ == '__main__':
+ la = euca2ools.commands.euare.listaccounts.ListAccounts()
+ accts = {}
+ response = la.main()
+ for acct in response.Accounts:
+ accts[acct['AccountId']] = acct['AccountName']
+
+ di = euca2ools.commands.euca.describeinstances.DescribeInstances()
+ if len(sys.argv) < 2:
+ di.instance=['verbose']
+ else:
+ di.instance = sys.argv[1:]
+ res = di.main()
+ fields = ('reservation','id','owner','status','network', 'key', 'type', 'start')
+ pt = prettytable.PrettyTable(fields)
+ for r in res:
+ for i in r.instances:
+ if i.state == 'terminated':
+ continue
+
+ start = time.strftime('%Y-%m-%d %H:%M:%S', time.strptime(i.launch_time.split('.')[0], '%Y-%m-%dT%H:%M:%S'))
+ net = '%s' % i.ip_address
+ pt.add_row([r.id, i.id, accts[r.owner_id], i.state, net, i.key_name, i.instance_type, start])
+
+ pt.printt(sortby='start', reversesort=True)
+
+
+
+
+
+