We started this chapter with a discussion about various OpenStack SDKs available on the market. We created a development environment by installing the Python SDK for OpenStack called openstacksdk. We then started by writing a simple OpenStack application that lists the available virtual machines running on the compute node. We wrote application programs to interact with the imaging service that uploads and downloads the images, lists images, and deletes images.
We then explored the SDK further to interact with the OpenStack compute service by writing applications to create a key-pair, launch a new virtual machine, start a VM, stop a VM, pause and unpause a VM, and reboot the VM. We also saw how to create an image from a running virtual machine, assign and unassign a security group to and from a VM, assign and unassign fixed and floating IP addresses to the VMs, and create a custom flavor.
Next, we used the SDK to interface with the networking service. We wrote programs to create and...