The container images must be modified with OpenStack patches for overcloud deployment
using Podman.
About this task
The script will download, build and upload the container images using Podman. Podman is
designed by Red Hat to build, manage and run containers. See https://docs.podman.io/en/latest/ for more
information.
Before you begin
The
prepare_podman_images.sh script must be
executed from the directory containing:
- The custom_files directory with the files to be used for generating
Dockerfiles and installing the containers using Podman.
- The default_images.txt file with a list of container images to be
used by OpenStack without any customization.
- The custom_images.txt file with a list of images to be
customized.
Procedure
-
Go the podman directory and run the
prepare_podman_images.sh to download, build and upload the
container images. This script must run as root.
cd tripleo/podman
./prepare_podman_images.sh
Note: This process
takes about an hour. If this process has been interrupted, run the script again. It will
automatically rewrite the existing containers.
Note: If you have the prebuilt
container images, run the following script to upload images to Podman. This script must
run as root in the directory containing the custom_images and the
default_images
directories.
./push_podman.sh
The following command displays
the container images that are pushed to Podman.
sudo podman image list
-
Run the following script to push all images from Podman to the local undercloud
registry. This script must run as root.
./push_registry.sh
An output
example:
...
/containers/storage/overlay-layers/0eac50d24f1b4004689a764f9b221005e5c54da6314b1a4e6f0af569da51651f.tar-split.gz (wrote 370295808 bytes)
+ echo '... END ...'
... END ...
+ sudo openstack tripleo container image list
+----------------------------------------------------------------------------------------+
| Image Name |
+----------------------------------------------------------------------------------------+
| docker://director.ctlplane.localdomain:8787/openstack-neutron-openvswitch-agent:custom |
| docker://director.ctlplane.localdomain:8787/openstack-nova-scheduler:custom |
| docker://director.ctlplane.localdomain:8787/openstack-nova-libvirt:custom |
| docker://director.ctlplane.localdomain:8787/openstack-nova-conductor:custom |
| docker://director.ctlplane.localdomain:8787/openstack-nova-compute:custom |
| docker://director.ctlplane.localdomain:8787/openstack-nova-api:custom |
| docker://director.ctlplane.localdomain:8787/openstack-neutron-metadata-agent:custom |
| docker://director.ctlplane.localdomain:8787/openstack-neutron-l3-agent:custom |
| docker://director.ctlplane.localdomain:8787/openstack-neutron-dhcp-agent:custom |
| docker://director.ctlplane.localdomain:8787/openstack-neutron-server:custom |
| docker://director.ctlplane.localdomain:8787/openstack-nova-novncproxy:default |
| docker://director.ctlplane.localdomain:8787/openstack-heat-engine:default |
| docker://director.ctlplane.localdomain:8787/openstack-heat-api-cfn:default |
| docker://director.ctlplane.localdomain:8787/openstack-heat-api:default |
| docker://director.ctlplane.localdomain:8787/openstack-tempest:default |
| docker://director.ctlplane.localdomain:8787/openstack-glance-api:default |
| docker://director.ctlplane.localdomain:8787/openstack-keystone:default |
| docker://director.ctlplane.localdomain:8787/openstack-horizon:default |
| docker://director.ctlplane.localdomain:8787/openstack-placement-api:default |
| docker://director.ctlplane.localdomain:8787/openstack-iscsid:default |
| docker://director.ctlplane.localdomain:8787/openstack-mariadb:default |
| docker://director.ctlplane.localdomain:8787/openstack-collectd:default |
| docker://director.ctlplane.localdomain:8787/openstack-haproxy:default |
| docker://director.ctlplane.localdomain:8787/openstack-etcd:default |
| docker://director.ctlplane.localdomain:8787/openstack-memcached:default |
| docker://director.ctlplane.localdomain:8787/openstack-rabbitmq:default |
| docker://director.ctlplane.localdomain:8787/openstack-redis:default |
| docker://director.ctlplane.localdomain:8787/openstack-qdrouterd:default |
| docker://director.ctlplane.localdomain:8787/openstack-multipathd:default |
| docker://director.ctlplane.localdomain:8787/openstack-cron:default |
| docker://director.ctlplane.localdomain:8787/openstack-rsyslog:default |
+----------------------------------------------------------------------------------------+