Piston: Command Line Cheatsheet Openstack
Keystone (Identity Service)
- List all users
keystone user-list
- List identity service catalog
keystone catalog
- Discover keystone endpoints
keystone discover
- List all services in service catalog
keystone service-list
- Create new user
keystone user-create --name --tenant-id --pass --email --enabled
- Create new tenant
keystone tenant-create --name --description --enabled
Nova (Compute Service)
- List instances, notice status of instance
nova list
- List images
nova image-list
- List flavors
nova flavor-list
- Boot an instance using flavor and image names (if names are unique)
nova boot --image --flavor nova boot --image cirros-0.3.1-x86_64-uec --flavor m1.tiny MyFirstInstance
- Login to instance
ip netns sudo ip netns exec ssh <user@server or use a key> sudo ip netns exec qdhcp-6021a3b4-8587-4f9c-8064-0103885dfba2 ssh cirros@10.0.0.2
- if you are on devstack, password is “cubswin:)” without the quotes
- Show details of instance
nova show <name> nova show MyFirstInstance
- View console log of instance
nova console-log MyFirstInstance
- Pause, suspend, stop, rescue, resize, rebuild, reboot an instance
- Pause
nova pause <name> nova pause volumeTwoImage
- Unpause
nova unpause <name>
- Suspend
nova suspend <name>
- Unsuspend
nova resume <name>
- Stop
nova stop <name>
- Start
nova start <name>
- Rescue
nova rescue <name>
- Resize
nova resize <name> <flavor> nova resize my-pem-server m1.small nova resize-confirm server1
- Rebuild
nova rebuild <name> <image> nova rebuild newtinny cirros-qcow2
- Reboot
nova reboot <name> nova reboot newtinny
- Inject user data and files into an instance
nova boot --user-data ./userdata.txt MyUserdataInstance nova boot --user-data userdata.txt --image cirros-qcow2 --flavor m1.tiny MyUserdataInstance2
- to validate file is there, ssh into instance, go to /var/lib/cloud look for file
- Inject a keypair into an instance and access the instance with that keypair
- Create keypair
nova keypair-add test > test.pem chmod 600 test.pem
- Boot
nova boot --image cirros-0.3.0-x86_64 --flavor m1.small --key_name test my-first-server
- ssh into instance
sudo ip netns exec qdhcp-98f09f1e-64c4-4301-a897-5067ee6d544f ssh -i test.pem cirros@10.0.0.4
- Set metadata on an instance
nova meta volumeTwoImage set newmeta=’my meta data’
- Create an instance snapshot
nova image-create volumeTwoImage snapshotOfVolumeImage nova image-show snapshotOfVolumeImage
- Manage security groups
- Add rules to default security group allowing ping and ssh between #instances in the default security group
nova secgroup-add-group-rule default default icmp -1 -1 nova secgroup-add-group-rule default default tcp 22 22
Glance (Image Service)
- List images you can access
glance image-list
- Delete specified image
glance image-delete <image>
- Describe a specific image
glance image-show <image>
- update image
glance image-update <image>
- Manage images
- Kernel image
glance image-create --name “cirros-threepart-kernel” --disk-format aki --container-format aki --is-public True --file ~/images/cirros-0.3.1~pre4-x86_64-vmlinuz
- Ram image
glance image-create—name “cirros-threepart-ramdisk” --disk-format ari --container-format ari --is-public True --file ~/images/cirros-0.3.1~pre4-x86_64-initrd
- 3-part image
glance image-create—name “cirros-threepart” --disk-format ami --container-format ami --is-public True --property kernel_id=$KID—property ramdisk_id=$RID --file ~/images/cirros-0.3.1~pre4-x86_64-blank.img
- Register raw image
glance image-create --name “cirros-qcow2” --disk-format qcow2 --container-format bare --is-public True --file ~/images/cirros-0.3.1~pre4-x86_64-disk.img
Neutron (Networking Service)
- Create network
neutron net-create <name> neutron net-create my-network
- Create a subnet
neutron subnet-create <network name> <cidr> neutron subnet-create my-network 10.0.0.0/29
- List network and subnet
neutron net-list neutron subnet-list
- Examine details of network and subnet
neutron net-show <id or name of network> neutron subnet-show <id or name of subnet>
Cinder (Block Storage)
- Manage volumes and volume snapshots
- Create a new volume
cinder create <size in GB> --display-name cinder create 1 --display-name MyFirstVolume
- Boot an instance and attach to volume
nova boot—image cirros-qcow2 --flavor m1.tiny MyVolumeInstance
- List volumes, notice status of volume
cinder list
- Attach volume to instance after instance is active, and volume is available
nova volume-attach <instance-id> <volume-id> auto nova volume-attach MyVolumeInstance /dev/vdb auto
- Login into instance, list storage devices
sudo fdisk -l
- On the instance, make filesystem on volume
sudo mkfs.ext3 /dev/vdb
- Create a mountpoint
sudo mkdir /myspace
- Mount the volume at the mountpoint
sudo mount /dev/vdc /myspace
- Create a file on the volume
sudo touch /myspace/helloworld.txt sudo ls /myspace
- Unmount the volume
sudo umount /myspace
Swift (Object Store)
- Displays information for the account, container, or object
swift stat swift stat <account> swift stat <container> swift stat <object>
- List containers
swift list
- Create a container
swift post mycontainer
- Upload file to a container
swift upload <containder name> <file name> swift upload mycontainer myfile.txt
- List objects in container
swift list container
- Download object from container
swift download <containder name> <file name>
- Upload with chunks, for large file
swift upload -S <size> <containder name> <file name> swift upload -S 64 container largeFile