def terminate(self, instance_id): """ terminate an instance """ instance = self.get_instance(instance_id) if instance: logger.debug('Successfully connected to instance %s' %(instance_id),) instance.terminate() logger.info('Instance %s terminated' %(instance_id,)) else: logger.warning('Instance %s not found' %(instance_id,))
def testInstance(self): """ test getting a list of instances """ instances = self.instanceManager.instances # instance list should be iterable self.assertTrue(instances.__iter__) for instance in instances: # instance should have an id, etc self.assertTrue(instance.id) # instance should have been added the formatInstance self.assertTrue(instance.formatted) logger.debug(instance.formatted)
def terminate(self, instance_id): """ terminate an instance """ instance = self.get_instance(instance_id) if instance: logger.debug( 'Successfully connected to instance %s' % (instance_id), ) instance.terminate() logger.info('Instance %s terminated' % (instance_id, )) else: logger.warning('Instance %s not found' % (instance_id, ))
def launch(self, instance_type='t1.micro', image_id='ami-ab36fbc2', key_name='picmobo-dev', security_groups=('default', 'app_stack')): """ launch an instance """ image = self.connection.get_all_images(image_ids=(image_id,))[0] logger.debug('Got image %s' %(str(image))) security_groups = self.connection.get_all_security_groups(security_groups) logger.debug('Got security groups %s' %(str(security_groups))) kwargs = { 'instance_type': instance_type, 'key_name': key_name, 'security_groups': security_groups } logger.debug('Instantiating with kwargs = %s' %(str(kwargs))) reservation = image.run(**kwargs) instance = reservation.instances[0] while instance.state != 'running': logger.debug('State is %s, waiting...' %(instance.state,)) time.sleep(10) instance.update() logger.info('Creating volumes') vol = self.connection.create_volume(10, instance.placement) vol.attach(instance.id, '/dev/sdf') vol = self.connection.create_volume(10, instance.placement) vol.attach(instance.id, '/dev/sdg') logger.info('EC2 launch of %s complete at %s' %(instance.id, instance.dns_name))
def launch(self, instance_type='t1.micro', image_id='ami-ab36fbc2', key_name='picmobo', security_groups=('default', 'app_stack')): """ launch an instance """ image = self.connection.get_all_images(image_ids=(image_id, ))[0] logger.debug('Got image %s' % (str(image))) security_groups = self.connection.get_all_security_groups( security_groups) logger.debug('Got security groups %s' % (str(security_groups))) kwargs = { 'instance_type': instance_type, 'key_name': key_name, 'security_groups': security_groups } logger.debug('Instantiating with kwargs = %s' % (str(kwargs))) reservation = image.run(**kwargs) instance = reservation.instances[0] while instance.state != 'running': logger.debug('State is %s, waiting...' % (instance.state, )) time.sleep(10) instance.update() logger.info('Creating volumes') vol = self.connection.create_volume(10, instance.placement) vol.attach(instance.id, '/dev/sdf') vol = self.connection.create_volume(10, instance.placement) vol.attach(instance.id, '/dev/sdg') logger.info('EC2 launch of %s complete at %s' % (instance.id, instance.dns_name))
def launch_production_instance(self, instance_type='m1.large', image_id='ami-013f9768', key_name='picmobo', security_groups=('default', 'app_stack')): """ launch an instance """ image = self.connection.get_all_images(image_ids=(image_id,))[0] logger.debug('Got image %s' %(str(image))) security_groups = self.connection.get_all_security_groups(security_groups) logger.debug('Got security groups %s' %(str(security_groups))) kwargs = { 'instance_type': instance_type, 'key_name': key_name, 'security_groups': security_groups } logger.debug('Instantiating with kwargs = %s' %(str(kwargs))) reservation = image.run(**kwargs) instance = reservation.instances[0] while instance.state != 'running': logger.debug('State is %s, waiting...' %(instance.state,)) time.sleep(10) instance.update() logger.info('EC2 launch of %s complete at %s' %(instance.id, instance.dns_name))
def launch_development_db(self, instance_type='t1.micro', image_id='ami-ab36fbc2', key_name='picmobo', security_groups=('default', 'app_stack')): """ launch a development database instance """ image = self.connection.get_all_images(image_ids=(image_id,))[0] #logger.debug('Got image %s' %(str(image))) print 'Got image %s' %(str(image)) security_groups = self.connection.get_all_security_groups(security_groups) logger.debug('Got security groups %s' %(str(security_groups))) kwargs = { 'instance_type': instance_type, 'key_name': key_name, 'security_groups': security_groups } logger.debug('Instantiating with kwargs = %s' %(str(kwargs))) reservation = image.run(**kwargs) instance = reservation.instances[0] while instance.state != 'running': logger.debug('State is %s, waiting...' %(instance.state,)) time.sleep(10) instance.update()