Updates the Shipyard/Airflow workflow for deploy_site and
update_site to use the deployment group/deployment strategy
information from the design.
This allows for baremetal nodes to be deployed in a design-
specified order, with criticality and success criteria driving
the success and failure of deployment.
Includes refactoring of service endpoints to reduce the need
for so much data passing.
Change-Id: Ib5e9fca535ca74d1819fe46959695acfed5b65c2
When registering options, the list_options was not returning the
appropriate options for keystone. This adds those options. Aslo changes
to use a more direct/generic adding of keystone options.
Related to this, a change was required to the service_endpoints module
to generate an auth object used to get a session.
In addition, the zuul gates for py35 were resolving to a non-existent
target. The changes to tox.ini files addresses making it so the unit
test gates are restored to functionality.
This change also uncovered a misconfigured unit test, and corrects that
test.
Change-Id: Ibc1c6c217ac7396390e7a881afbb9ef1c5ab7091
Refactors the uwsgi-based logging filter to encapsulate
better and adds a redaction filter for api logging.
This change now also includes bringing a stray test back into
the correct location.
Change-Id: I53de7da6bd4182e824366fdbb5221c7c9ae5be09
Refactor Shipyard to be better able to leverage common
packages and conform with the target UCP standard layout.
This change supports the same tox entrypoints at
the root level, but the preferred approach is to use make
targets defined in the Makefile such as 'make tests' and
'make lint'
The previous tox.ini has moved and been
tailored to the specifics of each subproject at
src/bin/*/tox.ini
Autotmatic generation of the policy and configuration
files has been removed from the sphinx build for now
but these files will be automatically generated locally
into the docs source by using a 'make docs' command.
This may need to be revisited later to re-enable the
automatic generation of these files such that readthedocs
would still support the project layout.
Change-Id: Ifdc1cd4cf35fb3c5923414c677b781a60a9bae42
Updates dockerfile to use python 3.5 base image and
reorders to take advantage of image layering caching better
Removes some outdated and unused files
adds .editorconfig file
adds .vscode to gitignore
Change-Id: I08571b7176f0cb9fab42f072326c6c14d86d518a
test_actions_validations_id_api.py contains the unit tests for the
ActionsValidationsResource
test_api.py contains the unit tests for the VersionsResource
.gitignore was modified in follow up to the additon of --cov-report=html
in the tox file from the 'Unit Test for WorkflowResource and
WorkflowIdResource' commit
Change-Id: Ic830ade260591e7145b1199a2b4be1c6f9cdf8a6
This patchset moves most of the documentation for
shipyard from markdown to reStructuredText.
README.md remains as it is nice for Github consumption
and serves as a gateway to the rest of the generated
documentation.
Change-Id: I8cec38fe0e30e9a545cb6e79ae6de1934f7dfc4e
When a dag_status is not in the known list of statuses, indicate
unknown, and include the returned status parenthetically.
Change-Id: I42a083433e26c6f48aa4ef8195f0df03d1567d71
This PS adds tooling and automation to automatically generate
Shipyard's documentation into feature-rich HTML pages that can
be hosted.
To run the documentation job, simply execute:
tox -e docs
Shipyard's .md documentation will have to be changed to .rst
in a future PS for sphinx to be able to render them into HTML.
Change-Id: Iba8cfd68e4905d49cd5a1dfd39d556044efdabbd
This change introduces a large section of the API for the next major
version of Shipyard - the action api. By interfacing with Airflow,
Shipyard will invoke workflows and allow for controlling and querying
status of those workflows. Foundationally, this patchset introduces
a lot of framework code for other apis, including error handling
to a common output format, database interaction for persistence of
action information, and use of oslo_config for configuration support.
Add GET all actions primary code - db connection not yet impl
Update base classes to have more structure
Add POST actions framework
Add GET action by id
Add GET of validations and steps
Add control api
Add unit tests of action api methods
Re-Removed duplicate deps from test reqs
Add routes for API
Removed a lot of code better handled by falcon directly
Cleaned up error flows- handlers and defaults
Refactored existing airflow tests to match standard output format
Updated json validation to be more specific
Added basic start for alembic
Added alembic upgrade at startup
Added table creation definitions
Added base revision for alembic upgrade
Bug fixes - DB queries, airflow comm, logic issues, logging issues
Bug fixes - date formats and alignment of keys between systems
Exclusions to bandit / tox.ini
Resolved merge conflicts with integration of auth
Update to use oslo config and PBR
Update the context middleware to check uuid in a less contentious way
Removed routes and resources for regions endpoint - not used
Add auth policies for action api
Restructure execptions to be consistent class hierarchy and common handler
Add generation of config and policy examples
Update tests to init configs
Update database configs to not use env. vars
Removed examples directory, it was no longer accurate
Addressed/removed several TODOs - left some behind as well
Aligned input to DAGs with action: header
Retrieved all sub-steps for dags
Expanded step information
Refactored auth handling for better logging
rename create_actions policy to create_action
removed some templated file comments in env.py generated by alembic
updated inconsistent exception parameters
updated to use ulid instead of uuid for action ids
added action control audit code per review suggestion
Fixed correlation date betwen dags/actions by more string parsing
Change-Id: I2f9ea5250923f45456aa86826e344fc055bba762