Cleaned up all specs
Change to make the current specs pass the tox check as well as moved some items around for better organization. All trailing whitespace was removed. Change-Id: I51005d6e55172baf0afb939624dde57312e678ed
This commit is contained in:
parent
41fc1684ea
commit
a81e567620
|
@ -1,5 +1,5 @@
|
||||||
Add PLUMgrid plugin to neutron playbooks
|
Add PLUMgrid plugin to neutron playbooks
|
||||||
################################################################
|
########################################
|
||||||
:date: 2015-06-2 14:30
|
:date: 2015-06-2 14:30
|
||||||
:tags: neutron, plugins, networking
|
:tags: neutron, plugins, networking
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@ OpenStack Neutron Plugin through the os-ansible neutron playbooks.
|
||||||
* https://blueprints.launchpad.net/openstack-ansible/+spec/add-plumgrid-neutron-plugin
|
* https://blueprints.launchpad.net/openstack-ansible/+spec/add-plumgrid-neutron-plugin
|
||||||
|
|
||||||
Problem Description
|
Problem Description
|
||||||
====================
|
===================
|
||||||
|
|
||||||
PLUMgrid is a core neutron networking plugin that has been a part of OpenStack
|
PLUMgrid is a core neutron networking plugin that has been a part of OpenStack
|
||||||
neutron since Grizzly. It offers a Network Virtualization Platform that uses
|
neutron since Grizzly. It offers a Network Virtualization Platform that uses
|
||||||
|
@ -31,14 +31,14 @@ APIs supported by the PLUMgrid plugin:
|
||||||
- Provider Networks
|
- Provider Networks
|
||||||
|
|
||||||
Proposed Change
|
Proposed Change
|
||||||
====================
|
===============
|
||||||
|
|
||||||
This change is proposed to add the PLUMgrid plugin as a core plugin option
|
This change is proposed to add the PLUMgrid plugin as a core plugin option
|
||||||
alongside ml2, which will be the default. This configurability should already
|
alongside ml2, which will be the default. This configurability should already
|
||||||
be achieved by the BP: modularize-neutron-plays.
|
be achieved by the BP: modularize-neutron-plays.
|
||||||
|
|
||||||
The rest of the installation for PLUMgrid that requires PLUMgrid Controller and
|
The rest of the installation for PLUMgrid that requires PLUMgrid Controller
|
||||||
Compute components, that enable management of the plugin, will be added
|
and Compute components, that enable management of the plugin, will be added
|
||||||
externally through Ansible Galaxy roles.
|
externally through Ansible Galaxy roles.
|
||||||
|
|
||||||
The changes described below assume the previously mentioned BP modularization
|
The changes described below assume the previously mentioned BP modularization
|
||||||
|
@ -47,10 +47,11 @@ changes in place.
|
||||||
This feature is proposed for both kilo and juno branches, the juno change
|
This feature is proposed for both kilo and juno branches, the juno change
|
||||||
will be carried out first:
|
will be carried out first:
|
||||||
|
|
||||||
1. For juno, parameters relevant to the PLUMgrid plugin, namely the plumgrid core
|
1. For juno, parameters relevant to the PLUMgrid plugin, namely the plumgrid
|
||||||
plugin and plugin config file, plumgrid.ini will be added to a new
|
core plugin and plugin config file, plumgrid.ini will be added to a new
|
||||||
dictionary item in 'neutron_plugins' in inventory/group_vars/neutron_all.yml
|
dictionary item in 'neutron_plugins' in
|
||||||
This will allow setting the 'neutron_plugin_type = plumgrid' if desired.
|
inventory/group_vars/neutron_all.yml This will allow setting the
|
||||||
|
'neutron_plugin_type = plumgrid' if desired.
|
||||||
|
|
||||||
2. For kilo, parameters relevant to the PLUMgrid plugin will be added to a
|
2. For kilo, parameters relevant to the PLUMgrid plugin will be added to a
|
||||||
new dictionary item in 'neutron_plugins' in
|
new dictionary item in 'neutron_plugins' in
|
||||||
|
@ -80,6 +81,10 @@ New templates will be added in the os_neutron role:
|
||||||
- playbooks/roles/os_neutron/templates/plugins/plumgrid/plumlib.ini
|
- playbooks/roles/os_neutron/templates/plugins/plumgrid/plumlib.ini
|
||||||
- playbooks/roles/os_neutron/files/rootwrap.d/plumlib.filters
|
- playbooks/roles/os_neutron/files/rootwrap.d/plumlib.filters
|
||||||
|
|
||||||
|
Upgrade impact
|
||||||
|
--------------
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
Alternatives
|
Alternatives
|
||||||
------------
|
------------
|
||||||
|
@ -120,6 +125,12 @@ Developer Impact
|
||||||
This change adds further installable options and as such does not
|
This change adds further installable options and as such does not
|
||||||
effect the default flow of the playbooks.
|
effect the default flow of the playbooks.
|
||||||
|
|
||||||
|
|
||||||
|
Dependencies
|
||||||
|
------------
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
Implementation
|
Implementation
|
||||||
==============
|
==============
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
Build Facts Archive
|
Build Facts Archive
|
||||||
########################
|
###################
|
||||||
:date: 2015-04-23
|
:date: 2015-04-23
|
||||||
:tags: archive, deployment, information
|
:tags: archive, deployment, information
|
||||||
|
|
||||||
|
|
|
@ -30,11 +30,11 @@ each file for differences and making informed decisions about what values to
|
||||||
take to ensure we have a production grade deployment system.
|
take to ensure we have a production grade deployment system.
|
||||||
|
|
||||||
The approach to dealing with differences (eg changed defaults for a particular
|
The approach to dealing with differences (eg changed defaults for a particular
|
||||||
setting) will be to use the kilo value where possible, adding an option to make
|
setting) will be to use the kilo value where possible, adding an option to
|
||||||
any changed setting tunable if it was not already. This gives the option to
|
make any changed setting tunable if it was not already. This gives the option
|
||||||
users who are upgrading from juno to be able to reset a value back to the juno
|
to users who are upgrading from juno to be able to reset a value back to the
|
||||||
default if desired, but also means that greenfield deployments of kilo use the
|
juno default if desired, but also means that greenfield deployments of kilo use
|
||||||
(hopefully better) kilo value.
|
the (hopefully better) kilo value.
|
||||||
|
|
||||||
Examples of configs impacted (these will differ depending on the service being
|
Examples of configs impacted (these will differ depending on the service being
|
||||||
worked on)::
|
worked on)::
|
||||||
|
@ -49,9 +49,9 @@ worked on)::
|
||||||
Alternatives
|
Alternatives
|
||||||
------------
|
------------
|
||||||
|
|
||||||
We could, wherever needed, preserve juno settings rather than taking forward the
|
We could, wherever needed, preserve juno settings rather than taking forward
|
||||||
kilo settings. This is potentially easier on users in an upgrade scenario, but
|
the kilo settings. This is potentially easier on users in an upgrade scenario,
|
||||||
does mean that new users deploying kilo would get an already out of date
|
but does mean that new users deploying kilo would get an already out of date
|
||||||
deployment. It also means that we miss an opportunity to implement best
|
deployment. It also means that we miss an opportunity to implement best
|
||||||
practices deployments, instead sticking on old, less relevant, values.
|
practices deployments, instead sticking on old, less relevant, values.
|
||||||
|
|
||||||
|
@ -67,8 +67,8 @@ Upgrade impact
|
||||||
--------------
|
--------------
|
||||||
|
|
||||||
This change will impact upgrades, but upgrades are out of scope for this spec
|
This change will impact upgrades, but upgrades are out of scope for this spec
|
||||||
which will be addressed separately. Largely it addresses greenfield deployments
|
which will be addressed separately. Largely it addresses greenfield
|
||||||
of kilo.
|
deployments of kilo.
|
||||||
|
|
||||||
|
|
||||||
Security impact
|
Security impact
|
||||||
|
@ -84,8 +84,9 @@ Performance impact
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
Because the Kilo code base is not tested and released, the performance of the
|
Because the Kilo code base is not tested and released, the performance of the
|
||||||
stack will not be in scope at this time. As future work develops to finalize the
|
stack will not be in scope at this time. As future work develops to finalize
|
||||||
roles used in Kilo, work will be done on a per role basis to ensure performance.
|
the roles used in Kilo, work will be done on a per role basis to ensure
|
||||||
|
performance.
|
||||||
|
|
||||||
|
|
||||||
End user impact
|
End user impact
|
||||||
|
@ -140,8 +141,8 @@ systems.
|
||||||
Documentation impact
|
Documentation impact
|
||||||
====================
|
====================
|
||||||
|
|
||||||
This change will likely have documentation impact. Specifically when documenting
|
This change will likely have documentation impact. Specifically when
|
||||||
changed values or deprecated config items.
|
documenting changed values or deprecated config items.
|
||||||
|
|
||||||
|
|
||||||
References
|
References
|
||||||
|
|
|
@ -45,6 +45,11 @@ Playbook Impact
|
||||||
- playbooks/roles/os_neutron/tasks/neutron_post_install.yml
|
- playbooks/roles/os_neutron/tasks/neutron_post_install.yml
|
||||||
- playbooks/roles/os_neutron/defaults/main.yml
|
- playbooks/roles/os_neutron/defaults/main.yml
|
||||||
|
|
||||||
|
Upgrade Impact
|
||||||
|
--------------
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
Alternatives
|
Alternatives
|
||||||
------------
|
------------
|
||||||
|
|
||||||
|
@ -123,7 +128,7 @@ A bit of additional documentation describing how to insert new plugins/agents
|
||||||
will be required. This will be deployer documentation.
|
will be required. This will be deployer documentation.
|
||||||
|
|
||||||
References
|
References
|
||||||
====================
|
==========
|
||||||
|
|
||||||
N/A
|
N/A
|
||||||
|
|
||||||
|
|
|
@ -24,9 +24,10 @@ class TestTitles(testtools.TestCase):
|
||||||
}
|
}
|
||||||
for node in section_tree:
|
for node in section_tree:
|
||||||
if node.tagname == 'title':
|
if node.tagname == 'title':
|
||||||
section['name'] = node.rawsource
|
section['name'] = node.rawsource.lower()
|
||||||
elif node.tagname == 'section':
|
elif node.tagname == 'section':
|
||||||
subsection = self._get_title(node)
|
subsection = self._get_title(node)
|
||||||
|
subsection['name'] = subsection['name'].lower()
|
||||||
section['subtitles'].append(subsection['name'])
|
section['subtitles'].append(subsection['name'])
|
||||||
return section
|
return section
|
||||||
|
|
||||||
|
@ -40,12 +41,12 @@ class TestTitles(testtools.TestCase):
|
||||||
|
|
||||||
def _check_titles(self, fname, titles):
|
def _check_titles(self, fname, titles):
|
||||||
expected_titles = [
|
expected_titles = [
|
||||||
'Problem description',
|
'problem description',
|
||||||
'Proposed change',
|
'proposed change',
|
||||||
'Implementation',
|
'implementation',
|
||||||
'Testing',
|
'testing',
|
||||||
'Documentation impact',
|
'documentation impact',
|
||||||
'References'
|
'references'
|
||||||
]
|
]
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
sorted(expected_titles),
|
sorted(expected_titles),
|
||||||
|
@ -53,28 +54,30 @@ class TestTitles(testtools.TestCase):
|
||||||
"Expected titles not found in document %s" % fname
|
"Expected titles not found in document %s" % fname
|
||||||
)
|
)
|
||||||
|
|
||||||
proposed = 'Proposed change'
|
try:
|
||||||
self.assertIn('Alternatives', titles[proposed])
|
proposed = 'proposed change'
|
||||||
self.assertIn('Dependencies', titles[proposed])
|
self.assertIn('alternatives', titles[proposed])
|
||||||
self.assertIn('Deployer impact', titles[proposed])
|
self.assertIn('dependencies', titles[proposed])
|
||||||
self.assertIn('Developer impact', titles[proposed])
|
self.assertIn('deployer impact', titles[proposed])
|
||||||
self.assertIn('End user impact', titles[proposed])
|
self.assertIn('developer impact', titles[proposed])
|
||||||
self.assertIn('Performance impact', titles[proposed])
|
self.assertIn('end user impact', titles[proposed])
|
||||||
self.assertIn('Playbook impact', titles[proposed])
|
self.assertIn('performance impact', titles[proposed])
|
||||||
self.assertIn('Security impact', titles[proposed])
|
self.assertIn('playbook impact', titles[proposed])
|
||||||
self.assertIn('Upgrade impact', titles[proposed])
|
self.assertIn('security impact', titles[proposed])
|
||||||
|
self.assertIn('upgrade impact', titles[proposed])
|
||||||
impl = 'Implementation'
|
|
||||||
self.assertIn('Assignee(s)', titles[impl])
|
|
||||||
self.assertIn('Work items', titles[impl])
|
|
||||||
|
|
||||||
|
impl = 'implementation'
|
||||||
|
self.assertIn('assignee(s)', titles[impl])
|
||||||
|
self.assertIn('work items', titles[impl])
|
||||||
|
except Exception as exp:
|
||||||
|
raise SystemExit('Failed on file %s - Error %s' % (fname, exp))
|
||||||
def _check_lines_wrapping(self, tpl, raw):
|
def _check_lines_wrapping(self, tpl, raw):
|
||||||
for i, line in enumerate(raw.split("\n")):
|
for i, line in enumerate(raw.split("\n")):
|
||||||
if "http://" in line or "https://" in line:
|
if "http://" in line or "https://" in line:
|
||||||
continue
|
continue
|
||||||
self.assertTrue(
|
self.assertTrue(
|
||||||
len(line) < 80,
|
len(line) <= 120,
|
||||||
msg="%s:%d: Line limited to a maximum of 79 characters." %
|
msg="%s:%d: Line limited to a maximum of 120 characters." %
|
||||||
(tpl, i+1)
|
(tpl, i+1)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -99,7 +102,6 @@ class TestTitles(testtools.TestCase):
|
||||||
data = f.read()
|
data = f.read()
|
||||||
|
|
||||||
spec = docutils.core.publish_doctree(data)
|
spec = docutils.core.publish_doctree(data)
|
||||||
titles = self._get_titles(spec)
|
self._check_titles(filename, self._get_titles(spec))
|
||||||
self._check_titles(filename, titles)
|
|
||||||
self._check_lines_wrapping(filename, data)
|
self._check_lines_wrapping(filename, data)
|
||||||
self._check_no_cr(filename, data)
|
self._check_no_cr(filename, data)
|
||||||
|
|
Loading…
Reference in New Issue