OpenStack is a free and open source project, used with Infrastructure as a Service (IaaS), that can control your hardware resources in terms of CPU, memory, and storage and provide an open framework for many vendors to build and integrate plugins.
To set up our lab, I will use the latest OpenStack-rdo release (at the time of writing), Queens, and install it onto CentOS 7.4.1708. The installation steps are pretty straightforward, and can be found at https://www.rdoproject.org/install/packstack/.
Our environment consists of a machine that has 100 GB storage, 12 vCPU, and 32 GB of RAM, This server will contains the OpenStack controller, the compute and neutron roles on the same server. The OpenStack server is connected to the same switch that has our automation server and in same subnet. Note that this is not always the case in a production environment...