diff --git a/.markdownlint.json b/.markdownlint.json deleted file mode 100644 index aa7504e1..00000000 --- a/.markdownlint.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "default": true, - "MD013": { - "line_length": 140, - "code_block_line_length": 300 - } -} diff --git a/.zuul.yaml b/.zuul.yaml index 14c5b5fe..62514379 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -38,7 +38,6 @@ - flake8 - hadolint - integration-test - - markdownlint - mypy - tox: vars: @@ -50,7 +49,6 @@ - flake8 - hadolint - integration-test - - markdownlint - mypy - tox: vars: @@ -65,7 +63,6 @@ - flake8 - hadolint - integration-test - - markdownlint - mypy - tox: vars: diff --git a/README.md b/README.md index 4b78a733..e1907d0f 100644 --- a/README.md +++ b/README.md @@ -5,4 +5,4 @@ Easily manage and keep up to date a large number of images on an OpenStack environment -Documentation: +Documentation: diff --git a/doc/configuration.md b/doc/configuration.md deleted file mode 100644 index 730bff5e..00000000 --- a/doc/configuration.md +++ /dev/null @@ -1,135 +0,0 @@ -# Image definitions - -The configuration consists of different parameter settings, such as values for -minimum RAM or the visibility of the image. Have a look at the examples below -for all parameters. After a change to the configuration, validate it with -**tox -- --dry-run**. - -## Image with regular rebuilds - -This type of image definition is used for images that are rebuilt at regular -intervals. For example, this is the case for the daily builds of the Ubuntu -images. - -The attribute ``multi: true`` is set. - -With this type of image definition, the version of the distribution (or product, -whatever is contained in the image) used is already in the name of the image -definition. The ``version`` properties from the definition's ``versions`` list -are appended only to older iterations of the image as timestamp suffixes -in parentheses upon each rotation (except for the latest entry). - -```yaml -images: - - name: Ubuntu 16.04 - format: qcow2 - login: ubuntu - min_disk: 8 - min_ram: 512 - status: active - visibility: public - multi: true - meta: - architecture: x86_64 - hw_disk_bus: scsi - hw_scsi_model: virtio-scsi - hw_watchdog_action: reset - os_distro: ubuntu - os_version: '16.04' - tags: [] - versions: - - version: '20180928' - url: https://cloud-images.ubuntu.com/xenial/20180928/xenial-server-cloudimg-amd64-disk1.img - - version: '20181004' - url: https://cloud-images.ubuntu.com/xenial/20181004/xenial-server-cloudimg-amd64-disk1.img -``` - -This configuration creates the following images: - -* **Ubuntu 16.04 (20180928)** -* **Ubuntu 16.04** - -If a newer build is added, the following rotation takes place: - -* **Ubuntu 16.04 (20180928)** does not change -* **Ubuntu 16.04** becomes **Ubuntu 16.04 (20181004)** -* the new image becomes **Ubuntu 16.04** - -By default the last three images will be visible. When a fourth image is added, the visibility of -the last image in the list is changed to **community** and the image can be deleted in the future. - -## Image without regular rebuild - -This type of image definition is used for images that are not rebuilt. For example, -this is the case for the flatcar images. For each release of Flatcar there is exactly -one image which will not be rebuilt in the future. - -The attribute ``multi: false`` is set. - -With this type of image definition, the version of the distribution (or product, -whatever is contained in the image) used is not in the name of the image definition. -Instead, the ``version`` properties from the image definition's ``versions`` list -are appended as static version suffixes to the images' names. - -```yaml -images: - - name: RancherOS - format: qcow2 - login: rancher - min_disk: 8 - min_ram: 2048 - status: active - visibility: public - multi: false - meta: - architecture: x86_64 - hw_disk_bus: scsi - hw_scsi_model: virtio-scsi - hw_watchdog_action: reset - tags: [] - versions: - - version: '1.3.0' - url: https://github.com/rancher/os/releases/download/v1.3.0/rancheros-openstack.img - - version: '1.4.0' - url: https://github.com/rancher/os/releases/download/v1.4.0/rancheros-openstack.img - - version: '1.4.1' - url: https://github.com/rancher/os/releases/download/v1.4.1/rancheros-openstack.img -``` - -This configuration creates the following images: - -* **RancherOS 1.3.0** -* **RancherOS 1.4.0** -* **RancherOS 1.4.1** - -If a new version is added, no rotation takes place. The new version is added -as **RancherOS x.y.z**. Here also the visibility of older images is not changed. - -## Modify image properties - -* Removal of properties is not yet possible -* URL, name and format can not be changed -* Any keys can be added to **meta**, these will be added to the image -* Existing keys in **meta** can be changed, the same applies to **min_disk** - and **min_ram** - -## Modify image tags - -You can tag images like described in the Usage section or you can add or remove tags to the **tags** list. - -## Deactivate/reactivate image - -* deactivation: change **status** to **deactivated** -* reactivation: change **status** to **active** - -Also you can deactivate images like described in the Usage section. - -## Visibility - -A full documentation about the visibility of images you can find in the -[OpenStack API Documentation](https://developer.openstack.org/api-ref/image/v2/index.html) --> **Image visibility** - -* public: set **visibility** to **public** -* community: set **visibility** to **community** -* shared: set **visibility** to **shared** -* private: set **visibility** to **private** diff --git a/doc/contribute.md b/doc/contribute.md deleted file mode 100644 index 126a0d76..00000000 --- a/doc/contribute.md +++ /dev/null @@ -1,8 +0,0 @@ -# Contribute - -For contributing to this project, please create pull requests or issues in this GitHub -[OpenStack Image Manager](https://github.com/osism/openstack-image-manager) repository. -To prioritize the import of a new image [Contact Us](mailto:info@osism.tech) with reference to the created pull request. -If you want to contribute to this documentation please do the same like described above. - -After creating a pull request, please check the result of the Zuul Pipelines and correct any errors identified. diff --git a/doc/images/logo.png b/doc/images/logo.png deleted file mode 100644 index caa300eb..00000000 Binary files a/doc/images/logo.png and /dev/null differ diff --git a/doc/overview.md b/doc/overview.md deleted file mode 100644 index 2213b2cf..00000000 --- a/doc/overview.md +++ /dev/null @@ -1,33 +0,0 @@ -# Overview - - - -The OpenStack Image Manager is an easy to use Application for managing all images in the OpenStack horizont. - -## Mirroring of images - -Since the upstreams often only keep their images for a short time, we mirror most of the images on our **minio.services.osism.tech** -mirror. This makes us independent of the availability of the images in the individual upstreams. - -## Updating images - -Some of the images are automatically updated by a CI job. The latest available build at the time of the CI job execution is mirrored and -made available as the current version. - -Currently, the following images are updated once a week (every Sunday at 0 am): - -* Almalinux -* CentOS -* Debian -* Rockylinux -* Ubuntu - -## Mapping to SCS Image Metadata - -The value of **login** is stored as **image_original_user** in the metadata of an image. - -If **image_description** is not set as meta information, **image_description** is set to the name of the image. - -The value of **build_date** of a specific version of an image is stored as **image_build_date** in the metadata of an image. - -The value of **url** of a specific version of an image is stored as **image_source** in the metadata of an image. diff --git a/doc/quickstart.md b/doc/quickstart.md deleted file mode 100644 index 91294d2f..00000000 --- a/doc/quickstart.md +++ /dev/null @@ -1,66 +0,0 @@ -# Getting started - -This quickstart guide will upload a single, small, private image to your OpenStack. - -## Installation - -First, you need to install the `openstack-image-manager`. You can either use pip: - -```sh -pip3 install openstack-image-manager -``` - -Or you can clone the repository from https://github.com/osism/openstack-image-manager -and run it via `tox`: - -```sh -tox -- --help -``` - -## Uploading an image to your OpenStack - -To be able to upload an image to your OpenStack, you need to have at least one config file. - -### Create a config - -Create a config file ending with _.yml_ in a directory, e.g. _~/images_ - -```yaml ---- -images: - - name: MyCirros - format: qcow2 - login: cirros - password: gocubsgo - min_disk: 1 - min_ram: 32 - status: active - visibility: private - multi: false - meta: - architecture: x86_64 - hw_disk_bus: scsi - hw_rng_model: virtio - hw_scsi_model: virtio-scsi - hw_watchdog_action: reset - os_distro: cirros - replace_frequency: never - uuid_validity: none - provided_until: none - tags: [] - versions: - - version: '0.6.0' - url: https://github.com/cirros-dev/cirros/releases/download/0.6.0/cirros-0.6.0-x86_64-disk.img - checksum: "sha256:94e1e2c94dbbae7d4bdc38e68590a1daf73c9de2d03dd693857b4b0a042548e8" - build_date: 2022-09-28 -``` - -### Run the image manager - -Run the manager against an OpenStack cloud (here called _my-cloud_). -Only run it against config files where the name matches _Cirr_. -Also provide the location of your image files (_~/images/_). - -```bash -openstack-image-manager --cloud my-cloud --filter ".*Cirr.*" --images ~/images/ -``` diff --git a/doc/requirements.md b/doc/requirements.md deleted file mode 100644 index 1d93aa1c..00000000 --- a/doc/requirements.md +++ /dev/null @@ -1,48 +0,0 @@ -# Requirements - -## OpenStack image service - -The image service for OpenStack is called Glance. This service is needed to upload and discover data assets that are used by other -services. You can configure the Glance service as you need. - -> **Note:** -> See upstream glance documentation for more details: - -Since this script stores many images in a project, the Glance quota must be set accordingly high or to unlimited. - -```ini -[DEFAULT] -user_storage_quota = 1TB -``` - -With most storage backends it makes sense to convert the imported images directly to RAW. So it is required for using Ceph and it´s -features too. Recited from the Ceph documentation and -: - ->"The raw data format is really the only sensible format option to use with RBD. Technically, you could use other QEMU-supported formats ->(such as qcow2 or vmdk), but doing so would add additional overhead, and would also render the volume unsafe for virtual machine live ->migration when caching (see below) is enabled." -> ->"Important Ceph doesn't support QCOW2 for hosting a virtual machine disk. Thus if you want to boot virtual machines in Ceph (ephemeral ->backend or boot from volume), the Glance image format must be RAW." - -This requires the following parameter for the image import workflow. - -```ini -[taskflow_executor] -conversion_format = raw - -[image_import_opts] -image_import_plugins = ['image_decompression', 'image_conversion'] - -[image_conversion] -output_format = raw -``` - -## S3 storage backend - -If the mirror functionality is used, an S3 storage backend is required. The use of the mirror functionality is optional and is not -used by default. S3 Storage Backend can store files without a size limitation. It is accessible via APIs. -With S3, among other things, versioning and fine grained access rights can be configured. - -Therefore, no S3 storage backend is required to use the OpenStack Image Manager. diff --git a/tox.ini b/tox.ini index 30cec98f..46e17035 100644 --- a/tox.ini +++ b/tox.ini @@ -28,9 +28,3 @@ commands = [testenv:update] commands = python openstack_image_manager/update.py {posargs} - -[testenv:docs] -deps = - -r{toxinidir}/doc/requirements.txt -commands = - sphinx-build -b html doc/source doc/build/html