Browse Source

Initial commit

Change-Id: I2b02c253c8f06642f5468332d622f624cd30292b
changes/83/252383/5
Dmitry Tantsur 3 years ago
parent
commit
ac093b15be
15 changed files with 522 additions and 0 deletions
  1. 36
    0
      .gitignore
  2. 7
    0
      .testr.conf
  3. 3
    0
      LICENSE
  4. 8
    0
      README.rst
  5. 92
    0
      doc/source/conf.py
  6. 26
    0
      doc/source/index.rst
  7. 1
    0
      doc/source/specs
  8. 1
    0
      doc/source/template.rst
  9. 4
    0
      requirements.txt
  10. 24
    0
      setup.cfg
  11. 22
    0
      setup.py
  12. 0
    0
      specs/.gitkeep
  13. 271
    0
      template.rst
  14. 1
    0
      test-requirements.txt
  15. 26
    0
      tox.ini

+ 36
- 0
.gitignore View File

@@ -0,0 +1,36 @@
1
+*.py[cod]
2
+
3
+# Packages
4
+*.egg
5
+*.egg-info
6
+dist
7
+build
8
+eggs
9
+parts
10
+sdist
11
+develop-eggs
12
+.installed.cfg
13
+
14
+# Installer logs
15
+pip-log.txt
16
+
17
+# Unit test / coverage reports
18
+.tox
19
+nosetests.xml
20
+.testrepository
21
+
22
+# Mr Developer
23
+.mr.developer.cfg
24
+.project
25
+.pydevproject
26
+
27
+# Sphinx
28
+doc/build
29
+
30
+# pbr generates these
31
+AUTHORS
32
+ChangeLog
33
+
34
+# Editors
35
+*~
36
+.*.swp

+ 7
- 0
.testr.conf View File

@@ -0,0 +1,7 @@
1
+[DEFAULT]
2
+test_command=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} \
3
+             OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} \
4
+             OS_TEST_TIMEOUT=${OS_TEST_TIMEOUT:-60} \
5
+             ${PYTHON:-python} -m subunit.run discover -t ./ . $LISTOPT $IDOPTION
6
+test_id_option=--load-list $IDFILE
7
+test_list_option=--list

+ 3
- 0
LICENSE View File

@@ -0,0 +1,3 @@
1
+This work is licensed under a Creative Commons Attribution 3.0 Unported License.
2
+
3
+http://creativecommons.org/licenses/by/3.0/legalcode

+ 8
- 0
README.rst View File

@@ -0,0 +1,8 @@
1
+===============================
2
+ironic-inspector specs
3
+===============================
4
+
5
+Specs for Ironic Inspector
6
+
7
+* Free software: Apache license
8
+* Documentation: http://docs.openstack.org/developer/ironic-inspector

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

@@ -0,0 +1,92 @@
1
+# -*- coding: utf-8 -*-
2
+# Licensed under the Apache License, Version 2.0 (the "License");
3
+# you may not use this file except in compliance with the License.
4
+# You may obtain a copy of the License at
5
+#
6
+#    http://www.apache.org/licenses/LICENSE-2.0
7
+#
8
+# Unless required by applicable law or agreed to in writing, software
9
+# distributed under the License is distributed on an "AS IS" BASIS,
10
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
11
+# implied.
12
+# See the License for the specific language governing permissions and
13
+# limitations under the License.
14
+
15
+import datetime
16
+import os
17
+import sys
18
+
19
+sys.path.insert(0, os.path.abspath('../..'))
20
+# -- General configuration ----------------------------------------------------
21
+
22
+# Add any Sphinx extension module names here, as strings. They can be
23
+# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
24
+extensions = [
25
+    'sphinx.ext.autodoc',
26
+    #'sphinx.ext.intersphinx',
27
+    'oslosphinx',
28
+    'yasfb',
29
+]
30
+
31
+# Feed configuration for yasfb
32
+feed_base_url = 'http://specs.openstack.org/openstack/ironic-inspector'
33
+feed_author = 'OpenStack Ironic Inspector Team'
34
+
35
+exclude_patterns = [
36
+]
37
+
38
+# Optionally allow the use of sphinxcontrib.spelling to verify the
39
+# spelling of the documents.
40
+try:
41
+    import sphinxcontrib.spelling
42
+    extensions.append('sphinxcontrib.spelling')
43
+except ImportError:
44
+    pass
45
+
46
+# autodoc generation is a bit aggressive and a nuisance when doing heavy
47
+# text edit cycles.
48
+# execute "export SPHINX_DEBUG=1" in your terminal to disable
49
+
50
+# The suffix of source filenames.
51
+source_suffix = '.rst'
52
+
53
+# The master toctree document.
54
+master_doc = 'index'
55
+
56
+# General information about the project.
57
+project = u'Ironic Inspector Specs'
58
+copyright = u'%s, OpenStack Ironic Inspector Team' % datetime.date.today().year
59
+
60
+# If true, '()' will be appended to :func: etc. cross-reference text.
61
+add_function_parentheses = True
62
+
63
+# If true, the current module name will be prepended to all description
64
+# unit titles (such as .. function::).
65
+add_module_names = True
66
+
67
+# The name of the Pygments (syntax highlighting) style to use.
68
+pygments_style = 'sphinx'
69
+
70
+# -- Options for HTML output --------------------------------------------------
71
+
72
+# The theme to use for HTML and HTML Help pages.  Major themes that come with
73
+# Sphinx are currently 'default' and 'sphinxdoc'.
74
+# html_theme_path = ["."]
75
+# html_theme = '_theme'
76
+# html_static_path = ['static']
77
+
78
+# Output file base name for HTML help builder.
79
+htmlhelp_basename = '%sdoc' % project
80
+
81
+# Grouping the document tree into LaTeX files. List of tuples
82
+# (source start file, target name, title, author, documentclass
83
+# [howto/manual]).
84
+latex_documents = [
85
+    ('index',
86
+     '%s.tex' % project,
87
+     project,
88
+     u'OpenStack Ironic Inspector Team', 'manual'),
89
+]
90
+
91
+# Example configuration for intersphinx: refer to the Python standard library.
92
+#intersphinx_mapping = {'http://docs.python.org/': None}

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

@@ -0,0 +1,26 @@
1
+Ironic Inspector Design Specifications
2
+======================================
3
+
4
+.. toctree::
5
+   :glob:
6
+   :maxdepth: 1
7
+
8
+   specs/*
9
+
10
+
11
+Template for Writing Ironic Inspector Specs
12
+===========================================
13
+
14
+.. toctree::
15
+   :maxdepth: 3
16
+
17
+   template
18
+
19
+
20
+Indices and tables
21
+==================
22
+
23
+* :ref:`genindex`
24
+* :ref:`modindex`
25
+* :ref:`search`
26
+

+ 1
- 0
doc/source/specs View File

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

+ 1
- 0
doc/source/template.rst View File

@@ -0,0 +1 @@
1
+../../template.rst

+ 4
- 0
requirements.txt View File

@@ -0,0 +1,4 @@
1
+pbr>=0.11,<2.0
2
+oslosphinx
3
+sphinx>=1.1.2,!=1.2.0,!=1.3b1,<1.3
4
+yasfb>=0.5.1

+ 24
- 0
setup.cfg View File

@@ -0,0 +1,24 @@
1
+[metadata]
2
+name = ironic-inspector-specs
3
+summary = Specs for Ironic Inspector
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
+    Environment :: OpenStack
11
+    Intended Audience :: Developers
12
+    License :: OSI Approved :: Apache Software License
13
+    Operating System :: POSIX :: Linux
14
+
15
+[build_sphinx]
16
+source-dir = doc/source
17
+build-dir = doc/build
18
+all_files = 1
19
+
20
+[pbr]
21
+warnerrors = True
22
+
23
+[upload_sphinx]
24
+upload-dir = doc/build/html

+ 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/.gitkeep View File


+ 271
- 0
template.rst View File

@@ -0,0 +1,271 @@
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
+ The title of your blueprint
9
+=============================
10
+
11
+Include the URL of your launchpad blueprint:
12
+
13
+https://blueprints.launchpad.net/ironic-inspector/+spec/example
14
+
15
+Introduction paragraph -- why are we doing anything?
16
+
17
+Some notes about using this template:
18
+
19
+* Your spec should be in ReSTructured text, like this template.
20
+
21
+* Please wrap text at 79 columns.
22
+
23
+* The filename in the git repository must match the launchpad URL, for
24
+  example a URL of:
25
+  https://blueprints.launchpad.net/ironic-inspector/+spec/awesome-thing
26
+  must be named awesome-thing.rst
27
+
28
+* Please do not delete any of the sections in this template.  If you have
29
+  nothing to say for a whole section, just write: None
30
+
31
+* For help with syntax, see http://sphinx-doc.org/rest.html
32
+
33
+* To test out your formatting, build the docs using tox, or see:
34
+  http://rst.ninjs.org
35
+
36
+* If you would like to provide a diagram with your spec, ascii diagrams are
37
+  required.  http://asciiflow.com/ is a very nice tool to assist with making
38
+  ascii diagrams.  The reason for this is that the tool used to review specs is
39
+  based purely on plain text.  Plain text will allow review to proceed without
40
+  having to look at additional files which can not be viewed in gerrit.  It
41
+  will also allow inline feedback on the diagram itself.
42
+
43
+Problem description
44
+===================
45
+
46
+A detailed description of the problem:
47
+
48
+* For a new feature this might be use cases. Ensure you are clear about the
49
+  actors in each use case: End User, Admin User, Deployer, or another Service
50
+
51
+* For a major reworking of something existing it would describe the
52
+  problems in that feature that are being addressed.
53
+
54
+
55
+Proposed change
56
+===============
57
+
58
+Here is where you cover the change you propose to make in detail. How do you
59
+propose to solve this problem?
60
+
61
+If this is one part of a larger effort make it clear where this piece ends. In
62
+other words, what's the scope of this effort?
63
+
64
+Include where in the ironic-inspector tree hierarchy this will reside.
65
+
66
+Alternatives
67
+------------
68
+
69
+This is an optional section, where it does apply we'd just like a demonstration
70
+that some thought has been put into why the proposed approach is the best one.
71
+
72
+Data model impact
73
+-----------------
74
+
75
+Changes which require modifications to the data model often have a wider impact
76
+on the system.  The community often has strong opinions on how the data model
77
+should be evolved, from both a functional and performance perspective. It is
78
+therefore important to capture and gain agreement as early as possible on any
79
+proposed changes to the data model.
80
+
81
+Questions which need to be addressed by this section include:
82
+
83
+* What new data objects and/or database schema changes is this going to
84
+  require?
85
+
86
+* What database migrations will accompany this change?
87
+
88
+* How will the initial set of new data objects be generated? For example, if
89
+  you need to take into account existing instances, or modify other existing
90
+  data, describe how that will work.
91
+
92
+HTTP API impact
93
+---------------
94
+
95
+Describe changes to the HTTP API.
96
+
97
+Each API method which is either added or changed should have the following
98
+
99
+* Specification for the method
100
+
101
+  * A description of what the method does, suitable for use in user
102
+    documentation.
103
+
104
+  * Method type (POST/PUT/GET/DELETE/PATCH)
105
+
106
+  * Normal http response code(s)
107
+
108
+  * Expected error http response code(s)
109
+
110
+    * A description for each possible error code should be included.
111
+      Describe semantic errors which can cause it, such as
112
+      inconsistent parameters supplied to the method, or when a
113
+      resource is not in an appropriate state for the request to
114
+      succeed. Errors caused by syntactic problems covered by the JSON
115
+      schema definition do not need to be included.
116
+
117
+  * URL for the resource
118
+
119
+  * Parameters which can be passed via the url, including data types
120
+
121
+  * JSON schema definition for the body data if allowed
122
+
123
+  * JSON schema definition for the response data if any
124
+
125
+* Does the API microversion need to increment?
126
+
127
+* Example use case including typical API samples for both data supplied
128
+  by the caller and the response
129
+
130
+* Is this change discoverable by clients? Not all clients will upgrade at the
131
+  same time, so this change must work with older clients without breaking them.
132
+
133
+Note that the schema should be defined as restrictively as possible. Parameters
134
+which are required should be marked as such and only under exceptional
135
+circumstances should additional parameters which are not defined in the schema
136
+be permitted.
137
+
138
+Reuse of existing predefined parameter types is highly encouraged.
139
+
140
+Client (CLI) impact
141
+-------------------
142
+
143
+Typically, but not always, if there are any REST API changes, there are
144
+corresponding changes to python-ironic-inspector-client. If so, what does
145
+the user interface look like. If not, describe why there are REST API changes
146
+but no changes to the client.
147
+
148
+Performance and scalability impact
149
+----------------------------------
150
+
151
+Describe any potential performance impact on the system, for example
152
+how often will new code be called, and is there a major change to the calling
153
+pattern of existing code.
154
+
155
+Describe any potential scalability impact on the system, for example any
156
+increase in network, RPC, or database traffic, or whether the feature
157
+requires synchronization across multiple services.
158
+
159
+Security impact
160
+---------------
161
+
162
+Describe any potential security impact on the system.
163
+
164
+Deployer impact
165
+---------------
166
+
167
+Discuss things that will affect how you deploy and configure OpenStack
168
+that have not already been mentioned, such as:
169
+
170
+* What config options are being added? Should they be more generic than
171
+  proposed (for example, a flag that other hardware drivers might want to
172
+  implement as well)? Are the default values appropriate for production?
173
+  Provide an explanation of why these defaults are reasonable.
174
+
175
+* Is this a change that takes immediate effect after it's merged, or is it
176
+  something that has to be explicitly enabled?
177
+
178
+* If this change adds a new service that deployers will be required to run,
179
+  how would it be deployed? Describe the expected topology, for example,
180
+  what network connectivity the new service would need, what service(s) it
181
+  would interact with, how many should run relative to the size of the
182
+  deployment, and so on.
183
+
184
+* Please state anything that those doing continuous deployment, or those
185
+  upgrading from the previous release, need to be aware of. Also describe
186
+  any plans to deprecate configuration values or features.
187
+
188
+* If your proposal includes any changes to the REST API, describe how existing
189
+  clients will continue to function when interacting with an upgraded API
190
+  server.
191
+
192
+* Describe what testing you will be adding to ensure that backwards
193
+  compatibility is maintained.
194
+
195
+* If deprecating an existing feature or API, describe the deprecation plan, and
196
+  for how long compatibility will be maintained.
197
+
198
+Developer impact
199
+----------------
200
+
201
+Discuss things that will affect other developers working on OpenStack,
202
+such as:
203
+
204
+* If the blueprint proposes a change to the hooks API, discussion of how
205
+  other hooks would implement the feature is required. Describe how
206
+  existing hooks will continue to function after the change.
207
+
208
+
209
+Implementation
210
+==============
211
+
212
+Assignee(s)
213
+-----------
214
+
215
+Who is leading the writing of the code? Or is this a blueprint where you're
216
+throwing it out there to see who picks it up?
217
+
218
+If more than one person is working on the implementation, please designate the
219
+primary author and contact.
220
+
221
+Primary assignee:
222
+  <launchpad-id or None>
223
+
224
+Can optionally can list additional ids if they intend on doing
225
+substantial implementation work on this blueprint.
226
+
227
+Work Items
228
+----------
229
+
230
+Work items or tasks -- break the feature up into the things that need to be
231
+done to implement it. Those parts might end up being done by different people,
232
+but we're mostly trying to understand the timeline for implementation.
233
+
234
+
235
+Dependencies
236
+============
237
+
238
+- Include specific references to specs and/or blueprints in ironic-inspector,
239
+  or in other projects, that this one either depends on or is related to.
240
+
241
+- Does this feature require any new library dependencies or code otherwise not
242
+  included in OpenStack? Or does it depend on a specific version of library?
243
+
244
+
245
+Testing
246
+=======
247
+
248
+Please discuss how the change will be tested. We especially want to know what
249
+tempest tests will be added. It is assumed that unit test coverage will be
250
+added so that doesn't need to be mentioned explicitly, but discussion of why
251
+you think unit tests are sufficient and we don't need to add more tempest
252
+tests would need to be included.
253
+
254
+
255
+References
256
+==========
257
+
258
+Please add any useful references here. You are not required to have any
259
+reference. Moreover, this specification should still make sense when your
260
+references are unavailable. Examples of what you could include are:
261
+
262
+* Links to mailing list or IRC discussions
263
+
264
+* Links to notes from a summit session
265
+
266
+* Links to relevant research, if appropriate
267
+
268
+* Related specifications as appropriate (e.g.  if it's an EC2 thing, link the
269
+  EC2 docs)
270
+
271
+* Anything else you feel it is worthwhile to refer to

+ 1
- 0
test-requirements.txt View File

@@ -0,0 +1 @@
1
+doc8 # Apache-2.0

+ 26
- 0
tox.ini View File

@@ -0,0 +1,26 @@
1
+[tox]
2
+minversion = 1.6
3
+envlist = pep8,docs
4
+
5
+[testenv]
6
+usedevelop = True
7
+deps = -r{toxinidir}/requirements.txt
8
+       -r{toxinidir}/test-requirements.txt
9
+
10
+[testenv:venv]
11
+commands = {posargs}
12
+
13
+[testenv:pep8]
14
+basepython = python2.7
15
+commands =
16
+    doc8 README.rst doc/source specs
17
+
18
+[testenv:docs]
19
+commands = python setup.py build_sphinx
20
+
21
+[testenv:spelling]
22
+deps =
23
+   -r{toxinidir}/requirements.txt
24
+   sphinxcontrib-spelling
25
+   PyEnchant
26
+commands = sphinx-build -b spelling doc/source doc/build/spelling

Loading…
Cancel
Save