OpenStack: Mistral
openstack cron trigger create --pattern "0 6 * * *" test_cron create_vm_snapshot '{ "server_id": "someid", "image_name": "imagenametest1"}'
Links
https://docs.openstack.org/mistral/latest/terminology/workbooks.html
openstack cron trigger create --pattern "0 6 * * *" test_cron create_vm_snapshot '{ "server_id": "someid", "image_name": "imagenametest1"}'
Links
https://docs.openstack.org/mistral/latest/terminology/workbooks.html
CLI
https://developer.openstack.org/firstapp-libcloud/networking.html
# search server by port ID openstack port show -c device_id -f value ${PORT_ID} openstack show show ${PORT_ID} openstack router show ${PORT_ID}
Port
https://docs.openstack.org/python-openstackclient/latest/cli/command-objects/port.html
# show VPN objects openstack vpn ipsec site connection list openstack vpn endpoint group list openstack vpn service list openstack vpn ipsec policy list openstack vpn ike policy list # show IP openstack vpn service list --long openstack vpn service list -c ID -f value | xargs -i openstack vpn service show {} openstack vpn ipsec site connection list -c ID -f value | xargs -L1 openstack vpn ipsec site connection show
Restart VPN
openstack vpn ipsec site connection set --disable vpn-conn1 openstack vpn ipsec site connection set --enable vpn-conn1
Check VPN peer address
# List your volumes openstack volume list openstack volume type list --public --long openstack volume backend pool list cinder --os-volume-api-version 3.50 attachment-delete <attachment_id> openstack volume set --non-bootable <VOLUME_ID>
Search for multiple volume attachment ids
Download rescure iso
wget https://download.grml.org/grml64-small_2022.11.iso
Create rescure system
openstack image create systemrescuecd \ --file grml64-small_2022.11.iso \ --disk-format iso \ --container-format bare \ --min-ram 512 \ --property hw_cdrom_bus=scsi # show image openstack image list --name systemrescuecd
Attach rescure system
openstack server rescue --image systemrescuecd ${SERVER_ID}
# Login to VM console and fix issues
Detach rescure system
openstack server unrescue ${SERVER_ID}
Links
https://help.switch.ch/engines/documentation/rescue-vm/
https://grml.org/
Debug user
openstack user list
openstack user show USER_ID
openstack domain show DOMAIN_ID
openstack project list --user USER_ID
openstack role assignment list --names --user USER_ID
Add role
openstack role add --user USER_ID --project PROJECT_ID creator
Show subnet details
openstack subnet list --network public
openstack subnet show public-10.0.0.0/24
Modify database
DB_PASS=$(grep neutron_database_password /etc/kolla/passwords.yml | cut -d " " -f2)
mysql -h db.service.example.com --password=${DB_PASS} -P 6033 -u neutron -D neutron
select * from neutron.subnets where cidr like '10.0.0%';
update subnets set cidr='10.0.0.0/23' WHERE cidr = '10.0.0.0/24';
exit;
# update subnet name
openstack subnet set --name public-10.0.0.0/23 public-10.0.0.0/24
# extend allocation-pool
List
# List instances / VMs
openstack server list
openstack server list -c ID -c Name -c Status -c Networks -c Host --long
Create
openstack server create foo-vm1 \
--image "Ubuntu 18.04" \
--flavor m1.small \
--key-name foo-key \
--network foo-net
# delete instance
openstack server delete "vm-u1804"
# list all servers from all projects
openstack server list --all-projects --os-cloud=stage-admin
# get IDs only from server
openstack server list --os-cloud=dev-foo -c ID -f value
# get all servers using windows images
Show Loadbalancer state
# List all LoadBalancer
openstack loadbalancer list
# List LoadBalancer details
openstack loadbalancer show 0ce30f0e-1d75-486c-a09f-79125abf44b8
# List LoadBalancer VMs details
openstack loadbalancer amphora list --loadbalancer 0ce30f0e-1d75-486c-a09f-79125abf44b8
# List all Octavia LB / VMs
openstack server list --all --long --name amphora --os-cloud=dev-admin
Manual update provisioning_status from PENDING_UPDATE / ERROR state to ACTIVE in Octavia Database