diff --git a/docs/openstack-floating-ips.md b/docs/openstack-floating-ips.md index d8cc37e9..015567a6 100644 --- a/docs/openstack-floating-ips.md +++ b/docs/openstack-floating-ips.md @@ -1,6 +1,6 @@ # Openstack Floating Ips -To read more about Openstack Floating Ips using the [upstream docs](https://docs.openstack.org/python-openstackclient/pike/cli/command-objects/floating-ip.html). +To read more about Openstack Floating Ips using the [upstream docs](https://docs.openstack.org/python-openstackclient/latest/cli/command-objects/floating-ip.html). #### List and view floating ips diff --git a/docs/openstack-servers.md b/docs/openstack-servers.md new file mode 100644 index 00000000..83f81501 --- /dev/null +++ b/docs/openstack-servers.md @@ -0,0 +1,152 @@ +# Openstack Servers + +To read more about Openstack Servers using the [upstream docs](https://docs.openstack.org/python-openstackclient/latest/cli/command-objects/server.html). + +#### List and view servers + +``` shell +openstack server list + [--quote {all,minimal,none,nonnumeric}] + [--reservation-id ] + [--ip ] + [--ip6 ] + [--name ] + [--instance-name ] + [--status ] + [--flavor ] + [--image ] + [--host ] + [--all-projects] + [--project ] + [--project-domain ] + [--user ] + [--user-domain ] + [--long] + [-n] + [--marker ] + [--limit ] + [--deleted] + [--changes-since ] +``` + +#### Create a new server + +``` shell +openstack server create + (--image | --volume ) + --flavor + [--security-group ] + [--key-name ] + [--property ] + [--file ] + [--user-data ] + [--availability-zone ] + [--block-device-mapping ] + [--nic ] + [--network ] + [--port ] + [--hint ] + [--config-drive |True] + [--min ] + [--max ] + [--wait] + +``` + +#### Delete a server + +``` shell +openstack server delete [--wait] [ ...] +``` + +# Launch a server from a snapshot + +#### Create a snapshot of the instance + +!!! note + + If necessary, list the instances to view the instance name with the list server command above. + +1. Shut down the source VM before you take the snapshot to ensure that all data is flushed to disk. Use the openstack server stop command to shut down the instance: + + ``` shell + openstack server stop myInstance + ``` + +2. Use the openstack server list command to confirm that the instance shows a SHUTOFF status. + +3. Use the openstack server image create command to take a snapshot: + + ``` shell + openstack server image create myInstance --name myInstanceSnapshot + ``` + The above command creates the image myInstance by taking a snapshot of a running server. + +4. Use the openstack image list command to check the status until the status is active: + + ``` shell + openstack image list + ``` + +#### Download the snapshot + +!!! note + + Get the image id from the image list command (seen above). + +Download the snapshot by using the image ID: + +``` shell +openstack image save --file snapshot.raw {Image ID} +``` + +Make the image available to the new environment, either through HTTP or direct upload to a machine (scp). + +#### Import the snapshot to the new env + +In the new project or cloud environment, import the snapshot: + +``` shell +openstack image create NEW_IMAGE_NAME \ + --container-format bare --disk-format qcow2 --file IMAGE_URL +``` + +#### Boot a new sever from the snapshot + +In the new project or cloud environment, use the snapshot to create the new instance: + +``` shell +openstack server create --flavor m1.tiny --image myInstanceSnapshot myNewInstance +``` + + +# Launch a server from a volume + +#### Boot instance from volume + +You can create a bootable volume from an existing image, volume, or snapshot. This procedure shows you how to create a volume from an image and use the volume to boot an instance. + +1. List available images, noting the ID of the image that you wish to use. + ``` shell + openstack image list + ``` +2. Create a bootable volume from the chosen image. + ``` shell + openstack volume create \ + --image {Image ID} --size 10 \ + test-volume + ``` +3. Create a server, specifying the volume as the boot device. + ``` shell + $ openstack server create \ + --flavor $FLAVOR --network $NETWORK \ + --volume {Volume ID}\ + --wait test-server + ``` +4. List volumes once again to ensure the status has changed to in-use and the volume is correctly reporting the attachment. + ``` shell + openstack volume list + ``` + ``` shell + openstack server volume list test-server + ``` diff --git a/mkdocs.yml b/mkdocs.yml index 0c30a84a..58ff1f0b 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -209,3 +209,4 @@ nav: - Cloud Onboarding: - Openstack Security Groups: openstack-security-groups.md - Openstack Floating Ips: openstack-floating-ips.md + - Openstack Servers: openstack-servers.md