python-esiclient
python-esiclient extends 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-esiclient
To install from source:
- clone this repository
- install all requirements:
pip install -r requirements.txt - install:
python setup.py install
openstack esi node network <command>
These commands manage network connections to nodes.
openstack esi node network list
List 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 attach
Attach 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 detach
Detach 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 list
List trunk ports.
openstack esi trunk list
openstack esi trunk create
Create 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 port
openstack esi trunk add network
Add 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 port
openstack esi trunk remove network
Remove 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 port
openstack esi trunk delete
Delete a trunk port.
openstack esi trunk delete
<name>
name: Name of the trunk port
openstack esi node volume attach
Boot a node with a volume
openstack 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 list
List VLANs and associated switch ports on a switch.
openstack esi switch vlan list <switch>
switch: Switch
openstack esi switch port list
List switch ports and associated VLANs on a switch.
openstack esi switch port list <switch>
switch: Switch
openstack esi switch port enable access
Attach VLAN to a switchport on a switch.
openstack esi switch port enable access
<switch>
<switchport>
<vlan>
switch: Switchswitchport: Switchportvlan: VLAN
openstack esi switch port disable access
Disable VLAN access to a switchport on a switch.
openstack esi switch port disable access
<switch>
<switchport>
switch: Switchswitchport: Switchport
openstack esi switch port enable trunk
Attach 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: VLAN
openstack esi switch port disable trunk
Disable trunk on a switchport on a switch.
openstack esi switch port disable trunk
<switch>
<switchport>
switch: Switchswitchport: Switchport
openstack esi switch trunk add vlan
Add VLAN to a trunk on a switchport.
openstack esi switch trunk add vlan
<switch>
<switchport>
<vlan>
switch: Switchswitchport: Switchportvlan: VLAN
openstack esi switch trunk remove vlan
Remove VLAN from a trunk on a switchport.
openstack esi switch trunk remove vlan
<switch>
<switchport>
<vlan>
switch: Switchswitchport: Switchportvlan: VLAN
openstack esi cluster <command>
These commands orchestrate and undeploy simple bare metal clusters.
openstack esi cluster orchestrate
Orchestrate 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 list
List clusters deployed through ESI, along with their associated resources.
openstack esi cluster list
openstack esi cluster undeploy
Undeploy a cluster deployed through ESI.
openstack esi cluster undeploy <cluster-uuid>
<cluster uuid>: Cluster UUID; can be found by runningopenstack esi cluster list
openstack esi openshift <command>
These commands orchestrate and undeploy OpenShift clusters.
openstack esi openshift orchestrate
Orchestrate 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 undeploy
Undeploy an OpenShift cluster orchestrated through ESI.
openstack esi openshift undeploy <config-file>
<config file>: Configuration file used to orchestrate OpenShift cluster
Metadata
Release files for python-esiclient 0.2.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| python-esiclient-0.2.7.tar.gz | 53.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| python_esiclient-0.2.7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 134.3 kB
Release files / python-esiclient-0.2.7.tar.gz
| Download URL | python-esiclient-0.2.7.tar.gz |
|---|---|
| Size | 53.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5a056f48c21592d1dfbac0e23871612cb09371dfca896d29bda2e4305ab61ad8
|
|
BLAKE2b-256 checksum How to use checksums |
b66d227dca4a7cf7db0953a26f3e72ab057b2c815718d26f26d5a84d20998656
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 pkginfo/1.9.6 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/1.0.0 urllib3/1.26.18 tqdm/4.64.1 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.5 CPython/3.6.8
|
Release files / python_esiclient-0.2.7-py3-none-any.whl
| Download URL | python_esiclient-0.2.7-py3-none-any.whl |
|---|---|
| Size | 80.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3e32f3dbf5cc0cc34224c5997869dfd8fbd960ade059d8f6865a221cbc87576e
|
|
BLAKE2b-256 checksum How to use checksums |
4de507475f3928a4d9308c8b650af0c36cbf1d1d85ef0c3a4e09155ffb420fad
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 pkginfo/1.9.6 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/1.0.0 urllib3/1.26.18 tqdm/4.64.1 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.5 CPython/3.6.8
|