OpenSUSE LEAP is currently not in use by any known downstream
users and it has been broken for quite sometime, leaving the gate
in a broken state and unable to land any code. There's no active
maintainer for it as well.
Debian support was added by us (VEXXHOST) but we decided that
we're not going to continue using it and move towards Ubuntu, so
we do not want to maintain it, as well as that it is building images
for Train only.
It also updates the README file accordingly as well as includes
focal in there which has been recently added.
Change-Id: Ideb497c169828184d301b6be4359a7c2228aa444
The README currently contains some information about base linux
distros that are either no longer used or older and not supported
by loci. This change removes the list of supported distros in
favor of a more generic description.
Change-Id: I106ca7de063cfd62060da7b47dc728b18575c705
Also fixes related issue with distutils installation for Debian Stretch
and Ubuntu Xenial with py3: unlike in Bionic, distutils is installed with
python3 and python3-distutils package is not available in these distributions.
Run Debian build with py3 against stable/train, as master requires at
least python3.6, not available for distribution out of box.
Also increases job timeout to 5400 due to increased amount of builds.
Change-Id: I04c9253af80d941afb45231bee20f7bb1c4a96d4
The patch adds KEEP_ALL_WHEELS set to False by default.
The flag allows to do not remove wheels after built of
requirement image. This is useful where reproducibility
of builds with the same WHEEL image is needed as will allow
to keep 3rd party libs (not specified in upper-constraints.txt)
file with same versions.
Change-Id: I00fd3df2ba46072b3f19c9d08f69bb3c1f53d01f
In Change I7290203d80461f46ed70d5e3bea55c9765f9e746 ubuntu was renamed
to ubuntu_xenial and ubuntu_bionic was introduced
Update docs to reflect this new location
Change-Id: I869e323413b03ee2f343f1777ea062e27809ab3f
Adds the \ line delimiter for the service image build example in
README.md. This prevents only half of the command being executed
if the example is copy pasted into a terminal.
Change-Id: Id04e8679a1979da9cd0a88e652465f915fd0bf28
Introduces image build for bionic with py3 and nautilus.
Switches centos to py3 and fixes related issues.
Xenial is now run with stable/ocata.
Adds ability to skip specific build for particular component specifying
"supported_releases" in zuul component configuration. Sets
supported_releases for placement not available for releases prior to
Stein.
Removes redundant parameters for project reference using defaults
instead, as they relate to loci project, not to project we build
with loci. Also hard-codes parameters in playbooks/vars.yaml, making
it a definitive build configuration.
Change-Id: I7290203d80461f46ed70d5e3bea55c9765f9e746
Currently we don't pass release name to bindep to determine python
dependencies, and even more, we don't possess this information with
current build arguments.
Change-Id: Icf657ca8e82cd7ccdde8a18674f75370afa0a585
Loci requires that base images be prepared with some
common tools and repositories. This patch updates the
README to indicate that stock vendor images will not work
and that the base images must be built.
Change-Id: I9bd41f116978e501f0dec9e52f870c81224c0660
If you want to run a docker registry for development purposes with
self-signed certificates, and use this registry to push your
requirements wheel, the loci build process would fail at fetching the
wheels.
This brings support for self-signed certificates registries by:
- Allowing to skip protocol_detection: If protocol_detection happens on
a https registry, urllib2 would not throw an HTTPError or URLError,
and protocol returned by default would be HTTP, which would then cause
issues by not using SSL to fetch data. There is no point to "detect"
things if we provide an argument to the users.
- If the protocol is correctly given as HTTPs, no certificate is passed
into the urllib ssl contexts by default, which would only work with
globally valid certificates. This patch also adds an option to bypass
the verification of certificates when the user provides
`REGISTRY_SSL_NOVERIFY`.
Change-Id: Ib00bbc9cc63d70a88dbf8b23a518553d6134d332
There are microbadger.com images for the different distibutions listed
in the "Keystone Image Layer Info" section. Add openSUSE there as
well.
Also sort the listed distros by name and prefix the images with the
distro name so it is more obvious which image is for which distro.
Change-Id: I50958ac839f51e7ad91312a0899a20c12c38229a
This ps adds new argument PIP_WHEEL_ARGS
- allows additional parameters for pip wheel
- defaults to PIP_ARGS
Also use PIP_ARGS with all pip installs
Useful when building requirements image with local pip mirrors
Change-Id: I43c6b921467150509d013554aaa1983f30abedff
Loci now supports OpenSuse. Added documentation expanding on supported
distributions and how to use the FROM argument.
Change-Id: Ifef14545bfa58b194082aa4e6e1ebbe43c15ce29
Without this patch, it is not possible to have your own
bindep or pydep file, and you must rely on what is in tree.
This is a problem for deployers that want to bring their own
bindep file, as they would need to fork the repository or
'taint it' by altering its content before building.
This patch introduces new parameters, EXTRA_BINDEP and
EXTRA_PYDEP, whose contents are path of files to be copied
into the containers. These parameters will be chained
(added on top of) the default *dep files.
In the current status Docker doesn't allow multiple files
to be passed as argument, and therefore the ability of
overrides is limited, but should be enough to allow deployers
to provide ONE file on top of existing bindep/pydeps.
Change-Id: I7e9f7954bb3c31dd8fee87c253a8768c6ec52b5c
LOCI build requires a docker version >= 17.0.5 to work,
due to the FROM given as argument (See this new feature
in the 17.0.5 release changelog [1])
Without this patch, a new contributor might think the image
building is broken, while LOCI works perfectly fine.
This patch solves the problem by being explicit in the minimum
required version.
[1]: https://docs.docker.com/release-notes/docker-ce/#17050-ce-2017-05-04
Change-Id: I4ebdcbd641607ffce3a20731cbf035c7a9a9af65
It's important to specify WHEELS when building a distro other than the
default. This was missing from the README example.
Change-Id: Id1ab77b14e6efcc14d6e043d3c2d38883d072809
for example, in order to speed up, use the mirror of pypi:
--build-arg PIP_ARGS="-i https://pypi.tuna.tsinghua.edu.cn/simple"
Change-Id: I7f975c04c4dfd5b18d37a3f4b152a053374a79aa
* Fix the microbadges
* Wrap commands to 100 lines so github doesn't show a horizontal scroll
bar
* Break out the example for building from a different base so its more
clear
* Fix a typo and add some backticks around inline code blocks
Change-Id: Ib5144cc34e5c9968c333caf9a1083c78f86ae652
This PS adds the ability to install arbitary distrobution
packages via args, allowing development and deployment helper
utilities to be simply included in an image.
Change-Id: Id3ce8bceda185978e1d1843072aac44f49b3d95a
The secret needed to be updated to make this work. Now we are pushing to
quay.io as well, both under the same loci namespace
Change-Id: I086aec21c2ebe69bcdf0aa25749280d8878f946d
PYPI_PACKAGES isn't accurate since we are building from a set of wheels
and we never actually reach out to a pypi mirror. PIP_PACKAGES is more
accurate for the situtation.
I also stopped passing variables to the script but rather call the
variable directly in the script.
Change-Id: I7e2b35ac06f590c2013b030bd8166f87d639424c
I removed the Docker Hub building because that is no longer strictly
true. HOWEVER, as soon as zuulv3 turns back on, we will be publishing in
the 'post' pipeline to DockerHub. Code has already merged for this. Once
that happens, I will amend the docs again.
Change-Id: I38103df6658f2e44df15deabdfd3e67904789874
Wrap source lines so that lines length does not exceed 79 characters.
This requirement matches PEP8 standards (from Python) and helps with
side-by-side diffs on reviews. [0]
[0] https://docs.openstack.org/contributor-guide/rst-conv/general-guidelines.html
Change-Id: I598e25272ae396bb49883f19fc4ef67662652145