Merge "[docs] Add Kolla design philosophy"

This commit is contained in:
Zuul 2022-11-22 10:09:00 +00:00 committed by Gerrit Code Review
commit ef786de775
3 changed files with 61 additions and 45 deletions

View File

@ -18,6 +18,8 @@ The source repository for this project can be found at:
https://opendev.org/openstack/kolla
.. _communication:
Communication
~~~~~~~~~~~~~
@ -28,7 +30,7 @@ Weekly Meetings
On Wednesdays at 14:00 UTC in the IRC channel (`meetings logs`_)
Mailing list (prefix subjects with ``[kolla]``)
http://lists.openstack.org/pipermail/openstack-discuss/
https://lists.openstack.org/pipermail/openstack-discuss/
Meeting Agenda
:ref:`Meeting agenda <meeting-agenda>`
@ -38,54 +40,19 @@ Whiteboard (etherpad)
planning and feature development status.
https://etherpad.openstack.org/p/KollaWhiteBoard
.. _channel logs: http://eavesdrop.openstack.org/irclogs/%23openstack-kolla/
.. _meetings logs: http://eavesdrop.openstack.org/meetings/kolla/
.. _channel logs: https://meetings.opendev.org/irclogs/%23openstack-kolla/
.. _meetings logs: https://meetings.opendev.org/meetings/kolla/
Contacting the Core Team
~~~~~~~~~~~~~~~~~~~~~~~~
The list in alphabetical order (on first name):
In general it is suggested to use the above mentioned public communication
channels, but if you find the you need to contact someone from the Core team
directly, you can find the lists in Gerrit:
+-----------------------+---------------+------------------------------------+
| Name | IRC nick | Email address |
+=======================+===============+====================================+
| `Christian Berendt`_ | berendt | berendt@betacloud-solutions.de |
+-----------------------+---------------+------------------------------------+
| `Dincer Celik`_ | osmanlicilegi | hello@dincercelik.com |
+-----------------------+---------------+------------------------------------+
| `Eduardo Gonzalez`_ | egonzalez | dabarren@gmail.com |
+-----------------------+---------------+------------------------------------+
| `Jeffrey Zhang`_ | Jeffrey4l | jeffrey.zhang@99cloud.net |
+-----------------------+---------------+------------------------------------+
| `Marcin Juszkiewicz`_ | hrw | marcin.juszkiewicz@linaro.org |
+-----------------------+---------------+------------------------------------+
| `Mark Goddard`_ | mgoddard | mark@stackhpc.com |
+-----------------------+---------------+------------------------------------+
| `Michał Nasiadka`_ | mnasiadka | mnasiadka@gmail.com |
+-----------------------+---------------+------------------------------------+
| `Radosław Piliszek`_ | yoctozepto | radoslaw.piliszek@gmail.com |
+-----------------------+---------------+------------------------------------+
| `Surya Prakash`_ | spsurya | singh.surya64mnnit@gmail.com |
+-----------------------+---------------+------------------------------------+
| `Cao Yuan`_ | caoyuan | cao.yuan@99cloud.net |
+-----------------------+---------------+------------------------------------+
| `wu.chunyang`_ | wuchunyang | wuchunyang@yovole.com |
+-----------------------+---------------+------------------------------------+
.. _Christian Berendt: https://launchpad.net/~berendt
.. _Dincer Celik: https://launchpad.net/~osmanlicilegi
.. _Eduardo Gonzalez: https://launchpad.net/~egonzalez90
.. _Jeffrey Zhang: https://launchpad.net/~jeffrey4l
.. _Marcin Juszkiewicz: https://launchpad.net/~hrw
.. _Mark Goddard: https://launchpad.net/~mgoddard
.. _Michał Nasiadka: https://launchpad.net/~mnasiadka
.. _Radosław Piliszek: https://launchpad.net/~yoctozepto
.. _Surya Prakash: https://launchpad.net/~confisurya
.. _Cao Yuan: https://launchpad.net/~caoi-yuan
.. _wu.chunyang: https://launchpad.net/~wuchunyang
The current effective list is also available from Gerrit:
https://review.opendev.org/#/admin/groups/460,members
- kolla-core https://review.opendev.org/admin/groups/28d5dccfccc125b3963f76ab67e256501565d52b,members
- kolla-ansible-core https://review.opendev.org/admin/groups/cfd61289b70f00206797b035aa0bd7adfccf4be2,members
- kayobe-core https://review.opendev.org/admin/groups/361e28280e3a06be2997a5aa47a8a11d3a8fb9b9,members
New Feature Planning
~~~~~~~~~~~~~~~~~~~~
@ -116,7 +83,8 @@ Getting Your Patch Merged
~~~~~~~~~~~~~~~~~~~~~~~~~
Most changes proposed to Kolla require two +2 votes from core reviewers before
+W. A release note is required on most changes as well. Release notes policy
being approved and sent to the gate queue for merging. A release note is
required on most changes as well. Release notes policy
is described in :ref:`its own section <release-notes>`.
Significant changes should have documentation and testing provided with them.

View File

@ -13,6 +13,7 @@ We welcome everyone to join our project!
:maxdepth: 2
contributing
kolla-design-philosophy
running-in-development
adding-a-new-image
genconfig

View File

@ -0,0 +1,47 @@
=======================
Kolla design philosophy
=======================
This page aims to explain the design choices that have been made
in the Kolla projects (the main Kolla project for building the images
as well as all subprojects aimed at deploying them).
It is written down mostly for potential contributors but may be a good
guideline for anyone using and integrating with Kolla projects as it gives
an overview of what the preferred approach is. As noted, this is of great
interest to contributors because it might explain why certain changes will
get rejected and why some others will need a remake in order to be
accepted.
This page is likely an always-in-progress, living document.
Please reach out to the team via the mailing list or the IRC channel to
discuss the rules noted here, see our docs on
:ref:`communication <communication>` for details.
Do not own the deployed services' config defaults (unless necessary)
--------------------------------------------------------------------
In Kolla, we try not to own service config and its defaults.
We believe the upstream services know best what works for them by default.
This rule is overridden when a certain config option needs to be orchestrated
among multiple services or otherwise needs to agree with certain other
assumptions made in the environment. The notable exceptions here are the
basic addressing of services and Keystone credentials.
Prefer documented configuration via config overrides
----------------------------------------------------
... as opposed to new in-Ansible variables.
This plays nicely with the config overrides capabilities of Kolla Ansible
which let users easily customise the services' config to their hearts'
contents regardless of what Kolla Ansible offers via Ansible variables.
The reasoning behind this rule is that it lowers the maintenance burden
yet it does not handicap the users - they can control every last detail
of their config.
One of the (not necessarily planned) side-effects of this is that users'
config overrides are not locked-in for Kolla Ansible and can relatively
easily be reused in other configuration systems.