Esempio n. 1
0
class InstanceManagerTest(unittest.TestCase):
    def setUp(self):
        self.instance_list = ['i-1', 'i-2', 'i-3']
        self.im = InstanceManager('xxxxxx', 'xxxxxx', self.instance_list)
        self.im._get_instances = get_instances_mock
        self.im.wait_update = 0

    def test_status(self):
        statuses = self.im.status()
        self.assertEqual(len(statuses), len(self.instance_list))

    def test_start(self):
        statuses = self.im.start()
        for id, state, ip_addr in statuses:
            self.assertEqual(state, 'running')
        self.assertEqual(len(statuses), len(self.instance_list))

    def test_stop(self):
        statuses = self.im.stop()
        for id, state, ip_addr in statuses:
            self.assertEqual(state, 'stopped')
        self.assertEqual(len(statuses), len(self.instance_list))
Esempio n. 2
0
def main(argv=None, out=sys.stdout):
    bootstrap()
    cmd, options = process_command_line(argv)
    if options.instances:
        instances = options.instances.split(',')
    else:
        instances = [settings.INSTANCE_ID1, settings.INSTANCE_ID2]
    if options.aws_access_key_id and options.aws_secret_access_key:
        access_key_id = options.aws_access_key_id
        secret_access_key = options.aws_secret_access_key
    else:
        access_key_id = settings.AWS_ACCESS_KEY_ID
        secret_access_key = settings.AWS_SECRET_ACCESS_KEY

    if cmd == 'status':
        im = InstanceManager(access_key_id, secret_access_key, instances)
        statuses = im.status()
        for status in statuses:
            msg = "%s (%s) %s %15s started at %s\n" % status
            out.write(msg)
    if cmd == 'start':
        im = InstanceManager(access_key_id, secret_access_key, instances)
        statuses = im.start()
        for id, state, ip_addr in statuses:
            msg = "%s %s %s\n" % (id, state, ip_addr)
            out.write(msg)
    if cmd == 'stop':
        im = InstanceManager(access_key_id, secret_access_key, instances)
        statuses = im.stop()
        for id, state, ip_addr in statuses:
            msg = "%s %s %s\n" % (id, state, ip_addr)
            out.write(msg)
    if cmd == 'restart':
        im = InstanceManager(access_key_id, secret_access_key, instances)
        statuses = im.stop()
        statuses = im.start()
        for id, state, ip_addr in statuses:
            msg = "%s %s %s\n" % (id, state, ip_addr)
            out.write(msg)
    if cmd == 'now':
        instances = reverse_instances(instances, settings.STATE_FILE)
        for index, instance in enumerate(instances):
            if index % 2:
                im = InstanceManager(access_key_id, secret_access_key,
                                     [instance])
                statuses = im.stop()
                statuses = im.start()
        im = InstanceManager(access_key_id, secret_access_key, instances)
        statuses = im.status()
        for status in statuses:
            msg = "%s (%s) %s %15s started at %s\n" % status
            out.write(msg)
    return 0
Esempio n. 3
0
 def setUp(self):
     self.instance_list = ['i-1', 'i-2', 'i-3']
     self.im = InstanceManager('xxxxxx', 'xxxxxx', self.instance_list)
     self.im._get_instances = get_instances_mock
     self.im.wait_update = 0