From 68efa29e4918514b46ea0c2a6c17ab125a32529d Mon Sep 17 00:00:00 2001 From: Graham Hayes Date: Wed, 26 Aug 2015 15:19:30 -0700 Subject: [PATCH] Cookiecutter commit Change-Id: I9237adf2c01e0b10bd23eaac59d4bb33bc94fe93 --- .gitignore | 36 ++++++++ .mailmap | 3 + .testr.conf | 7 ++ CONTRIBUTING.rst | 21 +++++ LICENSE | 3 + MANIFEST.in | 6 ++ README.rst | 13 +++ doc/source/conf.py | 93 +++++++++++++++++++ doc/source/contributing.rst | 21 +++++ doc/source/index.rst | 33 +++++++ doc/source/readme.rst | 13 +++ doc/source/specs | 1 + doc/source/template.rst | 86 ++++++++++++++++++ requirements.txt | 4 + setup.cfg | 24 +++++ setup.py | 22 +++++ specs/.gitignore | 0 specs/liberty/placeholder.rst | 163 ++++++++++++++++++++++++++++++++++ template.rst | 86 ++++++++++++++++++ test-requirements.txt | 0 tox.ini | 25 ++++++ 21 files changed, 660 insertions(+) create mode 100644 .gitignore create mode 100644 .mailmap create mode 100644 .testr.conf create mode 100644 CONTRIBUTING.rst create mode 100644 LICENSE create mode 100644 MANIFEST.in create mode 100644 README.rst create mode 100644 doc/source/conf.py create mode 100644 doc/source/contributing.rst create mode 100644 doc/source/index.rst create mode 100644 doc/source/readme.rst create mode 120000 doc/source/specs create mode 100644 doc/source/template.rst create mode 100644 requirements.txt create mode 100644 setup.cfg create mode 100644 setup.py create mode 100644 specs/.gitignore create mode 100644 specs/liberty/placeholder.rst create mode 100644 template.rst create mode 100644 test-requirements.txt create mode 100644 tox.ini diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5f10bca --- /dev/null +++ b/.gitignore @@ -0,0 +1,36 @@ +*.py[cod] + +# Packages +*.egg +*.egg-info +dist +build +eggs +parts +sdist +develop-eggs +.installed.cfg + +# Installer logs +pip-log.txt + +# Unit test / coverage reports +.tox +nosetests.xml +.testrepository + +# Mr Developer +.mr.developer.cfg +.project +.pydevproject + +# Sphinx +doc/build + +# pbr generates these +AUTHORS +ChangeLog + +# Editors +*~ +.*.swp \ No newline at end of file diff --git a/.mailmap b/.mailmap new file mode 100644 index 0000000..cc92f17 --- /dev/null +++ b/.mailmap @@ -0,0 +1,3 @@ +# Format is: +# +# \ No newline at end of file diff --git a/.testr.conf b/.testr.conf new file mode 100644 index 0000000..fb62267 --- /dev/null +++ b/.testr.conf @@ -0,0 +1,7 @@ +[DEFAULT] +test_command=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} \ + OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} \ + OS_TEST_TIMEOUT=${OS_TEST_TIMEOUT:-60} \ + ${PYTHON:-python} -m subunit.run discover -t ./ . $LISTOPT $IDOPTION +test_id_option=--load-list $IDFILE +test_list_option=--list \ No newline at end of file diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst new file mode 100644 index 0000000..5eb10fa --- /dev/null +++ b/CONTRIBUTING.rst @@ -0,0 +1,21 @@ +============================================= +Contributing to: kosmos-specs +============================================= + +If you would like to contribute to the development of OpenStack, you must +follow the steps in this page: + + http://docs.openstack.org/infra/manual/developers.html + +If you already have a good understanding of how the system works and your +OpenStack accounts are set up, you can skip to the development workflow +section of this documentation to learn how changes to OpenStack should be +submitted for review via the Gerrit tool: + + http://docs.openstack.org/infra/manual/developers.html#development-workflow + +Pull requests submitted through GitHub will be ignored. + +Bugs should be filed on Launchpad, not GitHub: + + https://bugs.launchpad.net/kosmos \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..cd5fb7c --- /dev/null +++ b/LICENSE @@ -0,0 +1,3 @@ +This work is licensed under a Creative Commons Attribution 3.0 Unported License. + +http://creativecommons.org/licenses/by/3.0/legalcode \ No newline at end of file diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 0000000..90f8a7a --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1,6 @@ +include AUTHORS +include ChangeLog +exclude .gitignore +exclude .gitreview + +global-exclude *.pyc \ No newline at end of file diff --git a/README.rst b/README.rst new file mode 100644 index 0000000..04bc972 --- /dev/null +++ b/README.rst @@ -0,0 +1,13 @@ +=============================== +kosmos-specs +=============================== + +Specifications for the Kosmos Project (Global Load Balancing) + +* Free software: Apache license +* Documentation: http://docs.openstack.org/developer/kosmos-specs + +Features +-------- + +* TODO \ No newline at end of file diff --git a/doc/source/conf.py b/doc/source/conf.py new file mode 100644 index 0000000..6c63134 --- /dev/null +++ b/doc/source/conf.py @@ -0,0 +1,93 @@ +# -*- coding: utf-8 -*- +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import datetime +import os +import sys + +sys.path.insert(0, os.path.abspath('../..')) +# -- General configuration ---------------------------------------------------- + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom ones. +extensions = [ + 'sphinx.ext.autodoc', + #'sphinx.ext.intersphinx', + 'oslosphinx', + 'yasfb', +] + +# Feed configuration for yasfb +feed_base_url = 'http://specs.openstack.org/openstack/kosmos-specs' +feed_author = 'OpenStack Development Team' + +exclude_patterns = [ + 'template.rst', +] + +# Optionally allow the use of sphinxcontrib.spelling to verify the +# spelling of the documents. +try: + import sphinxcontrib.spelling + extensions.append('sphinxcontrib.spelling') +except ImportError: + pass + +# autodoc generation is a bit aggressive and a nuisance when doing heavy +# text edit cycles. +# execute "export SPHINX_DEBUG=1" in your terminal to disable + +# The suffix of source filenames. +source_suffix = '.rst' + +# The master toctree document. +master_doc = 'index' + +# General information about the project. +project = u'kosmos-specs' +copyright = u'%s, OpenStack Foundation' % datetime.date.today().year + +# If true, '()' will be appended to :func: etc. cross-reference text. +add_function_parentheses = True + +# If true, the current module name will be prepended to all description +# unit titles (such as .. function::). +add_module_names = True + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = 'sphinx' + +# -- Options for HTML output -------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. Major themes that come with +# Sphinx are currently 'default' and 'sphinxdoc'. +# html_theme_path = ["."] +# html_theme = '_theme' +# html_static_path = ['static'] + +# Output file base name for HTML help builder. +htmlhelp_basename = '%sdoc' % project + +# Grouping the document tree into LaTeX files. List of tuples +# (source start file, target name, title, author, documentclass +# [howto/manual]). +latex_documents = [ + ('index', + '%s.tex' % project, + u'%s Documentation' % project, + u'OpenStack Foundation', 'manual'), +] + +# Example configuration for intersphinx: refer to the Python standard library. +#intersphinx_mapping = {'http://docs.python.org/': None} \ No newline at end of file diff --git a/doc/source/contributing.rst b/doc/source/contributing.rst new file mode 100644 index 0000000..5eb10fa --- /dev/null +++ b/doc/source/contributing.rst @@ -0,0 +1,21 @@ +============================================= +Contributing to: kosmos-specs +============================================= + +If you would like to contribute to the development of OpenStack, you must +follow the steps in this page: + + http://docs.openstack.org/infra/manual/developers.html + +If you already have a good understanding of how the system works and your +OpenStack accounts are set up, you can skip to the development workflow +section of this documentation to learn how changes to OpenStack should be +submitted for review via the Gerrit tool: + + http://docs.openstack.org/infra/manual/developers.html#development-workflow + +Pull requests submitted through GitHub will be ignored. + +Bugs should be filed on Launchpad, not GitHub: + + https://bugs.launchpad.net/kosmos \ No newline at end of file diff --git a/doc/source/index.rst b/doc/source/index.rst new file mode 100644 index 0000000..2f254a8 --- /dev/null +++ b/doc/source/index.rst @@ -0,0 +1,33 @@ +.. kosmos-specs documentation master file, created by + sphinx-quickstart on Tue Jul 9 22:26:36 2013. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +kosmos-specs Design Specifications +================================================== + +Liberty approved specs: + +.. toctree:: + :glob: + :maxdepth: 1 + + specs/liberty/* + + +kosmos-specs Repository Information +=================================================== + +.. toctree:: + :maxdepth: 2 + + README + contributing + + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`modindex` +* :ref:`search` diff --git a/doc/source/readme.rst b/doc/source/readme.rst new file mode 100644 index 0000000..04bc972 --- /dev/null +++ b/doc/source/readme.rst @@ -0,0 +1,13 @@ +=============================== +kosmos-specs +=============================== + +Specifications for the Kosmos Project (Global Load Balancing) + +* Free software: Apache license +* Documentation: http://docs.openstack.org/developer/kosmos-specs + +Features +-------- + +* TODO \ No newline at end of file diff --git a/doc/source/specs b/doc/source/specs new file mode 120000 index 0000000..87a4030 --- /dev/null +++ b/doc/source/specs @@ -0,0 +1 @@ +../../specs \ No newline at end of file diff --git a/doc/source/template.rst b/doc/source/template.rst new file mode 100644 index 0000000..ef0f3f4 --- /dev/null +++ b/doc/source/template.rst @@ -0,0 +1,86 @@ +.. + +This work is licensed under a Creative Commons Attribution 3.0 Unported License. +http://creativecommons.org/licenses/by/3.0/legalcode + +.. + This template should be in ReSTructured text. The filename in the git + repository should match the launchpad URL, for example a URL of + https://blueprints.launchpad.net/kosmos/+spec/awesome-thing should be named + awesome-thing.rst . Please do not delete any of the sections in this + template. If you have nothing to say for a whole section, just write: None + For help with syntax, see http://sphinx-doc.org/rest.html + To test out your formatting, see http://www.tele3.cz/jbar/rest/rest.html + +============================= + The title of your blueprint +============================= + +Include the URL of your launchpad blueprint: + +https://blueprints.launchpad.net//+spec/example + +Introduction paragraph -- why are we doing anything? + +Problem description +=================== + +A detailed description of the problem. + +Proposed change +=============== + +Here is where you cover the change you propose to make in detail. How do you +propose to solve this problem? + +If this is one part of a larger effort make it clear where this piece ends. In +other words, what's the scope of this effort? + +Include where in the kosmos tree hierarchy this will reside. + +Alternatives +------------ + +This is an optional section, where it does apply we'd just like a demonstration +that some thought has been put into why the proposed approach is the best one. + +Implementation +============== + +Assignee(s) +----------- + +Who is leading the writing of the code? Or is this a blueprint where you're +throwing it out there to see who picks it up? + +If more than one person is working on the implementation, please designate the +primary author and contact. + +Primary assignee: + + +Can optionally can list additional ids if they intend on doing +substantial implementation work on this blueprint. + +Milestones +---------- + +Target Milestone for completion: + Juno-1 + +Work Items +---------- + +Work items or tasks -- break the feature up into the things that need to be +done to implement it. Those parts might end up being done by different people, +but we're mostly trying to understand the timeline for implementation. + + +Dependencies +============ + +- Include specific references to specs and/or blueprints in kosmos, or in other + projects, that this one either depends on or is related to. + +- Does this feature require any new library dependencies or code otherwise not + included in OpenStack? Or does it depend on a specific version of library? \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..17a43bd --- /dev/null +++ b/requirements.txt @@ -0,0 +1,4 @@ +pbr>=0.11,<2.0 +oslosphinx +sphinx>=1.1.2,!=1.2.0,!=1.3b1,<1.3 +yasfb>=0.5.1 \ No newline at end of file diff --git a/setup.cfg b/setup.cfg new file mode 100644 index 0000000..df036c5 --- /dev/null +++ b/setup.cfg @@ -0,0 +1,24 @@ +[metadata] +name = kosmos-specs +summary = Specifications for the Kosmos Project (Global Load Balancing) +description-file = + README.rst +author = OpenStack +author-email = openstack-dev@lists.openstack.org +home-page = http://www.openstack.org/ +classifier = + Environment :: OpenStack + Intended Audience :: Developers + License :: OSI Approved :: Apache Software License + Operating System :: POSIX :: Linux + +[build_sphinx] +source-dir = doc/source +build-dir = doc/build +all_files = 1 + +[pbr] +warnerrors = True + +[upload_sphinx] +upload-dir = doc/build/html \ No newline at end of file diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..7eeb36b --- /dev/null +++ b/setup.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python +# Copyright (c) 2013 Hewlett-Packard Development Company, L.P. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# THIS FILE IS MANAGED BY THE GLOBAL REQUIREMENTS REPO - DO NOT EDIT +import setuptools + +setuptools.setup( + setup_requires=['pbr'], + pbr=True) \ No newline at end of file diff --git a/specs/.gitignore b/specs/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/specs/liberty/placeholder.rst b/specs/liberty/placeholder.rst new file mode 100644 index 0000000..e8e7649 --- /dev/null +++ b/specs/liberty/placeholder.rst @@ -0,0 +1,163 @@ +.. + +This work is licensed under a Creative Commons Attribution 3.0 Unported License. +http://creativecommons.org/licenses/by/3.0/legalcode + +.. + This template should be in ReSTructured text. The filename in the git + repository should match the launchpad URL, for example a URL of + https://blueprints.launchpad.net/gslb/+spec/awesome-thing should be named + awesome-thing.rst . Please do not delete any of the sections in this + template. If you have nothing to say for a whole section, just write: None + For help with syntax, see http://sphinx-doc.org/rest.html + To test out your formatting, see http://www.tele3.cz/jbar/rest/rest.html + +============================= + The title of your blueprint +============================= + +Include the URL of your launchpad blueprint: + +https://blueprints.launchpad.net/kosmos/+spec/example + +Introduction paragraph -- why are we doing anything? + + +Problem description +=================== + +A detailed description of the problem. + +Proposed change +=============== + +Here is where you cover the change you propose to make in detail. How do you +propose to solve this problem? + +If this is one part of a larger effort make it clear where this piece ends. In +other words, what's the scope of this effort? + +Include where in the designate tree hierarchy this will reside. + +API Changes +----------- + +Include API Changes here. If you are adding endpoints / add major modifications +please ensure you have examples for calls / results - eg: + +POST /v2/doohickey +^^^^^^^^^^^^^^^^^^ + +This creates a doohicky. + +It returns an ID and the doohickey + +.. code-block:: http + + POST /v2/doohickey HTTP/1.1 + Accept: application/json + Content-Type: application/json + + { + "doohickey":{ + "foo":"bar" + } + } + + HTTP/1.1 201 Created + Content-Type: application/json; charset=UTF-8 + Location: /v2/doohickey/cddda8f0-f558-11e3-a3ac-0800200c9a66 + + { + "doohickey":{ + "id":"cddda8f0-f558-11e3-a3ac-0800200c9a66", + "foo":"bar", + "links":{ + "self" : "/v2/doohickey/cddda8f0-f558-11e3-a3ac-0800200c9a66" + } + } + } + +It may be usefull to add a table with the parameters, and a info about them + ++-----------+--------------------------------+----------+ +| Parameter | Description | Required | ++===========+================================+==========+ +| foo | the foo value for the doohicky | Yes | ++-----------+--------------------------------+----------+ + +Central Changes +--------------- + +Any changes to the central service + +Storage Changes +--------------- + +Any changes to the DB. This should be a table (if creating a new table) +eg: + + +New Table - DooHickey +^^^^^^^^^^^^^^^^^^^^^ + ++-----+---------+-----------+---------+ +| Row | Type | Nullable? | Unique? | ++=====+=========+===========+=========+ +| id | uuid | No | Yes | ++-----+---------+-----------+---------+ +| foo | VARCHAR | No | No | ++-----+---------+-----------+---------+ + +Other Changes +------------- + +Any other changes to Designate, broken down by which sub system is being +changed + +Alternatives +------------ + +This is an optional section, where it does apply we'd just like a demonstration +that some thought has been put into why the proposed approach is the best one. + +Implementation +============== + +Assignee(s) +----------- + +Who is leading the writing of the code? Or is this a blueprint where you're +throwing it out there to see who picks it up? + +If more than one person is working on the implementation, please designate the +primary author and contact. + +Primary assignee: + + +Can optionally can list additional ids if they intend on doing +substantial implementation work on this blueprint. + +Milestones +---------- + +Target Milestone for completion: + Juno-1 + +Work Items +---------- + +Work items or tasks -- break the feature up into the things that need to be +done to implement it. Those parts might end up being done by different people, +but we're mostly trying to understand the timeline for implementation. + + +Dependencies +============ + +- Include specific references to specs and/or blueprints in designate, or in other + projects, that this one either depends on or is related to. + +- Does this feature require any new library dependencies or code otherwise not + included in OpenStack? Or does it depend on a specific version of library? diff --git a/template.rst b/template.rst new file mode 100644 index 0000000..ef0f3f4 --- /dev/null +++ b/template.rst @@ -0,0 +1,86 @@ +.. + +This work is licensed under a Creative Commons Attribution 3.0 Unported License. +http://creativecommons.org/licenses/by/3.0/legalcode + +.. + This template should be in ReSTructured text. The filename in the git + repository should match the launchpad URL, for example a URL of + https://blueprints.launchpad.net/kosmos/+spec/awesome-thing should be named + awesome-thing.rst . Please do not delete any of the sections in this + template. If you have nothing to say for a whole section, just write: None + For help with syntax, see http://sphinx-doc.org/rest.html + To test out your formatting, see http://www.tele3.cz/jbar/rest/rest.html + +============================= + The title of your blueprint +============================= + +Include the URL of your launchpad blueprint: + +https://blueprints.launchpad.net//+spec/example + +Introduction paragraph -- why are we doing anything? + +Problem description +=================== + +A detailed description of the problem. + +Proposed change +=============== + +Here is where you cover the change you propose to make in detail. How do you +propose to solve this problem? + +If this is one part of a larger effort make it clear where this piece ends. In +other words, what's the scope of this effort? + +Include where in the kosmos tree hierarchy this will reside. + +Alternatives +------------ + +This is an optional section, where it does apply we'd just like a demonstration +that some thought has been put into why the proposed approach is the best one. + +Implementation +============== + +Assignee(s) +----------- + +Who is leading the writing of the code? Or is this a blueprint where you're +throwing it out there to see who picks it up? + +If more than one person is working on the implementation, please designate the +primary author and contact. + +Primary assignee: + + +Can optionally can list additional ids if they intend on doing +substantial implementation work on this blueprint. + +Milestones +---------- + +Target Milestone for completion: + Juno-1 + +Work Items +---------- + +Work items or tasks -- break the feature up into the things that need to be +done to implement it. Those parts might end up being done by different people, +but we're mostly trying to understand the timeline for implementation. + + +Dependencies +============ + +- Include specific references to specs and/or blueprints in kosmos, or in other + projects, that this one either depends on or is related to. + +- Does this feature require any new library dependencies or code otherwise not + included in OpenStack? Or does it depend on a specific version of library? \ No newline at end of file diff --git a/test-requirements.txt b/test-requirements.txt new file mode 100644 index 0000000..e69de29 diff --git a/tox.ini b/tox.ini new file mode 100644 index 0000000..c354f60 --- /dev/null +++ b/tox.ini @@ -0,0 +1,25 @@ +[tox] +minversion = 1.6 +envlist = docs +skipsdist = True + +[testenv] +usedevelop = True +install_command = pip install -U {opts} {packages} +setenv = + VIRTUAL_ENV={envdir} +deps = -r{toxinidir}/requirements.txt + -r{toxinidir}/test-requirements.txt + +[testenv:venv] +commands = {posargs} + +[testenv:docs] +commands = python setup.py build_sphinx + +[testenv:spelling] +deps = + -r{toxinidir}/requirements.txt + sphinxcontrib-spelling + PyEnchant +commands = sphinx-build -b spelling doc/source doc/build/spelling \ No newline at end of file