DCI downloader module
Project description
DCI Downloader
dci-downloader
is a useful tool for downloading the latest versions of Red Hat products
TLDR
$ sudo yum -y install https://packages.distributed-ci.io/dci-release.el7.noarch.rpm
$ sudo yum -y install dci-downloader
$ source ~/dcirc.sh
$ dci-downloader RHEL-8 /tmp/repo
Table of Contents
Requirements
Red Hat SSO
DCI is connected to the Red Hat SSO. You will need a Red Hat account.
Remoteci
A remoteci is a Virtual Machine or a baremetal server running RHEL. You should check that your remoteci:
- Is running the latest RHEL 7 release.
- Has enough free space in the destination folder.
- Should be able to reach:
https://api.distributed-ci.io
(443).https://repo.distributed-ci.io
(443).
Installation
The dci-downloader
is packaged and available as a RPM files.
$ sudo yum -y install https://packages.distributed-ci.io/dci-release.el7.noarch.rpm
$ sudo yum -y install dci-downloader
Limitation
At the moment it is not possible to perform two parallel downloads in two different processes. If you use a configuration file with multiple topics, the download is done synchronously topic after topic.
Configuration
Remoteci creation
DCI is connected to the Red Hat SSO. You need to log in https://www.distributed-ci.io
with your redhat.com SSO account. Your user account will be created in our database the first time you connect.
After the first connection you can create a remoteci. Go to https://www.distributed-ci.io/remotecis and click Create a new remoteci
button. Once your remoteci
is created, you can retrieve the connection information in the Authentication
column. Save those information in ~/dcirc.sh
file.
At this point, you can validate your credentials with the following commands:
$ source ~/dcirc.sh
$ dcictl remoteci-list
If you see your remoteci in the list, everything is working great so far.
Topic access
Before using dci-downloader, we need to check the list of topic (version of the product) you have access to:
$ source ~/dcirc.sh
$ dcictl topic-list
If you don't see any topic then you should contact your EPM at Red Hat which will give you access to the topic you need. /!\ Only RHEL topics are supported at the moment
Usage
You can now download the latest version of a product using dci-downloader.
Example command to download the latest RHEL 8 compose into /tmp/repo folder.
$ dci-downloader RHEL-8 /tmp/repo
Options
By default dci-downloader will download all variants for x86_64 architecture without debug RPMs.
Download other architectures
To download a specific architecture you can specify those using --arch
option
$ dci-downloader RHEL-8 /tmp/repo --arch x86_64 --arch ppc64le
Specific variants
To download only specific variants you can specify those using --variant
$ dci-downloader RHEL-8 /tmp/repo --variant AppStream --variant BaseOS
Download the whole component
To download everything you can add the --all
flag
$ dci-downloader RHEL-8 /tmp/repo --all
Debug RPMs
To download debug RPMs you can add the --debug
flag
$ dci-downloader RHEL-8 /tmp/repo --variant AppStream --debug
Settings file
You can use a settings file to send parameters to parameterize dci-downloader.
Use --settings
parameter:
$ dci-downloader --settings "/etc/dci-rhel-agent/settings.yml"
All settings from settings.yml file will overwrite cli parameters.
Examples of a settings file:
download_folder: /var/www/html
topics:
- topic: RHEL-7.8
archs:
- x86_64
- ppc64le
variants:
- Server
- Server-SAP
- topic: RHEL-8.1
archs:
- x86_64
variants:
- AppStream
- name: BaseOS
with_debug: true
with_iso: false
SSL certificates
dci-downloader downloads SSL certificates prior the download phase. To customize the CRT and KEY path you can change DCI_KEY_FILE
and DCI_CERT_FILE
env variables.
If you are using settings.yml
file change
dci_key_file: /etc/dci-rhel-agent/dci.key
dci_cert_file: /etc/dci-rhel-agent/dci.crt
Proxy
If you are using a proxy, just add HTTP_PROXY
or HTTPS_PROXY
env variable pointing to your proxy.
License
Apache License, Version 2.0 (see LICENSE file)
Help
If something is not working correctly, ensure you have the latest version installed
$ dci-downloader --version
$ dci-downloader --help
Contact
Email: Distributed-CI Team distributed-ci@redhat.com IRC: #distributed-ci on Freenode
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for dci_downloader-2.6.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 51026cdfd28b61372cff06df934b0be2edaab63fa0cffa8eb8013b74404332dc |
|
MD5 | e0a60a99205f7438803af1e6fa606259 |
|
BLAKE2b-256 | 26306ce17244a90a38ff68c6b3f680e05f09081c56e374528fbad17bae9ba570 |