Configuration extraction tool for Airship
Go to file
Alexander Hughes 3bf68e464a PEP-8 code styling and linting
As a newer project, Spyglass is still a work in progress in terms of its
styling. This change is meant to help improve readability and compliance
of Spyglass source code.

To match other Airship projects, this change implements YAPF into tox so
linting is automatically ran. This will hopefully keep formatting grey
areas styled consistently.

PEP-8: https://www.python.org/dev/peps/pep-0008/

OpenStack Style Guidelines:
https://docs.openstack.org/hacking/latest/user/hacking.html

PEP Index: https://www.python.org/dev/peps/

Depends on https://review.openstack.org/#/c/648764.

Change-Id: I45b19cc8a7932fd7823dcb69f64a0a1bf19fc434
2019-04-22 18:46:48 +00:00
doc PEP-8 code styling and linting 2019-04-22 18:46:48 +00:00
images/spyglass PEP-8 code styling and linting 2019-04-22 18:46:48 +00:00
spyglass PEP-8 code styling and linting 2019-04-22 18:46:48 +00:00
tools Various fixes to Spyglass to resolve tox errors 2019-04-16 12:22:53 -05:00
.dockerignore Base code for spyglass 2018-11-28 15:19:43 +05:30
.gitignore Base code for spyglass 2018-11-28 15:19:43 +05:30
.gitreview OpenDev Migration Patch 2019-04-19 19:52:20 +00:00
.zuul.yaml Add gate 2019-04-04 19:25:58 -05:00
LICENSE Base code for spyglass 2018-11-28 15:19:43 +05:30
MANIFEST.in Remove flask YAML web editor from Spyglass 2019-04-15 18:11:51 +00:00
Makefile Fix: remove references to previous repo 2018-12-04 18:51:57 +05:30
README.md Added base documentation 2018-11-29 17:25:03 +05:30
requirements.txt PEP-8 code styling and linting 2019-04-22 18:46:48 +00:00
setup.py PEP-8 code styling and linting 2019-04-22 18:46:48 +00:00
test-requirements.txt PEP-8 code styling and linting 2019-04-22 18:46:48 +00:00
tox.ini PEP-8 code styling and linting 2019-04-22 18:46:48 +00:00

README.md

What is Spyglass?

Spyglass is the data extractor tool which can interface with different input data sources to generate site manifest YAML files. The data sources will provide all the configuration data needed for a site deployment. These site manifest YAML files generated by spyglass will be saved in a Git repository, from where Pegleg can access and aggregate them. This aggregated file can then be fed to shipyard for site deployment / updates.

Spyglass follows plugin model to support multiple input data sources. Current supported plugins are formation-plugin and Tugboat. Formation is a rest API based service which will be the source of information related to hardware, networking, site data. Formation plugin will interact with Formation API to gather necessary configuration. Similarly Tugboat accepts engineering spec which is in the form of spreadsheet and an index file to read spreadsheet as inputs and generates the site level manifests. As an optional step it can generate an intermediary yaml which contain all the information that will be rendered to generate Airship site manifests. This optional step will help the deployment engineer to modify any data if required.

Getting Started

For more detailed installation and setup information, please refer to the Getting Started_ guide.

.. _Getting Started: ./doc/source/getting_started.rst