Create initial template for specifications
Change-Id: I16a0fd0ff814ba38d442be218cc8daa77f8f1394 Signed-off-by: Saul Wold <sgw@linux.intel.com>
This commit is contained in:
parent
83d8e4413d
commit
8f0d710960
104
.gitignore
vendored
Normal file
104
.gitignore
vendored
Normal file
@ -0,0 +1,104 @@
|
||||
# Byte-compiled / optimized / DLL files
|
||||
__pycache__/
|
||||
*.py[cod]
|
||||
*$py.class
|
||||
|
||||
# C extensions
|
||||
*.so
|
||||
|
||||
# Distribution / packaging
|
||||
.Python
|
||||
build/
|
||||
develop-eggs/
|
||||
dist/
|
||||
downloads/
|
||||
eggs/
|
||||
.eggs/
|
||||
lib/
|
||||
lib64/
|
||||
parts/
|
||||
sdist/
|
||||
var/
|
||||
wheels/
|
||||
*.egg-info/
|
||||
.installed.cfg
|
||||
*.egg
|
||||
MANIFEST
|
||||
|
||||
# PyInstaller
|
||||
# Usually these files are written by a python script from a template
|
||||
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
||||
*.manifest
|
||||
*.spec
|
||||
|
||||
# Installer logs
|
||||
pip-log.txt
|
||||
pip-delete-this-directory.txt
|
||||
|
||||
# Unit test / coverage reports
|
||||
htmlcov/
|
||||
.tox/
|
||||
.coverage
|
||||
.coverage.*
|
||||
.cache
|
||||
nosetests.xml
|
||||
coverage.xml
|
||||
*.cover
|
||||
.hypothesis/
|
||||
.pytest_cache/
|
||||
|
||||
# Translations
|
||||
*.mo
|
||||
*.pot
|
||||
|
||||
# Django stuff:
|
||||
*.log
|
||||
local_settings.py
|
||||
db.sqlite3
|
||||
|
||||
# Flask stuff:
|
||||
instance/
|
||||
.webassets-cache
|
||||
|
||||
# Scrapy stuff:
|
||||
.scrapy
|
||||
|
||||
# Sphinx documentation
|
||||
docs/_build/
|
||||
|
||||
# PyBuilder
|
||||
target/
|
||||
|
||||
# Jupyter Notebook
|
||||
.ipynb_checkpoints
|
||||
|
||||
# pyenv
|
||||
.python-version
|
||||
|
||||
# celery beat schedule file
|
||||
celerybeat-schedule
|
||||
|
||||
# SageMath parsed files
|
||||
*.sage.py
|
||||
|
||||
# Environments
|
||||
.env
|
||||
.venv
|
||||
env/
|
||||
venv/
|
||||
ENV/
|
||||
env.bak/
|
||||
venv.bak/
|
||||
|
||||
# Spyder project settings
|
||||
.spyderproject
|
||||
.spyproject
|
||||
|
||||
# Rope project settings
|
||||
.ropeproject
|
||||
|
||||
# mkdocs documentation
|
||||
/site
|
||||
|
||||
# mypy
|
||||
.mypy_cache/
|
8
.zuul.yaml
Normal file
8
.zuul.yaml
Normal file
@ -0,0 +1,8 @@
|
||||
---
|
||||
- project:
|
||||
check:
|
||||
jobs:
|
||||
- openstack-tox-linters
|
||||
gate:
|
||||
jobs:
|
||||
- openstack-tox-linters
|
5
README.rst
Normal file
5
README.rst
Normal file
@ -0,0 +1,5 @@
|
||||
========================
|
||||
StarlingX specifications
|
||||
========================
|
||||
|
||||
This repository contains specifications for the StarlingX project.
|
8
doc/source/_placeholder.rst
Normal file
8
doc/source/_placeholder.rst
Normal file
@ -0,0 +1,8 @@
|
||||
.. placeholder:
|
||||
|
||||
===========
|
||||
Placeholder
|
||||
===========
|
||||
|
||||
This file is a placeholder and should be deleted when the first spec is moved
|
||||
to this directory.
|
8
specs/approved/_placeholder.rst
Normal file
8
specs/approved/_placeholder.rst
Normal file
@ -0,0 +1,8 @@
|
||||
.. placeholder:
|
||||
|
||||
===========
|
||||
Placeholder
|
||||
===========
|
||||
|
||||
This file is a placeholder and should be deleted when the first spec is moved
|
||||
to this directory.
|
8
specs/implemented/_placeholder.rst
Normal file
8
specs/implemented/_placeholder.rst
Normal file
@ -0,0 +1,8 @@
|
||||
.. placeholder:
|
||||
|
||||
===========
|
||||
Placeholder
|
||||
===========
|
||||
|
||||
This file is a placeholder and should be deleted when the first spec is moved
|
||||
to this directory.
|
63
specs/instructions.rst
Normal file
63
specs/instructions.rst
Normal file
@ -0,0 +1,63 @@
|
||||
..
|
||||
This work is licensed under a Creative Commons Attribution 3.0 Unported
|
||||
License.
|
||||
|
||||
http://creativecommons.org/licenses/by/3.0/legalcode
|
||||
|
||||
.. index::
|
||||
single: instructions
|
||||
single: getting started
|
||||
|
||||
.. _instructions:
|
||||
|
||||
============
|
||||
Instructions
|
||||
============
|
||||
|
||||
- Use the template.rst as the basis of your specification.
|
||||
- Attempt to detail each applicable section.
|
||||
- If a section does not apply, use N/A, and optionally provide
|
||||
a short explanation.
|
||||
- New specs for review should be placed in the ``approved`` subfolder, where
|
||||
they will undergo review and approval in Gerrit_.
|
||||
- Specs that have finished implementation should be moved to the
|
||||
``implemented`` subfolder.
|
||||
|
||||
Indexing and Categorization
|
||||
---------------------------
|
||||
|
||||
Use of the `index`_ directive in reStructuredText for each document provides
|
||||
the ability to generate indexes to more easily find items later. Authors are
|
||||
encouraged to use index entries for their documents to help with discovery.
|
||||
|
||||
Naming
|
||||
------
|
||||
|
||||
Document naming standards help readers find specs. For the StarlingX repository,
|
||||
the following document naming is recommended. The categories listed here are
|
||||
likely incomplete, and may need expansion to cover new cases. It is preferrable
|
||||
to deviate (and hopefully amend the list) than force document names into
|
||||
nonsense categories. Prefer using categories that have previously been used or
|
||||
that are listed here over new categories, but don't force the category into
|
||||
something that doesn't make sense.
|
||||
|
||||
Document names should follow a pattern as follows::
|
||||
|
||||
[category]_title.rst
|
||||
|
||||
Use the following guidelines to determine the category to use for a document:
|
||||
|
||||
1) For new functionality and features, the best choice for a category is to
|
||||
match a functional duty of StarlingX.
|
||||
|
||||
2) For specs that are not feature focused, the component of the system may
|
||||
be the best choice for a category, e.g. ``sysinv``, ``armada`` etc...
|
||||
When there are multiple components involved, or the concern is cross
|
||||
cutting, use of ``starlingx`` is an acceptable category.
|
||||
|
||||
3) If the spec is related to the ecosystem StarlingX is maintained within, an
|
||||
appropriate category would be related to the aspect it is impacting, e.g.:
|
||||
``git``, ``docker``, ``zuul``, etc...
|
||||
|
||||
.. _index: http://www.sphinx-doc.org/en/stable/markup/misc.html#directive-index
|
||||
.. _Gerrit: https://review.openstack.org/#/q/project:openstack/stx-specs
|
105
specs/template.rst
Normal file
105
specs/template.rst
Normal file
@ -0,0 +1,105 @@
|
||||
..
|
||||
This work is licensed under a Creative Commons Attribution 3.0 Unported
|
||||
License.
|
||||
|
||||
http://creativecommons.org/licenses/by/3.0/legalcode
|
||||
|
||||
.. index::
|
||||
single: template
|
||||
single: creating specs
|
||||
|
||||
.. note::
|
||||
|
||||
Specifications are written using ReSTructured text.
|
||||
|
||||
Add index directives to help others find your spec. E.g.::
|
||||
|
||||
.. index::
|
||||
single: template
|
||||
single: creating specs
|
||||
|
||||
=========================================
|
||||
Template: The title of your specification
|
||||
=========================================
|
||||
|
||||
Introduction paragraph -- What is this specification about?
|
||||
|
||||
Links
|
||||
=====
|
||||
|
||||
Include pertinent links to where the work is being tracked (e.g. Storyboard),
|
||||
as well as any other foundational information that may lend clarity to this
|
||||
specification
|
||||
|
||||
Problem description
|
||||
===================
|
||||
|
||||
A detailed description of the problem being addressed or solved
|
||||
|
||||
Impacted components
|
||||
===================
|
||||
|
||||
List the StarlingX components that are impacted
|
||||
|
||||
Proposed change
|
||||
===============
|
||||
|
||||
Provide a detailed description of the change being proposed. Include how the
|
||||
problem will be addressed or solved.
|
||||
|
||||
If this is an incremental part of a larger solution or effort, provide the
|
||||
specific scope of this specification, and how it fits into the overarching
|
||||
solution.
|
||||
|
||||
Details of changes to specific StarlingX components should be specified in this
|
||||
section, as well as interaction between those components.
|
||||
|
||||
Special attention should be given to interfaces between components. New
|
||||
interfaces shuld attempt to follow established patterns within StarlingX, or
|
||||
should be evaluated for suitability as new precedent.
|
||||
|
||||
If this specification changes testing needs or approaches, that information
|
||||
should be disclosed here, and should be regarded as part of the deliverable
|
||||
related to this design.
|
||||
|
||||
If this specification introduces new functionality that requires new kinds of
|
||||
documentation, or a change to the documentation processes, that information
|
||||
should be included in this section.
|
||||
|
||||
Security impact
|
||||
---------------
|
||||
|
||||
Details of any security-related concerns that this proposed change introduces
|
||||
or addresses.
|
||||
|
||||
Performance impact
|
||||
------------------
|
||||
|
||||
Analysis of performance changes that are introduced or addressed with this
|
||||
proposed design.
|
||||
|
||||
Alternatives
|
||||
------------
|
||||
|
||||
If other approaches were considered, include a summary of those here, and a
|
||||
short discussion of why the proposed approach is preferred.
|
||||
|
||||
Implementation
|
||||
==============
|
||||
|
||||
If known, include any information detailing assigned individuals, proposed
|
||||
milestones, intermediate deliverable products, and work items.
|
||||
|
||||
If there are Assignee(s) or Work Items, use a sub-heading for that
|
||||
information.
|
||||
|
||||
Dependencies
|
||||
============
|
||||
|
||||
If there are any dependencies on other work, specification, or other things that
|
||||
impact the ability to deliver this solution, include that information here.
|
||||
|
||||
References
|
||||
==========
|
||||
|
||||
Any external references (other than the direct links above)
|
2
test-requirements.txt
Normal file
2
test-requirements.txt
Normal file
@ -0,0 +1,2 @@
|
||||
PyYAML>=3.1.0
|
||||
yamllint>=0.5.2
|
32
tox.ini
Normal file
32
tox.ini
Normal file
@ -0,0 +1,32 @@
|
||||
[tox]
|
||||
envlist = linters
|
||||
minversion = 2.3
|
||||
skipsdist = True
|
||||
|
||||
[testenv]
|
||||
basepython = python3
|
||||
install_command = pip install -U {opts} {packages}
|
||||
setenv = VIRTUAL_ENV={envdir}
|
||||
OS_STDOUT_CAPTURE=1
|
||||
OS_STDERR_CAPTURE=1
|
||||
OS_TEST_TIMEOUT=60
|
||||
deps = -r{toxinidir}/test-requirements.txt
|
||||
|
||||
[testenv:docs]
|
||||
basepython = python3
|
||||
deps =
|
||||
-c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
|
||||
-r{toxinidir}/doc/requirements.txt
|
||||
commands =
|
||||
sphinx-build -a -E -W -d doc/build/doctrees -b html doc/source doc/build/html
|
||||
|
||||
[testenv:linters]
|
||||
whitelist_externals = bash
|
||||
commands =
|
||||
bash -c "find {toxinidir} \
|
||||
\( -name .tox -prune \) \
|
||||
-o -type f -name '*.yaml' \
|
||||
-print0 | xargs -0 yamllint"
|
||||
|
||||
[testenv:venv]
|
||||
commands = {posargs}
|
Loading…
Reference in New Issue
Block a user