This change brings Treasuremap up-to-date with the new docs.airshipit.org theme. Change-Id: I37f309519a63398cc4ad664c49c1beb4643ae8c7 Signed-off-by: Drew Walters <andrew.walters@att.com>changes/55/735255/2
@ -0,0 +1 @@ | |||
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="1.51in" height="0.41in" viewBox="0 0 108.66 29.2"><defs><style>.cls-1{fill:#fff;}</style></defs><title>logo_white</title><path class="cls-1" d="M166.93,99.47a4,4,0,0,1-.36-1.2,4.31,4.31,0,0,1-3.36,1.45A4.72,4.72,0,0,1,160,98.58a3.64,3.64,0,0,1-1.29-2.86,3.75,3.75,0,0,1,1.57-3.25,7.74,7.74,0,0,1,4.54-1.15h1.64v-.77a2.16,2.16,0,0,0-.47-1.47,1.88,1.88,0,0,0-1.5-.56A2.1,2.1,0,0,0,163,89a1.47,1.47,0,0,0-.51,1.19H159a3.57,3.57,0,0,1,.72-2.15,4.78,4.78,0,0,1,2-1.55,7.44,7.44,0,0,1,2.94-.56,5.8,5.8,0,0,1,3.91,1.24A4.33,4.33,0,0,1,170,90.6v5.79a6.34,6.34,0,0,0,.53,2.87v.21ZM164,97a3.15,3.15,0,0,0,1.46-.35,2.29,2.29,0,0,0,1-.94V93.4h-1.33c-1.78,0-2.73.62-2.85,1.85v.21a1.44,1.44,0,0,0,.47,1.1A1.8,1.8,0,0,0,164,97Z" transform="translate(-125.67 -75.4)"/><path class="cls-1" d="M172.47,82.68a1.73,1.73,0,0,1,.53-1.32,2.31,2.31,0,0,1,2.92,0,1.88,1.88,0,0,1,0,2.65,2.28,2.28,0,0,1-2.9,0A1.77,1.77,0,0,1,172.47,82.68Zm3.78,16.79h-3.58V86.13h3.58Z" transform="translate(-125.67 -75.4)"/><path class="cls-1" d="M186.42,89.47a9,9,0,0,0-1.28-.1,2.61,2.61,0,0,0-2.65,1.37v8.73h-3.56V86.13h3.36l.1,1.59a3.3,3.3,0,0,1,3-1.84,3.92,3.92,0,0,1,1.11.16Z" transform="translate(-125.67 -75.4)"/><path class="cls-1" d="M195.74,95.78a1.16,1.16,0,0,0-.65-1,7.43,7.43,0,0,0-2.07-.67c-3.18-.66-4.76-2-4.76-4a3.68,3.68,0,0,1,1.47-3,6,6,0,0,1,3.85-1.19,6.35,6.35,0,0,1,4.06,1.2,3.76,3.76,0,0,1,1.53,3.1H195.6a1.72,1.72,0,0,0-.49-1.26,2.1,2.1,0,0,0-1.54-.5,2.13,2.13,0,0,0-1.39.41,1.29,1.29,0,0,0-.5,1,1.1,1.1,0,0,0,.56,1,6,6,0,0,0,1.9.63,14.77,14.77,0,0,1,2.24.6q2.82,1,2.82,3.58a3.49,3.49,0,0,1-1.56,3,6.77,6.77,0,0,1-4,1.13,7,7,0,0,1-3-.6,5,5,0,0,1-2-1.64,3.79,3.79,0,0,1-.74-2.25h3.38a1.82,1.82,0,0,0,.7,1.45,2.76,2.76,0,0,0,1.75.51,2.59,2.59,0,0,0,1.55-.39A1.21,1.21,0,0,0,195.74,95.78Z" transform="translate(-125.67 -75.4)"/><path class="cls-1" d="M205.35,87.58a4.48,4.48,0,0,1,3.57-1.7q4.34,0,4.4,5v8.55h-3.56V91a2.45,2.45,0,0,0-.5-1.69,2.09,2.09,0,0,0-1.64-.55A2.43,2.43,0,0,0,205.35,90v9.48h-3.56V80.53h3.56Z" transform="translate(-125.67 -75.4)"/><path class="cls-1" d="M215.82,82.68a1.73,1.73,0,0,1,.54-1.32,2,2,0,0,1,1.46-.52,2,2,0,0,1,1.46.52,1.73,1.73,0,0,1,.54,1.32,1.78,1.78,0,0,1-.55,1.33,2.28,2.28,0,0,1-2.9,0A1.78,1.78,0,0,1,215.82,82.68Zm3.79,16.79H216V86.13h3.58Z" transform="translate(-125.67 -75.4)"/><path class="cls-1" d="M234.33,92.92a8,8,0,0,1-1.4,4.94,4.48,4.48,0,0,1-3.78,1.86,4.13,4.13,0,0,1-3.26-1.41v6.29h-3.57V86.13h3.31l.12,1.31a4.18,4.18,0,0,1,3.38-1.56A4.51,4.51,0,0,1,233,87.71a8.15,8.15,0,0,1,1.37,5Zm-3.56-.26a5.23,5.23,0,0,0-.66-2.87,2.16,2.16,0,0,0-1.92-1,2.32,2.32,0,0,0-2.3,1.28v5.46a2.37,2.37,0,0,0,2.33,1.32Q230.77,96.84,230.77,92.66Z" transform="translate(-125.67 -75.4)"/><path class="cls-1" d="M135.45,97.76l-1.55-.9A1.9,1.9,0,0,1,133,95.6l-.58-3a26.6,26.6,0,0,1-1.65-3.73l-4.9,8.49a1.4,1.4,0,0,0,1.21,2.1h7.69a.51.51,0,0,0,.45-.26l.72-1.25A2,2,0,0,1,135.45,97.76Z" transform="translate(-125.67 -75.4)"/><path class="cls-1" d="M140.56,76.1a1.41,1.41,0,0,0-2.43,0l-6.06,10.51a1.3,1.3,0,0,1,.74-.5c2-.53,5.94-1.23,9,.56a9.74,9.74,0,0,1,3.52,3.79h3.2a.51.51,0,0,1,.4.19Z" transform="translate(-125.67 -75.4)"/><path class="cls-1" d="M152.84,97.37,149,90.78a.53.53,0,0,1-.11.54l-2,2L153,97.81A1.46,1.46,0,0,0,152.84,97.37Z" transform="translate(-125.67 -75.4)"/><path class="cls-1" d="M138.66,92.16A28.39,28.39,0,0,1,132,86.74l-.12.2a1.08,1.08,0,0,0,0,.81,16.31,16.31,0,0,0,1.85,4.36l.63,3.23a.51.51,0,0,0,.25.34l1.55.9a.51.51,0,0,0,.7-.18l.5-.86a10.11,10.11,0,0,0,4.56.9l1.6,2.77a.51.51,0,0,0,.94-.11l.88-3.11c.21,0,.39-.09.57-.14a1.32,1.32,0,0,0,.82-.63A28.65,28.65,0,0,1,138.66,92.16Z" transform="translate(-125.67 -75.4)"/><path class="cls-1" d="M152.09,99.39l-5.62-2.47-.73,2.55h5.89A1.39,1.39,0,0,0,152.09,99.39Z" transform="translate(-125.67 -75.4)"/></svg> |
@ -1,242 +0,0 @@ | |||
================= | |||
Development Guide | |||
================= | |||
Welcome | |||
------- | |||
Thank you for your interest in Airship. Our community is eager to help you | |||
contribute to the success of our project and welcome you as a member of our | |||
community! | |||
We invite you to reach out to us at any time via the `Airship mailing list`_ or | |||
`#airshipit IRC channel`_ on freenode. | |||
Welcome aboard! | |||
.. _Airship mailing list: http://lists.airshipit.org | |||
.. _#airshipit IRC channel: irc://chat.freenode.net:6667 | |||
Getting Started | |||
--------------- | |||
Airship is a collection of open source tools for automating cloud provisioning | |||
and management. Airship provides a declarative framework for defining and | |||
managing the life cycle of open infrastructure tools and the underlying | |||
hardware. These tools include OpenStack for virtual machines, Kubernetes for | |||
container orchestration, and MaaS for bare metal, with planned support for | |||
OpenStack Ironic. | |||
We recommend that new contributors begin by reading the high-level architecture | |||
overview included in our `treasuremap`_ documentation. The architectural | |||
overview introduces each Airship component, their core responsibilities, and | |||
their integration points. | |||
.. _treasuremap: https://airship-treasuremap.readthedocs.io/en/latest | |||
Deep Dive | |||
--------- | |||
Each Airship component is accompanied by its own documentation that provides an | |||
extensive overview of the component. With so many components, it can be | |||
challenging to find a starting point. | |||
We recommend the following: | |||
Try an Airship environment | |||
~~~~~~~~~~~~~~~~~~~~~~~~~~ | |||
Airship provides two single-node environments for demo and development purpose. | |||
`Airship-in-a-Bottle`_ is a set of reference documents and shell scripts that | |||
stand up a full Airship environment with the execution of a script. | |||
`Airskiff`_ is a light-weight development environment bundled with a set of | |||
deployment scripts that provides a single-node Airship environment. Airskiff | |||
uses minikube to bootstrap Kubernetes, so it does not include Drydock, MaaS, or | |||
Promenade. | |||
Additionally, we provide a reference architecture for easily deploying a | |||
smaller, demo site. | |||
`Airsloop`_ is a fully-authored Airship site that can be quickly deployed as a | |||
baremetal, demo lab. | |||
.. _Airship-in-a-Bottle: https://opendev.org/airship/in-a-bottle | |||
.. _Airskiff: https://airship-treasuremap.readthedocs.io/en/latest/airskiff.html | |||
.. _Airsloop: https://airship-treasuremap.readthedocs.io/en/latest/airsloop.html | |||
Focus on a component | |||
~~~~~~~~~~~~~~~~~~~~ | |||
When starting out, focusing on one Airship component allows you to become | |||
intricately familiar with the responsibilities of that component and understand | |||
its function in the Airship integration. Because the components are modeled | |||
after each other, you will also become familiar with the same patterns and | |||
conventions that all Airship components use. | |||
Airship source code lives in the `OpenDev Airship namespace`_. To clone an | |||
Airship project, execute the following, replacing `<component>` with the name | |||
of the Airship component you want to clone. | |||
.. code-block bash:: | |||
git clone https://opendev.org/airship/<component>.git | |||
Refer to the component's documentation to get started. A list of each | |||
component's documentation is listed below for reference: | |||
* `Armada`_ | |||
* `Deckhand`_ | |||
* `Divingbell`_ | |||
* `Drydock`_ | |||
* `Pegleg`_ | |||
* `Promenade`_ | |||
* `Shipyard`_ | |||
.. _OpenDev Airship namespace: https://opendev.org/airship | |||
.. _Armada: https://airship-armada.readthedocs.io | |||
.. _Deckhand: https://airship-deckhand.readthedocs.io | |||
.. _Divingbell: https://airship-divingbell.readthedocs.io | |||
.. _Drydock: https://airship-drydock.readthedocs.io | |||
.. _Pegleg: https://airship-pegleg.readthedocs.io | |||
.. _Promenade: https://airship-promenade.readthedocs.io | |||
.. _Shipyard: https://airship-shipyard.readthedocs.io | |||
Find a Storyboard task or story | |||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |||
Airship work items are tracked using Storyboard. A board of items can be found | |||
`here`_. | |||
Once you find an item to work on, simply assign the item to yourself or leave a | |||
comment that you plan to provide implementation for the item. | |||
.. _here: https://storyboard.openstack.org/#!/project_group/85 | |||
Testing Changes | |||
--------------- | |||
Testing of Airship changes can be accomplished several ways: | |||
#. Standalone, single component testing | |||
#. Integration testing | |||
#. Linting, unit, and functional tests/linting | |||
.. note:: Testing changes to charts in Airship repositories is best | |||
accomplished using the integration method describe below. | |||
Standalone Testing | |||
~~~~~~~~~~~~~~~~~~ | |||
Standalone testing of Airship components, i.e. using an Airship component as a | |||
Python project, provides the quickest feedback loop of the three methods and | |||
allows developers to make changes on the fly. We recommend testing initial code | |||
changes using this method to see results in real-time. | |||
Each Airship component written in Python has pre-requisites and guides for | |||
running the project in a standalone capacity. Refer to the documentation listed | |||
below. | |||
* `Armada`_ | |||
* `Deckhand`_ | |||
* `Drydock`_ | |||
* `Pegleg`_ | |||
* `Promenade`_ | |||
* `Shipyard`_ | |||
Integration Testing | |||
~~~~~~~~~~~~~~~~~~~ | |||
While each Airship component supports individual usage, Airship components | |||
have several integration points that should be exercised after modifying | |||
functionality. | |||
We maintain several environments that encompass these integration points: | |||
#. `Airskiff`_: Integration of Armada, Deckhand, Shipyard, and Pegleg | |||
#. `Airship-in-a-Bottle Multinode`: Full Airship integration | |||
For changes that merely impact software delivery components, exercising a full | |||
Airskiff deployment is often sufficient. Otherwise, we recommend using the | |||
Airship-in-a-Bottle Multinode environment. | |||
Each environment's documentation covers the process required to build and test | |||
component images. | |||
.. _Airskiff: https://airship-treasuremap.readthedocs.io/en/latest/ | |||
airskiff.html | |||
.. _Airship-in-a-Bottle Multinode: http://git.openstack.org/cgit/openstack/ | |||
airship-in-a-bottle/tree/tools/multi_nodes_gate/README.rst | |||
Final Checks | |||
~~~~~~~~~~~~ | |||
Airship projects provide Makefiles to run unit, integration, and functional | |||
tests as well as lint Python code for PEP8 compliance and Helm charts for | |||
successful template rendering. All checks are gated by Zuul before a change can | |||
be merged. For more information on executing these checks, refer to | |||
project-specific documentation. | |||
Third party CI tools, such as Jenkins, report results on Airship-in-a-Bottle | |||
patches. These can be exposed using the "Toggle CI" button in the bottom | |||
left-hand page of any gerrit change. | |||
Pushing code | |||
------------ | |||
Airship uses the `OpenDev gerrit`_ for code review. Refer to the `OpenStack | |||
Contributing Guide`_ for a tutorial on submitting changes to Gerrit code | |||
review. | |||
.. _OpenDev gerrit: https://review.opendev.org | |||
.. _OpenStack Contributing Guide: https://docs.openstack.org/horizon/latest/contributor/contributing.html | |||
Next steps | |||
---------- | |||
Upon pushing a change to gerrit, Zuul continuous integration will post job | |||
results on your patch. Refer to the job output by clicking on the job itself to | |||
determine if further action is required. If it's not clear why a job failed, | |||
please reach out to a team member in IRC. We are happy to assist! | |||
Assuming all continuous integration jobs succeed, Airship community members and | |||
core developers will review your patch and provide feedback. Many patches are | |||
submitted to Airship projects each day. If your patch does not receive feedback | |||
for several days, please reach out using IRC or the Airship mailing list. | |||
Merging code | |||
------------ | |||
Like most OpenDev projects, Airship patches require two +2 code review votes | |||
from core members to merge. Once you have addressed all outstanding feedback, | |||
your change will be merged. | |||
Beyond | |||
------ | |||
Congratulations! After your first change merges, please keep up-to-date with | |||
the team. We hold two weekly meetings for project and design discussion: | |||
Our weekly #airshipit IRC meeting provides an opportunity to discuss project | |||
operations. | |||
Our weekly design call provides an opportunity for in-depth discussion of new | |||
and existing Airship features. | |||
For more information on the times of each meeting, refer to the `Airship | |||
wiki`_. | |||
.. _Airship wiki: https://wiki.openstack.org/wiki/Airship |