OpenStack
From Cheatsheet
OpenStack CLI client
- https://docs.openstack.org/newton/user-guide/common/cli-install-openstack-command-line-clients.html
- https://help.dreamhost.com/hc/en-us/articles/235817468-Getting-started-with-the-OpenStack-command-line-client
- https://pip.pypa.io/en/stable/installation/
- https://docs.openstack.org/install-guide/environment-packages-rdo.html
yum update yum install python3 yum install python-openstackclient python3 -m pip install --upgrade pip pip3 install python-openstackclient
# Source the OpenRC you configured/downloaded from the Horizon dashboard source Tenant-openrc-new.sh # Issue a token openstack token issue
Common
Commands
# Enter OpenStack interactive mode openstack # Leave OpenStack interactive mode exit # Show all OpenStack commands and parameters openstack --help # Show all OpenStack commands and parameters relating to the "server" parameter openstack --help server
Checks
Some of these checks require an OpenStack admin OpenRC and for others the OpenRC of the Tenant you want to check on.
# List all compute nodes openstack compute service list # List all network-devices used by the compute nodes openstack network agent list # List all storage-devices/enclosures openstack volume service list # List all users openstack user list # List all projects openstack project list # List all available Instances openstack server list # List all available Networks openstack network list # List all available Volumes openstack volume list # List all images openstack image list # Show resource-usage per hour for a month, for each project openstack usage list # List all available Flavors openstack flavor list --all # Show specific Flavor information openstack flavor show m1.small # Show all OpenStack VMs (admin) openstack server list --all # Show information of a specific VM openstack server show as8d7as98d-aisd7-as7d86-a7s6d-asdas789d6a987d
Modules - CLI
Nova
# Deploy a CD-based Instance nova boot --flavor c2r4 --nic net-id=asd897-as987d6-as789d-as8d76-as8d67 --block-device id=as7das90d-asd867as89d6sa9-7a6sd78as6d78,source=image,dest=volume,bus=usb,device=/dev/vdb,size=5,type=cdrom,bootindex=0 MyInstance
Glance
Tenant example: as8d76asd976ds798a6d78sa95das7968d5as978
Image example: as7das90d-asd867as89d6sa9-7a6sd78as6d78
# List all available images for the current Tenant openstack image list # Set an Image owner to a specific project openstack image set as7das90d-asd867as89d6sa9-7a6sd78as6d78 --project as8d76asd976ds798a6d78sa95das7968d5as978 # Set an image to Private openstack image set as7das90d-asd867as89d6sa9-7a6sd78as6d78 --private
Image sharing
# From the Image owners' OpenRC openstack image add project as7das90d-asd867as89d6sa9-7a6sd78as6d78 as8d76asd976ds798a6d78sa95das7968d5as978 # Verify status of the shared image openstack image member list as7das90d-asd867as89d6sa9-7a6sd78as6d78 # Source the receiving Tenant's OpenRC # Accept the image openstack image set --accept as7das90d-asd867as89d6sa9-7a6sd78as6d78 # Stop sharing from the owners' OpenRC openstack image remove project as7das90d-asd867as89d6sa9-7a6sd78as6d78 as8d76asd976ds798a6d78sa95das7968d5as978
Magnum
Magnum is used to create Kubernetes clusters.
# Check the Tenants' Overview tab to verify sufficient Quota has been assigned for the new nodes. # Source the relevant OpenRC file. # Create a Magnum template. openstack coe cluster template create --coe kubernetes --image fedora-coreos-36 --external-network Internet-network --network-driver flannel --dns-nameserver 1.1.1.1 --master-flavor c2r4 --flavor c2r4 --docker-storage-driver overlay2 MyTemplate-v1.00 # Deploy cluster based on previously created template. openstack coe cluster create --cluster-template MyTemplate-v1.00 --keypair MyKeyPair-2023 --master-count 1 --node-count 2 --master-flavor c1r4 --flavor c2r4 --fixed-network Tenant-Tnternal-Network --fixed-subnet Tenant-Tnternal-Network_Subnet --floating-ip-disabled MyClusterName-v1.00