Browse Source

Filling in the initial layout for the repo.

Change-Id: I1e1f330c3d35dbab8c8cf3532a8ef6ca2eef8a81
changes/71/109471/5
galstrom21 4 years ago
parent
commit
9159089b36
46 changed files with 1390 additions and 0 deletions
  1. 5
    0
      .gitignore
  2. 45
    0
      README.rst
  3. 269
    0
      doc/source/conf.py
  4. 35
    0
      doc/source/index.rst
  5. 1
    0
      doc/source/specs
  6. 6
    0
      requirements.txt
  7. 23
    0
      setup.cfg
  8. 22
    0
      setup.py
  9. 0
    0
      specs/icehouse/.gitignore
  10. 0
    0
      specs/icehouse/block-storage/.gitignore
  11. 0
    0
      specs/icehouse/ceph/.gitignore
  12. 0
    0
      specs/icehouse/client/.gitignore
  13. 0
    0
      specs/icehouse/common/.gitignore
  14. 0
    0
      specs/icehouse/compute/.gitignore
  15. 0
    0
      specs/icehouse/cookbook-openstack-integration-test/.gitignore
  16. 0
    0
      specs/icehouse/dashboard/.gitignore
  17. 0
    0
      specs/icehouse/data-processing/.gitignore
  18. 0
    0
      specs/icehouse/database/.gitignore
  19. 0
    0
      specs/icehouse/identity/.gitignore
  20. 0
    0
      specs/icehouse/image/.gitignore
  21. 0
    0
      specs/icehouse/metering/.gitignore
  22. 0
    0
      specs/icehouse/network/.gitignore
  23. 0
    0
      specs/icehouse/object-storage/.gitignore
  24. 0
    0
      specs/icehouse/openstack-manuals/.gitignore
  25. 0
    0
      specs/icehouse/orchestration/.gitignore
  26. 323
    0
      specs/icehouse/template.rst
  27. 0
    0
      specs/juno/.gitignore
  28. 0
    0
      specs/juno/block-storage/.gitignore
  29. 0
    0
      specs/juno/ceph/.gitignore
  30. 0
    0
      specs/juno/client/.gitignore
  31. 0
    0
      specs/juno/common/.gitignore
  32. 0
    0
      specs/juno/compute/.gitignore
  33. 0
    0
      specs/juno/cookbook-openstack-integration-test/.gitignore
  34. 0
    0
      specs/juno/dashboard/.gitignore
  35. 0
    0
      specs/juno/data-processing/.gitignore
  36. 0
    0
      specs/juno/database/.gitignore
  37. 0
    0
      specs/juno/identity/.gitignore
  38. 0
    0
      specs/juno/image/.gitignore
  39. 0
    0
      specs/juno/metering/.gitignore
  40. 0
    0
      specs/juno/network/.gitignore
  41. 0
    0
      specs/juno/object-storage/.gitignore
  42. 0
    0
      specs/juno/openstack-manuals/.gitignore
  43. 0
    0
      specs/juno/orchestration/.gitignore
  44. 323
    0
      specs/juno/template.rst
  45. 323
    0
      specs/template.rst
  46. 15
    0
      tox.ini

+ 5
- 0
.gitignore View File

@@ -0,0 +1,5 @@
1
+AUTHORS
2
+ChangeLog
3
+build
4
+.tox
5
+*.egg*

+ 45
- 0
README.rst View File

@@ -0,0 +1,45 @@
1
+==================================
2
+OpenStack-chef Specifications
3
+==================================
4
+
5
+This git repository is used to hold approved design specifications for additions
6
+to the openstack-chef project.  Reviews of the specs are done in gerrit, using a similar
7
+workflow to how we review and merge changes to the code itself.
8
+
9
+The layout of this repository is::
10
+
11
+  specs/<release>/<cookbook>/
12
+
13
+You can find an example spec in `specs/template.rst`.
14
+
15
+Specifications are proposed for a given release by adding them to the
16
+`specs/<release>` directory and posting it for review.  The implementation
17
+status of a blueprint for a given release can be found by looking at the
18
+blueprint in launchpad.  Not all approved blueprints will get fully implemented.
19
+
20
+Specifications have to be re-proposed for every release.  The review may be
21
+quick, but even if something was previously approved, it should be re-reviewed
22
+to make sure it still makes sense as written.
23
+
24
+Prior to the Juno development cycle, this repository was not used for spec
25
+reviews.  Reviews prior to Juno were completed entirely through Launchpad
26
+blueprints::
27
+
28
+  http://blueprints.launchpad.net/openstack-chef
29
+
30
+Please note, Launchpad blueprints are still used for tracking the
31
+current status of blueprints. For more information, see::
32
+
33
+  https://wiki.openstack.org/wiki/Blueprints
34
+
35
+For more information about working with gerrit, see::
36
+
37
+  https://wiki.openstack.org/wiki/Gerrit_Workflow
38
+
39
+To validate that the specification is syntactically correct (i.e. get more
40
+confidence in the Jenkins result), please execute the following command::
41
+
42
+  $ tox
43
+
44
+After running ``tox``, the documentation will be available for viewing in HTML
45
+format in the ``doc/build/`` directory.

+ 269
- 0
doc/source/conf.py View File

@@ -0,0 +1,269 @@
1
+# -*- coding: utf-8 -*-
2
+#
3
+# Tempest documentation build configuration file, created by
4
+# sphinx-quickstart on Tue May 21 17:43:32 2013.
5
+#
6
+# This file is execfile()d with the current directory set to its containing dir.
7
+#
8
+# Note that not all possible configuration values are present in this
9
+# autogenerated file.
10
+#
11
+# All configuration values have a default; values that are commented out
12
+# serve to show the default.
13
+
14
+import sys
15
+import os
16
+
17
+# If extensions (or modules to document with autodoc) are in another directory,
18
+# add these directories to sys.path here. If the directory is relative to the
19
+# documentation root, use os.path.abspath to make it absolute, like shown here.
20
+#sys.path.insert(0, os.path.abspath('.'))
21
+
22
+# -- General configuration ---------------------------------------------------
23
+
24
+# If your documentation needs a minimal Sphinx version, state it here.
25
+#needs_sphinx = '1.0'
26
+
27
+# Add any Sphinx extension module names here, as strings. They can be extensions
28
+# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
29
+extensions = ['sphinx.ext.autodoc',
30
+              'sphinx.ext.intersphinx',
31
+              'sphinx.ext.todo',
32
+              'sphinx.ext.viewcode',
33
+              'oslosphinx'
34
+             ]
35
+
36
+todo_include_todos = True
37
+
38
+# Add any paths that contain templates here, relative to this directory.
39
+templates_path = ['_templates']
40
+
41
+# The suffix of source filenames.
42
+source_suffix = '.rst'
43
+
44
+# The encoding of source files.
45
+#source_encoding = 'utf-8-sig'
46
+
47
+# The master toctree document.
48
+master_doc = 'index'
49
+
50
+# General information about the project.
51
+project = u'Chef for Openstack Specs'
52
+copyright = u'2014, Chef for Openstack Team'
53
+
54
+# The language for content autogenerated by Sphinx. Refer to documentation
55
+# for a list of supported languages.
56
+#language = None
57
+
58
+# There are two options for replacing |today|: either, you set today to some
59
+# non-false value, then it is used:
60
+#today = ''
61
+# Else, today_fmt is used as the format for a strftime call.
62
+#today_fmt = '%B %d, %Y'
63
+
64
+# List of patterns, relative to source directory, that match files and
65
+# directories to ignore when looking for source files.
66
+exclude_patterns = ['_build']
67
+
68
+# The reST default role (used for this markup: `text`) to use for all documents.
69
+#default_role = None
70
+
71
+# If true, '()' will be appended to :func: etc. cross-reference text.
72
+#add_function_parentheses = True
73
+
74
+# If true, the current module name will be prepended to all description
75
+# unit titles (such as .. function::).
76
+add_module_names = False
77
+
78
+# If true, sectionauthor and moduleauthor directives will be shown in the
79
+# output. They are ignored by default.
80
+show_authors = False
81
+
82
+# The name of the Pygments (syntax highlighting) style to use.
83
+pygments_style = 'sphinx'
84
+
85
+# A list of ignored prefixes for module index sorting.
86
+modindex_common_prefix = ['openstack-chef-specs.']
87
+
88
+# -- Options for man page output ----------------------------------------------
89
+man_pages = []
90
+
91
+# -- Options for HTML output ---------------------------------------------------
92
+
93
+# The theme to use for HTML and HTML Help pages.  See the documentation for
94
+# a list of builtin themes.
95
+html_theme = 'nature'
96
+
97
+# Theme options are theme-specific and customize the look and feel of a theme
98
+# further.  For a list of options available for each theme, see the
99
+# documentation.
100
+#html_theme_options = {}
101
+
102
+# Add any paths that contain custom themes here, relative to this directory.
103
+#html_theme_path = []
104
+
105
+# The name for this set of Sphinx documents.  If None, it defaults to
106
+# "<project> v<release> documentation".
107
+#html_title = None
108
+
109
+# A shorter title for the navigation bar.  Default is the same as html_title.
110
+#html_short_title = None
111
+
112
+# The name of an image file (relative to this directory) to place at the top
113
+# of the sidebar.
114
+#html_logo = None
115
+
116
+# The name of an image file (within the static path) to use as favicon of the
117
+# docs.  This file should be a Windows icon file (.ico) being 16x16 or 32x32
118
+# pixels large.
119
+#html_favicon = None
120
+
121
+# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
122
+# using the given strftime format.
123
+git_cmd = "git log --pretty=format:'%ad, commit %h' --date=local -n1"
124
+html_last_updated_fmt = os.popen(git_cmd).read()
125
+
126
+# If true, SmartyPants will be used to convert quotes and dashes to
127
+# typographically correct entities.
128
+#html_use_smartypants = True
129
+
130
+# Custom sidebar templates, maps document names to template names.
131
+#html_sidebars = {}
132
+
133
+# Additional templates that should be rendered to pages, maps page names to
134
+# template names.
135
+#html_additional_pages = {}
136
+
137
+# If false, no module index is generated.
138
+html_domain_indices = False
139
+
140
+# If false, no index is generated.
141
+html_use_index = False
142
+
143
+# If true, the index is split into individual pages for each letter.
144
+#html_split_index = False
145
+
146
+# If true, links to the reST sources are added to the pages.
147
+#html_show_sourcelink = True
148
+
149
+# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
150
+#html_show_sphinx = True
151
+
152
+# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
153
+#html_show_copyright = True
154
+
155
+# If true, an OpenSearch description file will be output, and all pages will
156
+# contain a <link> tag referring to it.  The value of this option must be the
157
+# base URL from which the finished HTML is served.
158
+#html_use_opensearch = ''
159
+
160
+# This is the file name suffix for HTML files (e.g. ".xhtml").
161
+#html_file_suffix = None
162
+
163
+# Output file base name for HTML help builder.
164
+htmlhelp_basename = 'Openstack-Chef-Specsdoc'
165
+
166
+
167
+# -- Options for LaTeX output --------------------------------------------------
168
+
169
+latex_elements = {
170
+# The paper size ('letterpaper' or 'a4paper').
171
+#'papersize': 'letterpaper',
172
+
173
+# The font size ('10pt', '11pt' or '12pt').
174
+#'pointsize': '10pt',
175
+
176
+# Additional stuff for the LaTeX preamble.
177
+#'preamble': '',
178
+}
179
+
180
+# Grouping the document tree into LaTeX files. List of tuples
181
+# (source start file, target name, title, author, documentclass [howto/manual]).
182
+latex_documents = [
183
+  ('index', 'Openstack-Chef-specs.tex', u'Chef for Openstack Specs',
184
+   u'Chef for OpenStack Team', 'manual'),
185
+]
186
+
187
+# The name of an image file (relative to this directory) to place at the top of
188
+# the title page.
189
+#latex_logo = None
190
+
191
+# For "manual" documents, if this is true, then toplevel headings are parts,
192
+# not chapters.
193
+#latex_use_parts = False
194
+
195
+# If true, show page references after internal links.
196
+#latex_show_pagerefs = False
197
+
198
+# If true, show URL addresses after external links.
199
+#latex_show_urls = False
200
+
201
+# Documents to append as an appendix to all manuals.
202
+#latex_appendices = []
203
+
204
+# If false, no module index is generated.
205
+#latex_domain_indices = True
206
+
207
+# -- Options for Texinfo output ------------------------------------------------
208
+
209
+# Grouping the document tree into Texinfo files. List of tuples
210
+# (source start file, target name, title, author,
211
+#  dir menu entry, description, category)
212
+texinfo_documents = [
213
+  ('index', 'Openstack-Chef-specs', u'Chef for Openstack Design Specs',
214
+   u'Chef for OpenStack Team', 'openstack-chef-specs',
215
+   'Design specifications for the Chef for Openstack project.',
216
+   'Miscellaneous'),
217
+]
218
+
219
+# Documents to append as an appendix to all manuals.
220
+#texinfo_appendices = []
221
+
222
+# If false, no module index is generated.
223
+#texinfo_domain_indices = True
224
+
225
+# How to display URL addresses: 'footnote', 'no', or 'inline'.
226
+#texinfo_show_urls = 'footnote'
227
+
228
+
229
+# -- Options for Epub output ---------------------------------------------------
230
+
231
+# Bibliographic Dublin Core info.
232
+epub_title = u'Chef for Openstack Specs'
233
+epub_author = u'Chef for OpenStack Team'
234
+epub_publisher = u'Chef for OpenStack Team'
235
+epub_copyright = u'2014, Chef for OpenStack Team'
236
+
237
+# The language of the text. It defaults to the language option
238
+# or en if the language is not set.
239
+#epub_language = ''
240
+
241
+# The scheme of the identifier. Typical schemes are ISBN or URL.
242
+#epub_scheme = ''
243
+
244
+# The unique identifier of the text. This can be a ISBN number
245
+# or the project homepage.
246
+#epub_identifier = ''
247
+
248
+# A unique identification for the text.
249
+#epub_uid = ''
250
+
251
+# A tuple containing the cover image and cover page html template filenames.
252
+#epub_cover = ()
253
+
254
+# HTML files that should be inserted before the pages created by sphinx.
255
+# The format is a list of tuples containing the path and title.
256
+#epub_pre_files = []
257
+
258
+# HTML files shat should be inserted after the pages created by sphinx.
259
+# The format is a list of tuples containing the path and title.
260
+#epub_post_files = []
261
+
262
+# A list of files that should not be packed into the epub file.
263
+#epub_exclude_files = []
264
+
265
+# The depth of the table of contents in toc.ncx.
266
+#epub_tocdepth = 3
267
+
268
+# Allow duplicate toc entries.
269
+#epub_tocdup = True

+ 35
- 0
doc/source/index.rst View File

@@ -0,0 +1,35 @@
1
+.. openstack-chef-specs documentation master file
2
+
3
+=========================================
4
+Openstack for Chef Project Specifications
5
+=========================================
6
+
7
+Contents:
8
+
9
+.. toctree::
10
+   :glob:
11
+   :maxdepth: 1
12
+
13
+   specs/*
14
+
15
+Juno approved specs:
16
+
17
+.. toctree::
18
+   :glob:
19
+   :maxdepth: 1
20
+
21
+   specs/juno/*
22
+
23
+Icehouse approved specs:
24
+
25
+.. toctree::
26
+   :glob:
27
+   :maxdepth: 1
28
+
29
+   specs/icehouse/*
30
+
31
+==================
32
+Indices and tables
33
+==================
34
+
35
+* :ref:`search`

+ 1
- 0
doc/source/specs View File

@@ -0,0 +1 @@
1
+../../specs

+ 6
- 0
requirements.txt View File

@@ -0,0 +1,6 @@
1
+docutils==0.9.1
2
+oslosphinx
3
+pbr>=0.6,<1.0
4
+sphinx>=1.1.2,<1.2
5
+testrepository>=0.0.18
6
+testtools>=0.9.34

+ 23
- 0
setup.cfg View File

@@ -0,0 +1,23 @@
1
+[metadata]
2
+name = openstack-chef-specs
3
+summary = Chef for Openstack Project Development Specs
4
+description-file =
5
+    README.rst
6
+author = OpenStack
7
+author-email = openstack-dev@lists.openstack.org
8
+home-page = http://www.openstack.org/
9
+classifier =
10
+    Intended Audience :: Developers
11
+    License :: OSI Approved :: Apache Software License
12
+    Operating System :: POSIX :: Linux
13
+
14
+[build_sphinx]
15
+all_files = 1
16
+build-dir = doc/build
17
+source-dir = doc/source
18
+
19
+[pbr]
20
+warnerrors = True
21
+
22
+[wheel]
23
+universal = 1

+ 22
- 0
setup.py View File

@@ -0,0 +1,22 @@
1
+#!/usr/bin/env python
2
+# Copyright (c) 2013 Hewlett-Packard Development Company, L.P.
3
+#
4
+# Licensed under the Apache License, Version 2.0 (the "License");
5
+# you may not use this file except in compliance with the License.
6
+# You may obtain a copy of the License at
7
+#
8
+#    http://www.apache.org/licenses/LICENSE-2.0
9
+#
10
+# Unless required by applicable law or agreed to in writing, software
11
+# distributed under the License is distributed on an "AS IS" BASIS,
12
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
13
+# implied.
14
+# See the License for the specific language governing permissions and
15
+# limitations under the License.
16
+
17
+# THIS FILE IS MANAGED BY THE GLOBAL REQUIREMENTS REPO - DO NOT EDIT
18
+import setuptools
19
+
20
+setuptools.setup(
21
+    setup_requires=['pbr'],
22
+    pbr=True)

+ 0
- 0
specs/icehouse/.gitignore View File


+ 0
- 0
specs/icehouse/block-storage/.gitignore View File


+ 0
- 0
specs/icehouse/ceph/.gitignore View File


+ 0
- 0
specs/icehouse/client/.gitignore View File


+ 0
- 0
specs/icehouse/common/.gitignore View File


+ 0
- 0
specs/icehouse/compute/.gitignore View File


+ 0
- 0
specs/icehouse/cookbook-openstack-integration-test/.gitignore View File


+ 0
- 0
specs/icehouse/dashboard/.gitignore View File


+ 0
- 0
specs/icehouse/data-processing/.gitignore View File


+ 0
- 0
specs/icehouse/database/.gitignore View File


+ 0
- 0
specs/icehouse/identity/.gitignore View File


+ 0
- 0
specs/icehouse/image/.gitignore View File


+ 0
- 0
specs/icehouse/metering/.gitignore View File


+ 0
- 0
specs/icehouse/network/.gitignore View File


+ 0
- 0
specs/icehouse/object-storage/.gitignore View File


+ 0
- 0
specs/icehouse/openstack-manuals/.gitignore View File


+ 0
- 0
specs/icehouse/orchestration/.gitignore View File


+ 323
- 0
specs/icehouse/template.rst View File

@@ -0,0 +1,323 @@
1
+..
2
+ This work is licensed under a Creative Commons Attribution 3.0 Unported
3
+ License.
4
+
5
+ http://creativecommons.org/licenses/by/3.0/legalcode
6
+
7
+==========================================
8
+Example Spec - The title of your blueprint
9
+==========================================
10
+
11
+Include the URL of your launchpad blueprint:
12
+
13
+https://blueprints.launchpad.net/openstack-chef/+spec/example
14
+
15
+Introduction paragraph -- why are we doing anything? A single paragraph of
16
+prose that operators can understand. The title and this first paragraph
17
+should be used as the subject line and body of the commit message
18
+respectively.
19
+
20
+Some notes about using this template:
21
+
22
+* Your spec should be in ReSTructured text, like this template.
23
+
24
+* Please wrap text at 79 columns.
25
+
26
+* The filename in the git repository should match the launchpad URL, for
27
+  example a URL of: https://blueprints.launchpad.net/openstack-chef/+spec/awesome-thing
28
+  should be named awesome-thing.rst
29
+
30
+* Please do not delete any of the sections in this template.  If you have
31
+  nothing to say for a whole section, just write: None
32
+
33
+* For help with syntax, see http://sphinx-doc.org/rest.html
34
+
35
+* To test out your formatting, build the docs using tox and see the generated
36
+  HTML file in doc/build/html/specs/<path_of_your_file>
37
+
38
+* If you would like to provide a diagram with your spec, ascii diagrams are
39
+  required.  http://asciiflow.com/ is a very nice tool to assist with making
40
+  ascii diagrams.  The reason for this is that the tool used to review specs is
41
+  based purely on plain text.  Plain text will allow review to proceed without
42
+  having to look at additional files which can not be viewed in gerrit.  It
43
+  will also allow inline feedback on the diagram itself.
44
+
45
+Problem description
46
+===================
47
+
48
+A detailed description of the problem:
49
+
50
+* For a new feature this might be use cases. Ensure you are clear about the
51
+  actors in each use case: End User vs Deployer
52
+
53
+* For a major reworking of something existing it would describe the
54
+  problems in that feature that are being addressed.
55
+
56
+
57
+Proposed change
58
+===============
59
+
60
+Here is where you cover the change you propose to make in detail. How do you
61
+propose to solve this problem?
62
+
63
+If this is one part of a larger effort make it clear where this piece ends. In
64
+other words, what's the scope of this effort?
65
+
66
+Alternatives
67
+------------
68
+
69
+What other ways could we do this thing? Why aren't we using those? This doesn't
70
+have to be a full literature review, but it should demonstrate that thought has
71
+been put into why the proposed solution is an appropriate one.
72
+
73
+Data model impact
74
+-----------------
75
+
76
+Changes which require modifications to the data model often have a wider impact
77
+on the system.  The community often has strong opinions on how the data model
78
+should be evolved, from both a functional and performance perspective. It is
79
+therefore important to capture and gain agreement as early as possible on any
80
+proposed changes to the data model.
81
+
82
+Questions which need to be addressed by this section include:
83
+
84
+* What new data objects and/or database schema changes is this going to
85
+  require?
86
+
87
+* What database migrations will accompany this change.
88
+
89
+* How will the initial set of new data objects be generated, for example if you
90
+  need to take into account existing instances, or modify other existing data
91
+  describe how that will work.
92
+
93
+REST API impact
94
+---------------
95
+
96
+Each API method which is either added or changed should have the following
97
+
98
+* Specification for the method
99
+
100
+  * A description of what the method does suitable for use in
101
+    user documentation
102
+
103
+  * Method type (POST/PUT/GET/DELETE)
104
+
105
+  * Normal http response code(s)
106
+
107
+  * Expected error http response code(s)
108
+
109
+    * A description for each possible error code should be included
110
+      describing semantic errors which can cause it such as
111
+      inconsistent parameters supplied to the method, or when an
112
+      instance is not in an appropriate state for the request to
113
+      succeed. Errors caused by syntactic problems covered by the JSON
114
+      schema defintion do not need to be included.
115
+
116
+  * URL for the resource
117
+
118
+  * Parameters which can be passed via the url
119
+
120
+  * JSON schema definition for the body data if allowed
121
+
122
+  * JSON schema definition for the response data if any
123
+
124
+* Example use case including typical API samples for both data supplied
125
+  by the caller and the response
126
+
127
+* Discuss any policy changes, and discuss what things a deployer needs to
128
+  think about when defining their policy.
129
+
130
+Example JSON schema definitions can be found in the openstack-chef tree
131
+http://git.openstack.org/cgit/openstack/openstack-chef/tree/openstack-chef/api/openstack/compute/schemas/v3
132
+
133
+Note that the schema should be defined as restrictively as
134
+possible. Parameters which are required should be marked as such and
135
+only under exceptional circumstances should additional parameters
136
+which are not defined in the schema be permitted (eg
137
+additionaProperties should be False).
138
+
139
+Reuse of existing predefined parameter types such as regexps for
140
+passwords and user defined names is highly encouraged.
141
+
142
+Security impact
143
+---------------
144
+
145
+Describe any potential security impact on the system.  Some of the items to
146
+consider include:
147
+
148
+* Does this change touch sensitive data such as tokens, keys, or user data?
149
+
150
+* Does this change alter the API in a way that may impact security, such as
151
+  a new way to access sensitive information or a new way to login?
152
+
153
+* Does this change involve cryptography or hashing?
154
+
155
+* Does this change require the use of sudo or any elevated privileges?
156
+
157
+* Does this change involve using or parsing user-provided data? This could
158
+  be directly at the API level or indirectly such as changes to a cache layer.
159
+
160
+* Can this change enable a resource exhaustion attack, such as allowing a
161
+  single API interaction to consume significant server resources? Some examples
162
+  of this include launching subprocesses for each connection, or entity
163
+  expansion attacks in XML.
164
+
165
+For more detailed guidance, please see the OpenStack Security Guidelines as
166
+a reference (https://wiki.openstack.org/wiki/Security/Guidelines).  These
167
+guidelines are a work in progress and are designed to help you identify
168
+security best practices.  For further information, feel free to reach out
169
+to the OpenStack Security Group at openstack-security@lists.openstack.org.
170
+
171
+Notifications impact
172
+--------------------
173
+
174
+Please specify any changes to notifications. Be that an extra notification,
175
+changes to an existing notification, or removing a notification.
176
+
177
+Other end user impact
178
+---------------------
179
+
180
+Aside from the API, are there other ways a user will interact with this
181
+feature?
182
+
183
+* Does this change have an impact on python-openstack-chefclient? What does the user
184
+  interface there look like?
185
+
186
+Performance Impact
187
+------------------
188
+
189
+Describe any potential performance impact on the system, for example
190
+how often will new code be called, and is there a major change to the calling
191
+pattern of existing code.
192
+
193
+Examples of things to consider here include:
194
+
195
+* A periodic task might look like a small addition but if it calls conductor or
196
+  another service the load is multiplied by the number of nodes in the system.
197
+
198
+* Scheduler filters get called once per host for every instance being created,
199
+  so any latency they introduce is linear with the size of the system.
200
+
201
+* A small change in a utility function or a commonly used decorator can have a
202
+  large impacts on performance.
203
+
204
+* Calls which result in a database queries (whether direct or via conductor)
205
+  can have a profound impact on performance when called in critical sections of
206
+  the code.
207
+
208
+* Will the change include any locking, and if so what considerations are there
209
+  on holding the lock?
210
+
211
+Other deployer impact
212
+---------------------
213
+
214
+Discuss things that will affect how you deploy and configure OpenStack
215
+that have not already been mentioned, such as:
216
+
217
+* What config options are being added? Should they be more generic than
218
+  proposed (for example a flag that other hypervisor drivers might want to
219
+  implement as well)? Are the default values ones which will work well in
220
+  real deployments?
221
+
222
+* Is this a change that takes immediate effect after its merged, or is it
223
+  something that has to be explicitly enabled?
224
+
225
+* If this change is a new binary, how would it be deployed?
226
+
227
+* Please state anything that those doing continuous deployment, or those
228
+  upgrading from the previous release, need to be aware of. Also describe
229
+  any plans to deprecate configuration values or features.  For example, if we
230
+  change the directory name that instances are stored in, how do we handle
231
+  instance directories created before the change landed?  Do we move them?  Do
232
+  we have a special case in the code? Do we assume that the operator will
233
+  recreate all the instances in their cloud?
234
+
235
+Developer impact
236
+----------------
237
+
238
+Discuss things that will affect other developers working on OpenStack,
239
+such as:
240
+
241
+* If the blueprint proposes a change to the driver API, discussion of how
242
+  other hypervisors would implement the feature is required.
243
+
244
+
245
+Implementation
246
+==============
247
+
248
+Assignee(s)
249
+-----------
250
+
251
+Who is leading the writing of the code? Or is this a blueprint where you're
252
+throwing it out there to see who picks it up?
253
+
254
+If more than one person is working on the implementation, please designate the
255
+primary author and contact.
256
+
257
+Primary assignee:
258
+  <launchpad-id or None>
259
+
260
+Other contributors:
261
+  <launchpad-id or None>
262
+
263
+Work Items
264
+----------
265
+
266
+Work items or tasks -- break the feature up into the things that need to be
267
+done to implement it. Those parts might end up being done by different people,
268
+but we're mostly trying to understand the timeline for implementation.
269
+
270
+
271
+Dependencies
272
+============
273
+
274
+* Include specific references to specs and/or blueprints in openstack-chef, or in other
275
+  projects, that this one either depends on or is related to.
276
+
277
+* If this requires functionality of another project that is not currently used
278
+  by openstack-chef (such as the glance v2 API when we previously only required v1),
279
+  document that fact.
280
+
281
+* Does this feature require any new library dependencies or code otherwise not
282
+  included in OpenStack? Or does it depend on a specific version of library?
283
+
284
+
285
+Testing
286
+=======
287
+
288
+Please discuss how the change will be tested. We especially want to know what
289
+tempest tests will be added. It is assumed that unit test coverage will be
290
+added so that doesn't need to be mentioned explicitly, but discussion of why
291
+you think unit tests are sufficient and we don't need to add more tempest
292
+tests would need to be included.
293
+
294
+Is this untestable in gate given current limitations (specific hardware /
295
+software configurations available)? If so, are there mitigation plans (3rd
296
+party testing, gate enhancements, etc).
297
+
298
+
299
+Documentation Impact
300
+====================
301
+
302
+What is the impact on the docs team of this change? Some changes might require
303
+donating resources to the docs team to have the documentation updated. Don't
304
+repeat details discussed above, but please reference them here.
305
+
306
+
307
+References
308
+==========
309
+
310
+Please add any useful references here. You are not required to have any
311
+reference. Moreover, this specification should still make sense when your
312
+references are unavailable. Examples of what you could include are:
313
+
314
+* Links to mailing list or IRC discussions
315
+
316
+* Links to notes from a summit session
317
+
318
+* Links to relevant research, if appropriate
319
+
320
+* Related specifications as appropriate (e.g. if it's an EC2 thing, link the
321
+  EC2 docs)
322
+
323
+* Anything else you feel it is worthwhile to refer to

+ 0
- 0
specs/juno/.gitignore View File


+ 0
- 0
specs/juno/block-storage/.gitignore View File


+ 0
- 0
specs/juno/ceph/.gitignore View File


+ 0
- 0
specs/juno/client/.gitignore View File


+ 0
- 0
specs/juno/common/.gitignore View File


+ 0
- 0
specs/juno/compute/.gitignore View File


+ 0
- 0
specs/juno/cookbook-openstack-integration-test/.gitignore View File


+ 0
- 0
specs/juno/dashboard/.gitignore View File


+ 0
- 0
specs/juno/data-processing/.gitignore View File


+ 0
- 0
specs/juno/database/.gitignore View File


+ 0
- 0
specs/juno/identity/.gitignore View File


+ 0
- 0
specs/juno/image/.gitignore View File


+ 0
- 0
specs/juno/metering/.gitignore View File


+ 0
- 0
specs/juno/network/.gitignore View File


+ 0
- 0
specs/juno/object-storage/.gitignore View File


+ 0
- 0
specs/juno/openstack-manuals/.gitignore View File


+ 0
- 0
specs/juno/orchestration/.gitignore View File


+ 323
- 0
specs/juno/template.rst View File

@@ -0,0 +1,323 @@
1
+..
2
+ This work is licensed under a Creative Commons Attribution 3.0 Unported
3
+ License.
4
+
5
+ http://creativecommons.org/licenses/by/3.0/legalcode
6
+
7
+==========================================
8
+Example Spec - The title of your blueprint
9
+==========================================
10
+
11
+Include the URL of your launchpad blueprint:
12
+
13
+https://blueprints.launchpad.net/openstack-chef/+spec/example
14
+
15
+Introduction paragraph -- why are we doing anything? A single paragraph of
16
+prose that operators can understand. The title and this first paragraph
17
+should be used as the subject line and body of the commit message
18
+respectively.
19
+
20
+Some notes about using this template:
21
+
22
+* Your spec should be in ReSTructured text, like this template.
23
+
24
+* Please wrap text at 79 columns.
25
+
26
+* The filename in the git repository should match the launchpad URL, for
27
+  example a URL of: https://blueprints.launchpad.net/openstack-chef/+spec/awesome-thing
28
+  should be named awesome-thing.rst
29
+
30
+* Please do not delete any of the sections in this template.  If you have
31
+  nothing to say for a whole section, just write: None
32
+
33
+* For help with syntax, see http://sphinx-doc.org/rest.html
34
+
35
+* To test out your formatting, build the docs using tox and see the generated
36
+  HTML file in doc/build/html/specs/<path_of_your_file>
37
+
38
+* If you would like to provide a diagram with your spec, ascii diagrams are
39
+  required.  http://asciiflow.com/ is a very nice tool to assist with making
40
+  ascii diagrams.  The reason for this is that the tool used to review specs is
41
+  based purely on plain text.  Plain text will allow review to proceed without
42
+  having to look at additional files which can not be viewed in gerrit.  It
43
+  will also allow inline feedback on the diagram itself.
44
+
45
+Problem description
46
+===================
47
+
48
+A detailed description of the problem:
49
+
50
+* For a new feature this might be use cases. Ensure you are clear about the
51
+  actors in each use case: End User vs Deployer
52
+
53
+* For a major reworking of something existing it would describe the
54
+  problems in that feature that are being addressed.
55
+
56
+
57
+Proposed change
58
+===============
59
+
60
+Here is where you cover the change you propose to make in detail. How do you
61
+propose to solve this problem?
62
+
63
+If this is one part of a larger effort make it clear where this piece ends. In
64
+other words, what's the scope of this effort?
65
+
66
+Alternatives
67
+------------
68
+
69
+What other ways could we do this thing? Why aren't we using those? This doesn't
70
+have to be a full literature review, but it should demonstrate that thought has
71
+been put into why the proposed solution is an appropriate one.
72
+
73
+Data model impact
74
+-----------------
75
+
76
+Changes which require modifications to the data model often have a wider impact
77
+on the system.  The community often has strong opinions on how the data model
78
+should be evolved, from both a functional and performance perspective. It is
79
+therefore important to capture and gain agreement as early as possible on any
80
+proposed changes to the data model.
81
+
82
+Questions which need to be addressed by this section include:
83
+
84
+* What new data objects and/or database schema changes is this going to
85
+  require?
86
+
87
+* What database migrations will accompany this change.
88
+
89
+* How will the initial set of new data objects be generated, for example if you
90
+  need to take into account existing instances, or modify other existing data
91
+  describe how that will work.
92
+
93
+REST API impact
94
+---------------
95
+
96
+Each API method which is either added or changed should have the following
97
+
98
+* Specification for the method
99
+
100
+  * A description of what the method does suitable for use in
101
+    user documentation
102
+
103
+  * Method type (POST/PUT/GET/DELETE)
104
+
105
+  * Normal http response code(s)
106
+
107
+  * Expected error http response code(s)
108
+
109
+    * A description for each possible error code should be included
110
+      describing semantic errors which can cause it such as
111
+      inconsistent parameters supplied to the method, or when an
112
+      instance is not in an appropriate state for the request to
113
+      succeed. Errors caused by syntactic problems covered by the JSON
114
+      schema defintion do not need to be included.
115
+
116
+  * URL for the resource
117
+
118
+  * Parameters which can be passed via the url
119
+
120
+  * JSON schema definition for the body data if allowed
121
+
122
+  * JSON schema definition for the response data if any
123
+
124
+* Example use case including typical API samples for both data supplied
125
+  by the caller and the response
126
+
127
+* Discuss any policy changes, and discuss what things a deployer needs to
128
+  think about when defining their policy.
129
+
130
+Example JSON schema definitions can be found in the openstack-chef tree
131
+http://git.openstack.org/cgit/openstack/openstack-chef/tree/openstack-chef/api/openstack/compute/schemas/v3
132
+
133
+Note that the schema should be defined as restrictively as
134
+possible. Parameters which are required should be marked as such and
135
+only under exceptional circumstances should additional parameters
136
+which are not defined in the schema be permitted (eg
137
+additionaProperties should be False).
138
+
139
+Reuse of existing predefined parameter types such as regexps for
140
+passwords and user defined names is highly encouraged.
141
+
142
+Security impact
143
+---------------
144
+
145
+Describe any potential security impact on the system.  Some of the items to
146
+consider include:
147
+
148
+* Does this change touch sensitive data such as tokens, keys, or user data?
149
+
150
+* Does this change alter the API in a way that may impact security, such as
151
+  a new way to access sensitive information or a new way to login?
152
+
153
+* Does this change involve cryptography or hashing?
154
+
155
+* Does this change require the use of sudo or any elevated privileges?
156
+
157
+* Does this change involve using or parsing user-provided data? This could
158
+  be directly at the API level or indirectly such as changes to a cache layer.
159
+
160
+* Can this change enable a resource exhaustion attack, such as allowing a
161
+  single API interaction to consume significant server resources? Some examples
162
+  of this include launching subprocesses for each connection, or entity
163
+  expansion attacks in XML.
164
+
165
+For more detailed guidance, please see the OpenStack Security Guidelines as
166
+a reference (https://wiki.openstack.org/wiki/Security/Guidelines).  These
167
+guidelines are a work in progress and are designed to help you identify
168
+security best practices.  For further information, feel free to reach out
169
+to the OpenStack Security Group at openstack-security@lists.openstack.org.
170
+
171
+Notifications impact
172
+--------------------
173
+
174
+Please specify any changes to notifications. Be that an extra notification,
175
+changes to an existing notification, or removing a notification.
176
+
177
+Other end user impact
178
+---------------------
179
+
180
+Aside from the API, are there other ways a user will interact with this
181
+feature?
182
+
183
+* Does this change have an impact on python-openstack-chefclient? What does the user
184
+  interface there look like?
185
+
186
+Performance Impact
187
+------------------
188
+
189
+Describe any potential performance impact on the system, for example
190
+how often will new code be called, and is there a major change to the calling
191
+pattern of existing code.
192
+
193
+Examples of things to consider here include:
194
+
195
+* A periodic task might look like a small addition but if it calls conductor or
196
+  another service the load is multiplied by the number of nodes in the system.
197
+
198
+* Scheduler filters get called once per host for every instance being created,
199
+  so any latency they introduce is linear with the size of the system.
200
+
201
+* A small change in a utility function or a commonly used decorator can have a
202
+  large impacts on performance.
203
+
204
+* Calls which result in a database queries (whether direct or via conductor)
205
+  can have a profound impact on performance when called in critical sections of
206
+  the code.
207
+
208
+* Will the change include any locking, and if so what considerations are there
209
+  on holding the lock?
210
+
211
+Other deployer impact
212
+---------------------
213
+
214
+Discuss things that will affect how you deploy and configure OpenStack
215
+that have not already been mentioned, such as:
216
+
217
+* What config options are being added? Should they be more generic than
218
+  proposed (for example a flag that other hypervisor drivers might want to
219
+  implement as well)? Are the default values ones which will work well in
220
+  real deployments?
221
+
222
+* Is this a change that takes immediate effect after its merged, or is it
223
+  something that has to be explicitly enabled?
224
+
225
+* If this change is a new binary, how would it be deployed?
226
+
227
+* Please state anything that those doing continuous deployment, or those
228
+  upgrading from the previous release, need to be aware of. Also describe
229
+  any plans to deprecate configuration values or features.  For example, if we
230
+  change the directory name that instances are stored in, how do we handle
231
+  instance directories created before the change landed?  Do we move them?  Do
232
+  we have a special case in the code? Do we assume that the operator will
233
+  recreate all the instances in their cloud?
234
+
235
+Developer impact
236
+----------------
237
+
238
+Discuss things that will affect other developers working on OpenStack,
239
+such as:
240
+
241
+* If the blueprint proposes a change to the driver API, discussion of how
242
+  other hypervisors would implement the feature is required.
243
+
244
+
245
+Implementation
246
+==============
247
+
248
+Assignee(s)
249
+-----------
250
+
251
+Who is leading the writing of the code? Or is this a blueprint where you're
252
+throwing it out there to see who picks it up?
253
+
254
+If more than one person is working on the implementation, please designate the
255
+primary author and contact.
256
+
257
+Primary assignee:
258
+  <launchpad-id or None>
259
+
260
+Other contributors:
261
+  <launchpad-id or None>
262
+
263
+Work Items
264
+----------
265
+
266
+Work items or tasks -- break the feature up into the things that need to be
267
+done to implement it. Those parts might end up being done by different people,
268
+but we're mostly trying to understand the timeline for implementation.
269
+
270
+
271
+Dependencies
272
+============
273
+
274
+* Include specific references to specs and/or blueprints in openstack-chef, or in other
275
+  projects, that this one either depends on or is related to.
276
+
277
+* If this requires functionality of another project that is not currently used
278
+  by openstack-chef (such as the glance v2 API when we previously only required v1),
279
+  document that fact.
280
+
281
+* Does this feature require any new library dependencies or code otherwise not
282
+  included in OpenStack? Or does it depend on a specific version of library?
283
+
284
+
285
+Testing
286
+=======
287
+
288
+Please discuss how the change will be tested. We especially want to know what
289
+tempest tests will be added. It is assumed that unit test coverage will be
290
+added so that doesn't need to be mentioned explicitly, but discussion of why
291
+you think unit tests are sufficient and we don't need to add more tempest
292
+tests would need to be included.
293
+
294
+Is this untestable in gate given current limitations (specific hardware /
295
+software configurations available)? If so, are there mitigation plans (3rd
296
+party testing, gate enhancements, etc).
297
+
298
+
299
+Documentation Impact
300
+====================
301
+
302
+What is the impact on the docs team of this change? Some changes might require
303
+donating resources to the docs team to have the documentation updated. Don't
304
+repeat details discussed above, but please reference them here.
305
+
306
+
307
+References
308
+==========
309
+
310
+Please add any useful references here. You are not required to have any
311
+reference. Moreover, this specification should still make sense when your
312
+references are unavailable. Examples of what you could include are:
313
+
314
+* Links to mailing list or IRC discussions
315
+
316
+* Links to notes from a summit session
317
+
318
+* Links to relevant research, if appropriate
319
+
320
+* Related specifications as appropriate (e.g. if it's an EC2 thing, link the
321
+  EC2 docs)
322
+
323
+* Anything else you feel it is worthwhile to refer to

+ 323
- 0
specs/template.rst View File

@@ -0,0 +1,323 @@
1
+..
2
+ This work is licensed under a Creative Commons Attribution 3.0 Unported
3
+ License.
4
+
5
+ http://creativecommons.org/licenses/by/3.0/legalcode
6
+
7
+==========================================
8
+Example Spec - The title of your blueprint
9
+==========================================
10
+
11
+Include the URL of your launchpad blueprint:
12
+
13
+https://blueprints.launchpad.net/openstack-chef/+spec/example
14
+
15
+Introduction paragraph -- why are we doing anything? A single paragraph of
16
+prose that operators can understand. The title and this first paragraph
17
+should be used as the subject line and body of the commit message
18
+respectively.
19
+
20
+Some notes about using this template:
21
+
22
+* Your spec should be in ReSTructured text, like this template.
23
+
24
+* Please wrap text at 79 columns.
25
+
26
+* The filename in the git repository should match the launchpad URL, for
27
+  example a URL of: https://blueprints.launchpad.net/openstack-chef/+spec/awesome-thing
28
+  should be named awesome-thing.rst
29
+
30
+* Please do not delete any of the sections in this template.  If you have
31
+  nothing to say for a whole section, just write: None
32
+
33
+* For help with syntax, see http://sphinx-doc.org/rest.html
34
+
35
+* To test out your formatting, build the docs using tox and see the generated
36
+  HTML file in doc/build/html/specs/<path_of_your_file>
37
+
38
+* If you would like to provide a diagram with your spec, ascii diagrams are
39
+  required.  http://asciiflow.com/ is a very nice tool to assist with making
40
+  ascii diagrams.  The reason for this is that the tool used to review specs is
41
+  based purely on plain text.  Plain text will allow review to proceed without
42
+  having to look at additional files which can not be viewed in gerrit.  It
43
+  will also allow inline feedback on the diagram itself.
44
+
45
+Problem description
46
+===================
47
+
48
+A detailed description of the problem:
49
+
50
+* For a new feature this might be use cases. Ensure you are clear about the
51
+  actors in each use case: End User vs Deployer
52
+
53
+* For a major reworking of something existing it would describe the
54
+  problems in that feature that are being addressed.
55
+
56
+
57
+Proposed change
58
+===============
59
+
60
+Here is where you cover the change you propose to make in detail. How do you
61
+propose to solve this problem?
62
+
63
+If this is one part of a larger effort make it clear where this piece ends. In
64
+other words, what's the scope of this effort?
65
+
66
+Alternatives
67
+------------
68
+
69
+What other ways could we do this thing? Why aren't we using those? This doesn't
70
+have to be a full literature review, but it should demonstrate that thought has
71
+been put into why the proposed solution is an appropriate one.
72
+
73
+Data model impact
74
+-----------------
75
+
76
+Changes which require modifications to the data model often have a wider impact
77
+on the system.  The community often has strong opinions on how the data model
78
+should be evolved, from both a functional and performance perspective. It is
79
+therefore important to capture and gain agreement as early as possible on any
80
+proposed changes to the data model.
81
+
82
+Questions which need to be addressed by this section include:
83
+
84
+* What new data objects and/or database schema changes is this going to
85
+  require?
86
+
87
+* What database migrations will accompany this change.
88
+
89
+* How will the initial set of new data objects be generated, for example if you
90
+  need to take into account existing instances, or modify other existing data
91
+  describe how that will work.
92
+
93
+REST API impact
94
+---------------
95
+
96
+Each API method which is either added or changed should have the following
97
+
98
+* Specification for the method
99
+
100
+  * A description of what the method does suitable for use in
101
+    user documentation
102
+
103
+  * Method type (POST/PUT/GET/DELETE)
104
+
105
+  * Normal http response code(s)
106
+
107
+  * Expected error http response code(s)
108
+
109
+    * A description for each possible error code should be included
110
+      describing semantic errors which can cause it such as
111
+      inconsistent parameters supplied to the method, or when an
112
+      instance is not in an appropriate state for the request to
113
+      succeed. Errors caused by syntactic problems covered by the JSON
114
+      schema defintion do not need to be included.
115
+
116
+  * URL for the resource
117
+
118
+  * Parameters which can be passed via the url
119
+
120
+  * JSON schema definition for the body data if allowed
121
+
122
+  * JSON schema definition for the response data if any
123
+
124
+* Example use case including typical API samples for both data supplied
125
+  by the caller and the response
126
+
127
+* Discuss any policy changes, and discuss what things a deployer needs to
128
+  think about when defining their policy.
129
+
130
+Example JSON schema definitions can be found in the openstack-chef tree
131
+http://git.openstack.org/cgit/openstack/openstack-chef/tree/openstack-chef/api/openstack/compute/schemas/v3
132
+
133
+Note that the schema should be defined as restrictively as
134
+possible. Parameters which are required should be marked as such and
135
+only under exceptional circumstances should additional parameters
136
+which are not defined in the schema be permitted (eg
137
+additionaProperties should be False).
138
+
139
+Reuse of existing predefined parameter types such as regexps for
140
+passwords and user defined names is highly encouraged.
141
+
142
+Security impact
143
+---------------
144
+
145
+Describe any potential security impact on the system.  Some of the items to
146
+consider include:
147
+
148
+* Does this change touch sensitive data such as tokens, keys, or user data?
149
+
150
+* Does this change alter the API in a way that may impact security, such as
151
+  a new way to access sensitive information or a new way to login?
152
+
153
+* Does this change involve cryptography or hashing?
154
+
155
+* Does this change require the use of sudo or any elevated privileges?
156
+
157
+* Does this change involve using or parsing user-provided data? This could
158
+  be directly at the API level or indirectly such as changes to a cache layer.
159
+
160
+* Can this change enable a resource exhaustion attack, such as allowing a
161
+  single API interaction to consume significant server resources? Some examples
162
+  of this include launching subprocesses for each connection, or entity
163
+  expansion attacks in XML.
164
+
165
+For more detailed guidance, please see the OpenStack Security Guidelines as
166
+a reference (https://wiki.openstack.org/wiki/Security/Guidelines).  These
167
+guidelines are a work in progress and are designed to help you identify
168
+security best practices.  For further information, feel free to reach out
169
+to the OpenStack Security Group at openstack-security@lists.openstack.org.
170
+
171
+Notifications impact
172
+--------------------
173
+
174
+Please specify any changes to notifications. Be that an extra notification,
175
+changes to an existing notification, or removing a notification.
176
+
177
+Other end user impact
178
+---------------------
179
+
180
+Aside from the API, are there other ways a user will interact with this
181
+feature?
182
+
183
+* Does this change have an impact on python-openstack-chefclient? What does the user
184
+  interface there look like?
185
+
186
+Performance Impact
187
+------------------
188
+
189
+Describe any potential performance impact on the system, for example
190
+how often will new code be called, and is there a major change to the calling
191
+pattern of existing code.
192
+
193
+Examples of things to consider here include:
194
+
195
+* A periodic task might look like a small addition but if it calls conductor or
196
+  another service the load is multiplied by the number of nodes in the system.
197
+
198
+* Scheduler filters get called once per host for every instance being created,
199
+  so any latency they introduce is linear with the size of the system.
200
+
201
+* A small change in a utility function or a commonly used decorator can have a
202
+  large impacts on performance.
203
+
204
+* Calls which result in a database queries (whether direct or via conductor)
205
+  can have a profound impact on performance when called in critical sections of
206
+  the code.
207
+
208
+* Will the change include any locking, and if so what considerations are there
209
+  on holding the lock?
210
+
211
+Other deployer impact
212
+---------------------
213
+
214
+Discuss things that will affect how you deploy and configure OpenStack
215
+that have not already been mentioned, such as:
216
+
217
+* What config options are being added? Should they be more generic than
218
+  proposed (for example a flag that other hypervisor drivers might want to
219
+  implement as well)? Are the default values ones which will work well in
220
+  real deployments?
221
+
222
+* Is this a change that takes immediate effect after its merged, or is it
223
+  something that has to be explicitly enabled?
224
+
225
+* If this change is a new binary, how would it be deployed?
226
+
227
+* Please state anything that those doing continuous deployment, or those
228
+  upgrading from the previous release, need to be aware of. Also describe
229
+  any plans to deprecate configuration values or features.  For example, if we
230
+  change the directory name that instances are stored in, how do we handle
231
+  instance directories created before the change landed?  Do we move them?  Do
232
+  we have a special case in the code? Do we assume that the operator will
233
+  recreate all the instances in their cloud?
234
+
235
+Developer impact
236
+----------------
237
+
238
+Discuss things that will affect other developers working on OpenStack,
239
+such as:
240
+
241
+* If the blueprint proposes a change to the driver API, discussion of how
242
+  other hypervisors would implement the feature is required.
243
+
244
+
245
+Implementation
246
+==============
247
+
248
+Assignee(s)
249
+-----------
250
+
251
+Who is leading the writing of the code? Or is this a blueprint where you're
252
+throwing it out there to see who picks it up?
253
+
254
+If more than one person is working on the implementation, please designate the
255
+primary author and contact.
256
+
257
+Primary assignee:
258
+  <launchpad-id or None>
259
+
260
+Other contributors:
261
+  <launchpad-id or None>
262
+
263
+Work Items
264
+----------
265
+
266
+Work items or tasks -- break the feature up into the things that need to be
267
+done to implement it. Those parts might end up being done by different people,
268
+but we're mostly trying to understand the timeline for implementation.
269
+
270
+
271
+Dependencies
272
+============
273
+
274
+* Include specific references to specs and/or blueprints in openstack-chef, or in other
275
+  projects, that this one either depends on or is related to.
276
+
277
+* If this requires functionality of another project that is not currently used
278
+  by openstack-chef (such as the glance v2 API when we previously only required v1),
279
+  document that fact.
280
+
281
+* Does this feature require any new library dependencies or code otherwise not
282
+  included in OpenStack? Or does it depend on a specific version of library?
283
+
284
+
285
+Testing
286
+=======
287
+
288
+Please discuss how the change will be tested. We especially want to know what
289
+tempest tests will be added. It is assumed that unit test coverage will be
290
+added so that doesn't need to be mentioned explicitly, but discussion of why
291
+you think unit tests are sufficient and we don't need to add more tempest
292
+tests would need to be included.
293
+
294
+Is this untestable in gate given current limitations (specific hardware /
295
+software configurations available)? If so, are there mitigation plans (3rd
296
+party testing, gate enhancements, etc).
297
+
298
+
299
+Documentation Impact
300
+====================
301
+
302
+What is the impact on the docs team of this change? Some changes might require
303
+donating resources to the docs team to have the documentation updated. Don't
304
+repeat details discussed above, but please reference them here.
305
+
306
+
307
+References
308
+==========
309
+
310
+Please add any useful references here. You are not required to have any
311
+reference. Moreover, this specification should still make sense when your
312
+references are unavailable. Examples of what you could include are:
313
+
314
+* Links to mailing list or IRC discussions
315
+
316
+* Links to notes from a summit session
317
+
318
+* Links to relevant research, if appropriate
319
+
320
+* Related specifications as appropriate (e.g. if it's an EC2 thing, link the
321
+  EC2 docs)
322
+
323
+* Anything else you feel it is worthwhile to refer to

+ 15
- 0
tox.ini View File

@@ -0,0 +1,15 @@
1
+[tox]
2
+envlist = docs
3
+
4
+[testenv]
5
+usedevelop = True
6
+setenv = VIRTUAL_ENV={envdir}
7
+install_command = pip install -U {opts} {packages}
8
+deps = -r{toxinidir}/requirements.txt
9
+commands = python setup.py testr --slowest --testr-args='{posargs}'
10
+
11
+[testenv:venv]
12
+commands = {posargs}
13
+
14
+[testenv:docs]
15
+commands = python setup.py build_sphinx

Loading…
Cancel
Save