Uplifts promenade to a version that supports specifying a direct url as
the source for a file in the HostSystem and Genesis schema.
Complete list of promenade changes since the last uplift:
* c9862e5 Allow url as source of file to be deployed to host
* d161528 Avoid calico-etcd crashloop
* 77c7624 Fix ubuntu_xenial build (use pip <21.0)
* 630e504 Update to container image repo k8s.gcr.io
* 5e70957 Merge "Makefile; clean should include .tox"
* 946a28d Use HostToContainer mountPropagation
* f29d6df Ignore upstream chart repos when installing Helm
* 2f2a872 Makefile; clean should include .tox
* 922e3b2 Uplift HTK for etcd backup/restore delete archive capability
* de9f841 kube-apiserver: disable http2
Change-Id: Ia054136956d0a6c3ac24ae1658085a62157427ea
When pip is upgraded to 20.3, the pip dependency resolver is much more
strict and will no longer install a combination of packages that is mutually
inconsistent[0].
These changes account for the fact that Pegleg imports Shipyard, Promenade,
and Deckhand. Having said that, with pip 20.3, the pip packages amongst
those projects cannot conflict. A follow-up change may be needed if more
conflicts are found.
[0] https://pip.pypa.io/en/latest/user_guide/#changes-to-the-pip-dependency-resolver-in-20-2-2020
Change-Id: Iedf7227c468d678430a5525a2d71d22ce210c557
Patch PyYAML (via the pylibyaml library) to automatically enable the
LibYAML parser and emitter, which are faster than the Python versions.
https://pypi.org/project/pylibyaml/
Change-Id: Ic48d2234ca3107404d9f883ca6038a12ca06a408
Gates are currently failing due to some python requirement conflicts
in Deckhand and Promenade. Promenade was updated in [0] to address
these. Uplifting Pegleg's version of Promenade to resolve gate
errors.
Additional minor fixes:
- Some formatting addressed in Pipfile to remove duplicated entries
ex: oslo.utils and oslo-utils
- Update the commits of Deckhand Promenade and Shipyard used in
building the Docker image
[0] https://review.opendev.org/#/c/734122/
Change-Id: I370e89f9bdd23eaf2ecddec25ace5cc82f2046d7
Signed-off-by: Alexander Hughes <Alexander.Hughes@pm.me>
This patchset updates pegleg airship clients for shipyard and
deckhand to use the new clients, which support bionic base image.
Change-Id: I266747b84c39984b941afd6454647fe0d5510ca3
Periodic uplift of Pegleg dependencies, notably:
1. deckhand, shipyard, promenade now on latest
2. uplift of other packages in attempt to resolve security scans
identified on quay.io [0]
[0] https://quay.io/repository/airshipit/pegleg?tab=tags
Change-Id: Id4a2a61fe1748b865e6eca55ea7ce13686855497
This patch uplifts promenade and deckhand versions Pegleg consumes.
Also included are minor package updates.
Change-Id: I1921ae8e215031e36b024ed3badafa67a1f43beb
Upgrades Deckhand to revision supporting six 1.12.0
https://review.opendev.org/#/c/677272/
Installs python3 and overrides python3-six version in OpenSUSE image
Reenables OpenSUSE image build gate
Change-Id: Id72dad8e3668d77b06aa8af4278fcdff0cb678eb
A recent change to implement Pipenv caused VCS dependencies (Promenade,
Deckhand, and Shipyard) to not be fully installed in Docker images. This
change removes the "editable" tags from the VCS dependencies to ensure a
full install as having "editable" enabled will only install dependencies
in development mode.
Unfortunately, the "editable" tag is required to install the
requirements.txt for a VCS dependency. To get the lower-level
dependencies installed from VCS dependencies, I implemented a few
commands in the Dockerfiles to retrieve the appropriate requirements.txt
and install them before fully installing Pegleg. An upcoming release of
Pipenv will fix the existing problems with VCS dependency resolution at
which point this temporary solution may be removed.
Adds manual installation of VCS dependency requirements.txt in Docker
Removes "editable" tags from VCS dependencies
Moves docker package to deployment packages from dev packages
Adds .env file to track VCS refs used by Docker for requirements.txt
Change-Id: Ifdb1fe960b32280dcb3c5308e56b2d608f848975
Pipenv is a tool that brings better package dependency management to
python. It can automatically create and manage virtualenv as well as
managing package dependencies using Pipfile and Pipfile.lock. Adding
this dependency manager into Airship projects will decrease package
version conflicts between projects and help increase security through
hash validation of packages and vulnerability scans.
Changes:
- Imports requirements.txt type files into Pipfile
- Pipenv dependency management in tox
- Switches Safety package for "pipenv check", an implementation of
Safety
- Adds `-e` flag on VCS dependencies to resolve good versions on all
packages
- Unpins or loosens pins on "dev"-type packages
Pipenv Docs: https://docs.pipenv.org/en/latest/
Helpful Pipenv Guide: https://realpython.com/pipenv-guide/
Change-Id: I47e7e7b440d76103b4984499e6ffce4482a59353