[TripleO] Offline Installation Support

Harald Jensas hjensas at redhat.com
Wed Feb 23 16:20:33 UTC 2022

On 2/16/22 13:58, Anirudh Gupta wrote:
> Hi Team,
> We have successfully done POC on deploying my TripleO Train HA Setup 
> with Baremetal Provisioning on Overcloud Node as well.
> We would like to thank Tripleo community members for helping us and 
> resolving all our concerns at all times.
> Moving forward, we need to deploy the setup on the Lab environment for 
> which I need some support as well.
> We don't have internet in Lab machines, all that we have is access to a 
> central server (staging) which has internet access and we can download 
> all the requirements over there.
> Queries:
>   * Is there any feasible method to install Undercloud and Overcloud
>     Machines in complete offline mode?
>   * If yes, then
>      1. What are the steps to download all related stuff on the staging
>         server?

I don't know the exact steps, and I am not aware of upstream 
documentation page explaining this.

You will probalby want to use the 'rsync' tool to sync RDO RPM 
repositories and create a local repo on you staging machine. Sync 
packages, use `createrepo` tool to generate yum/dnf repo metadata. Then 
set up a webserver to make the repository available over HTTP. Search 
the internets for "Create local RPM repository / mirror", there are many 
generic guides that will help you.

For containers you need to set up a local container registry. Then I 
would suggest useing the `skopeo`[1] tool to sync containers from the 
public registry to your local registry.

>      2. What modifications would be required in undercloud/overcloud and
>         other configuration files to support this?

You need to set up the undercloud to use the RPM repositries on the 
staging server. Put config in /etc/yum.repos.d/*.repo files. Once the 
overcloud is deployed you would want to add the repo config there as well.

You need to use a custom containers-prepare file when deploying the 
undercloud and overcloud, you must set the namespaces to point to your 
local registry. Something like this:

   - push_destination: false
       name_prefix: openstack-
       name_suffix: ''
       namespace: staging.example.com:5000/tripleotrain
       neutron_driver: null
       tag: current-tripleo

I would suggest generating the container prepare env file with the 
`openstack tripleo container image prepare` command[2] and then edit the 
generated file.

[1] https://github.com/containers/skopeo

More information about the openstack-discuss mailing list