Browse Source

Initial commit to os_placement role

This is the initial commit to the development of
os_placement role. It contains scaffolding in first.

Change-Id: Ibbe569238f77f0cfcc23c037bd94a803347d9ef6
changes/72/615272/7
Guilherme Steinmüller 9 months ago
parent
commit
565c63a659

+ 100
- 0
CONTRIBUTING.rst View File

@@ -0,0 +1,100 @@
1
+OpenStack-Ansible Placement
2
+###########################
3
+:tags: openstack, placement, cloud, ansible
4
+:category: \*nix
5
+
6
+contributor guidelines
7
+^^^^^^^^^^^^^^^^^^^^^^
8
+
9
+Filing Bugs
10
+-----------
11
+
12
+Bugs should be filed on Launchpad, not GitHub: "https://bugs.launchpad.net
13
+/openstack-ansible"
14
+
15
+
16
+When submitting a bug, or working on a bug, please ensure the following
17
+criteria are met:
18
+    * The description clearly states or describes the original problem or root
19
+      cause of the problem.
20
+    * Include historical information on how the problem was identified.
21
+    * Any relevant logs are included.
22
+    * The provided information should be totally self-contained. External
23
+      access to web services/sites should not be needed.
24
+    * Steps to reproduce the problem if possible.
25
+
26
+
27
+Submitting Code
28
+---------------
29
+
30
+Changes to the project should be submitted for review via the Gerrit tool,
31
+following the workflow documented at:
32
+"https://docs.openstack.org/infra/manual/developers.html#development-workflow"
33
+
34
+Pull requests submitted through GitHub will be ignored and closed without
35
+regard.
36
+
37
+
38
+Extra
39
+-----
40
+
41
+Tags: If it's a bug that needs fixing in a branch in addition to Master, add a
42
+    '\<release\>-backport-potential' tag (eg ``juno-backport-potential``).
43
+    There are predefined tags that will autocomplete.
44
+
45
+Status:
46
+    Please leave this alone, it should be New till someone triages the issue.
47
+
48
+Importance:
49
+    Should only be touched if it is a Blocker/Gating issue. If it is, please
50
+    set to High, and only use Critical if you have found a bug that can take
51
+    down whole infrastructures.
52
+
53
+
54
+Style guide
55
+-----------
56
+
57
+When creating tasks and other roles for use in Ansible please create then
58
+using the YAML dictionary format.
59
+
60
+Example YAML dictionary format:
61
+    .. code-block:: yaml
62
+
63
+        - name: The name of the tasks
64
+          module_name:
65
+            thing1: "some-stuff"
66
+            thing2: "some-other-stuff"
67
+          tags:
68
+            - some-tag
69
+            - some-other-tag
70
+
71
+
72
+Example **NOT** in YAML dictionary format:
73
+    .. code-block:: yaml
74
+
75
+        - name: The name of the tasks
76
+          module_name: thing1="some-stuff" thing2="some-other-stuff"
77
+          tags:
78
+            - some-tag
79
+            - some-other-tag
80
+
81
+
82
+Usage of the ">" and "|" operators should be limited to Ansible conditionals
83
+and command modules such as the ansible ``shell`` module.
84
+
85
+
86
+Issues
87
+------
88
+
89
+When submitting an issue, or working on an issue please ensure the following
90
+criteria are met:
91
+    * The description clearly states or describes the original problem or root
92
+      cause of the problem.
93
+    * Include historical information on how the problem was identified.
94
+    * Any relevant logs are included.
95
+    * If the issue is a bug that needs fixing in a branch other than Master,
96
+      add the 'backport potential' tag TO THE ISSUE (not the PR).
97
+    * The provided information should be totally self-contained. External
98
+      access to web services/sites should not be needed.
99
+    * If the issue is needed for a hotfix release, add the 'expedite' label.
100
+    * Steps to reproduce the problem if possible.

+ 202
- 0
LICENSE View File

@@ -0,0 +1,202 @@
1
+Apache License
2
+                           Version 2.0, January 2004
3
+                        http://www.apache.org/licenses/
4
+
5
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6
+
7
+   1. Definitions.
8
+
9
+      "License" shall mean the terms and conditions for use, reproduction,
10
+      and distribution as defined by Sections 1 through 9 of this document.
11
+
12
+      "Licensor" shall mean the copyright owner or entity authorized by
13
+      the copyright owner that is granting the License.
14
+
15
+      "Legal Entity" shall mean the union of the acting entity and all
16
+      other entities that control, are controlled by, or are under common
17
+      control with that entity. For the purposes of this definition,
18
+      "control" means (i) the power, direct or indirect, to cause the
19
+      direction or management of such entity, whether by contract or
20
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
21
+      outstanding shares, or (iii) beneficial ownership of such entity.
22
+
23
+      "You" (or "Your") shall mean an individual or Legal Entity
24
+      exercising permissions granted by this License.
25
+
26
+      "Source" form shall mean the preferred form for making modifications,
27
+      including but not limited to software source code, documentation
28
+      source, and configuration files.
29
+
30
+      "Object" form shall mean any form resulting from mechanical
31
+      transformation or translation of a Source form, including but
32
+      not limited to compiled object code, generated documentation,
33
+      and conversions to other media types.
34
+
35
+      "Work" shall mean the work of authorship, whether in Source or
36
+      Object form, made available under the License, as indicated by a
37
+      copyright notice that is included in or attached to the work
38
+      (an example is provided in the Appendix below).
39
+
40
+      "Derivative Works" shall mean any work, whether in Source or Object
41
+      form, that is based on (or derived from) the Work and for which the
42
+      editorial revisions, annotations, elaborations, or other modifications
43
+      represent, as a whole, an original work of authorship. For the purposes
44
+      of this License, Derivative Works shall not include works that remain
45
+      separable from, or merely link (or bind by name) to the interfaces of,
46
+      the Work and Derivative Works thereof.
47
+
48
+      "Contribution" shall mean any work of authorship, including
49
+      the original version of the Work and any modifications or additions
50
+      to that Work or Derivative Works thereof, that is intentionally
51
+      submitted to Licensor for inclusion in the Work by the copyright owner
52
+      or by an individual or Legal Entity authorized to submit on behalf of
53
+      the copyright owner. For the purposes of this definition, "submitted"
54
+      means any form of electronic, verbal, or written communication sent
55
+      to the Licensor or its representatives, including but not limited to
56
+      communication on electronic mailing lists, source code control systems,
57
+      and issue tracking systems that are managed by, or on behalf of, the
58
+      Licensor for the purpose of discussing and improving the Work, but
59
+      excluding communication that is conspicuously marked or otherwise
60
+      designated in writing by the copyright owner as "Not a Contribution."
61
+
62
+      "Contributor" shall mean Licensor and any individual or Legal Entity
63
+      on behalf of whom a Contribution has been received by Licensor and
64
+      subsequently incorporated within the Work.
65
+
66
+   2. Grant of Copyright License. Subject to the terms and conditions of
67
+      this License, each Contributor hereby grants to You a perpetual,
68
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69
+      copyright license to reproduce, prepare Derivative Works of,
70
+      publicly display, publicly perform, sublicense, and distribute the
71
+      Work and such Derivative Works in Source or Object form.
72
+
73
+   3. Grant of Patent License. Subject to the terms and conditions of
74
+      this License, each Contributor hereby grants to You a perpetual,
75
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76
+      (except as stated in this section) patent license to make, have made,
77
+      use, offer to sell, sell, import, and otherwise transfer the Work,
78
+      where such license applies only to those patent claims licensable
79
+      by such Contributor that are necessarily infringed by their
80
+      Contribution(s) alone or by combination of their Contribution(s)
81
+      with the Work to which such Contribution(s) was submitted. If You
82
+      institute patent litigation against any entity (including a
83
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
84
+      or a Contribution incorporated within the Work constitutes direct
85
+      or contributory patent infringement, then any patent licenses
86
+      granted to You under this License for that Work shall terminate
87
+      as of the date such litigation is filed.
88
+
89
+   4. Redistribution. You may reproduce and distribute copies of the
90
+      Work or Derivative Works thereof in any medium, with or without
91
+      modifications, and in Source or Object form, provided that You
92
+      meet the following conditions:
93
+
94
+      (a) You must give any other recipients of the Work or
95
+          Derivative Works a copy of this License; and
96
+
97
+      (b) You must cause any modified files to carry prominent notices
98
+          stating that You changed the files; and
99
+
100
+      (c) You must retain, in the Source form of any Derivative Works
101
+          that You distribute, all copyright, patent, trademark, and
102
+          attribution notices from the Source form of the Work,
103
+          excluding those notices that do not pertain to any part of
104
+          the Derivative Works; and
105
+
106
+      (d) If the Work includes a "NOTICE" text file as part of its
107
+          distribution, then any Derivative Works that You distribute must
108
+          include a readable copy of the attribution notices contained
109
+          within such NOTICE file, excluding those notices that do not
110
+          pertain to any part of the Derivative Works, in at least one
111
+          of the following places: within a NOTICE text file distributed
112
+          as part of the Derivative Works; within the Source form or
113
+          documentation, if provided along with the Derivative Works; or,
114
+          within a display generated by the Derivative Works, if and
115
+          wherever such third-party notices normally appear. The contents
116
+          of the NOTICE file are for informational purposes only and
117
+          do not modify the License. You may add Your own attribution
118
+          notices within Derivative Works that You distribute, alongside
119
+          or as an addendum to the NOTICE text from the Work, provided
120
+          that such additional attribution notices cannot be construed
121
+          as modifying the License.
122
+
123
+      You may add Your own copyright statement to Your modifications and
124
+      may provide additional or different license terms and conditions
125
+      for use, reproduction, or distribution of Your modifications, or
126
+      for any such Derivative Works as a whole, provided Your use,
127
+      reproduction, and distribution of the Work otherwise complies with
128
+      the conditions stated in this License.
129
+
130
+   5. Submission of Contributions. Unless You explicitly state otherwise,
131
+      any Contribution intentionally submitted for inclusion in the Work
132
+      by You to the Licensor shall be under the terms and conditions of
133
+      this License, without any additional terms or conditions.
134
+      Notwithstanding the above, nothing herein shall supersede or modify
135
+      the terms of any separate license agreement you may have executed
136
+      with Licensor regarding such Contributions.
137
+
138
+   6. Trademarks. This License does not grant permission to use the trade
139
+      names, trademarks, service marks, or product names of the Licensor,
140
+      except as required for reasonable and customary use in describing the
141
+      origin of the Work and reproducing the content of the NOTICE file.
142
+
143
+   7. Disclaimer of Warranty. Unless required by applicable law or
144
+      agreed to in writing, Licensor provides the Work (and each
145
+      Contributor provides its Contributions) on an "AS IS" BASIS,
146
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147
+      implied, including, without limitation, any warranties or conditions
148
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149
+      PARTICULAR PURPOSE. You are solely responsible for determining the
150
+      appropriateness of using or redistributing the Work and assume any
151
+      risks associated with Your exercise of permissions under this License.
152
+
153
+   8. Limitation of Liability. In no event and under no legal theory,
154
+      whether in tort (including negligence), contract, or otherwise,
155
+      unless required by applicable law (such as deliberate and grossly
156
+      negligent acts) or agreed to in writing, shall any Contributor be
157
+      liable to You for damages, including any direct, indirect, special,
158
+      incidental, or consequential damages of any character arising as a
159
+      result of this License or out of the use or inability to use the
160
+      Work (including but not limited to damages for loss of goodwill,
161
+      work stoppage, computer failure or malfunction, or any and all
162
+      other commercial damages or losses), even if such Contributor
163
+      has been advised of the possibility of such damages.
164
+
165
+   9. Accepting Warranty or Additional Liability. While redistributing
166
+      the Work or Derivative Works thereof, You may choose to offer,
167
+      and charge a fee for, acceptance of support, warranty, indemnity,
168
+      or other liability obligations and/or rights consistent with this
169
+      License. However, in accepting such obligations, You may act only
170
+      on Your own behalf and on Your sole responsibility, not on behalf
171
+      of any other Contributor, and only if You agree to indemnify,
172
+      defend, and hold each Contributor harmless for any liability
173
+      incurred by, or claims asserted against, such Contributor by reason
174
+      of your accepting any such warranty or additional liability.
175
+
176
+   END OF TERMS AND CONDITIONS
177
+
178
+   APPENDIX: How to apply the Apache License to your work.
179
+
180
+      To apply the Apache License to your work, attach the following
181
+      boilerplate notice, with the fields enclosed by brackets "{}"
182
+      replaced with your own identifying information. (Don't include
183
+      the brackets!)  The text should be enclosed in the appropriate
184
+      comment syntax for the file format. We also recommend that a
185
+      file or class name and description of purpose be included on the
186
+      same "printed page" as the copyright notice for easier
187
+      identification within third-party archives.
188
+
189
+   Copyright {yyyy} {name of copyright owner}
190
+
191
+   Licensed under the Apache License, Version 2.0 (the "License");
192
+   you may not use this file except in compliance with the License.
193
+   You may obtain a copy of the License at
194
+
195
+       http://www.apache.org/licenses/LICENSE-2.0
196
+
197
+   Unless required by applicable law or agreed to in writing, software
198
+   distributed under the License is distributed on an "AS IS" BASIS,
199
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200
+   See the License for the specific language governing permissions and
201
+   limitations under the License.
202
+

+ 26
- 0
README.rst View File

@@ -0,0 +1,26 @@
1
+========================
2
+Team and repository tags
3
+========================
4
+
5
+.. image:: https://governance.openstack.org/tc/badges/openstack-ansible-os_placement.svg
6
+    :target: https://governance.openstack.org/tc/reference/tags/index.html
7
+
8
+.. Change things from this point on
9
+
10
+===========================
11
+OpenStack-Ansible Placement
12
+===========================
13
+
14
+This Ansible role installs and configures OpenStack placement
15
+
16
+Documentation for the project can be found at:
17
+  https://docs.openstack.org/openstack-ansible-os_placement/latest/
18
+
19
+Release notes for the project can be found at:
20
+  https://docs.openstack.org/releasenotes/openstack-ansible-os_placement/
21
+
22
+The project source code repository is located at:
23
+  https://git.openstack.org/cgit/openstack/openstack-ansible-os_placement/
24
+
25
+The project home is at:
26
+  https://launchpad.net/openstack-ansible

+ 52
- 0
bindep.txt View File

@@ -0,0 +1,52 @@
1
+# This file facilitates OpenStack-CI package installation
2
+# before the execution of any tests.
3
+#
4
+# See the following for details:
5
+#  - https://docs.openstack.org/infra/bindep/
6
+#  - https://git.openstack.org/cgit/openstack-infra/bindep
7
+#
8
+# Even if the role does not make use of this facility, it
9
+# is better to have this file empty, otherwise OpenStack-CI
10
+# will fall back to installing its default packages which
11
+# will potentially be detrimental to the tests executed.
12
+#
13
+# Note:
14
+# This file is maintained in the openstack-ansible-tests repository.
15
+# https://git.openstack.org/cgit/openstack/openstack-ansible-tests/tree/bindep.txt
16
+# If you need to remove or add extra dependencies, you should modify
17
+# the central file instead and once your change is accepted then update
18
+# this file as well. The purpose of this file is to ensure that Python and
19
+# Ansible have all their necessary binary requirements on the test host before
20
+# tox executes. Any binary requirements needed by services/roles should be
21
+# installed by those roles in their applicable package install tasks, not through
22
+# using this file.
23
+#
24
+
25
+# The gcc compiler
26
+gcc
27
+
28
+# Base requirements for Ubuntu
29
+git-core          [platform:dpkg]
30
+libssl-dev        [platform:dpkg]
31
+libffi-dev        [platform:dpkg]
32
+python2.7         [platform:dpkg]
33
+python-apt        [platform:dpkg]
34
+python-dev        [platform:dpkg]
35
+python3           [platform:dpkg]
36
+python3-apt       [platform:dpkg]
37
+python3-dev       [platform:dpkg]
38
+
39
+# Base requirements for RPM distros
40
+gcc-c++           [platform:rpm]
41
+git               [platform:rpm]
42
+libffi-devel      [platform:rpm]
43
+openssl-devel     [platform:rpm]
44
+python-devel      [platform:rpm]
45
+python2-dnf       [platform:fedora]
46
+
47
+# For SELinux
48
+libselinux-python [platform:redhat]
49
+libsemanage-python [platform:redhat]
50
+
51
+# Required for compressing collected log files in CI
52
+gzip

+ 195
- 0
doc/Makefile View File

@@ -0,0 +1,195 @@
1
+# Makefile for Sphinx documentation
2
+#
3
+
4
+# You can set these variables from the command line.
5
+SPHINXOPTS    =
6
+SPHINXBUILD   = sphinx-build
7
+PAPER         =
8
+BUILDDIR      = build
9
+
10
+# User-friendly check for sphinx-build
11
+ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1)
12
+$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/)
13
+endif
14
+
15
+# Internal variables.
16
+PAPEROPT_a4     = -D latex_paper_size=a4
17
+PAPEROPT_letter = -D latex_paper_size=letter
18
+ALLSPHINXOPTS   = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
19
+# the i18n builder cannot share the environment and doctrees with the others
20
+I18NSPHINXOPTS  = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
21
+
22
+.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest coverage gettext
23
+
24
+help:
25
+	@echo "Please use \`make <target>' where <target> is one of"
26
+	@echo "  html       to make standalone HTML files"
27
+	@echo "  dirhtml    to make HTML files named index.html in directories"
28
+	@echo "  singlehtml to make a single large HTML file"
29
+	@echo "  pickle     to make pickle files"
30
+	@echo "  json       to make JSON files"
31
+	@echo "  htmlhelp   to make HTML files and a HTML help project"
32
+	@echo "  qthelp     to make HTML files and a qthelp project"
33
+	@echo "  applehelp  to make an Apple Help Book"
34
+	@echo "  devhelp    to make HTML files and a Devhelp project"
35
+	@echo "  epub       to make an epub"
36
+	@echo "  latex      to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
37
+	@echo "  latexpdf   to make LaTeX files and run them through pdflatex"
38
+	@echo "  latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
39
+	@echo "  text       to make text files"
40
+	@echo "  man        to make manual pages"
41
+	@echo "  texinfo    to make Texinfo files"
42
+	@echo "  info       to make Texinfo files and run them through makeinfo"
43
+	@echo "  gettext    to make PO message catalogs"
44
+	@echo "  changes    to make an overview of all changed/added/deprecated items"
45
+	@echo "  xml        to make Docutils-native XML files"
46
+	@echo "  pseudoxml  to make pseudoxml-XML files for display purposes"
47
+	@echo "  linkcheck  to check all external links for integrity"
48
+	@echo "  doctest    to run all doctests embedded in the documentation (if enabled)"
49
+	@echo "  coverage   to run coverage check of the documentation (if enabled)"
50
+
51
+clean:
52
+	rm -rf $(BUILDDIR)/*
53
+
54
+html:
55
+	$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
56
+	@echo
57
+	@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
58
+
59
+dirhtml:
60
+	$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
61
+	@echo
62
+	@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
63
+
64
+singlehtml:
65
+	$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
66
+	@echo
67
+	@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
68
+
69
+pickle:
70
+	$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
71
+	@echo
72
+	@echo "Build finished; now you can process the pickle files."
73
+
74
+json:
75
+	$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
76
+	@echo
77
+	@echo "Build finished; now you can process the JSON files."
78
+
79
+htmlhelp:
80
+	$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
81
+	@echo
82
+	@echo "Build finished; now you can run HTML Help Workshop with the" \
83
+	      ".hhp project file in $(BUILDDIR)/htmlhelp."
84
+
85
+qthelp:
86
+	$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
87
+	@echo
88
+	@echo "Build finished; now you can run "qcollectiongenerator" with the" \
89
+	      ".qhcp project file in $(BUILDDIR)/qthelp, like this:"
90
+	@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/openstack-ansible-os_placement.qhcp"
91
+	@echo "To view the help file:"
92
+	@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/openstack-ansible-os_placement.qhc"
93
+
94
+applehelp:
95
+	$(SPHINXBUILD) -b applehelp $(ALLSPHINXOPTS) $(BUILDDIR)/applehelp
96
+	@echo
97
+	@echo "Build finished. The help book is in $(BUILDDIR)/applehelp."
98
+	@echo "N.B. You won't be able to view it unless you put it in" \
99
+	      "~/Library/Documentation/Help or install it in your application" \
100
+	      "bundle."
101
+
102
+devhelp:
103
+	$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
104
+	@echo
105
+	@echo "Build finished."
106
+	@echo "To view the help file:"
107
+	@echo "# mkdir -p $$HOME/.local/share/devhelp/openstack-ansible-os_placement"
108
+	@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/openstack-ansible-os_placement"
109
+	@echo "# devhelp"
110
+
111
+epub:
112
+	$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
113
+	@echo
114
+	@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
115
+
116
+latex:
117
+	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
118
+	@echo
119
+	@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
120
+	@echo "Run \`make' in that directory to run these through (pdf)latex" \
121
+	      "(use \`make latexpdf' here to do that automatically)."
122
+
123
+latexpdf:
124
+	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
125
+	@echo "Running LaTeX files through pdflatex..."
126
+	$(MAKE) -C $(BUILDDIR)/latex all-pdf
127
+	@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
128
+
129
+latexpdfja:
130
+	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
131
+	@echo "Running LaTeX files through platex and dvipdfmx..."
132
+	$(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
133
+	@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
134
+
135
+text:
136
+	$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
137
+	@echo
138
+	@echo "Build finished. The text files are in $(BUILDDIR)/text."
139
+
140
+man:
141
+	$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
142
+	@echo
143
+	@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
144
+
145
+texinfo:
146
+	$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
147
+	@echo
148
+	@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
149
+	@echo "Run \`make' in that directory to run these through makeinfo" \
150
+	      "(use \`make info' here to do that automatically)."
151
+
152
+info:
153
+	$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
154
+	@echo "Running Texinfo files through makeinfo..."
155
+	make -C $(BUILDDIR)/texinfo info
156
+	@echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
157
+
158
+gettext:
159
+	$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
160
+	@echo
161
+	@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
162
+
163
+changes:
164
+	$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
165
+	@echo
166
+	@echo "The overview file is in $(BUILDDIR)/changes."
167
+
168
+linkcheck:
169
+	$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
170
+	@echo
171
+	@echo "Link check complete; look for any errors in the above output " \
172
+	      "or in $(BUILDDIR)/linkcheck/output.txt."
173
+
174
+doctest:
175
+	$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
176
+	@echo "Testing of doctests in the sources finished, look at the " \
177
+	      "results in $(BUILDDIR)/doctest/output.txt."
178
+
179
+coverage:
180
+	$(SPHINXBUILD) -b coverage $(ALLSPHINXOPTS) $(BUILDDIR)/coverage
181
+	@echo "Testing of coverage in the sources finished, look at the " \
182
+	      "results in $(BUILDDIR)/coverage/python.txt."
183
+
184
+xml:
185
+	$(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml
186
+	@echo
187
+	@echo "Build finished. The XML files are in $(BUILDDIR)/xml."
188
+
189
+pseudoxml:
190
+	$(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml
191
+	@echo
192
+	@echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml."
193
+
194
+livehtml: html
195
+	sphinx-autobuild -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html

+ 10
- 0
doc/requirements.txt View File

@@ -0,0 +1,10 @@
1
+# The order of packages is significant, because pip processes them in the order
2
+# of appearance. Changing the order has an impact on the overall integration
3
+# process, which may cause wedges in the gate later.
4
+
5
+# this is required for the docs build jobs
6
+sphinx!=1.6.6,!=1.6.7,>=1.6.2 # BSD
7
+openstackdocstheme>=1.18.1 # Apache-2.0
8
+reno>=2.5.0 # Apache-2.0
9
+sphinxmark>=0.1.14 # Apache-2.0
10
+doc8>=0.6.0 # Apache-2.0

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

@@ -0,0 +1,328 @@
1
+#!/usr/bin/env python3
2
+
3
+# Licensed under the Apache License, Version 2.0 (the "License");
4
+# you may not use this file except in compliance with the License.
5
+# You may obtain a copy of the License at
6
+#
7
+#    http://www.apache.org/licenses/LICENSE-2.0
8
+#
9
+# Unless required by applicable law or agreed to in writing, software
10
+# distributed under the License is distributed on an "AS IS" BASIS,
11
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
12
+# implied.
13
+# See the License for the specific language governing permissions and
14
+# limitations under the License.
15
+
16
+# This file is execfile()d with the current directory set to its
17
+# containing dir.
18
+#
19
+# Note that not all possible configuration values are present in this
20
+# autogenerated file.
21
+#
22
+# All configuration values have a default; values that are commented out
23
+# serve to show the default.
24
+
25
+import pbr.version
26
+import os
27
+
28
+# If extensions (or modules to document with autodoc) are in another directory,
29
+# add these directories to sys.path here. If the directory is relative to the
30
+# documentation root, use os.path.abspath to make it absolute, like shown here.
31
+# sys.path.insert(0, os.path.abspath('.'))
32
+
33
+# -- General configuration ------------------------------------------------
34
+
35
+# If your documentation needs a minimal Sphinx version, state it here.
36
+# needs_sphinx = '1.0'
37
+
38
+# Add any Sphinx extension module names here, as strings. They can be
39
+# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
40
+# ones.
41
+extensions = [
42
+    'openstackdocstheme',
43
+    'sphinx.ext.autodoc',
44
+    'sphinxmark'
45
+]
46
+
47
+# Add any paths that contain templates here, relative to this directory.
48
+templates_path = ['_templates']
49
+
50
+# The suffix(es) of source filenames.
51
+# You can specify multiple suffix as a list of string:
52
+# source_suffix = ['.rst', '.md']
53
+source_suffix = '.rst'
54
+
55
+# The encoding of source files.
56
+# source_encoding = 'utf-8-sig'
57
+
58
+# The master toctree document.
59
+master_doc = 'index'
60
+
61
+# General information about the project.
62
+author = 'OpenStack-Ansible Contributors'
63
+category = 'Miscellaneous'
64
+copyright = '2014-2016, OpenStack-Ansible Contributors'
65
+description = 'OpenStack-Ansible deploys OpenStack environments using Ansible.'
66
+project = 'OpenStack-Ansible'
67
+role_name = 'os_placement'
68
+target_name = 'openstack-ansible-' + role_name
69
+title = 'OpenStack-Ansible Documentation: ' + role_name + 'role'
70
+
71
+# The link to the browsable source code (for the left hand menu)
72
+oslosphinx_cgit_link = (
73
+    'https://git.openstack.org/cgit/openstack/{}'.format(target_name)
74
+)
75
+
76
+# The version info for the project you're documenting, acts as replacement for
77
+# |version| and |release|, also used in various other places throughout the
78
+# built documents.
79
+#
80
+# The short X.Y version.
81
+version_info = pbr.version.VersionInfo(target_name)
82
+# The full version, including alpha/beta/rc tags.
83
+release = version_info.version_string_with_vcs()
84
+# The short X.Y version.
85
+version = version_info.canonical_version_string()
86
+
87
+# openstackdocstheme options
88
+repository_name = 'openstack/' + target_name
89
+bug_project = project.lower()
90
+bug_tag = ''
91
+
92
+# The language for content autogenerated by Sphinx. Refer to documentation
93
+# for a list of supported languages.
94
+#
95
+# This is also used if you do content translation via gettext catalogs.
96
+# Usually you set "language" from the command line for these cases.
97
+language = None
98
+
99
+# There are two options for replacing |today|: either, you set today to some
100
+# non-false value, then it is used:
101
+# today = ''
102
+# Else, today_fmt is used as the format for a strftime call.
103
+# today_fmt = '%B %d, %Y'
104
+
105
+# List of patterns, relative to source directory, that match files and
106
+# directories to ignore when looking for source files.
107
+exclude_patterns = []
108
+
109
+# The reST default role (used for this markup: `text`) to use for all
110
+# documents.
111
+# default_role = None
112
+
113
+# If true, '()' will be appended to :func: etc. cross-reference text.
114
+# add_function_parentheses = True
115
+
116
+# If true, the current module name will be prepended to all description
117
+# unit titles (such as .. function::).
118
+# add_module_names = True
119
+
120
+# If true, sectionauthor and moduleauthor directives will be shown in the
121
+# output. They are ignored by default.
122
+# show_authors = False
123
+
124
+# The name of the Pygments (syntax highlighting) style to use.
125
+pygments_style = 'sphinx'
126
+
127
+# A list of ignored prefixes for module index sorting.
128
+# modindex_common_prefix = []
129
+
130
+# If true, keep warnings as "system message" paragraphs in the built documents.
131
+# keep_warnings = False
132
+
133
+# If true, `todo` and `todoList` produce output, else they produce nothing.
134
+todo_include_todos = False
135
+
136
+
137
+# -- Options for HTML output ----------------------------------------------
138
+
139
+# The theme to use for HTML and HTML Help pages.  See the documentation for
140
+# a list of builtin themes.
141
+html_theme = 'openstackdocs'
142
+
143
+# Theme options are theme-specific and customize the look and feel of a theme
144
+# further.  For a list of options available for each theme, see the
145
+# documentation.
146
+# html_theme_options = {}
147
+
148
+# Add any paths that contain custom themes here, relative to this directory.
149
+# html_theme_path = []
150
+
151
+# The name for this set of Sphinx documents.  If None, it defaults to
152
+# "<project> v<release> documentation".
153
+# html_title = None
154
+
155
+# A shorter title for the navigation bar.  Default is the same as html_title.
156
+# html_short_title = None
157
+
158
+# The name of an image file (relative to this directory) to place at the top
159
+# of the sidebar.
160
+# html_logo = None
161
+
162
+# The name of an image file (within the static path) to use as favicon of the
163
+# docs.  This file should be a Windows icon file (.ico) being 16x16 or 32x32
164
+# pixels large.
165
+# html_favicon = None
166
+
167
+# Add any paths that contain custom static files (such as style sheets) here,
168
+# relative to this directory. They are copied after the builtin static files,
169
+# so a file named "default.css" will overwrite the builtin "default.css".
170
+html_static_path = ['_static']
171
+
172
+# Add any extra paths that contain custom files (such as robots.txt or
173
+# .htaccess) here, relative to this directory. These files are copied
174
+# directly to the root of the documentation.
175
+# html_extra_path = []
176
+
177
+# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
178
+# using the given strftime format.
179
+html_last_updated_fmt = '%Y-%m-%d %H:%M'
180
+
181
+# If true, SmartyPants will be used to convert quotes and dashes to
182
+# typographically correct entities.
183
+# html_use_smartypants = True
184
+
185
+# Custom sidebar templates, maps document names to template names.
186
+# html_sidebars = {}
187
+
188
+# Additional templates that should be rendered to pages, maps page names to
189
+# template names.
190
+# html_additional_pages = {}
191
+
192
+# If false, no module index is generated.
193
+# html_domain_indices = True
194
+
195
+# If false, no index is generated.
196
+# html_use_index = True
197
+
198
+# If true, the index is split into individual pages for each letter.
199
+# html_split_index = False
200
+
201
+# If true, links to the reST sources are added to the pages.
202
+# html_show_sourcelink = True
203
+
204
+# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
205
+# html_show_sphinx = True
206
+
207
+# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
208
+# html_show_copyright = True
209
+
210
+# If true, an OpenSearch description file will be output, and all pages will
211
+# contain a <link> tag referring to it.  The value of this option must be the
212
+# base URL from which the finished HTML is served.
213
+# html_use_opensearch = ''
214
+
215
+# This is the file name suffix for HTML files (e.g. ".xhtml").
216
+# html_file_suffix = None
217
+
218
+# Language to be used for generating the HTML full-text search index.
219
+# Sphinx supports the following languages:
220
+#   'da', 'de', 'en', 'es', 'fi', 'fr', 'h', 'it', 'ja'
221
+#   'nl', 'no', 'pt', 'ro', 'r', 'sv', 'tr'
222
+# html_search_language = 'en'
223
+
224
+# A dictionary with options for the search language support, empty by default.
225
+# Now only 'ja' uses this config value
226
+# html_search_options = {'type': 'default'}
227
+
228
+# The name of a javascript file (relative to the configuration directory) that
229
+# implements a search results scorer. If empty, the default will be used.
230
+# html_search_scorer = 'scorer.js'
231
+
232
+# Output file base name for HTML help builder.
233
+htmlhelp_basename = target_name + '-docs'
234
+
235
+# -- Options for LaTeX output ---------------------------------------------
236
+
237
+latex_elements = {
238
+    # The paper size ('letterpaper' or 'a4paper').
239
+    # 'papersize': 'letterpaper',
240
+
241
+    # The font size ('10pt', '11pt' or '12pt').
242
+    # 'pointsize': '10pt',
243
+
244
+    # Additional stuff for the LaTeX preamble.
245
+    # 'preamble': '',
246
+
247
+    # Latex figure (float) alignment
248
+    # 'figure_align': 'htbp',
249
+}
250
+
251
+# Grouping the document tree into LaTeX files. List of tuples
252
+# (source start file, target name, title,
253
+#  author, documentclass [howto, manual, or own class]).
254
+latex_documents = [
255
+    (master_doc, target_name + '.tex',
256
+     title, author, 'manual'),
257
+]
258
+
259
+# The name of an image file (relative to this directory) to place at the top of
260
+# the title page.
261
+# latex_logo = None
262
+
263
+# For "manual" documents, if this is true, then toplevel headings are parts,
264
+# not chapters.
265
+# latex_use_parts = False
266
+
267
+# If true, show page references after internal links.
268
+# latex_show_pagerefs = False
269
+
270
+# If true, show URL addresses after external links.
271
+# latex_show_urls = False
272
+
273
+# Documents to append as an appendix to all manuals.
274
+# latex_appendices = []
275
+
276
+# If false, no module index is generated.
277
+# latex_domain_indices = True
278
+
279
+
280
+# -- Options for manual page output ---------------------------------------
281
+
282
+# One entry per manual page. List of tuples
283
+# (source start file, name, description, authors, manual section).
284
+man_pages = [
285
+    (master_doc, target_name,
286
+     title, [author], 1)
287
+]
288
+
289
+# If true, show URL addresses after external links.
290
+# man_show_urls = False
291
+
292
+
293
+# -- Options for Texinfo output -------------------------------------------
294
+
295
+# Grouping the document tree into Texinfo files. List of tuples
296
+# (source start file, target name, title, author,
297
+#  dir menu entry, description, category)
298
+texinfo_documents = [
299
+    (master_doc, target_name,
300
+     title, author, project,
301
+     description, category),
302
+]
303
+
304
+# Documents to append as an appendix to all manuals.
305
+# texinfo_appendices = []
306
+
307
+# If false, no module index is generated.
308
+# texinfo_domain_indices = True
309
+
310
+# How to display URL addresses: 'footnote', 'no', or 'inline'.
311
+# texinfo_show_urls = 'footnote'
312
+
313
+# If true, do not generate a @detailmenu in the "Top" node's menu.
314
+# texinfo_no_detailmenu = False
315
+
316
+
317
+watermark = os.popen("git branch --contains $(git rev-parse HEAD)\
318
+| awk -F/ '/stable/ {print $2}'").read().strip(' \n\t').capitalize()
319
+if watermark == "":
320
+    watermark = "Pre-release"
321
+
322
+# -- Options for sphinxmark -----------------------------------------------
323
+sphinxmark_enable = True
324
+sphinxmark_div = 'docs-body'
325
+sphinxmark_image = 'text'
326
+sphinxmark_text = watermark
327
+sphinxmark_text_color = (128, 128, 128)
328
+sphinxmark_text_size = 70

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

@@ -0,0 +1,26 @@
1
+================================
2
+OpenStack-Ansible placement role
3
+================================
4
+
5
+.. toctree::
6
+   :maxdepth: 2
7
+
8
+
9
+
10
+Default variables
11
+~~~~~~~~~~~~~~~~~
12
+
13
+.. literalinclude:: ../../defaults/main.yml
14
+   :language: yaml
15
+   :start-after: under the License.
16
+
17
+Dependencies
18
+~~~~~~~~~~~~
19
+
20
+
21
+Example playbook
22
+~~~~~~~~~~~~~~~~
23
+
24
+.. literalinclude:: ../../examples/playbook.yml
25
+   :language: yaml
26
+

+ 0
- 0
examples/playbook.yml View File


+ 41
- 0
meta/main.yml View File

@@ -0,0 +1,41 @@
1
+---
2
+# Copyright 2018, Vexxhost, Inc.
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 implied.
13
+# See the License for the specific language governing permissions and
14
+# limitations under the License.
15
+
16
+galaxy_info:
17
+  author: vexxhost
18
+  description: Installation and setup of placement
19
+  company: Vexxhost
20
+  license: Apache2
21
+  min_ansible_version: 2.4
22
+  platforms:
23
+    - name: Ubuntu
24
+      versions:
25
+        - bionic
26
+    - name: EL
27
+      versions:
28
+        - 7
29
+    - name: opensuse
30
+      versions:
31
+        - all
32
+  categories:
33
+    - cloud
34
+    - python
35
+    - placement
36
+    - development
37
+    - openstack
38
+dependencies:
39
+  - role: apt_package_pinning
40
+    when:
41
+      - ansible_pkg_mgr == 'apt'

+ 20
- 0
meta/openstack-ansible.yml View File

@@ -0,0 +1,20 @@
1
+---
2
+# Copyright 2018, Vexxhost, Inc.
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 implied.
13
+# See the License for the specific language governing permissions and
14
+# limitations under the License.
15
+#
16
+# (c) 2017, Jean-Philippe Evrard <jean-philippe.evrard@rackspace.co.uk>
17
+
18
+maturity_info:
19
+  status: incubated
20
+  created_during: stein

+ 0
- 0
releasenotes/source/_static/.placeholder View File


+ 0
- 0
releasenotes/source/_templates/.placeholder View File


+ 285
- 0
releasenotes/source/conf.py View File

@@ -0,0 +1,285 @@
1
+#!/usr/bin/env python3
2
+
3
+# Licensed under the Apache License, Version 2.0 (the "License");
4
+# you may not use this file except in compliance with the License.
5
+# You may obtain a copy of the License at
6
+#
7
+#    http://www.apache.org/licenses/LICENSE-2.0
8
+#
9
+# Unless required by applicable law or agreed to in writing, software
10
+# distributed under the License is distributed on an "AS IS" BASIS,
11
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
12
+# implied.
13
+# See the License for the specific language governing permissions and
14
+# limitations under the License.
15
+
16
+# This file is execfile()d with the current directory set to its
17
+# containing dir.
18
+#
19
+# Note that not all possible configuration values are present in this
20
+# autogenerated file.
21
+#
22
+# All configuration values have a default; values that are commented out
23
+# serve to show the default.
24
+
25
+# If extensions (or modules to document with autodoc) are in another directory,
26
+# add these directories to sys.path here. If the directory is relative to the
27
+# documentation root, use os.path.abspath to make it absolute, like shown here.
28
+# sys.path.insert(0, os.path.abspath('.'))
29
+
30
+# -- General configuration ------------------------------------------------
31
+
32
+# If your documentation needs a minimal Sphinx version, state it here.
33
+# needs_sphinx = '1.0'
34
+
35
+# Add any Sphinx extension module names here, as strings. They can be
36
+# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
37
+# ones.
38
+extensions = [
39
+    'openstackdocstheme',
40
+    'reno.sphinxext',
41
+]
42
+
43
+# Add any paths that contain templates here, relative to this directory.
44
+templates_path = ['_templates']
45
+
46
+# The suffix of source filenames.
47
+source_suffix = '.rst'
48
+
49
+# The encoding of source files.
50
+# source_encoding = 'utf-8-sig'
51
+
52
+# The master toctree document.
53
+master_doc = 'index'
54
+
55
+# General information about the project.
56
+author = 'OpenStack-Ansible Contributors'
57
+category = 'Miscellaneous'
58
+copyright = '2014-2016, OpenStack-Ansible Contributors'
59
+description = 'OpenStack-Ansible deploys OpenStack environments using Ansible.'
60
+project = 'OpenStack-Ansible'
61
+role_name = 'os_placement'
62
+target_name = 'openstack-ansible-' + role_name
63
+title = 'OpenStack-Ansible Release Notes: ' + role_name + 'role'
64
+
65
+# The link to the browsable source code (for the left hand menu)
66
+oslosphinx_cgit_link = (
67
+    'https://git.openstack.org/cgit/openstack/{}'.format(target_name)
68
+)
69
+
70
+# Release notes do not need a version number in the title, they
71
+# cover multiple releases.
72
+# The full version, including alpha/beta/rc tags.
73
+release = ''
74
+# The short X.Y version.
75
+version = ''
76
+
77
+# openstackdocstheme options
78
+repository_name = 'openstack/' + target_name
79
+bug_project = project.lower()
80
+bug_tag = ''
81
+
82
+# The language for content autogenerated by Sphinx. Refer to documentation
83
+# for a list of supported languages.
84
+# language = None
85
+
86
+# There are two options for replacing |today|: either, you set today to some
87
+# non-false value, then it is used:
88
+# today = ''
89
+# Else, today_fmt is used as the format for a strftime call.
90
+# today_fmt = '%B %d, %Y'
91
+
92
+# List of patterns, relative to source directory, that match files and
93
+# directories to ignore when looking for source files.
94
+exclude_patterns = []
95
+
96
+# The reST default role (used for this markup: `text`) to use for all
97
+# documents.
98
+# default_role = None
99
+
100
+# If true, '()' will be appended to :func: etc. cross-reference text.
101
+# add_function_parentheses = True
102
+
103
+# If true, the current module name will be prepended to all description
104
+# unit titles (such as .. function::).
105
+# add_module_names = True
106
+
107
+# If true, sectionauthor and moduleauthor directives will be shown in the
108
+# output. They are ignored by default.
109
+# show_authors = False
110
+
111
+# The name of the Pygments (syntax highlighting) style to use.
112
+pygments_style = 'sphinx'
113
+
114
+# A list of ignored prefixes for module index sorting.
115
+# modindex_common_prefix = []
116
+
117
+# If true, keep warnings as "system message" paragraphs in the built documents.
118
+# keep_warnings = False
119
+
120
+
121
+# -- Options for HTML output ----------------------------------------------
122
+
123
+# The theme to use for HTML and HTML Help pages.  See the documentation for
124
+# a list of builtin themes.
125
+html_theme = 'openstackdocs'
126
+
127
+# Theme options are theme-specific and customize the look and feel of a theme
128
+# further.  For a list of options available for each theme, see the
129
+# documentation.
130
+# html_theme_options = {}
131
+
132
+# Add any paths that contain custom themes here, relative to this directory.
133
+# html_theme_path = []
134
+
135
+# The name for this set of Sphinx documents.  If None, it defaults to
136
+# "<project> v<release> documentation".
137
+# html_title = None
138
+
139
+# A shorter title for the navigation bar.  Default is the same as html_title.
140
+# html_short_title = None
141
+
142
+# The name of an image file (relative to this directory) to place at the top
143
+# of the sidebar.
144
+# html_logo = None
145
+
146
+# The name of an image file (within the static path) to use as favicon of the
147
+# docs.  This file should be a Windows icon file (.ico) being 16x16 or 32x32
148
+# pixels large.
149
+# html_favicon = None
150
+
151
+# Add any paths that contain custom static files (such as style sheets) here,
152
+# relative to this directory. They are copied after the builtin static files,
153
+# so a file named "default.css" will overwrite the builtin "default.css".
154
+html_static_path = ['_static']
155
+
156
+# Add any extra paths that contain custom files (such as robots.txt or
157
+# .htaccess) here, relative to this directory. These files are copied
158
+# directly to the root of the documentation.
159
+# html_extra_path = []
160
+
161
+# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
162
+# using the given strftime format.
163
+html_last_updated_fmt = '%Y-%m-%d %H:%M'
164
+
165
+# If true, SmartyPants will be used to convert quotes and dashes to
166
+# typographically correct entities.
167
+# html_use_smartypants = True
168
+
169
+# Custom sidebar templates, maps document names to template names.
170
+# html_sidebars = {}
171
+
172
+# Additional templates that should be rendered to pages, maps page names to
173
+# template names.
174
+# html_additional_pages = {}
175
+
176
+# If false, no module index is generated.
177
+# html_domain_indices = True
178
+
179
+# If false, no index is generated.
180
+# html_use_index = True
181
+
182
+# If true, the index is split into individual pages for each letter.
183
+# html_split_index = False
184
+
185
+# If true, links to the reST sources are added to the pages.
186
+# html_show_sourcelink = True
187
+
188
+# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
189
+# html_show_sphinx = True
190
+
191
+# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
192
+# html_show_copyright = True
193
+
194
+# If true, an OpenSearch description file will be output, and all pages will
195
+# contain a <link> tag referring to it.  The value of this option must be the
196
+# base URL from which the finished HTML is served.
197
+# html_use_opensearch = ''
198
+
199
+# This is the file name suffix for HTML files (e.g. ".xhtml").
200
+# html_file_suffix = None
201
+
202
+# Output file base name for HTML help builder.
203
+htmlhelp_basename = target_name + '-docs'
204
+
205
+
206
+# -- Options for LaTeX output ---------------------------------------------
207
+
208
+latex_elements = {
209
+    # The paper size ('letterpaper' or 'a4paper').
210
+    # 'papersize': 'letterpaper',
211
+
212
+    # The font size ('10pt', '11pt' or '12pt').
213
+    # 'pointsize': '10pt',
214
+
215
+    # Additional stuff for the LaTeX preamble.
216
+    # 'preamble': '',
217
+}
218
+
219
+# Grouping the document tree into LaTeX files. List of tuples
220
+# (source start file, target name, title,
221
+#  author, documentclass [howto, manual, or own class]).
222
+latex_documents = [
223
+    (master_doc, target_name + '.tex',
224
+     title, author, 'manual'),
225
+]
226
+
227
+# The name of an image file (relative to this directory) to place at the top of
228
+# the title page.
229
+# latex_logo = None
230
+
231
+# For "manual" documents, if this is true, then toplevel headings are parts,
232
+# not chapters.
233
+# latex_use_parts = False
234
+
235
+# If true, show page references after internal links.
236
+# latex_show_pagerefs = False
237
+
238
+# If true, show URL addresses after external links.
239
+# latex_show_urls = False
240
+
241
+# Documents to append as an appendix to all manuals.
242
+# latex_appendices = []
243
+
244
+# If false, no module index is generated.
245
+# latex_domain_indices = True
246
+
247
+
248
+# -- Options for manual page output ---------------------------------------
249
+
250
+# One entry per manual page. List of tuples
251
+# (source start file, name, description, authors, manual section).
252
+man_pages = [
253
+    (master_doc, target_name,
254
+     title, [author], 1)
255
+]
256
+
257
+# If true, show URL addresses after external links.
258
+# man_show_urls = False
259
+
260
+
261
+# -- Options for Texinfo output -------------------------------------------
262
+
263
+# Grouping the document tree into Texinfo files. List of tuples
264
+# (source start file, target name, title, author,
265
+#  dir menu entry, description, category)
266
+texinfo_documents = [
267
+    (master_doc, target_name,
268
+     title, author, project,
269
+     description, category),
270
+]
271
+
272
+# Documents to append as an appendix to all manuals.
273
+# texinfo_appendices = []
274
+
275
+# If false, no module index is generated.
276
+# texinfo_domain_indices = True
277
+
278
+# How to display URL addresses: 'footnote', 'no', or 'inline'.
279
+# texinfo_show_urls = 'footnote'
280
+
281
+# If true, do not generate a @detailmenu in the "Top" node's menu.
282
+# texinfo_no_detailmenu = False
283
+
284
+# -- Options for Internationalization output ------------------------------
285
+locale_dirs = ['locale/']

+ 8
- 0
releasenotes/source/index.rst View File

@@ -0,0 +1,8 @@
1
+================================
2
+ OpenStack-Ansible Release Notes
3
+================================
4
+
5
+.. toctree::
6
+   :maxdepth: 1
7
+
8
+   unreleased

+ 5
- 0
releasenotes/source/unreleased.rst View File

@@ -0,0 +1,5 @@
1
+=============================
2
+ Current Series Release Notes
3
+=============================
4
+
5
+.. release-notes::

+ 24
- 0
setup.cfg View File

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

+ 29
- 0
setup.py View File

@@ -0,0 +1,29 @@
1
+# Copyright (c) 2013 Hewlett-Packard Development Company, L.P.
2
+#
3
+# Licensed under the Apache License, Version 2.0 (the "License");
4
+# you may not use this file except in compliance with the License.
5
+# You may obtain a copy of the License at
6
+#
7
+#    http://www.apache.org/licenses/LICENSE-2.0
8
+#
9
+# Unless required by applicable law or agreed to in writing, software
10
+# distributed under the License is distributed on an "AS IS" BASIS,
11
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
12
+# implied.
13
+# See the License for the specific language governing permissions and
14
+# limitations under the License.
15
+
16
+# THIS FILE IS MANAGED BY THE GLOBAL REQUIREMENTS REPO - DO NOT EDIT
17
+import setuptools
18
+
19
+# In python < 2.7.4, a lazy loading of package `pbr` will break
20
+# setuptools if some other modules registered functions in `atexit`.
21
+# solution from: http://bugs.python.org/issue15881#msg170215
22
+try:
23
+    import multiprocessing  # noqa
24
+except ImportError:
25
+    pass
26
+
27
+setuptools.setup(
28
+    setup_requires=['pbr>=2.0.0'],
29
+    pbr=True)

+ 97
- 0
tox.ini View File

@@ -0,0 +1,97 @@
1
+[tox]
2
+minversion = 2.0
3
+skipsdist = True
4
+envlist = docs,linters,functional
5
+
6
+
7
+[testenv]
8
+usedevelop = True
9
+install_command =
10
+    pip install -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} {opts} {packages}
11
+commands =
12
+    /usr/bin/find . -type f -name "*.pyc" -delete
13
+passenv =
14
+    COMMON_TESTS_PATH
15
+    HOME
16
+    http_proxy
17
+    HTTP_PROXY
18
+    https_proxy
19
+    HTTPS_PROXY
20
+    no_proxy
21
+    NO_PROXY
22
+    TESTING_BRANCH
23
+    TESTING_HOME
24
+    USER
25
+whitelist_externals =
26
+    bash
27
+setenv =
28
+    PYTHONUNBUFFERED=1
29
+    ROLE_NAME=os_placement
30
+    TEST_IDEMPOTENCE=false
31
+    VIRTUAL_ENV={envdir}
32
+    WORKING_DIR={toxinidir}
33
+
34
+
35
+[testenv:docs]
36
+basepython = python3
37
+deps = -r{toxinidir}/doc/requirements.txt
38
+commands=
39
+    bash -c "rm -rf doc/build"
40
+    doc8 doc
41
+    sphinx-build -b html doc/source doc/build/html
42
+
43
+
44
+[doc8]
45
+# Settings for doc8:
46
+extensions = .rst
47
+
48
+
49
+[testenv:releasenotes]
50
+basepython = python3
51
+deps = -r{toxinidir}/doc/requirements.txt
52
+commands =
53
+    sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
54
+
55
+
56
+# environment used by the -infra templated docs job
57
+[testenv:venv]
58
+basepython = python3
59
+commands =
60
+    {posargs}
61
+
62
+
63
+[testenv:pep8]
64
+basepython = python3
65
+commands =
66
+    bash -c "{toxinidir}/tests/common/test-pep8.sh"
67
+
68
+
69
+[flake8]
70
+# Ignores the following rules due to how ansible modules work in general
71
+#     F403 'from ansible.module_utils.basic import *' used;
72
+#          unable to detect undefined names
73
+ignore=F403
74
+
75
+
76
+[testenv:bashate]
77
+commands =
78
+    bash -c "{toxinidir}/tests/common/test-bashate.sh"
79
+
80
+
81
+[testenv:ansible-syntax]
82
+commands =
83
+    bash -c "{toxinidir}/tests/common/test-ansible-syntax.sh"
84
+
85
+
86
+[testenv:ansible-lint]
87
+commands =
88
+    bash -c "{toxinidir}/tests/common/test-ansible-lint.sh"
89
+
90
+[testenv:linters]
91
+basepython = python3
92
+commands =
93
+    bash -c "{toxinidir}/tests/common/test-ansible-env-prep.sh"
94
+    {[testenv:pep8]commands}
95
+    {[testenv:bashate]commands}
96
+    {[testenv:ansible-lint]commands}
97
+    {[testenv:ansible-syntax]commands}

+ 19
- 0
zuul.d/project.yaml View File

@@ -0,0 +1,19 @@
1
+# Copyright 2017, Rackspace US, Inc.
2
+#
3
+# Licensed under the Apache License, Version 2.0 (the "License");
4
+# you may not use this file except in compliance with the License.
5
+# You may obtain a copy of the License at
6
+#
7
+#     http://www.apache.org/licenses/LICENSE-2.0
8
+#
9
+# Unless required by applicable law or agreed to in writing, software
10
+# distributed under the License is distributed on an "AS IS" BASIS,
11
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+# See the License for the specific language governing permissions and
13
+# limitations under the License.
14
+
15
+- project:
16
+    templates:
17
+      - check-requirements
18
+      - publish-openstack-docs-pti
19
+      - release-notes-jobs-python3

Loading…
Cancel
Save