Commit Graph

42 Commits

Author SHA1 Message Date
Sergiy Markin b1ca8d08aa Airflow stable 2.8.2
This PS bumps up Airflow version to the latest
2.8.2 and also bumps up openstack dependences to
Antelope 2023.1

Change-Id: I1ab801527dacb7c667caf1d459d71f9df522cef6
2024-02-26 21:23:10 +00:00
Sergiy Markin 5470976d4a Airflow stable 2.8.1
Change-Id: I5e78501487e0e1cd3ec1be657f96b80ce951637c
2024-02-23 19:57:08 +00:00
Sergiy Markin eb96649b61 Airflow stable 2.6.2
This PS updates python modules and code to match Airflow 2.6.2

- bionic py36 gates  were removed
- python code corrected to match new modules versions
- selection of python modules versions was performed based on
  airflow-2.6.2 constraints
- a new pegleg validation gate was created based on airskiff deploy
  pipeline from treasuremap v1.9

Change-Id: Icc96deb0b745eaab7a19d83b00aad909dcd28c25
2023-08-30 16:07:28 +00:00
Sergiy Markin fd5b16778a Pegleg updates
This PS increases docker image build timeout and restored bionic image
publishing.

Change-Id: I127eaadc0c69b86cf180f5663d618ff85d3a29fa
2023-08-25 23:15:19 +00:00
Sergiy Markin 0f2ab241f9 Restored ubuntu_bionic image build
This PS restores image build for ubuntu_bionic and adds appropriate
gates to keep it tested by appropriate functional and integrational
tests.

Change-Id: Id31d97ced8732d823937fb1f218e7ad8760d735c
2023-06-07 21:02:28 +00:00
Sergiy Markin c052d40277 Pegleg focal upgrade
This PS delivers focal version of Pegleg image and has the following updates:
- removed release-notes-jobs-python3 gate job because of incompartibility with Sphinx from current requirements
- added focal gate node and switched gates to use it
- added bindep.txt file into project root
- added bindep role into gate jobs
- added ubuntu_focal dockerfile for building focal pegleg image
- switched tox profiles to py38
- uplifted references to shipyard_client, promenade and deckhand projects
- resolved required dependencies conflicts by weakening constraints in Pipfile
- updated tox profile update-requirements for generate requirements.txt and test-requirements.txt
- generated new Pipfile.lock, requirements.txt and test-requirements.txt from Pipfile
- switched tox profiles to use requirements.txt and test-requirements.txt instead of pipenv because of upstream zuul nodes Pypi mirrorring issue
- updated reference to seaworthy site certificates in treasuremap repo
- fixed unit tests issues caused by pytest/mock updates and new openssl version
- fixed focal docker image publishing issue
- added multiprocessing into coverage tests running process
- made unit and coveraget tests more verbosive

Change-Id: I5c4c519dc725cfb8c7b4e14756347c9336028aff
2023-05-02 15:05:45 +00:00
Ruslan Aliev 6833800ecc Uplift k8s, promenade and shipyard dependencies
* disable python 35, leave only 36
* switch to bionic nodeset only
* update requirements.txt, Pipfile and lock

Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Change-Id: Ia3c4df9d1f39f0f2cebf8ba0d89aebc5eec6f674
2022-07-20 18:40:42 -05:00
Phil Sphicas 2dc409f8cd Make xenial image jobs non-voting
Update Zuul config to make the xenial image jobs non-voting.

Change-Id: Id27cb2aa695d0d7535ac1b1501c06ac1d7a82680
2021-10-20 10:25:51 -07:00
Rick Bartra 742e12c638 fix: Fix Pegleg pep8 gate
This commit updates the Pegleg pep8 gate to use Ubuntu 18.04 (bionic) as
the base Ubuntu image for the job. Upstream CI has a community goal to
use Ubuntu 20.04 (focal) which defaults to python3.8. By moving to
python3.8, some of the pip packages need to be updated but until pip
conflicts are resolved, it is difficult to do so. Aside from that, the
functional gates are continuing to use Ubuntu 18.04.

Additionally, update the deb-docker path.

Change-Id: I599d8b8973a893a2112ff1219e10c19534c2c962
2020-09-21 15:35:06 -05:00
Svetlana Shturm c40ffbdd8b Make zuul jobs reusable for internal zuul setup
This change makes zuul jobs configurable on project level using variables.
That allows to reuse same jobs in other zuul setup with different base images,
docker registry and proxy settings.

Change-Id: I301ea09f42bc1498d3cba45eede075e0d5a6f8fa
2020-06-24 16:51:45 -05:00
Ian H Pittwood 68533ee3bf Disable voting on OpenSUSE gates
Change-Id: Ie9849b7ea8cd7d945ee5499d640d1a5f68f55908
2019-12-17 11:09:10 -06:00
Raven Daugherty 158768278e Added YAML file linting
Change-Id: I17208c96610ee13772c44b7d765d3014f0023134
2019-12-09 16:43:45 +00:00
Ian H Pittwood 33d650c614 Fix OpenSUSE image build
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
2019-08-22 19:46:05 +00:00
Alexander Hughes b93363e753 Disable voting on suse gate
Opensuse leap 15.1 image was updated recently, and is causing
failures when trying to build.  Making gate non voting until it is
resolved.

Change-Id: I9d046cf57a66efdee255352242b26fd12c29362d
2019-08-14 14:08:12 -05:00
Ian H. Pittwood 0e46d134c1 Implement Pipenv dependency management
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
2019-08-12 09:10:42 -05:00
Ian H. Pittwood 5c0a3bef03 Fix zuul job naming
Fixes dependency-vulnerability-check from [0] with pegleg prefix as I
didn't realize job names cannot overlap between projects.

[0] https://review.opendev.org/#/c/671860/

Change-Id: I124ac66a48ce52ef940b8838a80914b6e09ac52d
2019-07-23 08:44:13 -05:00
Ian H Pittwood c88843f091 Move safety checks to new Zuul job
Moves safety checks from pep8 linting to a new Zuul job. This allows
voting to be disabled on the job when the safety check database is down.

Changes basepython to python3 for safety job.

Change-Id: I29af8af244d45fbbe008c5efc341c1407c809539
2019-07-22 08:59:00 -05:00
Alexander Hughes 6b53a70a27 Re-add OpenSUSE gates as voting
I hvae not noticed any instability with OpenSUSE build jobs in the
last week, re-adding these as voting jobs.

Change-Id: I937a453c3c3c39a1e55ee337dcd8a661fc681cf0
2019-07-02 12:07:26 +00:00
HUGHES, ALEXANDER (ah8742) 86c38136e7 Make OpenSuse build non-voting
OpenSuse mirrors are down blocking development work.  This happens
fairly frequently.  Making OpenSuse build gates non-voting until
OpenSuse mirrors become stable.

Change-Id: Ie2b4b075c0eed21bf484b6d66c25c2dd61de818f
2019-06-19 15:55:25 -05:00
Hughes, Alexander (ah8742) bf2f3781fb Add Ubuntu Bionic support to Pegleg
From community meeting on 04-June-2019 Ubuntu Xenial is the default
image for Airship projects, but a desire was voiced to also add support
for Ubuntu Bionic at the convenience of the contributors for each
project.

This patch:
1. Adds a new dockerfile specific to ubuntu:18.04 (bionic)
2. Updates gates to be specific about which ubuntu image is being
   checked.
3. Add to .zuul.yaml checks/gates/post jobs for bionic

Change-Id: Ib10641656f48baffec5b03ec48bf864d67209289
2019-06-07 20:05:33 +00:00
Kaspars Skels c5f6c55f72 Fix pegleg ssh_key for git mirroring
Change-Id: Iac84c2ae15100c3b88faea6f56e08f7a5be41c18
2019-05-23 11:51:08 -05:00
Kaspars Skels 0b297e5058 Add Zuul job for mirroring to GitHub
Change-Id: I765be80dcf82983114c4016baebc5b7649b21ec1
2019-05-22 15:58:50 -05:00
Alexander Hughes 8946663381 Update Pegleg docs jobs
This patch brings Pegleg in line with other Airship projects in their
method of updating documentation.  This is achieved by:
1. Adding docs-on-readthedocs job
2. Adding readthedocs webhook and project name vars used for Pegleg
3. Removing airship-pegleg-doc-build
4. Removing doc-build playbook

Change-Id: Iaa4139ccb1cd9d7ca20a6b502ef2a152908147d0
2019-05-20 08:16:16 -05:00
Rajeshwari Dharwadkar 6ee2aaf845 Support pegleg to run on opensuse leap15 image
Add DISTRO parameter to support multiple distros
Add Dockerfile for opensuse to build leap 15 image.

Change-Id: I7a529476937494e042a4801117489325aa6621c7
2019-05-14 09:41:21 -07:00
Zuul 177486d8e6 Merge "zuul: Remove redundant airship-pegleg-tox-py36 job." 2019-05-08 18:58:35 +00:00
Felipe Monteiro ba338e78a7 zuul: Add python37 job
This allows Pegleg unit tests to be run against py37 interpreter
as py37 is the latest version of Python supported under OpenStack
and eventually most projects, including Pegleg, will likely use
it as its default interpreter.

Change-Id: I6bfe5b10a73b29edaed0a58e563c14aefb5dc043
2019-04-04 04:10:20 +00:00
Felipe Monteiro 6c1b6e65b8 zuul: Remove redundant airship-pegleg-tox-py36 job.
The openstack-python36-jobs template already exists; thus there
is no need for airship-pegleg-tox-py36. Since airship-pegleg-tox-py36
installs cfssl as a prerequisite for unit tests, move the install-cfssl.sh
command to tox.ini prior to unit test execution, allowing for the
airship-pegleg-tox-py36 Zuul job and its associated playbook to be
removed.

Change-Id: I66de957a1a57ef246476c1a81954cd0f822cb8be
2019-03-26 20:38:14 +00:00
Felipe Monteiro 2a8d2638b3 pki: Port Promenade's PKI catalog into Pegleg
This patch set implements the PKICatalog [0] requirements
as well as PeglegManagedDocument [1] generation requirements
outlined in the spec [2].

Included in this patch set:

* New CLI entry point called "pegleg site secrets generate-pki"
* PeglegManagedDocument generation logic in
  engine.cache.managed_document
* Refactored PKICatalog logic in engine.cache.pki_catalog derived
  from the Promenade PKI implementation [3], responsible for
  generating certificates, CAs, and keypairs
* Refactored PKIGenerator logic in engine.cache.pki_generator
  derived from Promenade Generator implementation [4],
  responsible for reading in pegleg/PKICatalog/v1 documents (as
  well as promenade/PKICatalog/v1 documents for backwards
  compatibility) and generating required secrets and storing
  them into the paths specified under [0]
* Unit tests for all of the above [5]
* Example pki-catalog.yaml document under pegleg/site_yamls
* Validation schema for pki-catalog.yaml (TODO: implement
  validation logic here: [6])
* Updates to CLI documentation and inclusion of PKICatalog
  and PeglegManagedDocument documentation
* Documentation updates with PKI information [7]

TODO (in follow-up patch sets):

* Expand on overview documentation to include new Pegleg
  responsibilities
* Allow the original repository (not the copied one) to
  be the destination where the secrets are written to
* Finish up cert expiry/revocation logic

[0] https://airship-specs.readthedocs.io/en/latest/specs/approved/pegleg-secrets.html#document-generation
[1] https://airship-specs.readthedocs.io/en/latest/specs/approved/pegleg-secrets.html#peglegmanageddocument
[2] https://airship-specs.readthedocs.io/en/latest/specs/approved/pegleg-secrets.html
[3] https://github.com/openstack/airship-promenade/blob/master/promenade/pki.py
[4] https://github.com/openstack/airship-promenade/blob/master/promenade/generator.py
[5] https://review.openstack.org/#/c/611739/
[6] https://review.openstack.org/#/c/608159/
[7] https://review.openstack.org/#/c/611738/

Change-Id: I3010d04cac6d22c656d144f0dafeaa5e19a13068
2019-01-15 13:29:21 -06:00
Tin Lam dc1d36ba1b Add releasenotes
This patch set adds releasenotes (reno) to the airship-pegleg repository.

Change-Id: I1ed98460f40eb851ca53f8a5b68ab17f8272a2e2
Signed-off-by: Tin Lam <tin@irrational.io>
2018-11-28 02:48:40 -06:00
Tin Lam 152b42bc3b Consolidate linter jobs
Consolidating all the linting to a single job rather than having a one-off
just to lint for trailing whitespaces. As most of this projects are python,
this should already be covered by PEP8, but will be scanning for yamls with
trailing whitespaces.

Change-Id: Iee33a69ff234d21c08217faa33a19e11dfef0ad9
Signed-off-by: Tin Lam <tin@irrational.io>
2018-11-12 02:30:20 -06:00
Tin Lam 253b15cc33 Remove py35 support
As the default Docker image support for Pegleg is using py36 as a base
image, this patch set simply removes the support for py35. This allows
us to use py36 features such as secrets and f-strings without needing to
cope with backward compatibility.

Change-Id: Ic156ca67d2a0fe6fdc74c2c9da253a1cb8a3f456
Signed-off-by: Tin Lam <tin@irrational.io>
2018-11-07 13:04:34 -06:00
Tin Lam 178c058474 Add coverage job
This patch set adds in a python coverage job for pegleg using pytest.

Change-Id: Ice0332cc454f488e0372d5ab03e8b0a37db9efd1
Signed-off-by: Tin Lam <tin@irrational.io>
2018-11-06 20:59:01 -06:00
Felipe Monteiro 17b4d6e563 Switch to openstack-python35-jobs template for py35 CI gate
This patch set switches to openstack-python35-jobs for the py35
CI gate.

Change-Id: I12239086984a387dde33e5fdc451a9c51deec953
2018-10-02 22:32:47 +00:00
Felipe Monteiro 893ea9f4bb Standardize Pegleg directory structure
This patch set standardizes the Pegleg directory
structure because of the following reasons:

1) src/bin/pegleg is not necessary and only makes
building (e.g. documentation building) and running
of tox targets unnecessarily difficult.
2) src/bin/pegleg is a Java-like standard that
bears no relevance to Python.

Change-Id: I37d39d3d6186b92f8fbfe234221c9e44da48cf10
2018-09-23 10:33:40 -04:00
Zuul 549950291f Merge "add python 3.6 unit test job" 2018-09-21 14:08:55 +00:00
Felipe Monteiro ab717d8c2f add python 3.6 unit test job
This is a mechanically generated patch to add a unit test job running
under Python 3.6 as part of the python3-first goal.

See the python3-first goal document for details:
https://governance.openstack.org/tc/goals/stein/python3-first.html

Change-Id: Ie2187958a3090e05902c51d1aa5d9acacf508c2c
Story: #2002586
2018-08-23 23:51:04 +01:00
Felipe Monteiro 5638a6e3bb trivial: Rename docs/ => doc/ in .zuul.yaml
This renames docs/ => doc/ in .zuul.yaml ignore-files
stanza as Pegleg documentation directory was renamed to doc/

Change-Id: Ice37901d3a4fbb1f5978a847a83320873a451e82
2018-08-23 23:26:35 +01:00
Gage Hugo ad7e855cf8 Consolidate pep8/bandit zuul gating
This change adds the global zuul pep8 tox job, which runs both
bandit and pep8 using tox. This also removes the two other airship
specific lint-pep8 and bandit zuul jobs since they are both covered
by the default openstack global one.

Also cleaned up the tox.ini by moving the requirements into the
test-requirements.txt file.

Change-Id: Iab37a8090515936732e390b1f7c6d281e014e31c
2018-08-21 20:55:39 +00:00
Scott Hussey f7b7946e4b (zuul) Docker image jobs
- Add check/gate jobs for image building
- Add post job for image building and publish to quay.io

Change-Id: Ia7c1f67ec4a5ae11e1fad489259f8418bac0a644
2018-06-08 08:54:34 -05:00
Felipe Monteiro 3487046ef4 Add irrelevant-files to all appropriate .zuul.yaml jobs
This patchset either expands on existing entries in irrelevant-files
or adds irrelevant-files to various jobs to save on resources
in Zuul.

Change-Id: I6a3c052c3982a70160a6bee9a07975201eee1f0a
2018-06-05 13:13:16 -04:00
Scott Hussey 4ad86e0728 Basic zuul gates
- Pep8, bandit and unit tests
- Document build (no publish)

Change-Id: I2ca67e69f80aff63576bebd14da412e2f138f54a
2018-05-31 13:10:41 -05:00
Felipe Monteiro bfac6ada6c Zuul: Initial Airship-Pegleg checks
This PS adds the skeleton for a set of zuul checks and gates for
Airship, using the framework from OpenStack-Helm.

Change-Id: I4cc071d0076e265e5c34f15616ccf40c0b3a83a8
2018-05-17 22:09:35 +00:00