Hi Harald/TripleO Team,

Is there any solution/work around for the problem being faced?

Ensure DNF modules have the right stream | undercloud | item={'module': 'container-tools', 'stream': '3.0'} | error={
    "ansible_loop_var": "item",
    "changed": false,
    "invocation": {
        "module_args": {
            "allow_downgrade": false,
            "autoremove": false,
            "bugfix": false,
            "conf_file": null,
            "disable_excludes": null,
            "disable_gpg_check": false,
            "disable_plugin": [],
            "disablerepo": [],
            "download_dir": null,
            "download_only": false,
            "enable_plugin": [],
            "enablerepo": [],
            "exclude": [],
            "install_repoquery": true,
            "install_weak_deps": true,
            "installroot": "/",
            "list": null,
            "lock_timeout": 30,
            "name": [
                "@container-tools:3.0/common"
            ],
            "releasever": null,
            "security": false,
            "skip_broken": false,
            "state": "present",
            "update_cache": false,
            "update_only": false,
            "validate_certs": true
        }
    },
    "item": {
        "module": "container-tools",
        "stream": "3.0"
    },
    "msg": "No group container-tools:3.0/common available.",
    "results": []
}


On Wed, Mar 23, 2022 at 2:45 PM Anirudh Gupta <anyrude10@gmail.com> wrote:
Hi Harald,

Thanks for sharing the steps and apologies for the late reply.

I tried setting up Local Repo Server and Registry Server on one machine. 
Using that I successfully deployed Openstack Ussuri Undercloud and Overcloud in an offline mode.

Now, in order to test Upgrade from USSURI to VICTORIA, I updated the repo file and podman registry at my local server for Victoria.
On Undercloud , repo file content is as follows:

[tripleo]
baseurl = http://30.30.30.8/software/repos/tripleo_victoria
enabled = 1
gpgcheck = 0
module_hotfixes=1
name = tripleo

where 30.30.30.8 is the IP of my reposerver.

With this I have successfully updated the required packages using the command:
sudo yum update python*-tripleoclient openstack-tripleo-common openstack-tripleo-heat-templates

Also the container image prepare file, now has the following content
parameter_defaults:
  ContainerImagePrepare:
  - push_destination: true
    set:
      name_prefix: openstack-
      name_suffix: ''
      namespace: myserver.com:5000/tripleovictoria
      neutron_driver: ovn
      rhel_containers: false
      tag: current-tripleo
    tag_from_label: rdo_version


But once I run the command "openstack undercloud upgrade", I get the following error
2022-03-23 09:53:24,527 p=380392 u=root n=ansible | 2022-03-23 09:53:24.527073 | 5254007b-2040-558f-a68f-0000000000ac |      FATAL | Ensure DNF modules have the right stream | undercloud | item={'module': 'container-tools', 'stream': '3.0'} | error={
    "ansible_loop_var": "item",
    "changed": false,
    "invocation": {
        "module_args": {
            "allow_downgrade": false,
            "autoremove": false,
            "bugfix": false,
            "conf_file": null,
            "disable_excludes": null,
            "disable_gpg_check": false,
            "disable_plugin": [],
            "disablerepo": [],
            "download_dir": null,
            "download_only": false,
            "enable_plugin": [],
            "enablerepo": [],
            "exclude": [],
            "install_repoquery": true,
            "install_weak_deps": true,
            "installroot": "/",
            "list": null,
            "lock_timeout": 30,
            "name": [
                "@container-tools:3.0/common"
            ],
            "releasever": null,
            "security": false,
            "skip_broken": false,
            "state": "present",
            "update_cache": false,
            "update_only": false,
            "validate_certs": true
        }
    },
    "item": {
        "module": "container-tools",
        "stream": "3.0"
    },
    "msg": "No group container-tools:3.0/common available.",
    "results": []
}

Can you please help in resolving this issue.

Regards
Anirudh Gupta


On Wed, Mar 23, 2022 at 2:06 PM Lokendra Rathour <lokendrarathour@gmail.com> wrote:


---------- Forwarded message ---------
From: Harald Jensas <hjensas@redhat.com>
Date: Wed, Feb 23, 2022 at 9:57 PM
Subject: Re: [TripleO] Offline Installation Support
To: <openstack-discuss@lists.openstack.org>


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:

parameter_defaults:
   ContainerImagePrepare:
   - push_destination: false
     set:
       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
[2]
https://docs.openstack.org/project-deploy-guide/tripleo-docs/latest/deployment/container_image_prepare.html




--