Commit Graph

105 Commits

Author SHA1 Message Date
Sergiy Markin 31a3dc6b83 Kubeadm based Airskiff gate
This PS replaces old airskiff integration gate
with new kubeadm based airskiff integration gate.
The main goal of this gate is to test new deckhand
image and chart together with other Airship
components.

Change-Id: I4221b7be64e9a7e07964fa817d42c21a3f172db0
2024-03-13 05:04:00 +00:00
Sergiy Markin 8b7de6e492 Use deploy-env role
Change-Id: I50530eabc8506319478d6ed02b7abb5eb1d2dd05
2024-02-20 22:58:42 +00:00
Ritchie, Frank (fr801x) 1767178234 Update helm toolkit reference
Update helm toolkit ref so that ingress will be created with a pathType
of Prefix.

https: //review.opendev.org/c/openstack/openstack-helm-infra/+/905757
Change-Id: I261603e3c68337347955996f77b86bd60a2f2af5
2024-01-25 14:57:38 +00:00
Anselme, Schubert (sa246v) e6bcff90b1 Deprecating the Ingress Class Annotation
Upgrading htk to version 0.2.55, which deprecates the ingress class
annotation (kubernetes.io/ingress.class) with .spec.ingressClassName

https://review.opendev.org/c/openstack/openstack-helm-infra/+/891720

Change-Id: I573a926ab6fb07f10c0c4d9020746ba80e6d8dbd
Signed-off-by: Anselme, Schubert (sa246v) <sa246v@att.com>
2023-10-05 22:56:16 +00:00
Sergiy Markin 37ba567da5 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 perfrmed based on
  airflow-2.6.2 constraints
- airskiff deploy pipeline was aligned with latest in treasuremap v1.9
- postgresql image updated to 14.8

Change-Id: I65a1b86473ee3e988aae353b59fb5473d75851f9
2023-08-29 17:09:37 +00:00
Sergiy Markin 8d055a0aa9 Deckhand updates
This PS makes the following changes:

- uses deploy-k8s.sh from treasuremap
- makes sure the airskiff-deploy playbook is using 80Gb partition if
  available
- adds available security updates to docker images

Change-Id: I0f330cb15ec32b12703f0bc6620b3f3c797a25bb
2023-08-25 17:57:43 +00:00
Sergiy Markin 06b1631d8a 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.

Also the latest osh-infra commit was used with kubernetes 1.27.1 for
integration tests.

Change-Id: Ia2c951f27b96774b553e7c0c7c6809172312f753
2023-05-20 05:27:20 +00:00
Sergiy Markin e4cf0c17df Update airskiff deployment gate
This PS updates armada to use new reliable airskiff site manifests for
testing armada.

Change-Id: Ia71077536f1973b0179d9011fa662f0b74caa6cf
2023-05-09 14:13:02 +00:00
Sergiy Markin ac4edb0c64 [focal] Deckhand project updates
- adjusted .gitignore to keep fresh egg-info and omit build artifacts
- fresh egg-info data is needed for promenade that depends on Deckhand
- restored deckhand-functional-uwsgi-py38 gate
- restored deckhand-integration-uwsgi-py38 gate
- made deckhand-airskiff-deployment gate voting ( treasuremap project
  has been updated)
- removed bionic gates
- updated focal dockerfile
- added more binary deps into bindep.txt
- updated deckhand chart values to latest images - focal and wallaby
- fixed python code to compy with CVE's found by fresh version of bandit
- implemented pip freeze approach
- added tox -e freeze profile to manage it
- requirements-frozen.txt is now main file with requirements
- requirements-direct.txt is the file to control deps
- updated setup.cfg to adjust to newer version of setuptools
- fixed airskiff-deploy gate
- fixed docker-image-build playbook to restore Quay repo image publish
- updated other playbooks to include roles from zuul/base-jobs in order
  to setup build hosts properly
- removed workaround with hardcoded dns resolver ip 10.96.0.10 as it
  became obsolette due to recent fix in openstack-helm-infra
- adjusted tools/whitespace-linter.sh script
- tox.ini has been brought to compliance with tox4 requirements
- replaced str() calls with six.text_type() according to D325 Deckhand specific
  commandment from Hacking.rst
- locked python-barbicanclient version with 5.2.0 because of breaking
  changes in the upper versions

Change-Id: I1cd3c97e83569c4db7e958b3400bdd4b7ea5e668
2023-04-20 19:39:43 +00:00
Wahlstedt, Walter (ww229g) 70aa35a396 update to focal and python 3.8
update dockerfile for python deckhand install
add deckhand version to chart 1.0
add chart version 0.2.0
update all packages to latest in requirements.txt
update zuul jobs for focal and python 3.8
remove zuul job functional-uwsgi-py38 in favor of functional-docker-py38
update tox config
typecast to string in re.sub() function
add stestr to test-requirements.txt
add SQLAlchemy jsonpickle sphinx-rtd-theme stestr to requirements.txt
deprecated function: BarbicanException -> BarbicanClientException
fix mock import using unittest
fix import collections to collections.abc
fix for collections modules for older than python 3.10 versions.
deprecated function: json -> to_json
deprecated function:  werkzeug.contrib.profiler ->
    werkzeug.middleware.profiler
deprecated function: falcon.AIP -> falcon.App
deprecation warning: switch from resp.body to resp.text
rename fixtures to dh_fixtures because there is an imported module
    fixtures
switch from stream.read to bounded_stream.read
deprecated function: falcon process_response needed additional parameter
deprecated function: falcon default_exception_handler changed parameter
    order
move from MagicMock object to falcon test generated object to fix
    incompatability with upgraded Falcon module.
Adjust gabbi tests to fix incompatability with upgraded DeepDiff module
update Makefile to execute ubuntu_focal
update HTK (helmtoolkit)
unpin barbican to pass integration tests
Use helm 3 in chart build.
    `helm serve` is removed in helm 3 so this moves
    to using local `file://` dependencies [0] instead.

Change-Id: I180416f480edea1b8968d80c993b3e1fcc95c08d
2023-02-24 10:51:57 -05:00
Phil Sphicas 3f4458690d Update HTK stable commit (Ingress)
Update helm-toolkit to include updated Ingress templates that use
current API versions (i.e. networking.k8s.io/v1)

https://review.opendev.org/c/openstack/openstack-helm-infra/+/813115

Change-Id: I5c4453388418b08a8c8f13fcad574d3afef60e5d
2021-10-19 15:20:38 -07:00
Sean Eagan 4ba85d2432 Helm 3: Fix Job labels
See the dependency below for details.

Depends-On: https://review.opendev.org/c/openstack/openstack-helm-infra/+/811826
Change-Id: I9f0d9d99b798a41f8d8ac841e3b00e7d8af40ff3
2021-10-01 11:28:22 -05:00
anthony.bellino 28b2bd0a14 (zuul) Fix Deckhand post jobs
Change-Id: I63c7814ca7a6f7013c194038d14a4721373e9717
2021-09-09 12:09:05 -07:00
anthony.bellino 1328f5b568 Deckhand gate fix
Unpin python3-six for Opensuse image build.

Update helm-toolkit stable commit to merge of this change:
https://review.opendev.org/#/c/803654/

Update the helm installation script to download and install v2.17.0

Fix integration tests by pinning Barbican to stable commit.

Pinn jsonschema to 4.0.0a2 to fix tox tests

Change-Id: I2badd0e2f6c934098f0c9f5ef7e52354756c12e0
2021-08-30 07:53:24 -07:00
anthony.bellino d5babeaa86 Gate fixes
* Pin openstacksdk to stein release

* Leap 15.3 changes for opensuse image build

* airskiff gate fixes
  - Pin treasuremap to v1.9 branch
  - Pin openstack-helm-infra to master
  - Remove openstack client setup as it's not used

Change-Id: I139e5b291cde22590f0b9ad5fbbecc5a4f023c33
2021-05-18 08:05:23 -07:00
Rick Bartra 1f0c011a17 Update pip package versions in preparation of pip 20.3
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 Shipyard imports Armada, Drydock,
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: Id75acea82ddf5d915a8b8805e076dac49cab800f
2020-09-28 12:21:20 -04:00
Phil Sphicas 80a69e7c2b Update HTK stable commit
Update helm-toolkit stable commit to merge of this change:
https://review.opendev.org/#/c/734702/

Change-Id: I7796a4c76209d032b46d46c260b5c3a27f1aa11b
2020-07-28 16:32:11 +00:00
DODDA, PRATEEK b0ec40f033 [FIX] Image build checks missing setuptools
Use pip3 in event system has both pip2 and pip3 installed. 
Use apt to install setuptools for Ansible's consumption.

Change-Id: I6929ecb0cce2ec8ac70e9261acb9f87dc7031153
Co-authored-by: Alexander Hughes <Alexander.Hughes@pm.me>
2020-06-29 14:16:45 +00:00
Ahmad Mahmoudi e7ba6828a0 (fix) Address uwsgi and other gating issues
- With Ubuntu bionic based deckhand docker image, uswsi crashes with
  segmentation fault when it tries to load psycopg2 library, causing
  the deckhand service become unavailable.
  The root cause of this problem seems to be that uwsgi and psycopg2
  binary wheels are built with different ssl libraries.
  To address this issue, upgrading psycopg2 to the latest release to
  the latest binary release.

- For opensuse 15.1 image build, python3-six was updated to address
  package not found issue.

- Updated gating ansbile playbooks to address non-voting gate failures.

Change-Id: I7be920e16e6114eb2bdbc052a6761f29008baf81
2020-02-28 21:28:56 +00:00
Prateek Dodda 68a3ad1f57 Add Docker default AppArmor profile to deckhand
Depends on https://review.opendev.org/#/c/707475/

Change-Id: I320d02bd987bd8af4448694db2f193f83b010a0f
2020-02-12 22:09:01 +00:00
Ahmad Mahmoudi e203c15e94 Add support for Ubuntu bionic base image
- Added ability to build deckhand docker image, using either the
  Ubuntu xenial or the Ubuntu bionic base image.
- Made the bionic base image the default base image for deckhand
  docker image build.

Change-Id: I26657de34a233ee3223a7f93fc667e734ac9140b
2020-02-06 17:42:33 -06:00
Phil Sphicas fa15c0b582 Gate fixes: pin amqp, use barbican deploy script
tox is failing because oslo.messaging 9.1.1 installs kombu 4.6.7, which
requires amqp >=2.5.2, but it is pinned to 2.5.1. Additionally, the
deckhand-integration-docker are failing because barbican is not being
deployed correctly.

This change updated the pinned version of amqp to 2.5.2, and uses the
barbican deployment script in openstack-helm.

Depends-On: I020632ad6a33d29a657164cf0e32baef6b670d5a
Change-Id: Idafe35d1496cd880e2d6a93c96afa724fd1c2e89
2020-01-22 01:56:05 +00:00
Crank, Daniel (dc6350) eadae6d7b1 Fix Deckhand integration test gates
Fix problems with integration test zuul jobs which were made non-voting
by [0] and restore them to voting status. These jobs exercise some
secret-management functions that test integration between Deckhand and
Barbican that doesn't happen in the Airskiff jobs, so they still have
some test value.

- Some integration test scripts were pointing to old versions of
  openstack-helm scripts that are no longer maintained. This PS
  updates those scripts to point to current OSH scripts.

- Uplift openstack-helm-infra pin in helm_tk.sh to a recent
  version

- Add build-images to uwsgi test jobs to ensure airship_deckhand_path
  is set

[0]: https://review.opendev.org/660738

Change-Id: If83dead126307a98b44ad5d8f367a972c48a30d0
2019-10-08 15:15:58 -05:00
Drew Walters f90ef245f6 CI: Build image after Docker installed in airskiff
The airskiff pipeline attempts to build the Deckhand Docker image before
Docker is installed. This change moves the order of the airskiff
pipeline tasks to build the Deckhand image AFTER Docker has been
installed by the OpenStack-Helm minikube script.

Change-Id: I78158c8de9c4fe1f06499c1a5d917e31db9c6b4f
Signed-off-by: Drew Walters <andrew.walters@att.com>
2019-10-02 14:52:23 -05:00
Drew Walters be4634efc9 CI: Remove call to deleted Airskiff script
Airskiff dependencies are installed from a script in the OpenStack-Helm
repository now, so the script was removed from treasuremap [0]. This
change removes a call to the deleted "000-install-packages.sh" script
that causes the Airskiff job to fail on changes submitted to the
Deckhand repository.

[0] https://review.opendev.org/672540

Change-Id: Iacb6131babffe794e9d3a18ff68f3cd6756a0b2c
Signed-off-by: Drew Walters <andrew.walters@att.com>
2019-09-20 15:24:25 -05:00
Drew Walters 0c20cc6200 CI: Update Airskiff full-site manifest location
The location of the Airskiff site recently changed [0], causing the
Airskiff job to fail. This change updates the "reduce site" playbook to
match the job in treasuremap, thereby avoiding the directory which no
longer exists.

[0] https://review.opendev.org/674963

Change-Id: I4d82093cb8042e60f947b6e53a7817bebad518d8
Signed-off-by: Drew Walters <andrew.walters@att.com>
2019-08-22 15:38:22 +00:00
Michael Beaver ea2fb8b972 Remove required-projects from Airskiff gate
This removes several of the the required-projects from the Airskiff
gate as the scripts for the gate can already clone down the necessary
repositories and the required-projects can overwrite any pins that may
have been included in the Airskiff scripts.

This requires a new nodeset as well, because the Airskiff gate does not
presently work with ubuntu-bionic

Change-Id: Idff16a450af1e3f9fe0ee49496fd7d72df69b595
2019-06-13 18:13:01 +00:00
Drew Walters fe0be76dfa CI: Fix doc build gate
The doc build gate fails due to a duplicate definition of a Python
module. This commit adds the force flag to the utility that generates
the definitions to overwrite existing ones.

Change-Id: I5313c9aa57d76dd959009edb039b5db29ee45d66
2019-06-11 01:34:27 +00:00
Arun Kant 8eb74b0509 Adding opensuse image build for deckhand
Adding DISTRO parameter for makefile to invoke distribution specific
Dockerfile and build image accordingly.

Updated logic for existing jobs to have distro specific logic
for building and publishing images.

Added multiple distro specific document in operator section.

Change-Id: I415ab28b06ea17b21e76d28ccb3e284041c8072d
2019-05-30 17:22:57 +00:00
Drew Walters a611a326be CI: Add Airskiff check
This commit adds a non-voting Zuul job that deploys Memcached using the
Airship-Treasuremap airskiff site and submitted Deckhand changes.

[0] https://airship-treasuremap.readthedocs.io/en/latest/airskiff.html

Change-Id: I01eef6fb6b880edec2546e16c122002b6f00f224
2019-04-22 20:23:30 +00:00
Zuul a76ffb66ae Merge "CI: Add chart build jobs" 2019-04-17 16:43:40 +00:00
Drew Walters efb82a5c74 CI: Add chart build jobs
This commit introduces a non-voting job to lint Helm charts against the
latest version of Helm toolkit from OpenStack-Helm Infra and a gate for
a pinned version of Helm toolkit.

Change-Id: Ia98209745641db011469d54220777110b2f6ae3a
2019-04-04 14:49:24 +00:00
Scott Hussey 23e2a1b53e (zuul) Fix image publish post pipeline
- Fix post pipeline publish job issue introduced w/ Ansible upgrade

Change-Id: Ib25c2dcc08eae3db15926c272a9a6c297d9e2ed8
2019-04-03 14:48:53 -05:00
Zuul b604af2411 Merge "tools: Update Helm to v2.13.1" 2019-03-28 21:51:31 +00:00
Drew Walters eee82774d8 tools: Update Helm to v2.13.1
Helm v2.13.1 has been released [0]. This change uplifts Helm to v2.13.1
and restores usage of the latest Helm toolkit to match other Airship
projects.

[0] https://github.com/helm/helm/releases/tag/v2.13.1

Depends-On: https://review.openstack.org/647812
Change-Id: Ic34f8fc1c8c3b5f8cb5ba8dc770d64502b26fdb0
2019-03-28 15:19:48 +00:00
Aaron Sheffield 7685456ef2 Updating Docker Gate use of zuul.newrev
- Zuul updated ansible to 2.7, no longer allows missing variables.
- Using default value when it isn't available.
- airship_deckhand_path isn't working, but is a non-voting gate.

Based on Aaron Sheffield's PS for Pegleg: https://review.openstack.org/#/c/645631/

Change-Id: I6fe13d2043480cd6de6785203373f35d83545196
2019-03-26 22:23:03 -05:00
Nishant Kumar 992777390f [FIX] Change Helm-toolkit pinning to new commit
This PS pins version of Helm-toolkit to support recent
changes made in deckhand charts to support DB initialization [0]

[0] https://review.openstack.org/#/c/639218/

Change-Id: Ie8f218f780d6029bfc87937a971f342fa3968dc6
2019-03-12 20:27:45 +00:00
Roman Gorshunov c81a88b963 Embed UML generated diagrams into docs, fix docs build
Remove manual generation of UML diagrams; they will be built by Sphinx
itself.

Require to install PlantUML and Graphviz via bindep in
openstack-tox-docs job; ReadTheDocs service already has both PlantUML
and Graphviz installed for documentation builds.

Change-Id: I21ab124a80e7768bc9edd891b975b4e0f8a6e50d
Story: 2004747
2019-02-14 13:55:44 +01:00
Sandeep Reddy Thumma 0aae9dc177 Added filename to logging message format for troubleshooting purpose
Change-Id: I2763ae7ea62e78c9dd89659f97b149ab000d0ebb
2019-01-25 01:20:15 +00:00
Drew Walters f745e4b6e7 CI: Fix integration job
Deckhand's integration job relies on OpenStack-Helm-Infra to deploy
Kubernetes using Kubeadm. Since [0] was merged, Calico requires AppArmor
to be deployed. This commit adds the same role to deploy AppArmor that
exists in OpenStack-Helm-Infra to prevent inadvertent gate failures.

[0] https://review.openstack.org/614805/

This also includes gate fix in https://review.openstack.org/#/c/627906/
because of a circular dependency; that change in question fixes
failing CI jobs for all non-integration jobs.

Change-Id: Ie3fb04ea0fbe0487ae743033315e2a4211248d32
2019-01-18 14:11:04 -06:00
Dimitrios Markou f884d248d1 Create Makefile target to install Helm binary
In Makefile there is no target which actually installs
Helm binary.

Change-Id: I74a8099d7ff9592f3a86df060a9a54e2b56f6f33
Signed-off-by: Dimitrios Markou <dm844v@att.com>
2018-11-09 15:10:02 -06:00
Felipe Monteiro 9d91a072cd docs: Use sphinx-apidoc library for autodoc compatibility
This package is used for generation autodoc documentation
automatically which can be linked to by Deckhand
documentation from other places. This is to make autodoc
generation work in RTD.

More info: https://pypi.org/project/sphinxcontrib-apidoc/

Change-Id: I43aac82728e5935a5a2626f2fd29d7a7188d19f9
2018-10-27 22:52:39 +01:00
Zuul 1d4cc81dfa Merge "docs: Elaborate on document layering in documentation" 2018-10-24 14:03:35 +00:00
Roman Gorshunov 9dcc0ae937 Adding image tags on every commit
Added container image tagging on quay.io with commit id on every merge,
when certain files but not the code are changed (docs, charts, etc.).

Previously we were building updated container images, adding tags and
uploading images onto quay.io only when the code has been changed. The
main reason for not re-building images for every single merged commit
was a long waiting time in Zuul `post` queue for a node (VM)
assignment for the job to run on.

With this change we will have image tag for every merged commit,
including documentation commits, and those tags would be added almost
immediately (within ~1 min), as job runs directly on Zuul and does not
wait in Zuul queue for a node (VM) assignment.

Change-Id: I9692947b74a16de0eb3e8100d30cd4310069abfe
2018-10-11 09:04:21 +02:00
Felipe Monteiro 1ac9abb555 docs: Elaborate on document layering in documentation
This patchset elaborates on document layering in the documentation
to provide much greater clarity into what layering is and its
associated concepts, including: layer, layer order, layering policy,
layering definition, document abstraction, parent selection,
layering actions, etc.

Change-Id: I584e67b7984fa4035cef481a116ae3b8a3eb2906
2018-10-10 19:06:38 +00:00
Zuul 84de5c17b8 Merge "Fix: git commit id labels on images" 2018-09-21 20:25:16 +00:00
Roman Gorshunov 48f79aee44 Fix: git commit id labels on images
1) Use OCI Image Specs for labels instead of custom 'commit-id=xxxxx'
   or legacy "Label Schema"
2) Fix missing git commit id labels on images (.revision)
3) Add human-readable title (.title) of the image, URL (.url), and
   a few other properties (annotations) according to the latest Specs

Change-Id: Iebb37edd003204d3adc41aa9af76612ab419993a
2018-09-21 03:31:12 +02:00
Roman Gorshunov 451f2c7f5c Unify publishing of docs
Unified publishing to the readthedocs with other Airship projects.

Change-Id: I6e68a491d56916cdbdcd67909cf292f98ea0a1d0
2018-09-14 20:59:22 +02:00
Felipe Monteiro 29894ee854 Move to stestr for functional/integration tests
This moves to stestr for functional/integration tests to
align with preferred OpenStack test runner and also because
py.test is causing issues here: [0].

[0] http://logs.openstack.org/45/573045/8/check/airship-deckhand-integration-uwsgi-py35/60bd7ae/job-output.txt.gz#_2018-06-22_03_00_51_267408

Change-Id: I701c71aef2a122b8f1fc64285cb799f71cfe520f
2018-07-21 15:32:26 -04:00
Felipe Monteiro 70e4f24732 Combine integration and airship-deckhand-ubuntu jobs together
To cut down on Zuul nodes, this patchset combines the integration
docker job with the airship-deckhand-ubuntu job together, because
the former essentially subsumes the latter: integration docker
job sets up the host, deploys docker, deploys k8s, generates
the Deckhand chart using Helm, builds the Deckhand image using
Docker, deploys Deckhand, PostgreSQL and other Keystone/Barbican
dependencies using OSH, then finally runs integration tests
against the deployment.

This, then, validates everything that airship-deckhand-ubuntu
did deployment-wise.

Also, this patchset switches the 2 uwsgi jobs over to voting: false
as the Docker jobs are already voting.

Change-Id: I10b15f5a45a32413dc904ee32bdbbb4e9cdf98a2
2018-07-03 02:34:13 -04:00