class VMWareESXConnection(driver.ComputeDriver): """The ESX host connection object.""" def __init__(self, host_ip, host_username, host_password, api_retry_count, scheme="https"): super(VMWareESXConnection, self).__init__() session = VMWareAPISession(host_ip, host_username, host_password, api_retry_count, scheme=scheme) self._vmops = VMWareVMOps(session) def init_host(self, host): """Do the initialization that needs to be done.""" # FIXME(sateesh): implement this pass def list_instances(self): """List VM instances.""" return self._vmops.list_instances() def spawn(self, instance, network_info, block_device_mapping=None): """Create VM instance.""" self._vmops.spawn(instance, network_info) def snapshot(self, instance, name): """Create snapshot from a running VM instance.""" self._vmops.snapshot(instance, name) def reboot(self, instance, network_info): """Reboot VM instance.""" self._vmops.reboot(instance, network_info) def destroy(self, instance, network_info): """Destroy VM instance.""" self._vmops.destroy(instance, network_info) def pause(self, instance, callback): """Pause VM instance.""" self._vmops.pause(instance, callback) def unpause(self, instance, callback): """Unpause paused VM instance.""" self._vmops.unpause(instance, callback) def suspend(self, instance, callback): """Suspend the specified instance.""" self._vmops.suspend(instance, callback) def resume(self, instance, callback): """Resume the suspended VM instance.""" self._vmops.resume(instance, callback) def get_info(self, instance_id): """Return info about the VM instance.""" return self._vmops.get_info(instance_id) def get_diagnostics(self, instance): """Return data about VM diagnostics.""" return self._vmops.get_info(instance) def get_console_output(self, instance): """Return snapshot of console.""" return self._vmops.get_console_output(instance) def get_ajax_console(self, instance): """Return link to instance's ajax console.""" return self._vmops.get_ajax_console(instance) def attach_volume(self, instance_name, device_path, mountpoint): """Attach volume storage to VM instance.""" pass def detach_volume(self, instance_name, mountpoint): """Detach volume storage to VM instance.""" pass def get_console_pool_info(self, console_type): """Get info about the host on which the VM resides.""" return {'address': FLAGS.vmwareapi_host_ip, 'username': FLAGS.vmwareapi_host_username, 'password': FLAGS.vmwareapi_host_password} def update_available_resource(self, ctxt, host): """This method is supported only by libvirt.""" return def set_host_enabled(self, host, enabled): """Sets the specified host's ability to accept new instances.""" pass def plug_vifs(self, instance, network_info): """Plugs in VIFs to networks.""" self._vmops.plug_vifs(instance, network_info)
class VMWareESXConnection(driver.ComputeDriver): """The ESX host connection object.""" def __init__(self, host_ip, host_username, host_password, api_retry_count, scheme="https"): super(VMWareESXConnection, self).__init__() session = VMWareAPISession(host_ip, host_username, host_password, api_retry_count, scheme=scheme) self._vmops = VMWareVMOps(session) def init_host(self, host): """Do the initialization that needs to be done.""" # FIXME(sateesh): implement this pass def list_instances(self): """List VM instances.""" return self._vmops.list_instances() def spawn(self, instance): """Create VM instance.""" self._vmops.spawn(instance) def snapshot(self, instance, name): """Create snapshot from a running VM instance.""" self._vmops.snapshot(instance, name) def reboot(self, instance): """Reboot VM instance.""" self._vmops.reboot(instance) def destroy(self, instance): """Destroy VM instance.""" self._vmops.destroy(instance) def pause(self, instance, callback): """Pause VM instance.""" self._vmops.pause(instance, callback) def unpause(self, instance, callback): """Unpause paused VM instance.""" self._vmops.unpause(instance, callback) def suspend(self, instance, callback): """Suspend the specified instance.""" self._vmops.suspend(instance, callback) def resume(self, instance, callback): """Resume the suspended VM instance.""" self._vmops.resume(instance, callback) def get_info(self, instance_id): """Return info about the VM instance.""" return self._vmops.get_info(instance_id) def get_diagnostics(self, instance): """Return data about VM diagnostics.""" return self._vmops.get_info(instance) def get_console_output(self, instance): """Return snapshot of console.""" return self._vmops.get_console_output(instance) def get_ajax_console(self, instance): """Return link to instance's ajax console.""" return self._vmops.get_ajax_console(instance) def attach_volume(self, instance_name, device_path, mountpoint): """Attach volume storage to VM instance.""" pass def detach_volume(self, instance_name, mountpoint): """Detach volume storage to VM instance.""" pass def get_console_pool_info(self, console_type): """Get info about the host on which the VM resides.""" return {'address': FLAGS.vmwareapi_host_ip, 'username': FLAGS.vmwareapi_host_username, 'password': FLAGS.vmwareapi_host_password} def update_available_resource(self, ctxt, host): """This method is supported only by libvirt.""" return
class VMWareESXConnection(driver.ComputeDriver): """The ESX host connection object.""" def __init__(self, host_ip, host_username, host_password, api_retry_count, scheme="https"): super(VMWareESXConnection, self).__init__() session = VMWareAPISession(host_ip, host_username, host_password, api_retry_count, scheme=scheme) self._vmops = VMWareVMOps(session) def init_host(self, host): """Do the initialization that needs to be done.""" # FIXME(sateesh): implement this pass def list_instances(self): """List VM instances.""" return self._vmops.list_instances() def spawn(self, context, instance, image_meta, network_info, block_device_mapping=None): """Create VM instance.""" self._vmops.spawn(context, instance, image_meta, network_info) def snapshot(self, context, instance, name): """Create snapshot from a running VM instance.""" self._vmops.snapshot(context, instance, name) def reboot(self, instance, network_info, reboot_type): """Reboot VM instance.""" self._vmops.reboot(instance, network_info) def destroy(self, instance, network_info, block_device_info=None): """Destroy VM instance.""" self._vmops.destroy(instance, network_info) def pause(self, instance): """Pause VM instance.""" self._vmops.pause(instance) def unpause(self, instance): """Unpause paused VM instance.""" self._vmops.unpause(instance) def suspend(self, instance): """Suspend the specified instance.""" self._vmops.suspend(instance) def resume(self, instance): """Resume the suspended VM instance.""" self._vmops.resume(instance) def get_info(self, instance): """Return info about the VM instance.""" return self._vmops.get_info(instance) def get_diagnostics(self, instance): """Return data about VM diagnostics.""" return self._vmops.get_info(instance) def get_console_output(self, instance): """Return snapshot of console.""" return self._vmops.get_console_output(instance) def get_volume_connector(self, _instance): """Return volume connector information""" # TODO(vish): When volume attaching is supported, return the # proper initiator iqn. return {'ip': FLAGS.vmwareapi_host_ip, 'initiator': None} def attach_volume(self, connection_info, instance_name, mountpoint): """Attach volume storage to VM instance.""" pass def detach_volume(self, connection_info, instance_name, mountpoint): """Detach volume storage to VM instance.""" pass def get_console_pool_info(self, console_type): """Get info about the host on which the VM resides.""" return { 'address': FLAGS.vmwareapi_host_ip, 'username': FLAGS.vmwareapi_host_username, 'password': FLAGS.vmwareapi_host_password } def update_available_resource(self, ctxt, host): """This method is supported only by libvirt.""" return def host_power_action(self, host, action): """Reboots, shuts down or powers up the host.""" raise NotImplementedError() def host_maintenance_mode(self, host, mode): """Start/Stop host maintenance window. On start, it triggers guest VMs evacuation.""" raise NotImplementedError() def set_host_enabled(self, host, enabled): """Sets the specified host's ability to accept new instances.""" raise NotImplementedError() def plug_vifs(self, instance, network_info): """Plug VIFs into networks.""" self._vmops.plug_vifs(instance, network_info) def unplug_vifs(self, instance, network_info): """Unplug VIFs from networks.""" self._vmops.unplug_vifs(instance, network_info)
class VMWareESXConnection(driver.ComputeDriver): """The ESX host connection object.""" def __init__(self, host_ip, host_username, host_password, api_retry_count, scheme="https"): super(VMWareESXConnection, self).__init__() session = VMWareAPISession(host_ip, host_username, host_password, api_retry_count, scheme=scheme) self._vmops = VMWareVMOps(session) def init_host(self, host): """Do the initialization that needs to be done.""" # FIXME(sateesh): implement this pass def list_instances(self): """List VM instances.""" return self._vmops.list_instances() def spawn(self, context, instance, image_meta, network_info, block_device_mapping=None): """Create VM instance.""" self._vmops.spawn(context, instance, image_meta, network_info) def snapshot(self, context, instance, name): """Create snapshot from a running VM instance.""" self._vmops.snapshot(context, instance, name) def reboot(self, instance, network_info, reboot_type): """Reboot VM instance.""" self._vmops.reboot(instance, network_info) def destroy(self, instance, network_info, block_device_info=None): """Destroy VM instance.""" self._vmops.destroy(instance, network_info) def pause(self, instance): """Pause VM instance.""" self._vmops.pause(instance) def unpause(self, instance): """Unpause paused VM instance.""" self._vmops.unpause(instance) def suspend(self, instance): """Suspend the specified instance.""" self._vmops.suspend(instance) def resume(self, instance): """Resume the suspended VM instance.""" self._vmops.resume(instance) def get_info(self, instance): """Return info about the VM instance.""" return self._vmops.get_info(instance) def get_diagnostics(self, instance): """Return data about VM diagnostics.""" return self._vmops.get_info(instance) def get_console_output(self, instance): """Return snapshot of console.""" return self._vmops.get_console_output(instance) def get_volume_connector(self, _instance): """Return volume connector information""" # TODO(vish): When volume attaching is supported, return the # proper initiator iqn. return { 'ip': FLAGS.vmwareapi_host_ip, 'initiator': None } def attach_volume(self, connection_info, instance_name, mountpoint): """Attach volume storage to VM instance.""" pass def detach_volume(self, connection_info, instance_name, mountpoint): """Detach volume storage to VM instance.""" pass def get_console_pool_info(self, console_type): """Get info about the host on which the VM resides.""" return {'address': FLAGS.vmwareapi_host_ip, 'username': FLAGS.vmwareapi_host_username, 'password': FLAGS.vmwareapi_host_password} def update_available_resource(self, ctxt, host): """This method is supported only by libvirt.""" return def host_power_action(self, host, action): """Reboots, shuts down or powers up the host.""" raise NotImplementedError() def host_maintenance_mode(self, host, mode): """Start/Stop host maintenance window. On start, it triggers guest VMs evacuation.""" raise NotImplementedError() def set_host_enabled(self, host, enabled): """Sets the specified host's ability to accept new instances.""" raise NotImplementedError() def plug_vifs(self, instance, network_info): """Plug VIFs into networks.""" self._vmops.plug_vifs(instance, network_info) def unplug_vifs(self, instance, network_info): """Unplug VIFs from networks.""" self._vmops.unplug_vifs(instance, network_info)