def do_co_boot(cs, args): """Boot a new server.""" boot_args, boot_kwargs = shell._boot(cs, args) if args.host and 'meta' in boot_kwargs: boot_kwargs['meta'].update({"co:target_host": args.host}) elif args.host: boot_kwargs['meta'] = {"co:target_host":args.host} extra_boot_kwargs = utils.get_resource_manager_extra_kwargs(do_co_boot, args) boot_kwargs.update(extra_boot_kwargs) server = cs.cobalt.create(*boot_args, **boot_kwargs) # Keep any information (like adminPass) returned by create info = server._info server = cs.servers.get(info['id']) info.update(server._info) flavor = info.get('flavor', {}) flavor_id = flavor.get('id', '') info['flavor'] = shell._find_flavor(cs, flavor_id).name image = info.get('image', {}) image_id = image.get('id', '') info['image'] = shell._find_image(cs, image_id).name info.pop('links', None) info.pop('addresses', None) utils.print_dict(info) if args.poll: shell._poll_for_status(cs.servers.get, info['id'], 'building', ['active'])
def do_boot(cs, args): """Boot a new server.""" boot_args, boot_kwargs = _boot(cs, args) extra_boot_kwargs = utils.get_resource_manager_extra_kwargs(do_boot, args) boot_kwargs.update(extra_boot_kwargs) server = cs.servers.create(*boot_args, **boot_kwargs) # Keep any information (like adminPass) returned by create info = server._info server = cs.servers.get(info['id']) info.update(server._info) flavor = info.get('flavor', {}) flavor_id = flavor.get('id', '') info['flavor'] = _find_flavor(cs, flavor_id).name image = info.get('image', {}) image_id = image.get('id', '') info['image'] = _find_image(cs, image_id).name info.pop('links', None) info.pop('addresses', None) utils.print_dict(info)
def do_rebuild(cs, args): """Shutdown, re-image, and re-boot a server.""" server = _find_server(cs, args.server) image = _find_image(cs, args.image) if args.rebuild_password is not False: _password = args.rebuild_password else: _password = None kwargs = utils.get_resource_manager_extra_kwargs(do_rebuild, args) s = server.rebuild(image, _password, **kwargs) _print_server(cs, s)
def do_zone_boot(cs, args): """Boot a new server, potentially across Zones.""" boot_args, boot_kwargs = _boot(cs, args, reservation_id=args.reservation_id, min_count=args.min_instances, max_count=args.max_instances) extra_boot_kwargs = utils.get_resource_manager_extra_kwargs( do_zone_boot, args) boot_kwargs.update(extra_boot_kwargs) reservation_id = cs.zones.boot(*boot_args, **boot_kwargs) print "Reservation ID=", reservation_id
def do_gc_boot(cs, args): """Boot a new server.""" boot_args, boot_kwargs = shell._boot(cs, args) if args.host and 'meta' in boot_kwargs: boot_kwargs['meta'].update({"gc:target_host": args.host}) elif args.host: boot_kwargs['meta'] = {"gc:target_host": args.host} extra_boot_kwargs = utils.get_resource_manager_extra_kwargs( do_gc_boot, args) boot_kwargs.update(extra_boot_kwargs) server = cs.gridcentric.create(*boot_args, **boot_kwargs) # Keep any information (like adminPass) returned by create info = server._info server = cs.servers.get(info['id']) info.update(server._info) flavor = info.get('flavor', {}) flavor_id = flavor.get('id', '') info['flavor'] = shell._find_flavor(cs, flavor_id).name image = info.get('image', {}) image_id = image.get('id', '') info['image'] = shell._find_image(cs, image_id).name info.pop('links', None) info.pop('addresses', None) utils.print_dict(info) if args.poll: shell._poll_for_status(cs.servers.get, info['id'], 'building', ['active'])
def do_resize(cs, args): """Resize a server.""" server = _find_server(cs, args.server) flavor = _find_flavor(cs, args.flavor) kwargs = utils.get_resource_manager_extra_kwargs(do_resize, args) server.resize(flavor, **kwargs)