A list of top frequently asked OpenStack interview questions and answers are given below.
1) What is OpenStack?
OpenStack is a free and open source software cloud computing platform. It is a set of software tools that is used for managing and building cloud computing platform for private and public cloud.
OpenStack is referred as the future of Cloud Computing.
2) What are the modular architectural components of OpenStack?
There are three components that make modular architecture of OpenStack:
- OpenStack Compute: It manages large networks of the virtual machine.
- OpenStack Object Storage: It is a storage system that provides support for both block storage and object storage.
- Image Service: It provides discovery and registration for virtual disk images.
3) What are several OpenStack services? Explain.
What are the key components of OpenStack?
A list of OpenStack services:
- Keystone: It provides authorization and authentication for users.
- Glance: It manages images in different formats.
- Cinder: It provides persistent block storage.
- Neutron: It enables users to create and attach interfaces to networks.
- Nova: It provides instances on user’s demand.
- Swift: It specifies that storage platform integrated directly into applications.
- Ceilometer: It specifies Openstack for billing.
- Heat: It allows automated infrastructure deployment.
4) What are the advantages/benefits of using OpenStack?
Advantages/Benefits of using OpenStack:
- OpenStack can be used to develop any software as a service (SAAS) applications, for new developments or to improve existing solutions.
- It can be used as a strong foundation to deliver self-service storage to IT users.
- It provides easy to handle storage at lower costs.
- It can deliver on-demand objective or block storage with higher scalability.
- An enterprise can save a lot of licensing fees by switching virtual machines running on VMware to OpenStack.
5) What is the use of “role” and “tenant” in OpenStack?
In OpenStack, “tenant” specifies a group of users while “role” specifies the authorization level of the user.
6) What are the storage types allowed by OpenStack compute?
OpenStack supports two types of storage:
1. Persistent Storage or volume storage
2. Ephemeral Storage
Persistent Storage / Volume Storage: It is persistent and independent of any particular instance. This storage is created by users. There are three types of persistent storage:
- Object storage: It is used to access binary objects through the REST API.
- Block storage: It offers access-to-block storage devices by affixing volumes their current VM instances.
- Shared File System storage: It provides a set of services to manage multiple files together for storage and exchange with multiple users at one time.
Ephemeral Storage: The ephemeral storage specifies a single instance. It is a temporary and short-lived storage that is disappeared once the VM is terminated.
7) What is hypervisor? What type of hypervisor does OpenStack supports?
Hypervisor is a piece of computer software or hardware that is used to create and run virtual machines. The virtual machines are defined on host machine.
A list of hypervisor that supports OpenStack:
- Xen and HyperV
8) Which is the most important identity service in OpenStack?
Keystone is the most important and preferred Identity Service in OpenStack. It executes the complete OpenStack Identity API.
9) What are the basic functions of Identity service in OpenStack?
Following are the two basic identity service in OpenStack:
1. User Management: It tracks the users and their permissions.
2. Service Catalog: It provides a catalog of available services with their API endpoints.
10) What is the networking options used in OpenStack?
Following are the networking options used in Open Stack:
- Flat Network Manager: It is used to fetch IP addresses from the subnet for VM instances, and then injected into the image on launch.
- Flat DHCP Network Manager: It is much similar to the first one and used to fetch IP addresses from the subnet for VM instances but IP addresses to VM are assigned via DHCP (Dynamic Host Configuration Protocol).
- VLAN Network Manager: VLAN provides more secure and separate network to VMs. It has a physical switch to offer separate virtual network and separate IP range and bridge for each tenant. It is more preferable choice.
11) Which commands are used to pause and un-pause (resume) an instance?
For Pausing: $nova pause INSTANCE_NAME
For Un-pausing: $novaunpause INSTANCE_NAME
12) What are the storage locations for VM images in OpenStack?
Storage locations for VM images:
- OpenStack Object Storage
- RBD or Rados Block Device
13) What is Token in OpenStack?
Token is a type of authentication like password-based validation. It is generated when the user inserts the credential and authenticate as a keystone user then Tokens can be used to access OpenStack services without any revalidation.
14) How can you create a Token?
Users first need to authenticate their Keystone credentials to create a token.
15) What is OpenStack Python SDK?
Python SDK (Software Development Kit) is used to help users to write applications for performing automation tasks in Python by calling Python objects.
It provides a platform to work with multiple OpenStack services at one place.
16) What is the role of API server in OpenStack?
In OpenStack, an API server provides an interface for the external world to interact with the cloud infrastructure.
17) What are the commands used to generate key pairs in OpenStack?
Commands used to generate key pairs in OpenStack:
- nova keypair-add -pub_key id_rsa.pub mykey
18) Which hardware is required for networking in OpenStack?
In OpenStack,networking can be done with following hardware:
- Vendor Plugins
19) Which command is used to manage floating IP addresses in OpenStack?
20) What is the use of Cinder Scheduler in OpenStack?
Cinder Scheduler or routing volume is used to create requests to the appropriate volume service.
21) Which command is used to list IP address information?
$ nova floating-ip-pool-list
22) Explain the term “flavor” in OpenStack?
The term “flavor” is an available hardware configuration for a server, which defines the size of a virtual server that can be launched.