shipyard/src/bin/shipyard_airflow
Sergiy Markin 154a099b28 Shipyard upgrade for focal
- upgraded Airflow to 1.10.15  -
  https://airflow.apache.org/docs/apache-airflow/1.10.15/changelog.html
- disabled xenial, bionic and opensuse images build  gates
- added focal image build  gate
- added focal zuul build node
- adjusted Makefile for focal
- added bindep.txt to utilize bindep zuul base role for zuul build node
  pre-setup
- added focal Dockerfile
- implemented freeze requirements.txt approach like in other Airship
  projects
- removed specific requirements.txt for airflow in favor of using
  requirements-frozen.txt from shipyard_airflow project when building
  airflow docker image
- fixed docker image publishing to Quay
- replaces deprecated LOG.warn with new LOG.warning call
- replaced deprecated body attribute in responce wiht responce.text
  attribute
- update of falcon module deprecated .API call - replaced wiht
  falcon.App call
- deprecated routing.create_http_method_map method replaced with
  routing.map_http_methods
- re-formatted code tabulations based on yapf recommendations
- replaced deprecated protocol attribute in Pytest create_environ() with
  http_version attribute
- replaced deprecated app attribute in Pytest create_environ() with
  root_path attribute
- fixed airflow CLI commands to match 1.10.15 version
- updated zuul gates to work on focal nodes and added focal specific
  node setup items by adding appriate ansible tasks and roles
- uplifted Helm to 3.9.4
- uplifted stable HTK commit id
- updated tox.in to with with tox v4
- uplifted dependences references to other Airship projects
- common python dependences were syncronized with other Airship
  projects(Promenade, Deckhand, Armada, Drydock)
- fixed airskiff deployment gate
- fixed genconfig* profiles in shipyard-airflow tox.ini responsible for
  maintanance of policy.yaml.sample and shipyard.conf.sample

Change-Id: I0c85187dc9bacf0849382563dd5ff7e9b2814c59
2023-04-28 20:40:50 +00:00
..
alembic Add notes common code for Shipyard 2018-10-05 15:40:48 -05:00
etc/shipyard Shipyard upgrade for focal 2023-04-28 20:40:50 +00:00
generator Refactor shipyard to UCP target layout 2018-04-24 16:47:13 -05:00
shipyard_airflow Shipyard upgrade for focal 2023-04-28 20:40:50 +00:00
tests Shipyard upgrade for focal 2023-04-28 20:40:50 +00:00
.coveragerc Set ULID of action on DAG request 2018-08-10 10:23:30 -05:00
README.rst Add support for Ubuntu bionic base image 2020-02-04 13:38:39 -06:00
alembic.ini Refactor shipyard to UCP target layout 2018-04-24 16:47:13 -05:00
entrypoint.sh Override uwsgi default config 2020-08-06 02:14:07 +00:00
requirements-direct.txt Shipyard upgrade for focal 2023-04-28 20:40:50 +00:00
requirements-frozen.txt Shipyard upgrade for focal 2023-04-28 20:40:50 +00:00
requirements.txt Shipyard upgrade for focal 2023-04-28 20:40:50 +00:00
setup.cfg Shipyard upgrade for focal 2023-04-28 20:40:50 +00:00
setup.py Enable shipyard to use PBR 2018-10-25 14:23:50 +00:00
test-requirements.txt Shipyard upgrade for focal 2023-04-28 20:40:50 +00:00
tox.ini Shipyard upgrade for focal 2023-04-28 20:40:50 +00:00

README.rst

Shipyard

Shipyard is the directed acyclic graph controller for Kubernetes and OpenStack control plane life cycle management, and a component of the Airship Undercloud Platform (UCP).

Shipyard provides the entrypoint for the following aspects of the control plane established by the Airship:

<dt>
    Designs and Secrets
</dt>
<dd>
    Site designs, including the configuration of bare metal host
    nodes, network design, operating systems, Kubernetes nodes,
    Armada manifests, Helm charts, and any other descriptors that
    define the build out of a group of servers enter the Airship via
    Shipyard. Secrets, such as passwords and certificates use the
    same mechanism. <br />
    The designs and secrets are stored in Airship's Deckhand,
    providing for version history and secure storage among other
    document-based conveniences.
</dd>
<dt>
    Actions
</dt>
<dd>
    Interaction with the site's control plane is done via
    invocation of actions in Shipyard. Each action is backed by
    a workflow implemented as a directed acyclic graph (DAG) that
    runs using Apache Airflow. Shipyard provides a mechanism to
    monitor and control the execution of the workflow.
</dd>

Find more documentation for Shipyard on Read the Docs

Integration Points:

OpenStack Identity (Keystone) provides authentication and support for role based authorization
Apache Airflow provides the framework and automation of workflows provided by Shipyard
PostgreSQL is used to persist information to correlate workflows with users and history of workflow commands
Deckhand supplies storage and management of site designs and secrets
Drydock is orchestrated by Shipyard to perform bare metal node provisioning
Promenade is indirectly orchestrated by Shipyard to configure and join Kubernetes nodes
Armada is orchestrated by Shipyard to deploy and test Kubernetes workloads

Getting Started:

See also:

Airship in a Bottle