Merge "Adds former appendix CLI cheat sheet"
This commit is contained in:
commit
c21285c303
doc/playground-user-guide/source
@ -34,5 +34,7 @@ TODO(ajaeger): Add table with command-line clients.
|
||||
:maxdepth: 2
|
||||
|
||||
cli_launch_instances.rst
|
||||
cli_cheat_sheet.rst
|
||||
|
||||
.. TODO(ajaeger): Add further sections
|
||||
|
||||
|
367
doc/playground-user-guide/source/cli_cheat_sheet.rst
Normal file
367
doc/playground-user-guide/source/cli_cheat_sheet.rst
Normal file
@ -0,0 +1,367 @@
|
||||
============================================
|
||||
OpenStack command-line interface cheat sheet
|
||||
============================================
|
||||
|
||||
Here is a list of common commands for reference.
|
||||
|
||||
Identity (keystone)
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
List all users
|
||||
|
||||
.. code:: console
|
||||
|
||||
$ keystone user-list
|
||||
|
||||
List Identity service catalog
|
||||
|
||||
.. code:: console
|
||||
|
||||
$ keystone catalog
|
||||
|
||||
Images (glance)
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
List images you can access
|
||||
|
||||
.. code:: console
|
||||
|
||||
$ glance image-list
|
||||
|
||||
Delete specified image
|
||||
|
||||
.. code:: console
|
||||
|
||||
$ glance image-delete IMAGE
|
||||
|
||||
Describe a specific image
|
||||
|
||||
.. code:: console
|
||||
|
||||
$ glance image-show IMAGE
|
||||
|
||||
Update image
|
||||
|
||||
.. code:: console
|
||||
|
||||
$ glance image-update IMAGE
|
||||
|
||||
Upload kernel image
|
||||
|
||||
.. code:: console
|
||||
|
||||
$ glance image-create --name "cirros-threepart-kernel" \
|
||||
--disk-format aki --container-format aki --is-public False \
|
||||
--file ~/images/cirros-0.3.1~pre4-x86_64-vmlinuz
|
||||
|
||||
Upload RAM image
|
||||
|
||||
.. code:: console
|
||||
|
||||
$ glance image-create --name "cirros-threepart-ramdisk" \
|
||||
--disk-format ari --container-format ari --is-public False \
|
||||
--file ~/images/cirros-0.3.1~pre4-x86_64-initrd
|
||||
|
||||
Upload three-part image
|
||||
|
||||
.. code:: console
|
||||
|
||||
$ glance image-create --name "cirros-threepart" --disk-format ami \
|
||||
--container-format ami --is-public False \
|
||||
--property kernel_id=$KID-property ramdisk_id=$RID \
|
||||
--file ~/images/cirros-0.3.1~pre4-x86_64-blank.img
|
||||
|
||||
Register raw image
|
||||
|
||||
.. code:: console
|
||||
|
||||
$ glance image-create --name "cirros-qcow2" --disk-format qcow2 \
|
||||
--container-format bare --is-public False \
|
||||
--file ~/images/cirros-0.3.1~pre4-x86_64-disk.img
|
||||
|
||||
Compute (nova)
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
List instances, check status of instance
|
||||
|
||||
.. code:: console
|
||||
|
||||
$ nova list
|
||||
|
||||
List images
|
||||
|
||||
.. code:: console
|
||||
|
||||
$ nova image-list
|
||||
|
||||
List flavors
|
||||
|
||||
.. code:: console
|
||||
|
||||
$ nova flavor-list
|
||||
|
||||
Boot an instance using flavor and image names (if names are unique)
|
||||
|
||||
.. code:: console
|
||||
|
||||
$ nova boot --image IMAGE --flavor FLAVOR INSTANCE_NAME
|
||||
$ nova boot --image cirros-0.3.1-x86_64-uec --flavor m1.tiny \
|
||||
MyFirstInstance
|
||||
|
||||
Login to instance
|
||||
|
||||
.. code:: console
|
||||
|
||||
# ip netns
|
||||
# ip netns exec NETNS_NAME ssh USER@SERVER
|
||||
# ip netns exec qdhcp-6021a3b4-8587-4f9c-8064-0103885dfba2 \
|
||||
ssh cirros@10.0.0.2
|
||||
|
||||
.. note:: In CirrOS the password for user ``cirros`` is "cubswin:)" without
|
||||
the quotes.
|
||||
|
||||
Show details of instance
|
||||
|
||||
.. code:: console
|
||||
|
||||
$ nova show NAME
|
||||
$ nova show MyFirstInstance
|
||||
|
||||
View console log of instance
|
||||
|
||||
.. code:: console
|
||||
|
||||
$ nova console-log MyFirstInstance
|
||||
|
||||
Set metadata on an instance
|
||||
|
||||
.. code:: console
|
||||
|
||||
$ nova meta volumeTwoImage set newmeta='my meta data'
|
||||
|
||||
Create an instance snapshot
|
||||
|
||||
.. code:: console
|
||||
|
||||
$ nova image-create volumeTwoImage snapshotOfVolumeImage
|
||||
$ nova image-show snapshotOfVolumeImage
|
||||
|
||||
Pause, suspend, stop, rescue, resize, rebuild, reboot an instance
|
||||
-----------------------------------------------------------------
|
||||
|
||||
Pause
|
||||
|
||||
.. code:: console
|
||||
|
||||
$ nova pause NAME
|
||||
$ nova pause volumeTwoImage
|
||||
|
||||
Unpause
|
||||
|
||||
.. code:: console
|
||||
|
||||
$ nova unpause NAME
|
||||
|
||||
Suspend
|
||||
|
||||
.. code:: console
|
||||
|
||||
$ nova suspend NAME
|
||||
|
||||
Unsuspend
|
||||
|
||||
.. code:: console
|
||||
|
||||
$ nova resume NAME
|
||||
|
||||
Stop
|
||||
|
||||
.. code:: console
|
||||
|
||||
$ nova stop NAME
|
||||
|
||||
Start
|
||||
|
||||
.. code:: console
|
||||
|
||||
$ nova start NAME
|
||||
|
||||
Rescue
|
||||
|
||||
.. code:: console
|
||||
|
||||
$ nova rescue NAME
|
||||
$ nova rescue NAME --rescue_image_ref RESCUE_IMAGE
|
||||
|
||||
Resize
|
||||
|
||||
.. code:: console
|
||||
|
||||
$ nova resize NAME FLAVOR
|
||||
$ nova resize my-pem-server m1.small
|
||||
$ nova resize-confirm my-pem-server1
|
||||
|
||||
Rebuild
|
||||
|
||||
.. code:: console
|
||||
|
||||
$ nova rebuild NAME IMAGE
|
||||
$ nova rebuild newtinny cirros-qcow2
|
||||
|
||||
Reboot
|
||||
|
||||
.. code:: console
|
||||
|
||||
$ nova reboot NAME
|
||||
$ nova reboot newtinny
|
||||
|
||||
Inject user data and files into an instance
|
||||
|
||||
.. code:: console
|
||||
|
||||
$ nova boot --user-data FILE INSTANCE
|
||||
$ nova boot --user-data userdata.txt --image cirros-qcow2 \
|
||||
--flavor m1.tiny MyUserdataInstance2
|
||||
|
||||
To validate that the file was injected, use ssh to connect to the instance,
|
||||
and look in ``/var/lib/cloud`` for the file.
|
||||
|
||||
Inject a keypair into an instance and access the instance with that
|
||||
keypair
|
||||
|
||||
Create keypair
|
||||
|
||||
.. code:: console
|
||||
|
||||
$ nova keypair-add test > test.pem
|
||||
$ chmod 600 test.pem
|
||||
|
||||
Start an instance (boot)
|
||||
|
||||
.. code:: console
|
||||
|
||||
$ nova boot --image cirros-0.3.0-x86_64 --flavor m1.small \
|
||||
--key_name test MyFirstServer
|
||||
|
||||
Use ssh to connect to the instance
|
||||
|
||||
.. code:: console
|
||||
|
||||
# ip netns exec qdhcp-98f09f1e-64c4-4301-a897-5067ee6d544f \
|
||||
ssh -i test.pem cirros@10.0.0.4
|
||||
|
||||
Manage security groups
|
||||
|
||||
Add rules to default security group allowing ping and SSH between
|
||||
instances in the default security group
|
||||
|
||||
.. code:: console
|
||||
|
||||
$ nova secgroup-add-group-rule default default icmp -1 -1
|
||||
$ nova secgroup-add-group-rule default default tcp 22 22
|
||||
|
||||
Networking (neutron)
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Create network
|
||||
|
||||
.. code:: console
|
||||
|
||||
$ neutron net-create NAME
|
||||
|
||||
Create a subnet
|
||||
|
||||
.. code:: console
|
||||
|
||||
$ neutron subnet-create NETWORK_NAME CIDR
|
||||
$ neutron subnet-create my-network 10.0.0.0/29
|
||||
|
||||
Block Storage (cinder)
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Used to manage volumes and volume snapshots that attach to instances.
|
||||
|
||||
Create a new volume
|
||||
|
||||
.. code:: console
|
||||
|
||||
$ cinder create SIZE_IN_GB --display-name NAME
|
||||
$ cinder create 1 --display-name MyFirstVolume
|
||||
|
||||
Boot an instance and attach to volume
|
||||
|
||||
.. code:: console
|
||||
|
||||
$ nova boot --image cirros-qcow2 --flavor m1.tiny MyVolumeInstance
|
||||
|
||||
List volumes, notice status of volume
|
||||
|
||||
.. code:: console
|
||||
|
||||
$ cinder list
|
||||
|
||||
Attach volume to instance after instance is active, and volume is
|
||||
available
|
||||
|
||||
.. code:: console
|
||||
|
||||
$ nova volume-attach INSTANCE_ID VOLUME_ID auto
|
||||
$ nova volume-attach MyVolumeInstance /dev/vdb auto
|
||||
|
||||
Manage volumes after login into the instance
|
||||
|
||||
List storage devices
|
||||
|
||||
.. code:: console
|
||||
|
||||
# fdisk -l
|
||||
|
||||
Make filesystem on volume
|
||||
|
||||
.. code:: console
|
||||
|
||||
# mkfs.ext3 /dev/vdb
|
||||
|
||||
Create a mountpoint
|
||||
|
||||
.. code:: console
|
||||
|
||||
# mkdir /myspace
|
||||
|
||||
Mount the volume at the mountpoint
|
||||
|
||||
.. code:: console
|
||||
|
||||
# mount /dev/vdb /myspace
|
||||
|
||||
Create a file on the volume
|
||||
|
||||
.. code:: console
|
||||
|
||||
# touch /myspace/helloworld.txt
|
||||
# ls /myspace
|
||||
|
||||
Unmount the volume
|
||||
|
||||
.. code:: console
|
||||
|
||||
# umount /myspace
|
||||
|
||||
Object Storage (swift)
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Display information for the account, container, or object
|
||||
|
||||
.. code:: console
|
||||
|
||||
$ swift stat
|
||||
$ swift stat ACCOUNT
|
||||
$ swift stat CONTAINER
|
||||
$ swift stat OBJECT
|
||||
|
||||
List containers
|
||||
|
||||
.. code:: console
|
||||
|
||||
$ swift list
|
||||
|
Loading…
x
Reference in New Issue
Block a user