I recently needed to install Openstack in lab environments with very limited or no internet connectivity. This is also a very fast way to install multiple nodes without having to download packages from the internet on each individual server. So even if you have internet connection in your lab, it might be worth doing this to save time. Once your repos are local, a packstack install is REALLY fast!!!
Here is how I did it:
1. Download all the packages on a server with internet connectivity:
subscription-manager register subscription-manager subscribe --pool=[your_pool_id]
(you can find your pool ID by running: subscription-manager list –available –all)
Then, enable all the channels that you will want to download. For Red Hat Enterprise Linux Openstack 6 (Juno), you will need the following repos:
subscription-manager repos --enable rhel-7-server-rpms --enable rhel-7-server-openstack-6.0-rpms
Once you have all the channels you want enabled, sync these channels locally. In my example here, I will later provide my packages from this server over HTTP, so I will right away download my packages in my html folder under ./repos.
yum install yum-utils httpd reposync --gpgcheck -lnm --repoid=rhel-7-server-rpms --download_path=/var/www/html/repos reposync --gpgcheck -lnm --repoid=rhel-7-server-openstack-6.0-rpms --download_path=/var/www/html/repos
You could also backup these packages and move them to any other server to deliver them over HTTP from an internal web server. Once your packages are in the right location, create your repos using the following commands:
yum install createrepo
Copy your file in /var/www/html/repos (if you are moving them to a different server)
createrepo -v /var/www/html/repos/rhel-7-server-rpms createrepo -v /var/www/html/repos/rhel-7-server-openstack-6.0-rpms
Finally, to use these repos from your servers on your internal network (without internet access), add the following configuration file: /etc/yum.repos.d/local.repo
[rhel-7-server-rpms] name = Red Hat Enterprise Linux 7 Server (RPMs) baseurl = http://--your_web_server_ip--/repos/rhel-7-server-rpms enable = 1 gpgcheck = 0 sslverify = 0 [rhel-7-server-openstack-6.0-rpms] name = Red Hat Enterprise Linux 7 Server (RPMs) baseurl = http://--your_web_server_ip--/repos/rhel-7-server-openstack-6.0-rpms enable = 1 gpgcheck = 0 sslverify = 0
Test this out:
yum repolist yum update -y reboot yum install openstack-packstack .....
Refer to my openstack installation procedure from here.
You are good to go. Obviously, there is much better solutions than this available like Satellite or Red Hat Openstack installer. But I know that sometimes when playing in labs, your laptop or very secured area, having an easy offline option can be very helpful.