COT.deploy_esxi module¶
Module for deploying VMs to ESXi, vCenter, and vSphere.
Functions
get_object_from_connection |
Look up an object by name. |
Classes
COTDeployESXi |
Submodule for deploying VMs on ESXi and VMware vCenter/vSphere. |
SmarterConnection |
A smarter version of pyVmomi’s SmartConnection context manager. |
PyVmomiVMReconfigSpec |
Context manager for reconfiguring an ESXi VM using PyVmomi. |
-
class
COTDeployESXi(ui)[source]¶ Bases:
COT.deploy.COTDeploySubmodule for deploying VMs on ESXi and VMware vCenter/vSphere.
Inherited attributes:
ui,package,generic_parser,parser,subparsers,hypervisor,configuration,username,password,power_on,vm_name,network_mapserial_connectionAttributes:
locator,datastore,ovftool_args-
__init__(ui)[source]¶ Instantiate this submodule with the given UI.
Parameters: ui (UI) – User interface instance.
-
create_subparser()[source]¶ Add subparser for the CLI of this submodule.
This will create the shared
parser, then create our own sub-subparser undersubparsers.
-
fixup_ovftool_args(ovftool_args, target)[source]¶ Make any needed modifications to the ovftool arguments.
Parameters: Returns: list – Updated ovftool arguments
-
fixup_serial_ports()[source]¶ Use PyVmomi to create and configure serial ports for the new VM.
Raises: NotImplementedError– If anySerialConnectioninserial_connectionhas akindother than ‘tcp’, ‘telnet’, or ‘device’
-
ready_to_run()[source]¶ Check whether the module is ready to
run().Returns: tuple – (True, ready_message)or(False, reason_why_not)
-
run()[source]¶ Do the actual work of this submodule - deploying to ESXi.
Raises: InvalidInputError– ifready_to_run()reportsFalse
-
datastore= None¶ ESXi datastore to deploy to.
-
host= None¶ vSphere host to deploy to - set implicitly by self.locator.
-
locator¶ Target vSphere locator.
-
ovftool_args¶ List of CLI arguments to pass through to
ovftool.
-
serial_connection¶ Mapping of serial ports to various connection types.
-
server= None¶ vCenter server or vSphere host - set implicitly by self.locator.
-
-
class
PyVmomiVMReconfigSpec(conn, vm_name)[source]¶ Bases:
objectContext manager for reconfiguring an ESXi VM using PyVmomi.
-
__init__(conn, vm_name)[source]¶ Use the given name to look up a VM using the given connection.
Parameters: - conn (SmarterConnection) – Connection to ESXi.
- vm_name (str) – Virtual machine name.
-
-
class
SmarterConnection(ui, host, user, pwd, port=443)[source]¶ Bases:
pyVim.connect.SmartConnectionA smarter version of pyVmomi’s SmartConnection context manager.
-
__init__(ui, host, user, pwd, port=443)[source]¶ Create a connection to the given server.
Parameters: ui (UI) – User interface instance. For the other parameters, see
pyVim.connect.SmartConnection
-
static
unwrap_connection_error(outer_e)[source]¶ Extract inner attributes from a ConnectionError.
ConnectionError often wraps another exception with more context; this function dives inside the ConnectionError to find that context.
Parameters: outer_e (ConnectionError) – ConnectionError to unwrap Returns: tuple – extracted (errno, inner_message)
-
-
get_object_from_connection(conn, vimtype, name)[source]¶ Look up an object by name.
Parameters: - conn (SmarterConnection) – Connection to ESXi.
- vimtype (object) – currently only
vim.VirtualMachine - name (str) – Name of the object to look up.
Returns: object – Located object