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 1.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| python_esiclient-1.3.0.tar.gz | 63.9 kB | Without provenance | Details for python_esiclient-1.3.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| python_esiclient-1.3.0-py3-none-any.whl | Python 3 | none | any | Details for python_esiclient-1.3.0-py3-none-any.whl |
Total release size: 150.5 kB
Release files / python_esiclient-1.3.0.tar.gz
| Download URL | python_esiclient-1.3.0.tar.gz |
|---|---|
| Size | 63.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7d1eb13e058de3d2eeef00e0dcd95f2d956817d61cadd754c4f66004c3bf8493
|
|
BLAKE2b-256 checksum How to use checksums |
994684aaccb0d2bee7e6b24511cef1a892a0b70bafa552c06101c1d85d2ba230
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.10
|
Release files / python_esiclient-1.3.0-py3-none-any.whl
| Download URL | python_esiclient-1.3.0-py3-none-any.whl |
|---|---|
| Size | 86.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6037eb6432116806005902381e012c87acca02b40034ea25992e7b5ee0f660c8
|
|
BLAKE2b-256 checksum How to use checksums |
23f4f19bba742e7a41808c5099bbd3b877e34508c9514693e81a4315d84be3dd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.10
|
Security for python-esiclient 1.3.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.