shipyard/src/bin/shipyard_airflow
Anthony Lin 08e0f2987c [Fix] Update dag name in dag_names dag
A bug was introduced while trying to rebase and resolve the
merge conflicts in [0]. This led to errors [1] while executing
action workflow with Shipyard.

This patch set will fix the bug

[0] https://review.gerrithub.io/#/c/att-comdev/shipyard/+/408289/
[1] Errors seen in Airflow Web

[2018-04-26 06:50:55,991] {{models.py:288}} ERROR - Failed to import: /usr/local/airflow/dags/deploy_site.py
Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/airflow/models.py", line 285, in process_file
    m = imp.load_source(mod_name, filepath)
  File "/usr/lib/python3.5/imp.py", line 172, in load_source
    module = _load(spec)
  File "<frozen importlib._bootstrap>", line 693, in _load
  File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 665, in exec_module
  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
  File "/usr/local/airflow/dags/deploy_site.py", line 19, in <module>
    from common_step_factory import CommonStepFactory
  File "/usr/local/airflow/dags/common_step_factory.py", line 32, in <module>
    class CommonStepFactory(object):
  File "/usr/local/airflow/dags/common_step_factory.py", line 92, in CommonStepFactory
    def get_get_rendered_doc(self, task_id=dn.GET_RENDERED_DOC):
AttributeError: module 'dag_names' has no attribute 'GET_RENDERED_DOC'

Change-Id: Ib4e26f4acc951bc460ece5d51cea8e0acfdc73d8
2018-04-26 07:22:28 +00:00
..
alembic Refactor shipyard to UCP target layout 2018-04-24 16:47:13 -05:00
etc/shipyard Refactor shipyard to UCP target layout 2018-04-24 16:47:13 -05:00
generator Refactor shipyard to UCP target layout 2018-04-24 16:47:13 -05:00
shipyard_airflow [Fix] Update dag name in dag_names dag 2018-04-26 07:22:28 +00:00
tests Ensure Presence of Committed Doc prior to Workflow Execution 2018-04-25 13:55:26 +00:00
.coveragerc Refactor shipyard to UCP target layout 2018-04-24 16:47:13 -05:00
README.md Refactor shipyard to UCP target layout 2018-04-24 16:47:13 -05:00
alembic.ini Refactor shipyard to UCP target layout 2018-04-24 16:47:13 -05:00
entrypoint.sh Refactor shipyard to UCP target layout 2018-04-24 16:47:13 -05:00
requirements.txt Refactor shipyard to UCP target layout 2018-04-24 16:47:13 -05:00
setup.py Refactor shipyard to UCP target layout 2018-04-24 16:47:13 -05:00
test-requirements.txt Refactor shipyard to UCP target layout 2018-04-24 16:47:13 -05:00
tox.ini Refactor shipyard to UCP target layout 2018-04-24 16:47:13 -05:00

README.md

Shipyard

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

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

Designs and Secrets
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 UCP via Shipyard. Secrets, such as passwords and certificates use the same mechanism.
The designs and secrets are stored in UCP's Deckhand, providing for version history and secure storage among other document-based conveniences.
Actions
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.

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:

Shipyard @ Gerrithub
Helm chart

See also:

Undercloud Platform (UCP)