Package: python-esiclient
python-esiclientpython-esiclientextends the OpenStack CLI to provide simplified user workflows, encapsulating multiple OpenStack CLI commands into a single CLI command.To install as a package:pip install python-esiclientTo install from source:clone this repositoryinstall all requirements:pip install -r requirements.txtinstall:python setup.py installopenstack esi node network <command>These commands manage network connections to nodes.openstack esi node network listList node/network attachments.openstack esi node network list
   [--node <node>]
   [--network <network>]--node <node>: Filter by node (name or UUID)--network <network>:  Filter by network (name or UUID)openstack esi node network attachAttach network to a node.openstack esi node network attach
   (--network <network> | --port <port> | --trunk <trunk>)
   [--mac-address <mac-address>]
   <node>--network <network>:  Network (name or UUID)--port <port>:  Neutron port (name or UUID)--trunk <trunk>:  Neutron trunk (name or UUID)--mac-address <mac-address>:  Node MAC address to attach the network to.node: Node (name or UUID)openstack esi node network detachDetach network from a node.openstack esi node network detach
   [--port <port>]
   <node>--port <port>:  Port (name or UUID)node: Node (name or UUID)openstack esi trunk <command>These commands manage trunk ports.openstack esi trunk listList trunk ports.openstack esi trunk listopenstack esi trunk createCreate a trunk port.openstack esi trunk create
   [--native-network <native-network>]
   [--tagged-networks <tagged-network>]
   <name>--native-network <native-network>: Native network (name or UUID)--tagged-networks <tagged-network>:  Tagged network (name or UUID); can specify multiplename: Name of the trunk portopenstack esi trunk add networkAdd a network to a trunk port.openstack esi trunk add network
   [--tagged-networks <tagged-network>]
   <name>--tagged-networks <tagged-network>:  Tagged network (name or UUID); can specify multiplename: Name of the trunk portopenstack esi trunk remove networkRemove a network from a trunk port.openstack esi trunk remove network
   [--tagged-networks <tagged-network>]
   <name>--tagged-networks <tagged-network>:  Tagged network (name or UUID); can specify multiplename: Name of the trunk portopenstack esi trunk deleteDelete a trunk port.openstack esi trunk delete
   <name>name: Name of the trunk portopenstack esi node volume attachBoot a node with a volumeopenstack esi node volume attach
   (--network <network> | --port <port>)
   [--mac-address <mac-address>]
   <node> <volume>--network <network>:  Network (name or UUID)--port <port>:  Neutron port (name or UUID)node: Node (name or UUID)volume: Volume (name or UUID)openstack esi switch <command>These commands allow you to treat ESI as a switch.openstack esi switch vlan listList VLANs and associated switch ports on a switch.openstack esi switch vlan list <switch>switch: Switchopenstack esi switch port listList switch ports and associated VLANs on a switch.openstack esi switch port list <switch>switch: Switchopenstack esi switch port enable accessAttach VLAN to a switchport on a switch.openstack esi switch port enable access
   <switch>
   <switchport>
   <vlan>switch: Switchswitchport: Switchportvlan: VLANopenstack esi switch port disable accessDisable VLAN access to a switchport on a switch.openstack esi switch port disable access
   <switch>
   <switchport>switch: Switchswitchport: Switchportopenstack esi switch port enable trunkAttach VLAN to a switchport as the native VLAN of a trunk on a switch.openstack esi switch port enable trunk
   <switch>
   <switchport>
   <vlan>switch: Switchswitchport: Switchportvlan: VLANopenstack esi switch port disable trunkDisable trunk on a switchport on a switch.openstack esi switch port disable trunk
   <switch>
   <switchport>switch: Switchswitchport: Switchportopenstack esi switch trunk add vlanAdd VLAN to a trunk on a switchport.openstack esi switch trunk add vlan
   <switch>
   <switchport>
   <vlan>switch: Switchswitchport: Switchportvlan: VLANopenstack esi switch trunk remove vlanRemove VLAN from a trunk on a switchport.openstack esi switch trunk remove vlan
   <switch>
   <switchport>
   <vlan>switch: Switchswitchport: Switchportvlan: VLANopenstack esi cluster <command>These commands orchestrate and undeploy simple bare metal clusters.openstack esi cluster orchestrateOrchestrate a simple cluster.openstack esi cluster orchestrate <config-file><config file>: Configuration file; for example{
    "node_configs": [
	{
	    "nodes": {
		"node_uuids": ["node1"]
	    },
	    "network": {
		"network_uuid": "private-network-1",
		"tagged_network_uuids": ["private-network-2"],
		"fip_network_uuid": "external"
	    },
	    "provisioning": {
		"provisioning_type": "image",
		"image_uuid": "image-name",
		"ssh_key": "/path/to/ssh/key"
	    }
	},
	{
	    "nodes": {
		"num_nodes": "2",
		"resource_class": "baremetal"
	    },
	    "network": {
		"network_uuid": "private-network-1"
	    },
	    "provisioning": {
		"provisioning_type": "image_url",
		"url": "http://url.for/image",
	    }
	}
    ]
}openstack esi cluster listList clusters deployed through ESI, along with their associated resources.openstack esi cluster listopenstack esi cluster undeployUndeploy a cluster deployed through ESI.openstack esi cluster undeploy <cluster-uuid><cluster uuid>: Cluster UUID; can be found by runningopenstack esi cluster listopenstack esi openshift <command>These commands orchestrate and undeploy OpenShift clusters.openstack esi openshift orchestrateOrchestrate an OpenShift cluster.openstack esi openshift orchestrate <config-file><config file>: Configuration file; for example{
    "cluster_name": "my-cluster",
    "openshift_version": "4.13.12",
    "high_availability_mode": "Full",
    "base_dns_domain": "my.domain",
    "api_vip": "192.168.1.250",
    "ingress_vip": "192.168.1.249",
    "ssh_public_key": "my-public-key",
    "external_network_name": "external",
    "private_network_name": "my-private-network",
    "private_subnet_name": "my-private-subnet",
    "nodes": ["node1", "node2", "node3"]
}openstack esi openshift undeployUndeploy an OpenShift cluster orchestrated through ESI.openstack esi openshift undeploy <config-file><config file>: Configuration file used to orchestrate OpenShift cluster