tpaexec download-packages v23
The purpose of the downloader is to provide the packages required to do a full installation of a TPA cluster from an existing configuration. This is useful when you want to ship packages to secure clusters that do not have internet access, or avoid downloading packages repeatedly for test clusters.
The downloader will download the full dependency tree of packages required, and the resulting package repository will include metadata files for the target distribution package manager, so can be used exclusively to build clusters. At this time package managers Apt and YUM are supported.
The download-packages feature requires Docker to be installed on the TPA host. This is because the downloader operates by creating a container of the target operating system and uses that system's package manager to resolve dependencies and download all necessary packages. The required Docker setup for download-packages is the same as that for using Docker as a deployment platform.
An existing cluster configuration needs to exist which can be achieved
tpaexec configure command. No specific options are required
to use the downloader. See configuring a cluster
Execute the download-packages subcommand to start the download process. Provide the OS and OS version that should be used by the downloader.
This can also be expressed as a specific docker image. It is strongly recommended that you use one of the tpa images prefixed like the example below.
The downloader will place files downloaded in the directory
by default. It is possible to download to alternative directory by using
The contents of the
local-repo directory is populated with a structure
determined by ansible according to the OS contained in the docker image.
For example, the docker image
tpa/redhat:8 would have the following:
You can use this in the cluster as is or copy it to a target control node. See recommendations for installing to an air-gapped environment. A local-repo will be detected and used automatically by TPA.
If there is an error during the download process, the command will leave
behind the downloader container running to help with debugging. For
instance you may want to log in to the failed downloader container to
inspect logs or networking. Downloader container is typically named
$cluster_name-downloader unless it exceeds the allowed limit of 64
characters for the container name. You can check for the exact name by
docker ps to list the running containers and look for a container
name that matches your cluster name. In most cases you can log in to the
running container by executing
docker exec -it $cluster_name-downloader /bin/bash.
After the inspection, you can clean up the left over container by running the
download-packages command with
--tags cleanup. For example: