
The workflow should fail if 'armada_build', 'skip_upgrade_airflow' or 'upgrade_airflow' tasks are in 'upstream_failed' state. This can happen if any of the upstream tasks are in failed state. For instance, if there is a failure in the preflight checks for the UCP components, all its associated downstream tasks will stop and its downstream tasks such as 'armada_build' will go into 'upstream_failed' state. As it is right now, the deckhand_create_site_action_tag Operator will treat the above mentioned scenario as successful (since task is in 'upstream_failed' and not 'failed' state) and will proceed to create the 'site-action-success' tag instead of 'site-action-failure' tag. Hence we will need to capture both task states as failed state. This patch set is meant to fix this erroneous behavior. Change-Id: I01066656d4cc9169d85c6a535d8241470761666a
Shipyard
Shipyard adopts the Falcon web framework and uses Apache Airflow as the backend engine to programmatically author, schedule and monitor workflows.
The current workflow is as follows:
- Inital region/site data will be passed to Shipyard from either a human operator or Jenkins
- The data (in YAML format) will be sent to DeckHand for validation and storage
- Shipyard will make use of the post-processed data from DeckHand to interact with DryDock
- DryDock will interact with Promenade to provision and deploy bare metal nodes using Ubuntu MAAS and a resilient Kubernetes cluster will be created at the end of the process
- Once the Kubernetes clusters are up and validated to be working properly, Shipyard will interact with Armada to deploy OpenStack using OpenStack Helm
- Once the OpenStack cluster is deployed, Shipyard will trigger a workflow to perform basic sanity health checks on the cluster
Note: This project, along with the tools used within are community-based and open sourced.
Mission
The goal for Shipyard is to provide a customizable framework for operators and developers alike. This framework will enable end-users to orchestrate and deploy a fully functional container-based Cloud.
Getting Started
This project is under development at the moment. We encourage anyone who is interested in Shipyard to review our documentation
Bugs
If you find a bug, please feel free to create a GitHub issue
Description
Languages
Python
95.5%
Shell
3.2%
Smarty
0.8%
Makefile
0.5%