imgsync will download sync images from several distribution repositories and send them to an OpenStack Image service (Glance).
Project description
OpenStack Glance Image Synchronization tool
This application will download images from the official distribution repository, and upload them to OpenStack Glance. It is possible to define custom properties and prefixes for all the synced images.
Available distribution repositories
Currently the following images repositories are supported:
Debian
- Debian 11: https://cloud.debian.org/images/cloud/bullseye/
- Debian 12: https://cloud.debian.org/images/cloud/bookworm/
- Debian testing: https://cloud.debian.org/images/cloud/sid/
Ubuntu
- Ubuntu 18.04: https://cloud-images.ubuntu.com/bionic/
- Ubuntu 20.04: https://cloud-images.ubuntu.com/focal/
- Ubuntu 22.04: https://cloud-images.ubuntu.com/jammy/
- Ubuntu 24.04: https://cloud-images.ubuntu.com/noble
Installation
Install it via PyPI:
pip install imgsync
Or install it from the repo:
git clone https://github.com/alvarolopez/imgsync
pip install imgsync
Configuration
Copy /etc/imgsync/imgsync.conf.sample
into /etc/imgsync/imgsync.conf
and
adjust it your your needs. Take into account the following:
-
You need to configure your OpenStack Keystone authentication under the
[keystone_auth]
section. The user should be able to publicize images in your glance deployment (check your policy file). -
You can define a prefix to be used for all the distribution names with the
prefix
option. -
Additionally you can add some custom image properties, using the
properties
option, that can be repeated multiple times for multiple properties. -
The list of images to be downloaded is configured via the
distributions
option.
Image properties
imgsync
sets a property source=imgsync
to all the images that donwloaded
and synced. This way we can identify if an image is uploaded into glance by us
or by anyone else. This property is hardcoded and cannot be reconfigured or
replaced by something else. Other properties set by imgsync
are are stored with the
imgsync.prefix
(like imgsync.sha256
or imgsync.sha512
)
Nevertheless, it is also possible to define additional properties in the form
"key=value" via the properties
option in the configuration file (you can
specify this option several times).
Therefore, it is important that you configure glance to enable the proper
policy protection rules
so that only the configured user is able to write those properties (i.e. at
least source
, imgsync.sha512
and imgsync.sha256
). Moreover, you need to
configure nova to exclude those properties when nova creates and uploads an
snapshot to glance, via the non_inheritable_image_properties
option in your
/etc/nova/nova.conf
configuration file (again, at least add source
,
imgsync.sha512
and imgsync.sha256
).
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
File details
Details for the file imgsync-2.1.0.tar.gz
.
File metadata
- Download URL: imgsync-2.1.0.tar.gz
- Upload date:
- Size: 16.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.6 Linux/6.8.0-1014-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 86226f26ea1e67b4231b6898c1cc8f40bcebf2952abf6bc8e09deb489f950d48 |
|
MD5 | ad2b4d6e7e4a87ec5c051ee082c28758 |
|
BLAKE2b-256 | 9104009cbf044ded0e6596e870cd52c755ee87be0287d07ee59b11c6ae1619c9 |
File details
Details for the file imgsync-2.1.0-py3-none-any.whl
.
File metadata
- Download URL: imgsync-2.1.0-py3-none-any.whl
- Upload date:
- Size: 22.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.6 Linux/6.8.0-1014-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cfef25421f26a007409683a6b4c2a0f602dbffaa9b96a27285e5e579d1fbf292 |
|
MD5 | 81c86fc2455091ef9239d67fd299e855 |
|
BLAKE2b-256 | 9be64d352d2022c9cb3560844e4dd07ea3dd27f4e9e390cfc3c5fc90d505945a |