Compare commits

...

2203 Commits

Author SHA1 Message Date
Ian Wienand a0fab742f1 Mark our source trees as safe for git to use as other users
git commit [1] introduced a new behaviour to work around a CVE that
disallows any git operations in directories not owned by the current
user.

This may seem unrelated to installation, but it plays havoc with PBR,
which calls out to git to get to get revision history.  So if you are
"pip install"-ing from a source tree you don't own, the PBR git calls
in that tree now fail and the install blows up.

This plays havoc with our model.  Firstly, we checkout all code as
"stack" then install it globally with "sudo" (i.e. root) -- which
breaks.  We also have cases of essentially the opposite -- checkouts
we have installed as root, but then run tox in them as a regular user;
tox wants to install the source in its venv but now we have another
user conflict.

This uses the only available configuration option to avoid that by
globally setting the source directories we clone as safe.  This is an
encroachment of the global system for sure, but is about the only
switch available at the moment.  For discussion of other approaches,
see [2].

Also, squashing the below backport which is needed for bionic
- https://review.opendev.org/q/I941ef5ea90970a0901236afe81c551aaf24ac1d8

Related-Bug: https://bugs.launchpad.net/devstack/+bug/1968798

[1] https://github.com/git/git/commit/8959555cee7ec045958f9b6dd62e541affb7e7d9
[2] https://review.opendev.org/c/openstack/devstack/+/837636

Change-Id: Ib9896a99b6d6c4d359ee412743ce30512b3c4fb7
(cherry picked from commit 676dcaf944)
(cherry picked from commit a9852abfc5)
(cherry picked from commit 16c57c51a0)
(cherry picked from commit c67e7d3bbd)
(cherry picked from commit 7f1025e932)
(cherry picked from commit 4da98ee6d4)
2022-04-20 12:17:44 +02:00
Zuul e116f365f6 Merge "Allow public router external net to use a non-flat provider network." into stable/pike 2022-01-18 18:43:07 +00:00
Elod Illes bf1000397d [stable-only] Use pike-eol for horizon
Horizon's stable/pike transitioned to End of Life and its stable/pike
branch was deleted. This fix uses the pike-eol tag to be able to check
out horizon's latest state from pike.

Change-Id: I4b78aceff43c78c80ce32f84d332b576b420c91c
2021-08-18 17:40:55 +02:00
Elod Illes 36f2b98092 [stable-only] Preinstall pbr for devstack-tools and unblock gate
This patch contains multiple fixes to unblock gate.

Due to "Deprecation of non-SNI compatible clients" [1], when
devstack-tools is installed in early phase (in neutron-grenade job for
example) and pbr is not yet installed, the pip command fails with the
following error in xenial based environments:

File "/usr/lib/python3/dist-packages/setuptools/command/easy_install.py", line 657, in easy_install
  raise DistutilsError(msg)
distutils.errors.DistutilsError: Could not find suitable distribution for Requirement.parse('pbr>=1.8')

This is because setuptools' easy_install is used, which is non-SNI
compatible in xenial base image (and python 3.5). With this patch the
issue can be avoided by preinstalling pbr just before the installation
of devstack-tools.

Patch I01408f2f2959b0788fe712ac268a526502226ee9 also needed to be
squashed into this patch, to fix the gate:

Pin nodeset as xenial for devstack unit test job

devstack-unit-tests job running on devstack stable/rocky
branch had no nodeset and use default one which is now xenial.

This commit explicitly pin the xenial nodeset on stable/rocky.
(cherry picked from commit 77561e7e17)

NOTE(elod.illes): since cinder project's stable/pike branches are in
End-of-Life state and they do not exist anymore, we have to use
pike-eol tag instead for those repositories.

NOTE(elod.illes): stable/ocata's tempest is failing so that grenade
jobs are, too. neutron-grenade jobs are set as non-voting already, so
to save resource this patch removes the non-voting jobs.

[1] https://github.com/pypa/pypi-support/issues/978

Change-Id: I0edd4734df8ac7976d3090b75ca4c033b8ff0f2c
(cherry picked from commit 052d7f2442)
(cherry picked from commit 1b9ca1751a)
2021-05-31 17:13:29 +02:00
Ghanshyam Mann 0b6d78247e Make stackviz tasks not to fail jobs
Due to issue on stckviz side, job start
failing with POST_FAILURE. If we fix the
issue still we need to wait for periodic job
periodic-package-stackviz-element to publish
the latest tarball on https://tarballs.openstack.org/stackviz/dist/.

Let's not fail the job for any issue occur during
stackviz processing.

Closes-Bug: 1863161

Change-Id: Ifee04f28ecee52e74803f1623aba5cfe5ee5ec90
(cherry picked from commit 580fec54c3)
(cherry picked from commit 800eb4dd44)
(cherry picked from commit 3b2feba2ef)
(cherry picked from commit 4f9c1e084c)
(cherry picked from commit 2873b5530d)
(cherry picked from commit a464979916)
(cherry picked from commit bfd3d9cd0d)
(cherry picked from commit 775e8f22da)
2021-04-08 20:31:41 -05:00
Dan Smith ff788ad9c7 Fix get-pip URL for py27
This has been failing to install with this message, which I think
means we need to change our URL for getting pip:

 The URL you are using to fetch this script has changed, and this one
 will no longer work. Please use get-pip.py from the following URL
 instead:
    https://bootstrap.pypa.io/pip/2.7/get-pip.py
 Sorry if this change causes any inconvenience for you!

Conflicts:
    tools/install_pip.sh

Change-Id: Id62e91b1609db4b1d2fa425010bac1ce77e9fc51
(cherry picked from commit fc7f929597)
(cherry picked from commit 1400e6f1c3)
(cherry picked from commit 63f37b56ca)
2021-03-08 11:10:00 +01:00
Akihiro Motoki 167f132dd8 Use a dedicated version of get-pip.py for python 2.7
get-pip.py dropped python 2.7 support, so we cannot use the default
get-pip.py for python 2.7 now. get-pip.py for python 2.7 is available
at https://bootstrap.pypa.io/2.7/get-pip.py.
This commit tries to use python 2.7 version of get-pip.py
for python 2.7 environment.

Change-Id: I88ba370de8887a05c473fe7c19a61a319e8812d2
(cherry picked from commit 1382e933c5)
(cherry picked from commit fa09d3ffce)
(cherry picked from commit 773efe5723)
(cherry picked from commit 5323955cc5)
(cherry picked from commit 539754735c)
2021-01-26 10:57:40 +01:00
Monty Taylor 739745418e Stop installing test-requirements with projects
This is a test of installing openstack and then seeing if it works.
OpenStack components do not need test-requirements to operate,
that's why they are test-requirements.

Additionally, as we look forward to depsolver pip, this is going
to screw us because we don't apply constraints to linters, which
are expressed in - you guessed it, test-requirements.

Change-Id: I8f24b839bf42e2fb9803dc7df3a30ae20cf264eb
(cherry picked from commit 09b5b05c47)
(cherry picked from commit d3ab04bcb1)
(cherry picked from commit 6a500ad269)
(cherry picked from commit 671fa2b94f)
(cherry picked from commit 293c97d6ca)
2020-12-10 21:49:37 +00:00
Ghanshyam Mann e963dc2fd4 Fix gate, squashing multiple fixes
This commit includes multiple fixes to
make gate happy:

1. Use packaged uwsgi on Fedora and Ubuntu
- https://review.opendev.org/#/c/735615/7

2. Move process-stackviz role from Tempest to Devstack
- https://review.opendev.org/#/c/737078/4

3. Add ensure-pip to pre.yaml
- https://review.opendev.org/#/c/738495/2

4. Use uwsgi binary from path
- https://review.opendev.org/#/c/739072/

5. Temporarily disable the grenade jobs

Conflicts:
	.zuul.yaml
	lib/neutron
	lib/neutron-legacy

Change-Id: I82f539bfa533349293dd5a8ce309c9cc0ffb0393
(cherry picked from commit 2d903568ed)
(cherry picked from commit ad6cc52c74)
2020-07-03 21:16:14 +00:00
Ghanshyam 8e8a46f0a2 Use stable constraint for Tempest pinned stable branches
Stable branches till stable/rocky is using python
version <py3.6. Tempest test those branch in venv
but Tempest tox use the master upper-constraint[1]
which block installation due to dependencies
require >=py3.6. For exmaple, oslo.concurrency 4.0.0
is not compatible for <py3.6.

As we pin Tempest for EM stable brach, we should be
able to use stable constraint for Tempest installation
as well as while running during run-tempest playbook.

tox.ini is hard coded to use master constraint[1] which force
run-tempest to recreate the tox env and use the master constraint.
Fix for that- https://review.opendev.org/#/c/705870/

Devstack can set stable u-c to use via env var so that
Tempest installation in venv will use stable
branch constraint.

[1] https://opendev.org/openstack/tempest/src/commit/bc9fe8eca801f54915ff3eafa418e6e18ac2df63/tox.ini#L14

Change-Id: I3823d9386a0d1bbe5adf3191ab4f40a89835dc18
2020-02-08 13:39:21 +00:00
Ghanshyam 79b6124264 Support TEMPEST_BRANCH with tag name
TEMPEST_BRANCH which is mostly set as master so
that Tempest master is run to test the env. With
stable branch going to EM state and Tempest master
might not work due to incompatibility of code or
requirements. In that case we pin the Tempest so that
older Tempest can be used for their testing.

Till now for ocata, pike and, queens we used the gerrit style
ref to pin the Tempest which is not preferred way. We should be
able to use the tag name on TEMPEST_BRANCH.

This commit explicitly checkout the tag set in TEMPEST_BRANCH
as git_clone does not checkout the tag directly until RECLONE
is true or tempest dir does not exist.

After this stable branch or job can set the tag directly with name.
For exmaple: TEMPEST_BRANCH=23.0.0.

Also replace gerrit style Tempest ref to tag to make
this change working.

Change-Id: Ic777e4b56c4932dde135ac909cb5c6f4a7d5cc78
2020-01-30 15:36:41 -06:00
Zuul e263e32bdb Merge "do not gzip legacy service logs" into stable/pike 2020-01-23 15:39:31 +00:00
Zuul fb95552b1a Merge "Add Zuul v3 native unit-tests" into stable/pike 2020-01-23 13:56:03 +00:00
Zuul c537b64aee Merge "Ignore TEMPEST_BRANCH in test_refs" into stable/pike 2020-01-23 13:56:02 +00:00
Sean Mooney ced35a5ead do not gzip legacy service logs
This change removes the .gz extension from the
service and syslog logs exported via journalctl.
This change nolonger gzip compresses the exported
logs so that they can be rendered in the browser
directly when served from swift.

Conflicts:
    roles/export-devstack-journal/tasks/main.yaml

Change-Id: I4557a737cb13b9c2406056be08ab8a32ddd45162
(cherry picked from commit d02fa6f856)
2020-01-22 01:27:50 +00:00
Andreas Jaeger e8f8e3cdcf Add Zuul v3 native unit-tests
Add new job to replace legacy-devstack-unit-tests.

Conflicts:
        .zuul.yaml

Change-Id: I4fe59b1954514a7146a4412e3103a0a05a9250f2
(cherry picked from commit 838b833b63)
2019-10-28 17:33:54 +00:00
Ghanshyam Mann 9c85d5c3d6 Ignore TEMPEST_BRANCH in test_refs
This was changed in Iaefb5b90036eef67529f93bdf6675bd2d511c3c9, but the
test wasn't adjusted (as unit tests job is not present in stable/pike
- https://review.opendev.org/#/c/691450/).

Change-Id: Ibd5fc1431ee64497149116b857ccff903ba3264b
2019-10-28 17:31:15 +00:00
Zuul 62a893e095 Merge "Fix quoting for devstack_localrc arguments" into stable/pike 2019-10-23 07:40:59 +00:00
Matt Riedemann c1d4f9de8b Use Tempest v21.0.0 for Pike testing instead of master
Similar to If5a0710360be448aa0c9e36fd22657b122dad66b for
stable/ocata, it appears stable/pike now has to use a pinned
(tagged) version of Tempest due to recent changes to Tempest
which don't work on stable/pike [1]. This uses the 21.0.0
tag which marks the end of tempest support for pike.

[1] http://lists.openstack.org/pipermail/openstack-discuss/2019-September/009674.html

Change-Id: Iaefb5b90036eef67529f93bdf6675bd2d511c3c9
2019-09-25 10:55:56 -04:00
Zuul 5a7fdf32de Merge "Fix : sort variables fetched from env list" into stable/pike 2019-08-19 21:05:18 +00:00
Ian Wienand 70bc4f40eb Fix quoting for devstack_localrc arguments
This is a combination of the following commits:
- "Quote devstack_localrc arguments"
  https://review.opendev.org/636078
  Ia63a53d745dfea7262bcdb5d46425f431c3ccfe5
- "Fix double quoting issue when writing localconf"
  https://review.opendev.org/648951
  I92146e04731efc6dcc632ae6c3a7c374e783cdba

They have been merged together because the first commit introduces
a bug, and it looks a bit pointless to deliberately introduce
a potentially breaking change on the process of backporting a fix.

Co-Authored-By: Ian Wienand <iwienand@redhat.com>
Co-Authored-By: Jens Harbott <j.harbott@x-ion.de>

Change-Id: Ia703af54a7131843fc2b0ae34efcfe0f5507acbf
(cherry picked from commit 2e1393621a)
2019-08-05 13:39:48 +02:00
Luigi Toscano 5a16a376a5 zuul: new variable to easily populate TEMPEST_PLUGINS
TEMPEST_PLUGINS contains the list of the tempest plugins installed
alongside tempest by lib/tempest.
If TEMPEST_PLUGINS is not explicitly set, the new tempest_plugins
variable is used to fill it by combining its items with
the base devstack path.

Change-Id: I9f1fa2755e16871ff9d6ba33fdeaf3023eedf8d4
(cherry picked from commit 70d043dd60)
2019-07-30 09:43:23 +02:00
Luigi Toscano 38edaa3ba6 zuul job: write the enable_plugin lines last
Plugins must be the last items in the local.conf file
otherwise the configuration set in the rest of the file
is not applied to them (for example a different value of DEST.)

Change-Id: Ia001badca179c3f3436d5ecd26b0755a3f3a3078
(cherry picked from commit 610927f425)
2019-07-30 09:42:50 +02:00
Jens Harbott ab661a25f1 Allow plugin names to contain non-letter characters
There are already devstack plugins that contain a hyphen in the name,
like `networking-baremetal`. In order to allow ordering for these to
work properly, amend the regexes we are using to match any
non-whitespace characters instead of only alphanumerics.

Amend the test to cover this use case.

Change-Id: I91093a424f8d5e8007f140083e1ea36a81fe849f
Closes-Bug: 1809016
(cherry picked from commit 0b855007f8)
2019-07-30 09:42:42 +02:00
Jens Harbott a069e49602 Fix testing for the write-devstack-local-conf role
The test_plugin_deps function in the test code for the
write-devstack-local-conf role was missing the import part of actually
executing the code under test and asserting the expected result.

Change-Id: I125870b13d2581cdec0dede11157b19b702565cd
(cherry picked from commit 6d103a7ff8)
2019-07-30 09:42:34 +02:00
James E. Blair 1a99135f00 Add the project under test to LIBS_FROM_GIT
This automatically always adds the project under test to LIBS_FROM_GIT
which effectively makes the normal "tempest full" job the same as the
"forward testing" job when it is applied to a library repo.

Change-Id: Ibbdd8a86e0ff55f67bef73e08e693b34a61b24df
(cherry picked from commit 8e5f8c29b2)
2019-07-26 12:04:10 +02:00
James E. Blair 1b674f9a8c Automatically set LIBS_FROM_GIT based on required projects
If a project shows up in zuul's required-projects list, add it
to LIBS_FROM_GIT automatically.  This way, when a user specifies
that a job requires a zuul-project, it gets used in testing, but
otherwise, it doesn't (pypi is used instead).

Also add information about what happens behind the scenes for both
LIBS_FROM_GIT and plugin dependencies.

This moves the check performed in check_libs_from_git to
a helper function which is installed for most kinds of
installations.  This means that if someone sets LIBS_FROM_GIT to
"foobar", devstack won't error anymore, as nothing is going to
try to install foobar, therefore the check won't run on that.
However, as we move to automated generation of the local config,
that error is not likely to happen.  This check was originally
added due to an error in the upper-constraints file (where a
constraint name did not match a package name).  This location of
the check would still catch that type of error.

Change-Id: Ifcf3ad008cf42d3d4762cfb3b6c31c93cfeb40db
(cherry picked from commit e1edde38ed)
2019-07-26 12:04:10 +02:00
James E. Blair 0b4351efdb Zuul: support plugin dependencies
Change-Id: I81302e8988fe6498fea9f08ed66f5d0cc1fce161
(cherry picked from commit 6f27fca4a7)
2019-07-26 12:04:10 +02:00
Luigi Toscano c2f6f5bf7a iniset: fix handling of keys with spaces
Ceph for example uses them. Creation already worked, but not
updates of existing keys.

Closes-Bug: 1774956

Change-Id: I20cb61c08079b9cd9ad56ac875525abf1442bff6
(cherry picked from commit c7c67658c1)
2019-07-21 16:28:39 +02:00
Zuul 7ddec614b5 Merge "Remove apache tls-proxy sites when stopping" into stable/pike 2019-06-04 08:52:54 +00:00
Dean Troyer 5a8409b743 Update repo namespace search list
With the new namespaces we have to look around a bit more to find
repos top copy into the DevStack working directory. Add:

* opendev/
* starlingx/
* x/
* zuul/

Change-Id: I8a55522a5fee46f415f0c0ce580ded3476133460
Signed-off-by: Dean Troyer <dtroyer@gmail.com>
2019-04-24 13:53:01 +00:00
OpenDev Sysadmins ad02686bec OpenDev Migration Patch
This commit was bulk generated and pushed by the OpenDev sysadmins
as a part of the Git hosting and code review systems migration
detailed in these mailing list posts:

http://lists.openstack.org/pipermail/openstack-discuss/2019-March/003603.html
http://lists.openstack.org/pipermail/openstack-discuss/2019-April/004920.html

Attempts have been made to correct repository namespaces and
hostnames based on simple pattern matching, but it's possible some
were updated incorrectly or missed entirely. Please reach out to us
via the contact information listed at https://opendev.org/ with any
questions you may have.
2019-04-19 19:43:16 +00:00
whoami-rajat bbd445934b Fix : sort variables fetched from env list
In bionic, when exporting env variables, the env list displays
variables in unsorted format.
While fetching we are getting 'https_proxy' before 'http_proxy'
which is failing in comparison to our expected values[1].
This patch sorts the variables fetched from env.

[1] http://logs.openstack.org/30/643130/3/check/devstack-unit-tests/effbf7a/job-output.txt.gz#_2019-03-13_23_12_35_465026

Change-Id: Ie504eabf0d3fec1b97bc711e2702c06bcf75d158
(cherry picked from commit deadc7c439)
2019-03-22 11:38:27 +00:00
Ian Wienand 08da17db0d Replace openstack.org git:// URLs with https://
This is a mechanically generated change to replace openstack.org
git:// URLs with https:// equivalents.

This is in aid of a planned future move of the git hosting
infrastructure to a self-hosted instance of gitea (https://gitea.io),
which does not support the git wire protocol at this stage.

This update should result in no functional change.

For more information see the thread at

 http://lists.openstack.org/pipermail/openstack-discuss/2019-March/003825.html

Change-Id: Ib46e29cf3e0b2ad4e20f7d1a6a1d018748a3f5cb
2019-03-22 01:35:38 +00:00
Jens Harbott 525a5246cd Remove apache tls-proxy sites when stopping
Currently doing a cycle of

    ./stack.sh; ./unstack.sh; ./stack.sh

fails because the leftover tls-proxy sites will cause apache startup to
fail on the second stack.sh run. So we need to disable these sites on
running stop_tls_proxy.

Change-Id: I03e6879be332289d19ca6a656f5f9f139dffff6f
Closes-Bug: 1718189
(cherry picked from commit 1db9b5d3ca)
2019-03-21 11:01:28 +00:00
Lenny Verkhovsky dc92190397 Fixed git show for upper-constraints.txt in lib/tempest
Change-Id: Id133108e0436018be81fca74a15ff29a4fe2e796
Closes-Bug: #1789643
(cherry picked from commit 6465219ec3)
2019-03-14 18:12:19 +00:00
Zuul 57bc6a5fc0 Merge "Remove use of git -C option from tempest venv creation" into stable/pike 2019-03-14 15:09:08 +00:00
Zuul e7ee9bffaf Merge "Use master upper-constraints when installing tempest plugins" into stable/pike 2019-03-13 19:08:18 +00:00
Sam Betts 2b50e3b83f Remove use of git -C option from tempest venv creation
The -C option is not available in git versions older than "1.8.5" which
are still shipped by several distributions including centos 7.

Due to this incompatibility the patch has broken third party CI for
Cisco on Ironic.

Change-Id: I09a6f83f8b2fee870e6e1c50cbfdf2da4d70dfb2
(cherry picked from commit db5a5b3c20)
2019-03-12 23:58:41 +00:00
Zuul 193c36bdd9 Merge "use master upper-constraints when building tempest venv" into stable/pike 2019-03-12 23:45:32 +00:00
ghanshyam 5d5fbcaed2 Use master upper-constraints when installing tempest plugins
when tempst venv is build, it use the master upper_contraint[1]
but when we install tempest plugin, it use branch upper_contraint.

This leads to mismatch the dependency version between tempest and required
tempest plugins setup.

Current flow after this change is:

1. install tempest form master (until you explicitly change TEMPEST_BRANCH
   which is default to master in all stable branch). It applies the upper_constraint
   from the stable branch but that will be overridden in step2
2. configure tempest, here the created venv will install all dependency with
   master's upper_constraint.
3. install tempest plugins in same venv created above. Now tempest plugin
   will also use the master upper_constraint.

With this tempest venv which has all enabled plugin will be contsraint with
master.

[1] https://github.com/openstack-dev/devstack/blob/72f632222f6d90d3545b5d7ca48297da4218e2ea/lib/tempest#L590

Change-Id: I89314e8391e8f26c622fc090cbe27997b3cf049a
Closes-Bug: #1816022
(cherry picked from commit 0d83e09464)
2019-03-12 18:14:55 +00:00
Zuul 9e94807de1 Merge "Ensure passwordless ssh with stack between nodes" into stable/pike 2019-02-27 22:04:54 +00:00
Claudiu Belu 56f5a5d6d9 use master upper-constraints when building tempest venv
The local requirements repo can be checked out to a stable branch,
in which case, the requirements might conflict with tempest's master
requirements.

Master branch's upper-constraints should be used when building tempest's
venv.

Closes-Bug: #1706009

Change-Id: Ifd64638cae2886671421149dbbff3a57f9c64257
(cherry picked from commit 34c1679f2e)
2019-02-27 05:45:10 +00:00
Andrea Frittoli (andreaf) a434963d5c Enable nova VNC configuration on the subnode
The n-novnc service only runs on the controller node, however novnc
settings must be enabled on both nodes for vnc to work, since both
hosts are compute hosts.

Change-Id: Icc29441f507e6e4df9fd900eb7f35b0862f52043
(cherry picked from commit 05da9a9b1e)
2019-02-27 01:23:26 +00:00
Andrea Frittoli beef8e1880 Ensure passwordless ssh with stack between nodes
For compute migration to work, the stack user needs to be configured
with passwordless ssh between all hosts involved in the migration.

Reuse the build ssh-key for this, which is already distributed for
user root.

Depends-on: https://review.openstack.org/563584

Change-Id: Id07f55fea06509466add35315c135dbfba6aa714
(cherry picked from commit afe1414019)
2019-02-27 01:22:47 +00:00
Daniel Mellado 19337acada Apply contraints to tempest plugins
This commit applies the constraints for the tempest plugin installation
so they won't go over the upper reqs.

Closes-Bug: 1763436
Change-Id: I5cf91157bbdae79dec01d5b3db32efea21f1b2b7
(cherry picked from commit dc5d88bc0b)
2019-02-19 11:02:44 +01:00
Andreas Jaeger ba9fc47876 Follow job renames
the swift and devstack-plugin-ceph jobs have been renamed, follow rename
and use in-repo jobs.

Depends-On: https://review.openstack.org/543048
Change-Id: Idccc21e47b2cc04e5eeab4db7f7fb7cf156f8049
2018-09-12 09:36:19 +00:00
Doug Hellmann 87efaf3cc0 import zuul job settings from project-config
This is a mechanically generated patch to complete step 1 of moving
the zuul job settings out of project-config and into each project
repository.

Because there will be a separate patch on each branch, the branch
specifiers for branch-specific jobs have been removed.

Because this patch is generated by a script, there may be some
cosmetic changes to the layout of the YAML file(s) as the contents are
normalized.

See the python3-first goal document for details:
https://governance.openstack.org/tc/goals/stein/python3-first.html

Change-Id: I9ab9365927bb65ed3b99a09e7e7c3e3a3b77a71d
Story: #2002586
Task: #24327
2018-09-12 09:36:03 +00:00
Monty Taylor 856abcc665 Extract a devstack-minimal base job
For folks who are doing functional testing with less than the full set
of normal base services. Should be a no-op/ignorable for most people.

Change-Id: If14ee018c01995e0a5b6bcdaac9ddc8810c6d503
(cherry picked from commit 4d7e337576)
2018-09-08 15:46:50 +02:00
ghanshyam 76c24fd1dc Fix TEMPEST_AUTH_VERSION comparision condition for identity v2
TEMPEST_AUTH_VERSION should be 'v3' or 'v2' not 'v2.0'.
To disable the identity v2 admin tests TEMPEST_AUTH_VERSION is
being compared with 'v2.0' which is incorrect.

Change-Id: I5f7e3bcf733edbbee06016bcad4845dda552815e
2018-08-07 08:41:27 +00:00
Paul Belanger 4379b273bd use fqdn for zuul projects
When setting up a 3pci zuul, there is an edge case where a downstream
zuul may already have openstack/foo projects, eg:
review.rdoproject.org/openstack/foo.  In this case, if openstack
projects are not namespaced to include the connection information zuul
gets confused and complains.  We can avoid this by using the fqdn for
git.o.o for devstack jobs and both upstream and downstream zuul will
properly use the correct connection.

Change-Id: I01419ea9f51ce7491aa319b6240aec9c0d4f2356
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
(cherry picked from commit ef3571338a)
2018-07-12 15:49:04 +00:00
Jens Harbott 0e80624191 Export OS_CACERT after sourcing .stackenv file
This makes sure that it is available to subprocesses like the other
authentication data.

Change-Id: I513b7c2620b171ce20a1ceb5536226f3a69f2b82
Closes-Bug: 1760901
2018-06-08 11:04:41 +00:00
Sam Betts 4a4a8c57d9 Stop using ironic host manager with resource classes
There should be no needs to use the ironic host manager when using
resource classes.

Change-Id: I9a51ea6582dfef28e4da5f8510742230d88cbaf3
(cherry picked from commit def67a47e8)
2018-05-08 18:15:47 +00:00
Zuul 73d8487721 Merge "Bump the Cinder LVM backing file size to 24Gb." into stable/pike 2018-04-21 05:10:38 +00:00
Zuul 7a5b72bc5f Merge "Fix devstack job: the dict name is devstack_local_conf" into stable/pike 2018-04-20 14:11:50 +00:00
Zuul 94fc910bf5 Merge "Enforce linear strategy for orchestrate-devstack" into stable/pike 2018-04-20 14:02:37 +00:00
Zuul 9c49346b42 Merge "Fix multinode mode for devstack" into stable/pike 2018-04-19 11:23:59 +00:00
Zuul 6616052bad Merge "Stage .localrc.auto" into stable/pike 2018-04-19 11:23:57 +00:00
Zuul fdbe9132ad Merge "Ensure that stack home is owned by stack" into stable/pike 2018-04-19 11:16:04 +00:00
Zuul 22b69fb3fa Merge "Define devstack-base abstract job" into stable/pike 2018-04-18 17:21:19 +00:00
Clark Boylan 91d6d0f932 Properly get pip version
The old code was strip()ing the version string instead of split()ing the
version string so we always got the first character of the version
string. This worked fine as long as the pip version was single digit but
as soon as it rolls over to '10.stuff' we will compare:

  pip version 1 (instead of 10) > 6

Which fails bceause 1 is less than six. Instaed we really do want to
compare 10 > 6 so use split on '.' instead.

Closes-Bug: #1764046
Change-Id: Ic7d0c04d7fa77774ab2d70fb9d11f182becec553
(cherry picked from commit 065779517f)
2018-04-16 11:58:56 +00:00
Hongbin Lu 8da4061966 Do not use pip 10 or higher
It looks pip 10 failed the uninstallation of distutils installed
packages. This patch temporarily cap the version of pip to work-around. 

Closes-Bug: #1763966
Change-Id: I8bf80efc04883cd754c19bea0303064080112c6e
(cherry picked from commit f99d1771ba)
2018-04-16 07:25:51 +00:00
Luigi Toscano ea3609968e Fix devstack job: the dict name is devstack_local_conf
It looks like a typo.

Change-Id: Id017b169f25a7589da3eca509c28f5d867fd5962
2018-04-13 16:06:22 +01:00
Andrea Frittoli 13d7c81983 Enforce linear strategy for orchestrate-devstack
Document that orchestrate-devstack requires a linear strategy in the
invoking play. Also enforce the strategy in devstack.yaml.

Change-Id: Ia081225ec2be959fc5a4ddfd491f526296a8ca10
2018-04-13 16:05:20 +01:00
Andrea Frittoli 6f377c88f7 Fix multinode mode for devstack
Extend the devstack job so that it can support both single and multinode
cases.  Multinode mode require extra settings in devstack configuration,
some of which as subnode specific, some controller specific.

Also keep a simple devstack-multinode job defined for now so we can run
a multinode job in devstack gate, until the full tempest multinode job
is ready to match the old
gate-tempest-dsvm-neutron-multinode-full-ubuntu-xenial-nv.

Fixing multinode also requires sharing the CA configuration between
controller and peers, overlay network configuration for communication
between virtual machines and running discover_hosts for nova after the
subnode has been setup.

The extra orchestration required for multinode is encoded in a
dedicated role to allow for jobs in other repos to re-use it.

This backport is slightly modified from the original, since master does
not use the test-matrix anymore, while on stable branches we still rely
on it.

Change-Id: I2dcbd9bdb401860820e655d97aa3c4775af2827f
2018-04-13 16:05:20 +01:00
Andrea Frittoli (andreaf) f298d3f638 Stage .localrc.auto
Change-Id: I9beb713a0b037e0229b13fd13d7d4de156ed0b59
Depends-on: https://review.openstack.org/544606
2018-04-13 16:05:20 +01:00
Andrea Frittoli 0c26bcb364 Ensure that stack home is owned by stack
The role that sets up the user and its home folder must ensure that
the home folder is owned by stack as well.

Change-Id: I2e72d7b9d68a2a14f8a148ef82cbb3f569bd1cea
2018-04-13 16:05:20 +01:00
Andrea Frittoli 68251a66cd Define devstack-base abstract job
Define an abstract job devstack base that does not require any
project apart from devstack. This job defines basic devstack_localrc
settings that are common to any devstack job (mostly to work with
infra) and devstack_services to emit "disable_all_services" so to
cancel any devstack default.

The variables are defined as global ones as well as host-vars for
the controller and group-vars for peer nodes, so that any
descendent job may extend them, thanks for Zuul dict merging.

Change-Id: I2cdb723f6ee209683044fecec59ff7b510a2752b
2018-04-13 16:05:20 +01:00
Peter Penchev 1ff70fd807 Bump the Cinder LVM backing file size to 24Gb.
This follows a change made to devstack-gate in commit 841ebc3 to allow
tempest to succeed even if it happens to run several volume tests in
parallel.  Right now it's possible for a tempest-full test (run without
devstack-gate) to fail with an "Insufficient free virtual space" error in
the cinder-scheduler log.

Suggested by: Clark Boylan <clark.boylan@gmail.com>
Closes-Bug: 1743597
Change-Id: I16ccb9976d1bc7c9f56a6a4d73e35042a5867ef9
(cherry picked from commit 6bcd8cad16)
2018-04-09 13:50:25 +00:00
Tim Swanson 15574b4ea7 Allow public router external net to use a non-flat provider network.
Allow users to auto-create a neutron non-flat providernet public network
and use it for external router interfaces.  By default, keep the existing
flat network type behavior.

Change-Id: I64f71b0c9fcac97b9b84b7d30ee61659b2a690f1
(cherry picked from commit bb7d2f233b)
2018-03-31 13:11:38 +00:00
Zuul ed7321a17d Merge "Add base jobs for functional tests" into stable/pike 2018-03-27 08:24:39 +00:00
Monty Taylor f8a4f3a20f Add base jobs for functional tests
I keep copy-pasting these to projects from the shade repo. Let's make
some base jobs people can more easily use.

devstack-tox-functional runs devstack and a tox functional environment.

devstack-tox-functional-consumer is the same, but runs devstack in pre.
It's intended for projects for whom patches to the project won't
actually impact the devstack deployment (shade, nodepool, gophercloud
are all examples of such things)

Change-Id: I84de60181cb88574e341ff83cd4857cce241f2dd
(cherry picked from commit e1b0c3886b)
2018-03-20 16:33:15 -04:00
Monty Taylor b711396805 Backport 'Check that generate-subunit exists'
The python-glanceclient functional tests in stable/pike have run into
a devstack issue [0] that was fixed in master, so backporting the fix
and a followup correction:
Check that generate-subunit exists before using it
(cherry picked from commit cbd5f4e0ad)
Fix comment wording nit
(cherry picked from commit 03ae3c485e)

[0] Log extract from https://review.openstack.org/#/c/529834/
2017-12-22 19:16:02.880 | Error on exit
2017-12-22 19:16:02.881 | ./stack.sh: line 540: generate-subunit:
                            command not found
ERROR
{
  "delta": "0:00:03.150918",
  "end": "2017-12-22 19:16:02.898596",
  "failed": true,
  "rc": 127,
  "start": "2017-12-22 19:15:59.747678"
}

Change-Id: I0fecb027e5be6f4d7bb0bf34e59a43543a421f38
Needed-by: Idaa2f4b920e131320499c9e460ade74df1d5a264
2018-03-19 16:14:51 +11:00
Zuul 058700039b Merge "Change lib/neutron-legacy to not enable linuxbridge for DVR" into stable/pike 2018-03-16 06:56:04 +00:00
Zuul b92e7b83e2 Merge "Revert "Resolve openSUSE devstack failures"" into stable/pike 2018-03-13 01:51:16 +00:00
Zuul e4cbc5baae Merge "Restore NEUTRON_CREATE_INITIAL_NETWORKS flag" into stable/pike 2018-03-11 13:18:32 +00:00
Zuul fe7034571b Merge "Remove deprecated 'deactivate_image' feature flag setting" into stable/pike 2018-03-09 15:45:00 +00:00
Zuul 114a3f692a Merge "Increse api_max_retries and api_retry_interval for ironic" into stable/pike 2018-03-08 22:18:08 +00:00
Josh 8c4492a848 Restore NEUTRON_CREATE_INITIAL_NETWORKS flag
Somehow this feature was lost in the transition
from q-svc to neutron-api. This patch does not
modify the default behavior but allows specifying
the flag to false to prevent devstack from creating
the public and private networks.

Change-Id: I952672496d007552c0c4d83db0d0df9be50326fc
Signed-off-by: Josh <jhershbe@redhat.com>
(cherry picked from commit 8f7216290a)
2018-03-08 09:16:46 -06:00
Mohammed Naser 2895563c82 Bump NOVA_READY_TIMEOUT to 120s
This changes bumps NOVA_READY_TIMEOUT to 120s by default in Pike
and older because the UCA shipped libvirt (2.5.0) is very slow
to start up (taking almost a minute at times)

Change-Id: Ia5fd8654e062533a55de2e78d84128027c73c094
2018-02-23 16:56:40 -05:00
Jens Harbott a3b62a26ae Create NOVA_READY_TIMEOUT in is_nova_ready function
The function was introduced in [0] using a hardcoded timeout of 60
seconds which turns out to be too small on slow machines. Create a new
global variable NOVA_READY_TIMEOUT instead so that users can
override the timeout if necessary.

[0] I32eb59b9d6c225a3e93992be3a3b9f4b251d7189

Co-Authored-By: Mohammed Naser <mnaser@vexxhost.com>
Change-Id: I0cd7f193589a1a0776ae76dc30cecefe7ba9e5db
2018-02-23 21:53:38 +00:00
Luigi Toscano 8565ea8578 Backport changes of zuul jobs and definitions to pike
Mostly from current master, but without unit tests.

This commit squashes together the following patches:
https://review.openstack.org/#/c/515209/
https://review.openstack.org/#/c/524224/
https://review.openstack.org/#/c/524689/
https://review.openstack.org/#/c/526113/
https://review.openstack.org/#/c/526114/
https://review.openstack.org/#/c/526935/
https://review.openstack.org/#/c/526936/
https://review.openstack.org/#/c/527027/
https://review.openstack.org/#/c/527106/
https://review.openstack.org/#/c/528002/
https://review.openstack.org/#/c/528076/
https://review.openstack.org/#/c/528275/
https://review.openstack.org/#/c/528359/
https://review.openstack.org/#/c/529341/
https://review.openstack.org/#/c/529944/
https://review.openstack.org/#/c/531208/
https://review.openstack.org/#/c/535522/
https://review.openstack.org/#/c/535879/
https://review.openstack.org/#/c/536611/
https://review.openstack.org/#/c/539686/

Most of the work was done by Andrea Frittoli and
Monty Taylor. Below is the complete list of original
authors (hopefully correctly ordered by surname):
Co-Authored-By: Clark Boylan <clark.boylan@gmail.com>
Co-Authored-By: Andrea Frittoli <andrea.frittoli@gmail.com>
Co-Authored-By: yong sheng gong <gong.yongsheng@99cloud.net>
Co-Authored-By: Jens Harbott <j.harbott@x-ion.de>
Co-Authored-By: Andreas Jaeger <aj@suse.com>
Co-Authored-By: Monty Taylor <mordred@inaugust.com>
Co-Authored-By: Dean Troyer <dtroyer@gmail.com>

Change-Id: Ia93bd480f260ee2c8bf56131e59a440a176259ee
2018-02-19 16:39:30 +01:00
James E. Blair 68fbb912bd Zuul: Remove project name
Zuul no longer requires the project-name for in-repo configuration.
Omitting it makes forking or renaming projects easier.

Change-Id: I41012abc856115a4dc7985b0e0e88e4bee4fba63
2018-02-08 16:27:25 -08:00
Vasyl Saienko 5d9239cf6f Increse api_max_retries and api_retry_interval for ironic
There is no way to upgrade ironic before nova because of
grenade design. In multinode job we do not restart nova
as we test partial upgrade of ironic there.
On slow nodes upgrading ironic takes time and nova looses
ironic connectivity

This patch increases api_retry_interval and api_max_retries
to make sure we have a time to upgrade ironic before nova
compute stuck.

Change-Id: I3b1429d6561431a82edda04a0e574cac38771837
2018-01-23 10:08:09 +00:00
ghanshyam 8367685752 Remove deprecated 'deactivate_image' feature flag setting
'deactivate_image' feature flag was added long back during kilo
cycle. Tempest is going to remove this feature flag.

Depends-On: I843d4c64f24407d9d217005d5ea59d50d7ad62e7
Change-Id: I1ae8efc0e62acc5e05c1c00dc8970b74d8b16da0
2018-01-12 00:14:51 +00:00
Monty Taylor 9884f60ea4 Add doc/requirements.txt file with doc requirements
The sphinx jobs need to find doc requirements in either
test-requiremnts.txt or doc/requirements.txt. Putting them directly in
to tox.ini, not so much.

Change-Id: I98a43b511a6949fa4f00c26eec224d24d6fa6588
(cherry picked from commit 4187d2fc4a)
2018-01-03 08:24:52 +00:00
Brian Haley ebffaf67c3 Change lib/neutron-legacy to not enable linuxbridge for DVR
DVR isn't supported by the Linux Bridge agent, but the
mechanism driver is enabled by default, so Neutron attempts
port-bindings for it, generating ERRORS in the neutron-server
log in the check and gate jobs.  Just remove it in the DVR case.

Change-Id: Ic50e12e5fecf366a182c141b5c99649e653254cb
Closes-bug: #1716782
2018-01-03 03:56:49 +00:00
Sumit Jamgade 7b08653535 Revert "Resolve openSUSE devstack failures"
This reverts commit d325875508.
the issue mentioned in the comment is now resolved.

Change-Id: I2705daead3d3b95f6ad82261212f2a1f40a77fb5
(cherry picked from commit 135ebe955e)
2017-12-18 08:52:16 +00:00
Chris Dent 4a85d5d6e0 Move remove_uwsgi_config to cleanup_placement
It had been in stop_placement, but we don't want it there: the old
side of grenade needs to call that but should not remove the uwsgi
configuration when doing so. It is configuration, after all.

Change-Id: Iee763adf7895145d97b184924896db3f1f48a015
Partial-Bug: #1736385
2017-12-06 11:31:12 +00:00
James E. Blair 458c60bb6e Zuul: add file extension to playbook path
Zuul now supports including the file extension on the playbook path
and omitting the extension is now deprecrated.  Update references
to include the extension.

Change-Id: I74b7316ff2c6cb3f0ef7d84b38e445384efc6ad0
2017-11-28 16:42:16 -08:00
Dean Troyer e720c3c051 Add Zuul v3 tests for stable branch
Change-Id: I6ba35ea9e2080012f098569efcd65e1145829d91
2017-11-06 14:25:55 -06:00
Zane Bitter a5c77a91b9 Calculate package directory correctly in pip_install
Strip the [<extras>] string from a <package_dir>[<extras>] argument
when looking for the package directory.  Explain what the heck is
going on.

Change-Id: I79beb5c3e9e7c35c91cdd0d5a1d91532bebc4b6d
Closes-Bug: #1721638
(cherry picked from commit 9e7ead9ac2)
2017-10-31 15:03:48 +00:00
Ian Wienand 4358418d7d Use "pip list" in check_libs_from_git
As described in the change, "pip freeze" has issues with the way
zuulv3 clones repos without a remote.  This is an attempt to use "pip
list" to check for local install

Change-Id: I33d25f86b6afcadb4b190a0f6c53311111c64521
(cherry picked from commit ae9c6ab759)
2017-10-02 11:08:45 -04:00
Jenkins b50217fa58 Merge "Wait for compute service to check in" into stable/pike 2017-09-06 22:19:25 +00:00
Jenkins 8ee2e34efb Merge "Stop nova conductor properly (singleconductor mode)" into stable/pike 2017-09-06 19:07:28 +00:00
Sean Dague cfe0077981 Wait for compute service to check in
With cell v2, on initial bring up, discover hosts can't run unless all
the compute nodes have checked in. The documentation says that you
should run ``nova service-list --binary nova-compute`` and see all
your hosts before running discover hosts. This isn't really viable in
a multinode devstack because of how things are brought up in parts.

We can however know that stack.sh will not complete before the compute
node is up by waiting for the compute node to check in before
completing. This happens quite late in the stack.sh run, so shouldn't
add any extra time in most runs.

Cells v1 and Xenserver don't use real hostnames in the service table
(they encode complex data that is hostname like to provide more
topology information than just hostnames). They are exempted from this
check.

Related-Bug: #1708039

Change-Id: I32eb59b9d6c225a3e93992be3a3b9f4b251d7189
(cherry picked from commit c2fe916fc7)
2017-09-06 18:26:07 +00:00
Jenkins 0ba247385c Merge "Add procname for uwsgi based services" into stable/pike 2017-09-06 01:23:34 +00:00
Jenkins 99c6a66507 Merge "Fix Cleanups for keystone/placement/nova" into stable/pike 2017-09-06 00:58:06 +00:00
Jenkins 5b6b04cdd3 Merge "Cap api_extensions in tempest for Pike" into stable/pike 2017-09-01 01:20:56 +00:00
Davanum Srinivas 1781c1ac88 Add procname for uwsgi based services
Code in grenade and elsewhere rely on the process/service name
when one runs "ps auxw" and they grep for example "grep -e glance-api"
to check if the service is running. with uwsgi, let us make sure
we use process name prefix so it is easier to spot the services
and be compatible with code elsewhere that relies on this.

Change-Id: I4d1cd223ed9904fcb19b26fc9362b676e0b4f9b3
2017-08-17 14:42:33 +00:00
Davanum Srinivas bd2f6a860f Fix Cleanups for keystone/placement/nova
* Check KEYSTONE_DEPLOY flag and cleanup appropriately
* When we stop process, we should not wipe uwsgi config we should
  remove files only on cleanup
* We should not call cleanup *BEFORE* configure, we are just wiping
  out the uwsgi ini files
* cleanup_placement should be called from clean.sh

Change-Id: I066f5f87ff22d7da2e3814f8c2de75f2af625d2b
2017-08-17 14:42:12 +00:00
Davanum Srinivas e996ed2abc Stop nova conductor properly (singleconductor mode)
stop_nova_conductor dropped the ball when the CELLSV2_SETUP mode is
set to "singleconductor". We should cleanup the older style "n-cond"
in this case.

Change-Id: I9ffd6d09df6f390a842b8a374097f144564d2db4
(cherry picked from commit 98c95f4fa1)
2017-08-17 10:17:02 +00:00
Vasyl Saienko 6d8b26b382 Increase host_subset_size for ironic
This patch increase host_subset_size when ironic is used to 999
to minimize race conditions.

Change-Id: I0874fe3b3628cb3e662ee01f24c4599247fdc82d
(cherry picked from commit 0525e77d9f)
2017-08-16 20:48:26 +00:00
ghanshyam c2bb1020ac Cap api_extensions in tempest for Pike
Tempest has configurable api_extensions for neutron,
cinder and swift. On stable branches, we need to cap
their api extensions to avoid unwanted failures.

Change-Id: I47e780941575cad0e930cc92386bffc9caac87c2
2017-08-14 16:56:35 +00:00
ghanshyam e9f92355eb Cap max microversions for pike
This commit cap the max microversions for compute
and volume API for pike.

compute- https://github.com/openstack/nova/blob/stable/pike/nova/api/openstack/compute/rest_api_version_history.rst#253-maximum-in-pike
volume- https://github.com/openstack/cinder/blob/stable/pike/cinder/api/openstack/rest_api_version_history.rst

Change-Id: Ief5e0a1d8842fd1aed2e4493a3ef311b80322c63
2017-08-14 10:16:41 +00:00
Sean Dague 2af41b3ca5 update branches for stable/pike
Change-Id: I8c8b4ce1926af1fc5eb3844114b4c055ab38359c
2017-08-11 23:14:53 +00:00
OpenStack Release Bot 8bd5e127fb Update .gitreview for stable/pike
Change-Id: I77b88bd91541996aacbffcecaef3be297a34c7d3
2017-08-11 16:16:05 +00:00
Jenkins 98ab7d9646 Merge "Fix Cinder tls-proxy WSGI test" 2017-08-10 21:02:48 +00:00
Jenkins 7acc29ba9a Merge "Switch Centos/Fedora to Apache woker MPM" 2017-08-10 15:58:51 +00:00
Jenkins 69c78404ee Merge "Make TLS logs more readable" 2017-08-10 15:17:30 +00:00
Eric Harney 8ea8660e36 Fix Cinder tls-proxy WSGI test
This currently will throw errors like:

lib/cinder: line 480: [True: command not found

Change-Id: I6bc08532cf99411f39d23523f9fc7851e7804131
2017-08-10 13:36:13 +00:00
Ian Wienand 139837d69d Make TLS logs more readable
After looking at these for I9881f2e7d51fdd9fc0f7fb3e37179aa53171b531 I
found them not as useful as they could be.

Fix the CustomLog command, that wants the logfile then the format
string (or a nickname, which the LogFormat line wasn't setting).  Use
standard micro-second timestamps, and trim the access log to have more
relevant info.

Change-Id: I9f4c8ef38ab9e08aeced7b309d4a5276de07af4b
2017-08-09 06:30:22 +10:00
Ian Wienand 41e6e12318 Switch Centos/Fedora to Apache woker MPM
In trying to debug periodic gate instability of CentOS, I noticed that
it is using the prefork mpm, while Ubuntu is defaulting to the
multi-threaded worker mpm.

One of the problems seems related to 502 proxy errors from the TLS
proxy.  We see out-of-sync timestamps in the centos TLS proxy access
logs, which might be innocent behaviour based on the prefork model or
indicate something else.

Before going too deep down this rabbit-hole, I think it is better for
consistency to use the same mpm model on all our platforms, and start
debugging from there.

Change-Id: I9881f2e7d51fdd9fc0f7fb3e37179aa53171b531
2017-08-08 15:58:22 +10:00
Sam Betts 801494550a Disable baremetal sched filters when using resource classes
When using resource classes to schedule baremetal nodes the baremetal
filters like ExactRam etc should not be used. This patch disables them
in the nova config if devstack is configured to enable ironic resource
classes.

Change-Id: Ic262ccaf8b541308042d61113a953653d2261964
2017-08-04 12:19:47 +01:00
Vasyl Saienko dea3083d98 Fix path to mlock_report
This patch fixes path to mlock_report.py. Also add python-psutil
to dstat depends as it is required by mlock_report.

Change-Id: Ia2b507a7b923f1e3393a9cb7746c66d39d6abfde
2017-08-01 08:15:07 +03:00
Jenkins f7c250128b Merge "doc: Switch from oslosphinx to openstackdocstheme" 2017-07-31 14:34:01 +00:00
Dirk Mueller 6effdf370a Remove extra websockify dependency cleanup step
This started to fail due to a missing || : / --force option now
that the dependencies got fixed:

2017-07-30 19:38:37.260 | ++ tools/install_prereqs.sh:source:97       :   sudo rpm -e --nodeps python-cffi python-cryptography python-pyOpenSSL
2017-07-30 19:38:37.293 | error: package python-cffi is not installed
2017-07-30 19:38:37.293 | error: package python-cryptography is not installed
2017-07-30 19:38:37.293 | error: package python-pyOpenSSL is not installed

Change-Id: Ia59afb7ee564cf2044ebdb3c5ad3e54ee91d1222
2017-07-31 08:56:17 +02:00
Jenkins ae664dd2f3 Merge "Fixes devstack ldap plugin" 2017-07-28 16:19:21 +00:00
Jenkins edb6a4fb68 Merge "Revert "Wait for compute service to check in"" 2017-07-28 00:53:33 +00:00
Jenkins 8c3720e589 Merge "Add instructions for discovering hosts in the multinode guide" 2017-07-28 00:00:07 +00:00
Sean Dague 01c0cc6d37 Revert "Wait for compute service to check in"
This reverts commit dcdf8c8e60.

Change-Id: Ib14016a3bc6f2714758ad0291396233218c593c6
2017-07-27 20:53:57 +00:00
Jenkins 2f9825711f Merge "Fix last place where we need singleconductor" 2017-07-27 19:01:07 +00:00
Jenkins b47f3e6dad Merge "Wait for compute service to check in" 2017-07-27 19:01:00 +00:00
Jenkins d7cef430e2 Merge "Run cinder-api with uWSGI" 2017-07-27 17:21:03 +00:00
Sean Dague afc14c8e85 Fix last place where we need singleconductor
The actual logic of launching a singleconductor didn't get all the way
to the launch of the conductor itself, so we were still launching 2
conductors in the Ironic case. This attempts to fix that.

Change-Id: I7ddb123dbdf3e1ec9a991e474a9990d2ccbc30d3
2017-07-27 10:55:03 -04:00
OpenStack Proposal Bot 97430cd9e0 Updated from generate-devstack-plugins-list
Change-Id: I4e47d524df32d3d41cc00c608edc6c9c588726b5
2017-07-27 08:21:35 +00:00
Sean Dague 5adfef0a53 Introduce CELLSV2_SETUP variable
Some environments, like grenade and ironic, need a way to revert to
the non fleet version of the conductor setup. This really comes down
to a global topology for CELLSV2_SETUP. The prefered is with a
superconductor, but allow a downgrade to singleconductor.

Depends-On: I5390ec14c41da0237c898852935aba3569e7acae

Change-Id: I10fb048ef2175909019461e585d117b4284448c6
2017-07-26 13:51:29 -07:00
Jenkins 4a20320452 Merge "Resolve openSUSE devstack failures" 2017-07-26 12:53:00 +00:00
Jenkins 99d3385d06 Merge "Updated from generate-devstack-plugins-list" 2017-07-26 12:52:53 +00:00
Jenkins 4836460438 Merge "Switch to cirrors 0.3.5 also for the xen case" 2017-07-26 12:52:46 +00:00
Sean Dague dcdf8c8e60 Wait for compute service to check in
With cell v2, on initial bring up, discover hosts can't run unless all
the compute nodes have checked in. The documentation says that you
should run ``nova service-list --binary nova-compute`` and see all
your hosts before running discover hosts. This isn't really viable in
a multinode devstack because of how things are brought up in parts.

We can however know that stack.sh will not complete before the compute
node is up by waiting for the compute node to check in before moving
forward. This puts a few more seconds into the run, but ensures
everything is solid in multinode environments.

Change-Id: I667e6a9be3fee8bb5bfd73426eef567489e3d88d
2017-07-26 07:26:50 -04:00
OpenStack Proposal Bot 2f09dcfc98 Updated from generate-devstack-plugins-list
Change-Id: Ic5ccbd05b9be0739b486d0b816b94eaa5d8f355f
2017-07-26 08:12:17 +00:00
Jenkins 5f0a963cb3 Merge "Fleetify nova conductor for N cells" 2017-07-25 22:32:18 +00:00
Matt Riedemann c63ecadb08 Add instructions for discovering hosts in the multinode guide
When doing a multi-node devstack deployment starting in Ocata
the child compute nodes must be discovered and mapped to the
single nova cell (cell1). In the upstream CI we do this discovery
in devstack-gate after the subnodes are stacked, but for anyone
doing this manually we need to provide some notes on what needs
to happen after child compute nodes are stacked for a multinode
environment.

Change-Id: I68418bcf28d86c60fe42537186d89458fa778bda
Closes-Bug: #1688397
2017-07-25 17:08:50 -04:00
Dirk Mueller d325875508 Resolve openSUSE devstack failures
This update resolves multiple issues with python-cryptography
causing keystone server and nova deployment to fail.

This is a temporary workaround until I196f025dbf1a9ac297946b8165620676645f7210
has landed and the extraneous dependency on python-cryptography (the
package) has been removed.

Change-Id: Ifb29b9089197c0429a5fc1cd08a25d2095d481f1
2017-07-24 21:25:27 +02:00
Jenkins 0d9c896cdd Merge "Add f26 to the supported distros" 2017-07-24 14:05:19 +00:00
Dirk Mueller 46a54c9089 Switch to cirrors 0.3.5 also for the xen case
This image is available on the download site since Feb 2016,
so let's use it.

Change-Id: I3b89211f6e57f2c35056d7e9c57d08651a3a314f
2017-07-24 11:03:48 +02:00
Jenkins 31412f5fc6 Merge "Update URLs" 2017-07-24 07:27:46 +00:00
Attila Fazekas 7bbd4e95d0 Add f26 to the supported distros
The only mentionable diff is the kvm alias
does not exists so we will install
qemu-kvm as with rhel7 which also exists
in the older supported fedoras.

kvm also just an alias in suse so
switching to qemu-kvm  in suse as well.

Change-Id: I5c79ad1ef0b11dba30c931a59786f9eb7e7f8587
2017-07-24 07:32:15 +02:00
Jenkins e0151532d4 Merge "Only setup nova-dhcpbridge if using nova-network" 2017-07-24 02:43:39 +00:00
Ian Wienand d2fbcd275d doc: Switch from oslosphinx to openstackdocstheme
Per the manuals migration effort, switch to openstackdocstheme [1]

[1] https://specs.openstack.org/openstack/docs-specs/specs/pike/os-manuals-migration.html

Change-Id: I0463f7d39bd72f1d27cfe3f6d5395608b9ed6b29
2017-07-24 10:34:22 +10:00
Takashi NATSUME fa0077707e Update URLs
Some URLs are broken, so fix them.
The others are redirect to new URLs,
so replace them with new ones.

The config options of nova serial console proxy
have been gathered in nova/conf/serial_console.py.
So the description in doc/source/guides/nova.rst
is fixed.

Change-Id: Ifd81cc09969341fbf8f135a913fc6003b94e0acc
2017-07-22 09:12:59 +09:00
Tim Burke ab70350403 When configuring temp urls, give Swift time to start up
Otherwise, we've seen intermittent "Unable to establish connection"
failures, with the main devstack log reporting things like

   2017-07-19 13:54:29.973 -> start proxy service
   2017-07-19 13:54:30.082 -> start OSC to store temp url key
   2017-07-19 13:54:31.908 -> OSC reports failure

Meanwhile, the s-proxy screen session tells us things like

   Jul 19 13:54:31.919988 -> start child worker
   Jul 19 13:54:32.206598 -> still loading the WSGI app

... and ports aren't actually bound until *after* the app is loaded.

Add a wait_for_service call to wait for the proxy to come up.

Change-Id: I1a722de31b144797230991700e110353a2d937dd
2017-07-20 11:12:00 -07:00
Matt Riedemann ecbebd5d7b Only setup nova-dhcpbridge if using nova-network
Closes-Bug: #1705324

Change-Id: I3abc84483bbd256e0bbbfe64d570903080f2a2b7
2017-07-19 14:01:44 -04:00
Jenkins d93433dfb8 Merge "List openSUSE 42.3 as a supported distro" 2017-07-19 16:23:41 +00:00
Jenkins 4eed4b6ec6 Merge "Prepare guestfs-support for openSUSE" 2017-07-19 16:12:15 +00:00
Dirk Mueller 04016a5dd1 List openSUSE 42.3 as a supported distro
openSUSE 42.3 is a relatively minor update over 42.2 and I'd
like to maintain it and keep it passing.

Experimental gates are being proposed, once those are passing
(which should be the case with this patch included), we could
enable it as a non-voting gate.

Change-Id: Ia421ada0ed3751c65a2a93a208e3f4a43edf8b16
2017-07-18 09:33:45 +00:00
Dirk Mueller a6467d36db Prepare guestfs-support for openSUSE
With libguestfs usage for file injection now being enabled by
default as part of I568c56dbcb62ec541661364c142eff2397e3eed7
the opensuse job started to fail due to lack of guestfs images
being available.

The error in question was
NovaException: libguestfs installed but not usable (cannot
find any suitable libguestfs supermin, fixed or old-style
appliance on LIBGUESTFS_PATH (search path: /usr/lib64/guestfs)

This part is being fixed by explicitly adding the missing package
dependencies to the compute node rpm package list while the maintenance
update for Leap 42.2 is in preparation.

Change-Id: Ie76ac0a51c1ee2ad6559917825dee1c7a91a3a76
2017-07-18 11:32:02 +02:00
Paul Belanger 331b3de88e Reduce tools/image_list.sh down to 4 images
Now that mysql.qcow2 has been removed, we only have 4 images to worry
about. This fixes cache-devstack element for openstack-infra.

Change-Id: Ia06f0e0679e253a1a6614f7c38abf1f5cd13991b
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2017-07-14 13:11:19 -04:00
Jenkins adc7f8e8dd Merge "Remove VGs when cleaning LVM up in devstack" 2017-07-14 03:06:50 +00:00
Bogdan Katynski 8175df1912 Remove VGs when cleaning LVM up in devstack
This patch adds removing of the volume group
before removing the loopback device and
the backing file when performing LVM cleanup
in unstack.sh

Without this commit:

unstack.sh removes logical volumes, removes the
loopback devices and deletes the backing file
but leaves a dangling volume group

  $ ./stack.sh && ./unstack.sh
  $ sudo vgs
  VG                    #PV #LV #SN Attr   VSize  VFree
  stack-volumes-default   1   0   0 wz--n- 10.01g 10.01g
  $ sudo losetup -a
  $ sudo vgremove stack-volumes-default
  /dev/loop0: lseek 4096 failed: Invalid argument
  vg_remove_mdas stack-volumes-default failed

With this commit:

unstack.sh removes volume groups after removing
all logical volumes but before removing
the loopback device and deleting the backing file

Partial-Bug: 1441236
Change-Id: Id9c06fa50f6cad28764f5a3396f559cac9999649
2017-07-12 09:34:52 +00:00
Jeremy Liu 2f7df51cfa Correct 'uswgi' to 'uwsgi'
Change-Id: I22026e5640a626f45b7508b60f492dbdb30631af
2017-07-12 10:09:48 +08:00
Paul Belanger 254116305c Remove mysql.qcow2 from stackrc
We no longer host this on tarballs.o.o, additionally it is no longer
used my trove.

Change-Id: I2034e8ebc530704d6e63a231056f92e14a8654e4
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2017-07-11 11:40:24 -04:00
Jenkins e4b2e3b93e Merge "Put devstack-version info into separate file" 2017-07-11 06:16:29 +00:00
Leticia Wanderley cc36397134 Fixes devstack ldap plugin
When the ldap service is enable on local.conf devstack ldap
plugin starts slapd service using its default config on Ubuntu
and installs ldap-utils package.
Enables domain specific drivers on Keystone and creates LDAP
domain 'Users' with a demo user.

Change-Id: I8d7aa260b01f675e4ed201ef93bfd66474f4b228
2017-07-10 17:06:16 -03:00
Dan Smith f3d5331572 Fleetify nova conductor for N cells
This makes us start two levels of nova-conductor processes, and one per cell.

Note that this also sets the notification transport_url to the top-level mq
so that we continue to get a unified stream of notifications.

Related-Bug: #1700496
Change-Id: I08d7da843d18b426dda8a8a231039d950a4c0ce5
Depends-On: I64b600b30f6e54db0ec9083c6c176e895c6d0cc2
Depends-On: If59453f1899e99040c554bcb9ad54c8a506adc56
2017-07-07 13:23:17 -04:00
Ian Wienand 07cbc44942 Put devstack-version info into separate file
As a follow on to I4c269a7f3d63ee9a976e7c3636fc3e5e8dab9ae3; the
quoting gets tricky when putting arbitrary command-substitution
strings into saved echo-able strings.  As they say, "the only winning
move is not to play" :)

An alternative proposal is to not write this into a script but just
dump info into a file.  To my mind, this has several advantages --
avoid getting involved in quoting, not dropping a script into the
global environment -- it's just as easy to "cat" -- and the plain-text
file can be collected as an artifact during log collection (also moved
git commit line to separate line for easier parsing during log search,
etc).

Change-Id: Ic7391dd087657c0daf74046e4a052c53f4eb6e1a
2017-07-03 11:56:16 +10:00
Matthew Treinish b79531a9f9 Increase the socket timeout on uwsgi local mode
This commit increases the socket timeout value from 4 secs to a much
higher 30 secs. This is just for sanity, the load is high when we're
seeing the wsgi.input timeouts, so uwsgi might be just closing the
socket waiting for data over the wire. 30 seconds is overly conservative
just so we can rule this out. This will likely be shrunk to a more
reasonable value in the future.

Change-Id: Iae85d3a084fb33b2a63550d6e353413e98c0b39c
Partial-Bug: #1701088
2017-06-30 12:24:21 -04:00
Matthew Treinish 1560efe9c9 Switch local http uwsgi conf to http-socket mode
Previously the local uwsgi server mode was using uwsgi in http mode.
This was unessecary and actually not recommend by the uwsgi docs [1][2]
This is because http mode starts a frontend http process that forwards
requests to the workers running the python code. This is done for the
largely the same reasons we're using apache as a proxy and is
unnecessary. http-socket mode doesn't do this and just exposes the
workers as an http interface to the proxy. (in our case apache)

[1] http://uwsgi-docs.readthedocs.io/en/latest/HTTP.html#http-sockets
[2] http://uwsgi-docs.readthedocs.io/en/latest/ThingsToKnow.html

Change-Id: I5671687c8083fa4bdee066c07b083a0f00be532b
2017-06-30 12:24:21 -04:00
Manjeet Singh Bhatia 3415521d56 Don't dump commit message header to devstack-version
Dumping commit message to /usr/local/bin/devstack-version
has broken devstack build, because of bash error in formatting.
error log [1].

[1]. http://logs.openstack.org/20/418720/6/check/gate-tempest-dsvm-networking-odl-boron-snapshot-v2driver/ed9fd45/logs/devstacklog.txt.gz

Change-Id: I4c269a7f3d63ee9a976e7c3636fc3e5e8dab9ae3
2017-06-30 02:01:06 +00:00
Jenkins 248d54b51b Merge "Ensure keepalive isn't used on uwsgi http mode" 2017-06-29 23:03:42 +00:00
Jenkins 8f314400d8 Merge "Set specified header size when enabling tls-proxy" 2017-06-29 23:00:35 +00:00
Jenkins 02d8a0cd21 Merge "Use uwsgi for nova when NOVA_USE_MOD_WSGI is not False" 2017-06-29 18:02:31 +00:00
Sean McGinnis daf1274409 Run cinder-api with uWSGI
Per the Pike goal, switching the Cinder API control plane to
use WSGI in Apache.

Co-Authored-By: Ivan Kolodyazhny <e0ne@e0ne.info>
Depends-On: Ie8a0eeab1bf31887d6f37cf155b2d161ddfb172d
Depends-On: I14b68f36e7fcc5341bbdbcf165274d9d50f7dd04
Change-Id: I8cef6c98f9242cc38d66de0ac499490e2a237887
2017-06-29 15:13:49 +03:00
Jenkins 66109302ab Merge "Switch to lioadm for centos cinder" 2017-06-28 23:22:30 +00:00
Jenkins 51a4c28b02 Merge "Add devstack-version script" 2017-06-28 23:19:25 +00:00
Matthew Treinish 82d0610f14 Ensure keepalive isn't used on uwsgi http mode
According to the uwsgi docs [1] for http keepalive there is a separate
option for http keep alive, and just setting connection close isn't
enough. This commit makes sure we disable http keepalive. This will
hopefully fix the random connection issues we get on image uploads to
glance, which uses uwsgi http mode.

[1] http://uwsgi-docs.readthedocs.io/en/latest/HTTP.html#http-keep-alive

Change-Id: Ic5f83c5c93f28b2bd62ca9ac96ca8c87797ea5c9
Closes-Bug: #1701088
2017-06-28 17:42:31 -04:00
Jenkins 9c39cb68df Merge "Stop setting osapi_volume_base_URL" 2017-06-28 21:33:24 +00:00
Sean Dague 2c0faca038 Add devstack-version script
This will help in collecting information about the devstack version
being used.

Change-Id: I23a8ca023bda6d097051cd57ae45401806451ad5
2017-06-28 13:53:37 -04:00
Chris Dent b90bb1a461 Use uwsgi for nova when NOVA_USE_MOD_WSGI is not False
Unless NOVA_USE_MOD_WSGI is False, run nova-api and nova-metadata
using uwsgi.

Because the metadata server is always expected to run on a port and
without a prefix, we have it configured to use uwsgi but not to
proxy from apache: uwsgi listens on the configured port itself.

uwsgi process that listen themselve do not need a socket or to
chmod-socket, so those config lines have been moved to the block
that is also writing proxy configuration for apache.

Because this change only uses uwsgi for nova-api and nova-api-meta,
nova-api-meta is set to default to enabled in stackrc because the
nova-api wsgi application used by wsgi only presents the one service
(osapi_compute).

If NOVA_USE_MOD_WSGI is False and tls_proxy service is enabled,
nova-api is run on an internal port reached via the tls_proxy.

Depends-On: I8ff08d61520ccf04e32dcd02f4cecc39dae823cb
Change-Id: If2d7e363a6541854f2e30c03171bef7a41aff745
2017-06-28 17:46:22 +00:00
Jenkins 87362e5722 Merge "Revert "Revert "Use uwsgi for glance-api""" 2017-06-26 23:27:14 +00:00
Jenkins 2967ca3dfd Merge "Actually check if roles are set" 2017-06-26 23:26:27 +00:00
Jenkins cb62ef8336 Merge "Revert "Fleetify nova conductor for N cells"" 2017-06-26 15:49:03 +00:00
Matt Riedemann 20eeff813d Revert "Fleetify nova conductor for N cells"
This reverts commit f63aa021cf.

Change-Id: I541abe7311e5721d79e300fcb2a0b8ffdcd3c015
Related-Bug: #1700364
2017-06-26 07:53:08 +00:00
Jenkins 2b06b1a072 Merge "Change restart Always to always" 2017-06-26 06:43:04 +00:00
OpenStack Proposal Bot 580a506f25 Updated from generate-devstack-plugins-list
Change-Id: I6e040449252aae43f330d545d979b3bdba6f855a
2017-06-25 08:01:06 +00:00
Jenkins 3c9032fd52 Merge "Download etcd3 only zip file not exists" 2017-06-24 10:53:43 +00:00
Jenkins 3ed001821b Merge "Revert "systemd: Always create the systemd unit files"" 2017-06-23 23:41:16 +00:00
Matthew Treinish 1fa6536357 Revert "Revert "Use uwsgi for glance-api""
This reverts commit 3410e3e01b.

Change-Id: Ic58711311eb8534cb3c4b25c333197c412ffdce5
2017-06-23 22:32:37 +00:00
YAMAMOTO Takashi c087c71834 Revert "systemd: Always create the systemd unit files"
This reverts commit 15b0a5f1eb.

The change had an assumption that a service
is properly configured even when it isn't enabled.
The assumption is not true.

Change-Id: Ib5a8ffe63eaec15bc29bfdd133db7169507bab82
Closes-Bug: #1698129
2017-06-23 15:08:38 +00:00
Jenkins a02b9ba1b1 Merge "Fleetify nova conductor for N cells" 2017-06-23 11:36:35 +00:00
Jenkins 13d376d672 Merge "Ignore etcd files downloaded to files/ dir" 2017-06-23 11:28:12 +00:00
Jenkins 44ff39538c Merge "Fedora mariadb: disable cracklib" 2017-06-23 11:28:05 +00:00
Jenkins fb24c26278 Merge "Add python-barbicanclient to LIBS_FROM_GIT" 2017-06-23 11:12:44 +00:00
Yuval Brik 13e81ad1cf Fedora mariadb: disable cracklib
In Fedora mariadb, cracklib has been enabled [0] in order to verify the
password strength.
Disable cracklib in Fedora devstack in order to allow simple passwords
in dev environments.

[0] https://src.fedoraproject.org/cgit/rpms/mariadb.git/
    commit: 9442da192282aa74f43e86c96202109a173bbaba

Change-Id: I2d5e965f0f19f86992794eec78134e862899c931
2017-06-23 10:32:16 +03:00
Jenkins 41f61ad99e Merge "Revert "Use uwsgi for glance-api"" 2017-06-22 18:46:22 +00:00
Jenkins 62f800b196 Merge "cleanup comments" 2017-06-22 15:19:09 +00:00
Jenkins a1f45c6117 Merge "remove lib/os_brick" 2017-06-22 15:07:30 +00:00
Jenkins b9ffb5abcc Merge "mv lib/oslo to lib/libraries" 2017-06-22 15:01:21 +00:00
Kaitlin Farr ed7dbe5754 Add python-barbicanclient to LIBS_FROM_GIT
Allow python-barbicanclient to be installed from git instead of pip.

Change-Id: I99cd72724e11bab362bcaaeb773f33b2abfe815c
2017-06-22 09:45:28 -04:00
TommyLike 599ecfbd4c Download etcd3 only zip file not exists
Give a change to manually prepare the zip file
for etcd.

Change-Id: I54283cf2ed62bb716af34df21e8c168014264c8c
2017-06-22 08:43:27 +00:00
Ian Wienand 3410e3e01b Revert "Use uwsgi for glance-api"
This reverts commit e6217a9719.

Unfortunately it seems to break glance; for examples see some of the
nodepool dib jobs which have all failed to upload images into glance.

Note this has a revert for 43304849cf as
well, since that uses GLANCE_URL defined here.

[1] http://logs.openstack.org/51/475051/2/gate/gate-dsvm-nodepool-redhat-src/e1bdb34/
[2] http://logs.openstack.org/51/475051/2/gate/gate-dsvm-nodepool-ubuntu-src/6a7665b/
[3] http://logs.openstack.org/51/475051/2/gate/gate-dsvm-nodepool-opensuse-src/b357de1/

Change-Id: I2aea120e733b05e806801121ec994f4e31a337d9
2017-06-22 13:48:06 +10:00
Monty Taylor 43304849cf Set public_endpoint to GLANCE_URL for glance-api
We run glance behind uwsgi. This means that the URL glance knows about
itself is wrong, and version discovery fails. Set the public endpoint to
the value of GLANCE_URL which should always be correct.

Change-Id: Ia7c69024a0ef6cc0fdc284ffcd06eee5678a1007
2017-06-21 21:45:14 +01:00
Sean Dague 7e41c6ce66 cleanup comments
Change-Id: I685f726178722e58ccfd008bad16a671cc8b8e2a
2017-06-21 10:55:16 -04:00
Sean Dague 99a6477c49 remove lib/os_brick
Fold this back into lib/libraries

Change-Id: I2c4e3ebf1a1cc65841e4470d5cfe073f9b505d5f
2017-06-21 10:46:12 -04:00
Pavlo Shchelokovskyy d064acce4c Ignore etcd files downloaded to files/ dir
Change-Id: Ic1458a612ccdefdcc34880529a259513135fa7a1
2017-06-21 09:18:46 +00:00
Jenkins 7fef90aff9 Merge "Use uwsgi for glance-api" 2017-06-21 08:34:52 +00:00
Sean Dague 3ed99c0b27 mv lib/oslo to lib/libraries
There is confusion about where installation of new libraries should
end up, to prevent lots of little files being added make a
lib/libraries which is the old lib/oslo. Put compat functions and
includes in place to help with transition.

Change-Id: Ieeab605d187ef6aec571211ab235ea67fa95a607
2017-06-20 14:09:30 -04:00
Jenkins 3603bf59c3 Merge "rework etcd3 install to be like other devstack services" 2017-06-20 16:14:43 +00:00
Sean Dague 62b56601a9 rework etcd3 install to be like other devstack services
This separates out the install phase early from the start phase to
make this mirror other services in devstack.

Depends-On: I4124dc7e3fd3b4d973979da85209ec991c0f8c4b

Change-Id: I76f8740448b25a48869ee80006e826baa6cafc2b
2017-06-20 10:24:01 +00:00
Jenkins 805304f2ce Merge "Add a function to get an available random port" 2017-06-20 09:11:25 +00:00
Jenkins d9d10df6cd Merge "etcd3: Allow for multi-host deployments" 2017-06-19 13:38:21 +00:00
Jenkins b9f00f4539 Merge "docs: add "kvm on s390x" specific configuration in local.conf" 2017-06-19 13:25:03 +00:00
OpenStack Proposal Bot 41da1a9feb Updated from generate-devstack-plugins-list
Change-Id: Ida1d6d012e1e05f35ba45670436acd6f920c9575
2017-06-19 08:55:47 +00:00
Antoni Segura Puimedon 19279b0f87 etcd3: Allow for multi-host deployments
In Multi host deployments, it is possible to run ETCD in a different
host than the SERVICE_HOST (where all the controllers run). This patch
brings that distinction.

Change-Id: I15fe6f25eedf1efebaab81cce26b080577b856cc
Signed-off-by: Antoni Segura Puimedon <antonisp@celebdor.com>
2017-06-16 16:04:59 +02:00
Jenkins 418bbddc81 Merge "Provide timings for OSC during devstack run" 2017-06-15 19:36:32 +00:00
Jenkins b24bfac43d Merge "Track db sync command time useage" 2017-06-15 19:36:25 +00:00
Sean Dague 85cf2933cc Provide timings for OSC during devstack run
The OSC number remain high, and it's useful to understand how much
time we spend making OSC calls, especially to surface it relative to
other items. The way we embed this in our code makes it hard to
instrument.

This patch creates a wrapper function for OSC which collects the timings
then aliases `openstack` to that function. This means any invocations of
the openstack utility goes through our function while devstack is
running. Because this is an alias it only affects the stack.sh shell and
any subshells.

This also moves the time tracking infrastructure to count in ms,
instead of s, because some of these operations are close enough to a
second that rounding early is losing way to many significant
digits. We divide by 1000 before reporting to the user.

Change-Id: Ic5f1844ce732d447ee980b3c9fdc417f72482609
2017-06-14 16:43:49 -07:00
Clark Boylan 3e9b562d0b Actually check if roles are set
In the helper functions to check if roles are set and if not add the
role and return the id we weren't actually checking if the role was set.
The reason for this was we grepped for name values while outputing only
uuid values with OSC. Fix for this is straightforward, we just add the
--role argument to OSC which will filter for us then we don't have to
use a grep on the wrong value type.

Change-Id: I2691b347d2a6273100deb4a1750ab353a8e49673
2017-06-14 15:35:29 -07:00
Clark Boylan 633dbc3d8e Track db sync command time useage
We are trying to keep better track of what pieces of devstack consume
the most time. Add the db sync commands to the time tracking as they run
the database migrations which can take more time than expected.

Change-Id: Ib92f2b8304ccf703712d45fd7207444de3599e2d
2017-06-14 12:09:21 -07:00
Jenkins a4c21ff9b2 Merge "Support unicode via en_US.utf8" 2017-06-14 18:35:31 +00:00
Jenkins 7b3968b382 Merge "Increase KEYSTONE_LOCKOUT_DURATION to 10" 2017-06-14 16:10:35 +00:00
Jenkins 2b76a75ff4 Merge "Improve OpenStack performance by redcuing bcrypt hasing rounds number" 2017-06-14 16:10:29 +00:00
Jenkins 3350542a44 Merge "Set swift functest config when using tls" 2017-06-14 16:09:11 +00:00
Clark Boylan d095e97624 Support unicode via en_US.utf8
Because C.utf8 is not everywhere and is sometimes called C.UTF-8 (just
to confuse people) use en_US.utf8 which is in most places. This isn't
language/region agnostic but gives a consistent unicode aware locale to
devstack.

Change-Id: I67a8c77a5041e9cee740adf0e02fdc9b183c5bc4
fixes-bug: 1697733
2017-06-14 10:13:14 -04:00
Jenkins 29215d95c7 Merge "systemd: Always create the systemd unit files" 2017-06-14 07:50:37 +00:00
Jenkins 660f4ae3ca Merge "Support installing os-traits from git" 2017-06-14 06:19:11 +00:00
Jenkins f1da3fbf75 Merge "Install test-requirements with main install" 2017-06-14 06:19:04 +00:00
Jenkins 2c0692c2c7 Merge "Remove temporary openSUSE-42.2 workaround" 2017-06-14 06:18:58 +00:00
Jenkins f500d6a29d Merge "Use systemd-tmpfiles to create /var/run/uwsgi" 2017-06-14 06:18:12 +00:00
Markus Zoeller 15b0a5f1eb systemd: Always create the systemd unit files
Commit 5edae54 introduced the usage of systemd in Devstack. This allowed
the transition away from 'screen'. Systemd needs "user unit files" to
describe the services. Currently, those unit files get only created when
an openstack service (n-cpu, c-sch, g-api, ...) is in the list of enabled
services (`ENABLED_SERVICES`). This means, when Devstack is fully stacked,
there is no way to start the systemd unit of an openstack service which
is *not* in that list.

This commit changes that behavior, and creates the systemd unit files
independently of the list ENABLED_SERVICES. This means, when Devstack
is fully stacked, I can start a systemd unit of an openstack service which
wasn't in the ENABLED_SERVICES list. This allows more flexible lifecycle
management of openstack services in the gate, which is useful for tests
which test components which are not in the "default configuration" (e.g.
the "nova-serialproxy" service).

The `clean.sh` script purges all traces of systemd user unit files created
by devstack.

Change-Id: I0f7e1ee8723f4de47cbc56b727182f90a2b32bfb
2017-06-14 14:29:39 +10:00
Boris Pavlovic 2b6e9ac471 Improve OpenStack performance by redcuing bcrypt hasing rounds number
Reduce bcrypt hashing rounds from 12 to 4 (minimal possilbe).

This is going to imporve a lot of perforamcne of OpenStack.

Bcrypt is hashing algorithm that is designed to use a lot of resources and
in that way stops brutforce attacks. It's exponential algorithm that depends
on amount of rounds. By default they use 12 rounds which is quite high value,
good enough for real secure production enviorments.

In case of DevStack it's going to slow down all authentication by many times.
Rally shows about 5 times slownest (adding 2-5 seconds to every authenticate)
DevStack is meant for developemnt & CI so performance is way more important than
security.

Change-Id: Id8c763d63cb91f37a774f9400f35c309f37d6f12
2017-06-13 18:33:28 +00:00
Jenkins f4b4a79979 Merge "XenAPI: Move dom0 related operations to os-xenapi devstack plugin" 2017-06-13 13:56:12 +00:00
Jenkins e403cd3c00 Merge "nova: fix usage of scheduler_driver config option" 2017-06-13 08:40:58 +00:00
Clark Boylan f266a2dc81 Install test-requirements with main install
To reduce the total number of invocations necessary for pip which isn't
the quickest thing ever (due to needing to evaluate constraints and deps
lists and what is currently installed) combine the main installation of
software with its test-requirements.txt file which should roughly halve
our pip invocations.

Change-Id: Ibcc3264136e66d34a879ad1c90a62e1bb6a84243
2017-06-12 14:57:59 -07:00
Dan Smith f63aa021cf Fleetify nova conductor for N cells
This makes us start two levels of nova-conductor processes, and one per cell.

Change-Id: Ice4aceac5dc44954db3661480b9365f54e47a4c9
2017-06-12 12:44:22 -07:00
Lance Bragstad dcd4b64c99 Increase KEYSTONE_LOCKOUT_DURATION to 10
Transient failures were being reported because the current lockout
period for users was too short. While this does increase the
run time IdentityV3UsersTest.test_user_account_lockout, it
allows for more flexibility if there is network latency or some
other factor that cause the lockout to expired before the
next authentication.

Change-Id: I61bc39bbc35ac414b4a72929a90845956c99eb1a
Closes-Bug: 1693917
2017-06-12 14:41:42 +00:00
Jenkins 9234316794 Merge "Make use of Ubuntu Cloud Archive switchable" 2017-06-09 01:55:36 +00:00
Huan Xie f15fd26943 XenAPI: Move dom0 related operations to os-xenapi devstack plugin
When installing OpenStack via DevStack on XenServer, we need to
some preparation operations in dom0 which will refer the function
in devstack/tools/xen/functions file, but we are planning to move
the whole folder of tools/xen from devstack to os-xenapi, so it
this patch is to moving the dom0 related operation to os-xenapi
repo first.

Change-Id: Ib59d802a7a4eab4ccce0e29d80f29efa4655bc0b
Depends-On: I712ee74ce945859ba5118e09b7d9436ca2686cb7
2017-06-07 22:02:56 -07:00
Jenkins 1ca22d50b0 Merge "Don't treat service as enabled if in disabled list" 2017-06-07 22:02:53 +00:00
Jenkins 986da6428d Merge "Updated from generate-devstack-plugins-list" 2017-06-07 18:43:12 +00:00
Clark Boylan 902158bb8f Don't treat service as enabled if in disabled list
The old implementation for is_$service_enabled simply checked if any of
the subservices were enabled and if so the service was considered to be
enabled. This makes disabling services complicated as it means you have
to list every single subservice which can and do change over time.

Instead also check if the generic service name is in the disabled
services list and if so don't treat the service as enabled.

Change-Id: I7fe4dfca2cd9c15069d50a04161a29c5638291cb
2017-06-07 17:23:38 +00:00
Matt Riedemann 886d7dbe12 nova: fix usage of scheduler_driver config option
The scheduler_driver option has been moved and deprecated. This
change uses the new group and name for the option.

Change-Id: I27aeff5911510c9f47191acaa0c0b5b71f977cd7
2017-06-07 10:52:20 -04:00
Jenkins 3742b14622 Merge "Change "files" directory in etcd project" 2017-06-07 13:33:58 +00:00
OpenStack Proposal Bot a40e036d80 Updated from generate-devstack-plugins-list
Change-Id: I5980980fe5071a781b5b95efd69f479359f8ee6e
2017-06-07 08:24:31 +00:00
Dirk Mueller bbf14db3a7 Remove temporary openSUSE-42.2 workaround
We required initially 42.2 test updates to be enabled as the
liberasurecode-devel update wasn't released. It is now released
so we can stop pulling that part in.

Change-Id: I4e514e317da8a95809593a49c6dce619bc4c021f
2017-06-06 23:29:41 +02:00
Jenkins 4bca739576 Merge "Use correct argument order in truorfalse for USE_JOURNAL" 2017-06-06 13:24:32 +00:00
Jenkins bc8d7ef89e Merge "Start placement before services that might like to use it" 2017-06-06 00:01:06 +00:00
Jenkins 64d20857ed Merge "Enable opensuse-42.2 as a tested distro" 2017-06-05 23:56:45 +00:00
Jenkins c639fc4302 Merge "Fix configuration link syntax error" 2017-06-05 22:01:24 +00:00
Matt Riedemann aefc926cd4 Support installing os-traits from git
This will be used in a src job for running os-traits changes
in a dsvm/tempest setup.

Change-Id: I3c4433fb1ca2787e96b577a15d584b625c364ef3
2017-06-05 20:45:43 +00:00
Jenkins adabee29f6 Merge "Don't run and check c-api if it is disabled" 2017-06-05 20:22:10 +00:00
Clark Boylan f4dbd12f78 Set specified header size when enabling tls-proxy
As part of getting swift's functional testing to work properly through
the tls-proxy we need to increase the allowed request header size in
apache. This was a non issue without tls proxy as requests hit the
eventlet webserver directly which was configured via the swift config
which sets this relatively large limit (by default devstack configures
swift to have a header size limit of 16384).

Now we pass in an optional parameter to start_tls_proxy that includes
the desired header size. lib/swift then passes in the value it also
configures in its swift.conf.

If not explicitly set we default to 8190 which is apache2's default.

Change-Id: Ib2811c8d3cbb49cf94b70294788526b15a798edd
2017-06-05 12:47:50 -07:00
Jenkins e1a2448970 Merge "Expose etcd port as a variable" 2017-06-05 18:28:11 +00:00
Dirk Mueller e61e19ee82 Enable opensuse-42.2 as a tested distro
openSUSE 42.2 passes testing on the experimental gate and
in order to add it as continuosly tested target we need to
add it to the positive list of tested distributions.

Change-Id: I46f94cfad828534f324994c3d21bddff40e8f9a2
2017-06-05 19:28:30 +02:00
Clark Boylan e28db4c2f2 Set swift functest config when using tls
Because the swift functests (which use test.conf) run out of a
virtualenv they don't get access to the system wide trust of the
devstack CA. Handle this by explicitly configuring the cafile to trust
in the test.conf file.

We also set the web_front_end to apache2 as that is what is terminating
TLS for us. The tests handle different web server behaviors using this
flag.

Swift's functests will need to read these values in and properly
configure things on its end.

Change-Id: I4cdba36ccab6acd76205184882ee29e4f1e12333
2017-06-05 09:21:46 -07:00
Chris Dent 7a74c2ab24 Start placement before services that might like to use it
Otherwise those services, notably n-cpu, will try to register
resource providers before placement is ready.

Change-Id: I89fd4fa42baf3d19ee209c59cd85b97adb97c58b
Closes-Bug: #1695634
2017-06-05 16:18:46 +00:00
Matt Riedemann 1ade00da55 Fix scheduler_default_filters usage
The scheduler_default_filters config option moved out of the
DEFAULT option group into a more specific group, and the old
option is deprecated as a result so we need to update our usage.

Change-Id: I5d6574d19c3f16abadddb19f34cb645dcdcc07f4
2017-06-05 11:01:45 -04:00
gong yong sheng 07b3bc24a3 Change restart Always to always
Change-Id: I1cb00cc012eda72ff50e958ba1fb04daeac69e26
Closes-bug: #1695822
2017-06-05 14:04:00 +08:00
Jenkins dc9ef55fc6 Merge "Make stack.sh work on SUSE" 2017-05-31 20:48:10 +00:00
Jenkins a718b5ea92 Merge "Use proper python when configuring certs" 2017-05-31 19:59:59 +00:00
Rodolfo Alonso Hernandez 6f962a2ee5 Change "files" directory in etcd project
Function "_install_etcd" is trying to use "files" directory
to download a file. Instead of this, this directory should be
$FILES, which is defined previously in parent script.

TrivialFix
Change-Id: I643ce3b9aba1f65f03524430c748bf120d071509
2017-05-31 13:36:22 +01:00
Jenkins 86f9bc7b0b Merge "Add global_request_id to systemd logs" 2017-05-31 12:29:52 +00:00
Jenkins b3ced44e37 Merge "Configure volume_clear setting per backend" 2017-05-31 05:14:58 +00:00
Jenkins d94f44558a Merge "Use string cert CA defaults" 2017-05-31 04:29:13 +00:00
Sean McGinnis 29ec28216f Configure volume_clear setting per backend
volume_clear is currently set in the DEFAULT section,
but this is a backend specific setting, and therefore
needs to be set in the backend config section.

Change-Id: Ifa3a659bb4768b8915a0f23e7f14b0f3348d93d2
2017-05-30 15:51:17 -05:00
Clark Boylan 2dfca047d9 Don't run and check c-api if it is disabled
Previously we didn't block out the c-api startup code because the
devstack functions to start services check that for us. However, since
the cinder devstack code checks the service is up and runs the tls proxy
if tls is enabled we need to block it all off to avoid doing those
things if c-api is disabled.

Change-Id: I1c4f22f785af96caaf4baa21ff28714b9afd3458
2017-05-30 13:22:39 -07:00
Markus Zoeller 14728c7a51 docs: add "kvm on s390x" specific configuration in local.conf
The upstream CI runs exclusively on nodes with x86 architectures, but
OpenStack supports even more platforms. One of them is the KVM
on s390x (IBM z systems), which is supported since the *Kilo* release.
This change describes the additional settings in the ``local.conf`` file
to enable Devstack on that platform. This is useful for PoCs.

Change-Id: I943b552ca2e36210ac57f36c16db930eb5e58623
2017-05-30 13:53:36 +02:00
Clark Boylan 35649ae0d2 Make stack.sh work on SUSE
This adds packages to suse for systemd python linkages as well as
apache2 and which. And configures mod_proxy and mod_proxy_uwsgi with
a2enmod.

We also properly query if apache mods are enabled to avoid running
into systemd service restart limits. Enable mod_version across the board
as we use it and it may not be enabled by default (like in SUSE).

Also in addition to enabling mod_ssl we enable the SSL flag so that TLS
will work...

Finally we tell the system to trust the devstack CA.

Change-Id: I3442cebfb2e7c2550733eb95a12fab42e1229ce7
2017-05-28 09:58:51 -07:00
Matthew Treinish e6217a9719 Use uwsgi for glance-api
This commit adds support for deploying glance as a wsgi script under
uwsgi. To get around limitations in the uwsgi protocol when using
python3 for chunked encoding we have to setup uwsgi in http mode on a
random port listening on localhost and use mod_proxy to forward the
incoming requests. The alternative approach of having apache buffer the
requests locally with the send_cl option with mod_proxy_uwsgi only
worked on python2 and also has the limitation that apache is buffering
the entire chunked object, which could be several gigabytes in size.

Depends-On: I089a22a4be4227a551c32442dba27c426f54c87d
Change-Id: Ie98fb7da5e8ecfa49cd680b88139cb7034d5f88f
2017-05-28 14:36:36 +00:00
Matthew Treinish 309b99ebcf Add a function to get an available random port
This commit adds a new function get_random_port to return a randomly
available port from the local port range.

Change-Id: Icaed180cc14602a74cdb3fd3456b690d8a4c729c
2017-05-28 10:04:53 -04:00
Clark Boylan 4baac65725 Use proper python when configuring certs
We have to do silly overrides of cert locations for requests for
reasons. If we are running under python3 then we were previously looking
in the wrong location for the requests certs. Update the cert fixing
function to properly use python3 to find the certs if python3 is
enabled.

Change-Id: Id1369da0d812edcf9b1204e9c567f8bfe77c48b2
2017-05-27 20:57:56 -07:00
root fabc976e41 Fix configuration link syntax error
The configuration guide link has syntax problem in README.rst,
and the click the link will lead to page 404.

Fix the syntax problem

Change-Id: I47a1641a6898930dca508cdac98b1b43c05dc446
2017-05-27 15:03:58 +08:00
Hongbin Lu de8580691d Expose etcd port as a variable
This allows devstack plugins to retrieve the etcd port from devstack
instead of hard-coding it.

Change-Id: I106b559b8ac0fb99a0426bce97a27f67e32d264d
2017-05-27 03:54:45 +00:00
Jenkins 899616290c Merge "Change version of noVNC to stable" 2017-05-26 21:21:19 +00:00
Jenkins 6b1967bba4 Merge "Remove nova cert from devstack" 2017-05-26 19:33:42 +00:00
Jenkins 202470eca1 Merge "Do not upload vhdx images as vhd" 2017-05-26 19:33:35 +00:00
Jenkins 8085df74a8 Merge "Use the proper keystone endpoints in clouds.yaml" 2017-05-26 19:24:51 +00:00
Jenkins ff40f6e291 Merge "lib/neutron: Don't assume plugin config is provided by neutron repo" 2017-05-26 19:24:44 +00:00
Jenkins f8aad91bd1 Merge "cleanup: remove DEVSTACK_CINDER_SECURE_DELETE" 2017-05-26 19:22:48 +00:00
Jenkins 4faa849565 Merge "update sphinx" 2017-05-26 19:22:36 +00:00
Jenkins 4ae18aec88 Merge "stack: Workaround libvirt issue with multiple of 16 byte fixed_key values" 2017-05-26 19:22:30 +00:00
Jenkins 6d302a8324 Merge "Enable ssh validation by default" 2017-05-26 19:21:11 +00:00
Kirill Zaitsev d0db62a476 Use systemd-tmpfiles to create /var/run/uwsgi
On ubuntu contents of /var/run do not persist between reboots. Devstack
uses /var/run/uwsgi as home for wsgi sockets. This means that after
rebooting the machine services, that rely on uwsgi would fail to start.
Currently it affects keystone.service and placement-api.service.
This patch changes delegates directory creation to systemd-tmpfiles,
which would run on startup.

Change-Id: I27d168cea93698739ef08ac76c828695a49176c7
Closes-Bug: #1692767
2017-05-26 19:11:02 +03:00
Sean Dague e123edeebf Add global_request_id to systemd logs
With cinder supporting this now, start logging global_request_id in
systemd logs. It will be None for all the services until the work
starts coming together, but it is safe to do.

Change-Id: Ic6ba1a42da88c03e43d89658b453f6a0b353e0db
2017-05-26 07:18:32 -04:00
Jenkins 9b2a2fa55d Merge "Fix typo" 2017-05-25 20:52:28 +00:00
Jenkins 7b230532dc Merge "Get rid of zookeeper from devstack" 2017-05-25 18:46:09 +00:00
Davanum Srinivas 853b475bfd Fix typo
should be etcd3

Change-Id: Icfa24654699a4e4e4be8a53f7bbe4634badbff7b
2017-05-25 13:03:58 -04:00
Amrith Kumar bb436d3373 Make use of Ubuntu Cloud Archive switchable
The trove development environment is typically a linux VM within which
openstack is installed, and trove launches guest vm's within that
environment. To make it possible for these vm's to launch in one human
lifetime, one must set vt/x and enable nested hypervisors to use with
kvm; qemu emulation will take way too long.

The new libvirtd (v2.5.0) in Ubuntu Cloud Archive doesn't handle
nested hypervisors well and if you use it, you end up with a guest
hanging on the GRUB line.

To enable that use-case, we provide ENABLE_UBUNTU_CLOUD_ARCHIVE which
the trove developer can set (to False) before running devstack.

Change-Id: Ia0265c67bb7d2a438575a03c0ddbf2d9c53266ed
Closes-Bug: #1689370
2017-05-25 12:36:25 -04:00
Kirill Zaitsev c0644f39a4 Use correct argument order in truorfalse for USE_JOURNAL
truorfalse function from common-functions accepts default as the first
parameter. The arguments for USE_JOURNAL were mixed up and this commit
restores correct order.

Change-Id: Id3621b0e1910a625d6cfb8e81bd27bea82543ae9
2017-05-25 12:16:11 +00:00
Jenkins 793db3ac35 Merge "Allow disabling etcd3" 2017-05-24 17:01:32 +00:00
Jenkins f0442dd592 Merge "Use sha256sum instead of gpg for verification" 2017-05-24 14:57:29 +00:00
Davanum Srinivas c0d16c279a Get rid of zookeeper from devstack
In Ibbb430fb1dbf66942168e0cb52d990ab6a2eb8d7, we are adding
etcd3 as a new base service. We should drop zookeeper
and use etcd3 as the backend.

Since cinder is the first service for this tooz+etcd3 DLM
scenario and cinder uses eventlet we have cannnot use the
grpc based driver in tooz. So new CINDER_COORDINATION_URL
that defaults to the etcd3's grpc HTTP gateway based
tooz backend.

We need to hold this change until the tooz change (see
Depends-On) is available in a tooz release.

Depends-On: I6184ed193482dad9643ccb2b97133d4957485408
Change-Id: Ia187e1a86413edf25b909b6bb57e84fb4930a696
2017-05-24 14:13:27 +00:00
Andreas Scheuring 94b9fae4e9 Allow disabling etcd3
Etcd3 was enabled recently as new service in devstack [1]. But there's
no way to disable etcd3. This is required on architectures where no etcd
binaries are available (e.g. s390x). The long term goal of course should
be to have those binaries available. The short term circumvention is to
allow disabling the service in local.conf:

   disable_service etcd3

[1] https://github.com/openstack-dev/devstack/commit/546656fc0543ec2bc5b422fd9eee17f1b8122758
Change-Id: I6184ed193482dad9643ccb2b97133d4957485408
Partial-Bug: #1693192
2017-05-24 15:32:03 +02:00
Sean Dague bba924121c Use sha256sum instead of gpg for verification
gpg verification requires network connectivity which is non
mirrorable. We try to avoid that in devstack whenever possible. A
sha256sum is a totally reasonable way of knowing if the downloaded
package is valid.

Closes-Bug: #1693092

Change-Id: Id496ab53f76444f08dc6961f1ecd25f450cc96d7
2017-05-24 08:04:18 -04:00
Lucian Petrut 2715fd0b4a Do not upload vhdx images as vhd
This change ensures that when uploading vhdx images, we use the
proper format.

At the moment, vhdx images are uploaded as vhd, which can be
troublesome: first because this is misleading, second because the
actual image format may be checked, having the image rejected.

Change-Id: I9578be41ea9dc252404b7553679ac527e08a0ff6
2017-05-24 13:36:57 +03:00
Davanum Srinivas d8283fde66 Avoid installing etcd3 in subnodes
We need to handle this better, for now, just don't install
etcd in the sub nodes. We need to setup the proper clustering
mechanism if we want to have etcd3 running in multiple nodes

Change-Id: I8dd385e3c993942473e67d04367cdf74495dbeef
2017-05-23 22:12:42 -04:00
Jenkins 08de346d03 Merge "etcd3 as a base service" 2017-05-24 00:08:47 +00:00
Maciej Józefczyk 0d9fd60ad4 Change version of noVNC to stable
In master branch of noVNC project file vnc_auto.html was renamed to
vnc_lite.html Because of that nova-novncproxy looks for file that
actually doesn't exist.

We need to change branch of noVNC to latest stable, because other
projects are not ready yet to rename the path. Those projects
depends on noVNC package installed in system, but it is too old
for now for both CentOS (version 0.5) and Ubuntu (version 0.4).
The only way to make noVNC console working on Devstack is to change
the branch to stable one.

Unit test also has to be modified in order to ignore novnc repo
from checking against cloning non-master branch.

Change-Id: Iaf4761aedf93bc6b914a6a0c5cf1cfedcc29583c
Closes-bug: #1692513
2017-05-23 16:49:13 +02:00
Jenkins 23ed6666ed Merge "Always setup libvirt for tap devices when using Neutron" 2017-05-23 01:26:25 +00:00
Davanum Srinivas 546656fc05 etcd3 as a base service
ETCD_DOWNLOAD_URL is set to github url, in our CI, we can point
ETCD_DOWNLOAD_URL to a url in tarballs.openstack.org possibly
in devstack-gate

Download the etcd binaries and drop them into /opt/stack/bin and
use it from there. Cache the tgz for subsequent use (local workflow)

daemon-reload is called twice once from inside the write_user_unit_file
and then when we adjust the entries with additional things recommended
by the etcd team. We need a better way to do this in the future.

Added a TODO to verify the downloaded artifact later. The etcd team
posts gpg signature, we could verify that or run sha256sum and hard
code that in lib/etcd3 file. We would have to update it whenever we
bump the etcd3 version.

We use the public key "CoreOS Application Signing Key <security@coreos.com>"
with ID FC8A365E to verify the integrity of the downloaded file

Any jobs that need to be run on architectures where v3.1.7 is not available
should rey the v3.2.0-rcX release candidates. We can switch to v3.2.0
when it gets released.

Initial version of this code was borrowed from the dragonflow
repo:
http://git.openstack.org/cgit/openstack/dragonflow/tree/devstack

Change-Id: Ibbb430fb1dbf66942168e0cb52d990ab6a2eb8d7
2017-05-22 21:57:48 +00:00
Nir Magnezi ac2ae8c047 Remove nova cert from devstack
As a followup to I2c78a0c6599b92040146cf9f0042cff8fd2509c3, the nova
cert service should be removed from devstack.

Without this fix, stacking will fail is USE_SCREEN=True

Change-Id: I115580352fa380b896bae290f9a4efbfe4ff0dfd
2017-05-22 12:40:57 +03:00
Doug Hellmann 4db30f9f05 update sphinx
Update sphinx to the version used to build the documentation elsewhere
and turn on the option to treat warnings as errors to ensure that no
poorly constructed rst is introduced. Cap sphinx<1.6.1, since that
version has a conflict with pbr right now.

Change-Id: I19b3332229e2094988cbf8968c42a0323194a209
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2017-05-21 11:00:04 -04:00
Lee Yarwood 00ff904b09 stack: Workaround libvirt issue with multiple of 16 byte fixed_key values
Unable to use LUKS passphrase that is exactly 16 bytes long
https://bugzilla.redhat.com/show_bug.cgi?id=1447297

Change-Id: I565339762549b076119ffedb6b83abfa12977f5e
2017-05-19 13:49:35 +01:00
Jenkins 6a62619cbc Merge "add a table of contents" 2017-05-18 14:28:18 +00:00
Jenkins e4c98aa42a Merge "Add --tcp option to dstat command for connection stats" 2017-05-18 14:19:20 +00:00
Jenkins e19abda40a Merge "Restore log colors under devstack/systemd" 2017-05-17 20:10:30 +00:00
melanie witt fc572a5da0 Add --tcp option to dstat command for connection stats
This enables tcp stats (listen, established, syn, time_wait, close) in
dstat to allow us to get a high-level view of performance changes in
the system during gate runs.

Change-Id: Ifbffbed22446e7e6a3b825c18266b63d2f2e7718
2017-05-17 19:05:56 +00:00
Jenkins 5ff1b476e4 Merge "Copy 'resource_filters.json' file to cinder config folder" 2017-05-17 19:02:22 +00:00
Isaac Beckman 54a8dc291f cleanup: remove DEVSTACK_CINDER_SECURE_DELETE
DEVSTACK_CINDER_SECURE_DELETE is deprecated from liberty release.
This should have been removed after kilo-eol

Change-Id: I82c15a19f8fe0326d4a5c2a076baa6d3e53fcf32
2017-05-17 14:27:41 +03:00
Kevin Benton d1fe0e62e7 Always setup libvirt for tap devices when using Neutron
This logic has been tied to OVS since it was introduced in [1] and
revised in [2]. However, many other backends may use tap devices that
aren't related to OVS, such as Calico[3] and Linux Bridge after [4]
merges.

This patch just removes the dependency on OVS specifically so
/dev/net/tun is added to cgroups whenever any Neutron backend is used.
This is done in other deployment tools like Juju[5] so it's not
unprecedented.

1. Ifab268f739b004db13024633e8abeb17691b9e46
2. Ic1da132fa421f1c70c10a319ee3239831b0f956f
3.
http://docs.projectcalico.org/master/getting-started/openstack/installation/ubuntu#compute-node-install
4. I23c5faaeab69aede1fd038a36f4a0b8f928498ce
5.
https://github.com/openstack/charm-nova-compute/blob/2790f81ecd32d9962617c4c3126621fffdc318a0/templates/qemu.conf

Change-Id: I075595158d8f3b5a6811c4794aa7b91912940db5
Partial-Bug: #1675343
2017-05-17 06:07:35 +00:00
Jenkins 00e5a98eea Merge "Use -y with 'pip uninstall'" 2017-05-17 00:41:04 +00:00
Eric Fried 8cd310d763 Restore log colors under devstack/systemd
One of the pending issues with the conversion to systemd was the loss of
log coloring.  It turns out that journalctl by default strips out
characters it considers "unprintable" - including the color codes
emitted by the old-style logging.  However, journalctl can be made to
print them by adding the `-a` flag.

This change makes devstack's log formatter conf settings include color
codes like the old screen-based setup used to

We also remove stackrc's setting of JOURNALCTL_F, whose usage was
removed via I6af6d1857effaf662a9d72bd394864934eacbe70.

Change-Id: I2401e267913a24d18dae355aa933072dbbdab1d8
2017-05-16 14:56:57 -05:00
Brian Haley 954fd1b729 Use -y with 'pip uninstall'
'pip uninstall' will hang running stack.sh if it has to
prompt the user for input, use -y.

Change-Id: Ic94639e444b87fd3538463d5a51c01a0208a2ab2
Closes-bug: #1691172
2017-05-16 12:24:45 -04:00
Dan Smith 1f55d38911 Add systemd ulimit override function and set an override for NOFILE
This sets our default ulimit NOFILE to 2048, which is double what we
set things like mysql'd max_connections to.

Change-Id: I5126bed1e6b9f8c64db00eae4151ac61e47b1bf8
2017-05-16 09:23:28 -07:00
Jenkins ac042d4122 Merge "remove out of date heat references" 2017-05-16 15:15:34 +00:00
Doug Hellmann 84ce2f1c9b add a table of contents
Add a table of contents help readers find the information they need
without having to read all of the prose on every page. Remove the
site-map file, which doesn't appear to be linked anywhere.

Change-Id: Ib5761c9cfdd5a083df562413d727cb4ac7547c9e
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2017-05-16 10:47:09 -04:00
Jenkins 1d638a9b52 Merge "Make openrc more robust for grenade scenarios" 2017-05-16 14:47:04 +00:00
Jenkins 3420019d9d Merge "remove some unused *_PROTOCOL from export" 2017-05-16 14:46:50 +00:00
Jenkins 7834f5285f Merge "Document testing of new devstack features" 2017-05-16 12:41:51 +00:00
Jenkins 79911d8b19 Merge "uninstall libvirt-python and reinstall" 2017-05-16 12:41:44 +00:00
Jenkins 972b518148 Merge "Add files/ironic-inspector* to .gitignore" 2017-05-16 07:19:04 +00:00
Clark Boylan 2a6112ea9a Document testing of new devstack features
At the Boston 2017 Summit I had mentioned that the pattern of using non
voting/experimental jobs was not working for getting new features into
Devstack. It is slow and leads people to being too conservative when it
comes to pushing new things in. Instead I suggested that since Devstack
changes are self testing we add the features, have change that enables
the feature, and if that changes passes we move forward with merging
(assuming code review is fine and necessary communication is done).

Document this process in the HACKING file so that we have something we
can point to when people want to add a new experimental job for every
new little thing (ipv6, tls, systemd, etc).

Change-Id: I5190cc3d3de4e81d52748347306133b5034d5531
2017-05-12 10:16:33 -07:00
Angel Noam f24e29920b Add support for image name end with .raw
Change-Id: If3bd42825a29755fa8e68fa5661d068c6f0019d2
2017-05-11 15:13:29 +03:00
vmud213 db8a199b30 Add files/ironic-inspector* to .gitignore
When ironic-inspector is enabled through devstack, these two files
are created which needs to be masked.

Change-Id: I7a3db6fd6197da20cca1e938727d54195957ac18
Closes-Bug: #1690105
2017-05-11 09:38:25 +00:00
Jenkins 27df725179 Merge "Remove fping requirement" 2017-05-09 16:44:29 +00:00
Jenkins 6fe14a5d93 Merge "Always disable use of libvirt wheel with UCA" 2017-05-09 16:34:33 +00:00
Sean Dague f28e7ef6ba uninstall libvirt-python and reinstall
libvirt-python compiles against the currently installed libvirt. If
you upgrade that, it needs to rebuild, however it won't change
versions, so pip install just noops. Force an uninstall / reinstall of
it every time to handle potential upgrades of libvirt.

Change-Id: If34541b34aa6d55eedaf6c603fd1fe92eb887308
2017-05-08 07:30:20 -04:00
YAMAMOTO Takashi 1df17c94f5 lib/neutron: Don't assume plugin config is provided by neutron repo
It isn't the case for plugins provided by subprojects.

Change-Id: Ic28a9da9f11355e5e1eae5db9b2d4ee6ed081b55
2017-05-08 15:03:05 +09:00
Jenkins caad9221e0 Merge "default gateway regex: use exact match for iface name" 2017-05-08 03:15:07 +00:00
Jenkins 2b88b323c9 Merge "Fix systemctl option: removes --unit option in doc" 2017-05-07 17:03:50 +00:00
Jenkins 37a6b0b2d7 Merge "Set SyslogIdentifier for uwsgi processes" 2017-05-05 19:50:54 +00:00
Mike Perez 621704f4b3 Stop setting osapi_volume_base_URL
This option is a duplicate of public_endpoint for Cinder.

Change-Id: I8aee1b9f93a09d2e92bde80c0e413e1540723bac
Depends-On: I2a74af7906d14cbc49b8cf0a88c344ca30fcbd26
2017-05-05 09:03:39 -07:00
Sean Dague f41bf2a92f Set SyslogIdentifier for uwsgi processes
Now that we aren't using native journal messages by default, the
syslog identifier of all the uwsgi processes is the same. We should be
more explicit with those.

Change-Id: Id5406d02407b022d4016517c2e18890973876d88
2017-05-05 07:54:26 -04:00
Jenkins d235ca32f9 Merge "Make devstack fail early for common systemd pitfalls" 2017-05-05 11:41:26 +00:00
Jenkins 06dc8313ca Merge "Always have ./clean.sh run ./unstack.sh" 2017-05-05 05:25:43 +00:00
Jenkins 51a136a22c Merge "disable journald rate limiting" 2017-05-05 04:40:32 +00:00
Jenkins 620ae0339c Merge "Correct various inaccuracies in overview.rst" 2017-05-04 20:33:15 +00:00
Jenkins bf62c96702 Merge "convert README to rst" 2017-05-04 20:33:08 +00:00
Jenkins 6612f66374 Merge "Fix logging when under systemd" 2017-05-04 20:31:41 +00:00
Sean Dague eaadffe07b Always have ./clean.sh run ./unstack.sh
There was detection code in clean.sh to only run it if a screen
session was found, but in systemd world, that's obviously not
true. This was causing me (and others) substantial confusion.

Change-Id: I204e94cd86b8c67012aabfca74796e593151c3a4
2017-05-04 16:05:19 -04:00
Sean Dague e264b4ab32 disable journald rate limiting
systemd-journald has rate limiting built in, but that's not sufficient
for the level of logging of OpenStack services during test
runs. Disable the rate limiting so that no log messages are lost.

Change-Id: I64599aba74c5a39276bb8f946cd236600b9cc81b
2017-05-04 15:56:37 -04:00
Ian Y. Choi c2200bc880 Fix systemctl option: removes --unit option in doc
--unit option is for journalctl, not systemctl.
Just executing systemctl without "--unit=" works.

Change-Id: I9752561332e62ec6327b17b12d2d868892718041
2017-05-04 21:17:40 +02:00
Sean Dague 148d58c351 Make devstack fail early for common systemd pitfalls
There are a couple of issues that have ended up being hit by devstack
plugin authors which we can detect and error in a much nicer way
instead of them having a cryptic systemd failure.

Change-Id: I45e4ac363aeefb4503015f9e1b57c58f79b58f40
2017-05-04 13:08:25 -04:00
TommyLike 401de4d20c Copy 'resource_filters.json' file to cinder config folder
Cinder use 'resource_filters.json' to config allowed filters,
copy the new added json file when set config files.

Change-Id: I397cb5859e2b3349af3cb07ee02b6463c6eccc35
Depends-On: 27aeba0b5d3cf64286125937e8336ba1d3b26b16
2017-05-04 13:46:29 +00:00
Sean Dague b2bfe5617a Turn off use_journal because of eventlet concerns
use_journal uses the systemd native path for logging, however there
are concerns that this might be negatively interacting with
eventlet. To be on the safe side fall back to stdout.

This introduces a USE_JOURNAL option which will let folks turn this
back on for testing.

This also adjusts the debug lines. When using the journal the pid
reported by systemd is correct. When using stdout, it will be the
parent process id, so we need to keep it to see which child each thing
is coming from.

Change-Id: Id7891c532bf99c099252e82d511a37a49506fea9
2017-05-03 18:35:54 +00:00
Sean Dague 3336b4bed6 remove out of date heat references
This removes some remnant heat code and references now that heat is
running in a plugin. Before merging this patch the heat team should
verify they got everything they needed into their heat plugin, as
there were more parts left than I was expecting.

Change-Id: I477e3a6e75591aa8ff836c28f7ef56aa1b5f8727
2017-05-03 08:23:29 -04:00
Sean Dague 2686b36c32 Correct various inaccuracies in overview.rst
This still was referencing nova-network

Change-Id: Id584d3fd26482330f42319aee4cb36981066db55
2017-05-02 09:26:28 -04:00
Sean Dague 29c1f981fe convert README to rst
Everything else in our documentation is RST, we should convert the
Readme to RST as well (as github supports this, so it's fine to read
it there)

Change-Id: If2aabf629affc09b5daa570f4ca3bdf268cb53b0
2017-05-02 09:25:29 -04:00
Sean Dague 27f66e9830 Fix logging when under systemd
Both keystone and neutron didn't yet have systemd awareness for
setting up logging (i.e. drop the extra date / time stamps)

Change-Id: Ib442c603c9afb679676976c37c2c6122201ae846
2017-05-02 09:24:45 -04:00
Sean Dague 8b8441f3be Default developer use case to systemd
This moves the developer use case over to systemd, and updates all the
relevant docs to discuss the systemd workflow instead of screen. It
does so by defaulting USE_SCREEN=False, so will not impact people that
set it explicitly.

Change-Id: I6d664612bc2b850eb7f56852afbc841867223ab7
2017-05-02 06:44:22 -04:00
Sean Dague 803acffcf9 Make ./clean.sh work in more situations
When transitioning between different wsgi modes, or service modes, we
should really safely stop and cleanup things that are started in any
service mode, which makes it easier to ensure that we don't leave
things around from past runs.

Change-Id: I33acbee39e1a2da2bfd79a5dd54b84a12a778be1
2017-05-02 06:20:22 -04:00
Jenkins 7fe9e784c6 Merge "try to use unversioned keystone endpoints everywhere" 2017-05-01 23:05:46 +00:00
Jenkins 02e01c1c18 Merge "Try to remove /identity_admin" 2017-05-01 23:05:39 +00:00
Jenkins bc2af3c6b5 Merge "remove auth_uri from keystonemiddleware config" 2017-05-01 20:38:00 +00:00
Jenkins 7f8df450db Merge "make USE_SCREEN=False imply USE_SYSTEMD=True" 2017-05-01 19:23:10 +00:00
Jenkins e44c564112 Merge "Differentiate between DEFAULT_IMAGE_NAME and filename" 2017-05-01 19:18:14 +00:00
Sean Dague c13b8a1f33 try to use unversioned keystone endpoints everywhere
Change-Id: Iad2a3654d8ba181a7ad452d8aba872a8313d4ece
2017-05-01 09:12:20 -04:00
Sean Dague bb4431126b Try to remove /identity_admin
We should be able to operate without the identity admin endpoint,
given that in v3 it's all the same. This floats that out there to see
if we can or not.

Change-Id: Ic233f6b43dd1e3cfdadff0f18aba4ea78825a996
2017-05-01 09:12:18 -04:00
Sean Dague 38d4782c9f remove auth_uri from keystonemiddleware config
auth_uri is not a keystonemiddleware option, and it's use in config
files is confusing at best. Remove it for clarity.

Change-Id: Ie3a9ab30d81809363444d5f3b41588b3889dc185
2017-05-01 09:09:35 -04:00
Matthew Treinish fa898f5174 Add external lock dir to glance api config
As we move to enabling glance-api to use a wsgi script that might be run
as multiple processes, there are a couple places where external
synchronization is necessary. To use this we need to set the lock_path
config option from oslo.concurrency so external locks will work.

Change-Id: I9a66a8636d12037ff9aa4fb73cc3f9b9343dd7e9
2017-04-28 10:29:38 -04:00
Sean Dague c006bbdeb2 make USE_SCREEN=False imply USE_SYSTEMD=True
In order to start making the transition in the gate make
USE_SCREEN=False also mean USE_SYSTEMD=True. We'll never actually
declare USE_SYSTEMD=True in the gate (as that doesn't exist for stable
branches), but this will let us roll over the existing transition.

We also have to install systemd-python 234 because we are recording
exception info in the journal, and all versions before that had a bug
in processing that.

Remove the somewhat pointless screen following journalctl commands. We
really don't want or need those, and they tend to build up over time.

Depends-On: I24513f5cbac2c34cf0130bf812ff2df6ad76657c

Change-Id: I6af6d1857effaf662a9d72bd394864934eacbe70
2017-04-28 13:21:22 +00:00
Jenkins 0c0232f508 Merge "Set OS_AUTH_TYPE to password" 2017-04-28 04:00:20 +00:00
Monty Taylor e43f60ba2a Use the proper keystone endpoints in clouds.yaml
KEYSTONE_SERVICE_API is the keystone endpoint and it is what we should
use. The admin url should DIAF - but until it does, it CERTAINLY should
not be the thing we put into clouds.yaml.

Change-Id: If8196a04f852f633e0b7548793f68c92376aa6da
2017-04-27 19:32:29 -05:00
Clark Boylan faffde1f97 Use string cert CA defaults
Switch from sha1 to sha256 and from 1024 bits to 2048 bits. Do this
because things don't like the old inseucre sha1+1024bits combo.

Change-Id: Iae2958969aed0cd880844e19e8055c8bdc7d064d
2017-04-27 09:54:27 -07:00
Jenkins a292c5068c Merge "Always restart apache" 2017-04-27 08:35:01 +00:00
Ian Wienand bc6c992e3c Remove fping requirement
The os-fping API was deprecated in nova in
I92064cbcb5f6414da0c9d294f912a860428af698.  I can't see anything
obviously using it on codesearch.

This is only in EPEL for centos, which I'm trying to remove.  But I
think less dependencies is always better than more in general hence
the removal.

This is essentially a revert of
Ibdc7479a9038321e4fc3953774a6f3e1dac90530

Change-Id: I163fc48c860bae2a92c83cfdaed26b2e54630e20
2017-04-27 16:10:57 +10:00
Ian Wienand a881b88721 Switch to lioadm for centos cinder
Centos/RHEL 7 doesn't support tgtd.  While the packages are still in
EPEL, there's no point in testing because nobody runs like this.
Switch cinder to use lioadm which uses LIO, and update package
installations.

Depends-On: I964917d13d9415223845ac17eb804ee7faceaf6f
Change-Id: Idc5a4e856bfc93e9dc650d565a98a8e9b3df3481
2017-04-27 15:47:48 +10:00
Ian Wienand 71d20e6582 Always disable use of libvirt wheel with UCA
It's not only using our upstream caches that you might get an old
libvirt-python wheel that is incompatible with UCA.  Move the ignore
out of the mirror check to apply it globally.

This is an alternative to Iba301a8c80c9ed584f5fb5a816f3d2cf5f5f0e77

Change-Id: I588b1e8e49aa60f3ce976dc1b6c8013ba1d88079
2017-04-26 21:23:01 -04:00
Matthew Treinish befe0925e7 Differentiate between DEFAULT_IMAGE_NAME and filename
The DEFAULT_IMAGE_NAME variable is used to reference the name of the
default image in glance after it has been uploaded by devstack. It is
used both inside and outside of devstack for that purpose. However, when
configuring tempest there are some tests which also do image uploads and
need a filename for specifying which file they should upload into glance
for testing purposes. Previously we were just using DEFAULT_IMAGE_NAME
for both purposes, but this causes a conflict if the name of the image
we upload into glance does not have a file extension. So instead of
conflating the things this commit differentiates between them and adds a
new DEFAULT_IMAGE_FILE_NAME variable to use for this purpose.

Change-Id: Icf74badcf2093d8c75db538232b10b3ac7b86eb8
2017-04-26 19:24:12 -04:00
Jenkins a8204752e3 Merge "neutron-legacy: Defer service_plugins configuration" 2017-04-26 21:22:09 +00:00
Andreas Scheuring 92e6b1a0e8 default gateway regex: use exact match for iface name
If the current interface has a default gateway configured is
determined by the regex

  default.+<interface-name>

If for example 'enc1' is used, but also an interface 'enc1800' is
present, the regex will also match the 'enc1800' default gateway.

This patch fixes this by looking for <interface-name><white-space>.
This way 'enc1800' is not matched.

Change-Id: Id1d58f5be6296c3a37aef788359ae8fe0fe11d8b
2017-04-26 16:02:06 +00:00
Ian Wienand f6a2d2cd4e Always restart apache
As described in [1], it seems that mod_wsgi is not "graceful" reload
safe.  Upon re-init, it can end up in a segfault loop.

The "reload" (not *restart*) after setting up uwsgi was added with
I1d89be1f1b36f26eaf543b99bde6fdc5701474fe but not causing an issue
until uwsgi was enabled.

We do not notice in the gate, because the TLS setup ends up doing a
restart after this setup.  In the period between the
write_uwsgi_config and that restart, Apache is sitting in a segfault
loop, but we never noticed because we don't try talking to it.  Other
jobs that don't do any further apache configuration have started
failing, however.

Looking at the original comments around "reload_apache_server" I'm not
sure if it is still necessary.  [2] shows it is not used outside these
two calls.

[1] https://bugzilla.redhat.com/show_bug.cgi?id=1445540
[2] http://codesearch.openstack.org/?q=reload_apache_server&i=nope&files=&repos=

Closes-Bug: #1686210
Change-Id: I5234bae0595efdcd30305a32bf9c121072a3625e
2017-04-26 11:09:59 +10:00
Jenkins 2eb322ab2e Merge "Set fixed-key key manager" 2017-04-25 23:42:18 +00:00
Jenkins bc8db65da2 Merge "Define a new function for notifications URL" 2017-04-25 17:47:35 +00:00
Thomas Herve 26e431dbd7 Define a new function for notifications URL
This defines a new function get_notification_url, which returns the URL
of RabbitMQ when you want connect to it, and uses in
ceilometermiddleware. This fixes an issue when we try to use AMQP for
RPC, but not for notifications.

Change-Id: I14450b2440806a17a90e5ddefc243868fdbe4f2c
2017-04-25 17:01:21 +02:00
Jenkins aa444d0d83 Merge "Create custom dir for uwsgi domain sockets" 2017-04-21 03:29:15 +00:00
rabi aa26baacb8 Create custom dir for uwsgi domain sockets
On Centos, apache has a private view of /tmp and thus can't see this
socket, causing keystone to fail. This happened after
I46294fb24e3c23fa19fcfd7d6c9ee8a932354702.

Move it to /var/run.

Closes-Bug: #1684360
Change-Id: I47f091656802719c259752454ec88bf50760b967
2017-04-21 10:42:27 +10:00
Andrea Frittoli ef1e88ec09 Enable ssh validation by default
The -ssh job with ssh validation enabled has been quite stable
for a while now [0] so I think it's time to add ssh validation
to the integration gate to prevent regressions from lurking in.

Doing this in devstack ensures that the change only affects
master as we didn't test ssh validation on on stable branches.

[0] http://status.openstack.org/openstack-health/#/g/build_name/gate-tempest-dsvm-neutron-full-ssh?duration=P3M

Change-Id: I187e560911f5d5d482eb7959e5174068c4c9a801
2017-04-20 23:37:32 +01:00
Jenkins d8863f6c98 Merge "Increase rsyslog buffer sizes." 2017-04-20 20:03:44 +00:00
Sean Dague 9bfabc68c4 Make openrc more robust for grenade scenarios
This makes openrc more robust for the grenade scenarios by having a
sane fallback when stackrc is not found.

Change-Id: I297ba519d581d2b6fb4d80d59434acace054bada
2017-04-20 15:11:43 -04:00
Sean Dague 1b245cef7f Cleanup duplicate get_or_add_user_domain_role
It turns out that we ended up with duplicate versions of this function
merging on top of each other within 3 days, and gerrit didn't catch
it. Boo gerrit. Boo bash.

Change-Id: Ic6aa2f9bafdec906de2bc51d5929beeec48a6a40
2017-04-20 00:19:20 +00:00
Paul Belanger 37c7843aad Increase rsyslog buffer sizes.
Swift proxy logs to syslog during the devstack-gate tempest runs. To
better capture the swift logs increase the rsyslog buffer size to 6k
bytes allowing for longer messages like tracebacks.

This was setup by openstack-infra previous during our diskimage
builds.

  I03e42964e14d9f930c07ed047851bdf775639c59

Change-Id: Iaa232335865410600c93f47d4777ed4f1bce08e2
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2017-04-19 13:20:47 -04:00
Jenkins e2fb00ebb7 Merge "cinder: wait for cinder-api for wsgi too" 2017-04-19 15:01:07 +00:00
Jenkins d4df865c07 Merge "Adding placement-client to compute node local.conf for multinode setup " 2017-04-19 12:52:15 +00:00
Jenkins 23756fbef5 Merge "Updated from generate-devstack-plugins-list" 2017-04-19 12:37:22 +00:00
Jenkins c5a2f1b1f3 Merge "Add cursive to LIBS_FROM_GIT" 2017-04-19 12:37:15 +00:00
Jenkins 0cfc523ff7 Merge "Add castellan to LIBS_FROM_GIT" 2017-04-19 12:33:06 +00:00
Jenkins f6c86749fd Merge "fix typo" 2017-04-19 12:32:59 +00:00
Jenkins 041a5d9d83 Merge "Send useful auth_port and auth_prefix to swift's test.conf" 2017-04-19 12:30:19 +00:00
OpenStack Proposal Bot 09a08aacf4 Updated from generate-devstack-plugins-list
Change-Id: If6c07fd6b56d776a5548564b72e637f6bd3dfbfc
2017-04-19 09:24:43 +00:00
Jenkins 4b9022ddd7 Merge "Make a2dissite fail softly if the site is not enabled" 2017-04-19 06:34:20 +00:00
Tim Burke f43ea47766 Send useful auth_port and auth_prefix to swift's test.conf
Until we can test with a version of swiftclient that knows how to eat
auth_uri, swift still needs a working gate.

Change-Id: I09f9ad5c87b542df962a79898e06fbf1e968b1e3
Related-Change: I46294fb24e3c23fa19fcfd7d6c9ee8a932354702
Related-Change: Ie427f3b0b9eb834ff940fa5d52444a5a6cdcab15
2017-04-18 21:58:10 -07:00
Jenkins cf2846ab64 Merge "Add new configuration option for LM+grenade job" 2017-04-18 21:29:16 +00:00
Sean Dague 0effa1a6cb remove some unused *_PROTOCOL from export
Things like SERVICE_PROTOCOL and KEYSTONE_AUTH_PROTOCOL shouldn't
really be exported in openrc as they encourage using them directly to
build up keystone urls instead of actually using the OS_AUTH_URL.

Remove them.

Change-Id: I4b7cc680f7f14dae29b706a227be540c9e212cad
2017-04-18 15:16:37 -04:00
Jenkins 227661e881 Merge "Remove a TODO that no longer applies" 2017-04-18 18:39:55 +00:00
Jenkins 487777f5c7 Merge "Enable EPEL mirror by default" 2017-04-18 18:14:17 +00:00
Jenkins ee49497205 Merge "XenAPI: Remove final references to Integration bridge" 2017-04-18 18:08:09 +00:00
Chris Dent 2fcdaac56e Make a2dissite fail softly if the site is not enabled
a2dissite will return a non-zero error code if the site that is being
disabled is not currently enabled (that is, if the conf file for it does
not exist). This can happen during development if you've been messing
with files by hand. Rather than exploding out of a ./stack.sh, accept
the missing file as meaning "it's disabled" and carry one. The rpm
version of disable, which does not use a2dissite, does this already.

Change-Id: Ie5dfd42efdff4bdba5ffaa765af000dd8e1d596e
2017-04-18 16:54:12 +01:00
Chris Dent e0be9e3a2e Remove a TODO that no longer applies
The removed TODO was talking about USE_SYSTEMD, not WSGI_MODE.

WSGI_MODE makes sense, so the TODO has been done.

Change-Id: Ib574ef123ea4c82d4d88012c990cd1ad660d7879
2017-04-18 16:52:25 +01:00
Prabhuraj Kamaraj 921da2654b Adding placement-client to compute node local.conf for multinode setup
Change-Id: Ie98f908d5a932da259ae13934af45d535fcffb82
Closes-Bug: #1682362
2017-04-18 05:12:52 +00:00
Sean Dague 6ed53156b6 Convert keystone to use uwsgi with the proxy
This makes keystone use the proxy uwsgi module when running in uwsgi
mode. It also introduces a new stackrc variable which is WSGI_MODE
that we can use to control the conditionals in services that current
work with mod_wsgi.

Also update retry timeouts on proxy pass so that workers don't disable
their connections during polling for initial activity.

Change-Id: I46294fb24e3c23fa19fcfd7d6c9ee8a932354702
2017-04-17 16:27:35 -04:00
Sean Dague 64ffff9b7d Convert placement to new uwsgi mode
This converts the placement API to use the new WSGI_MODE variable
(which is not introduced until the next changeset). We do this so that
placement and keystone patches can be reviewed independently, but
there are some hidden coupling of mod_wsgi setup which happens only in
keystone, so if we do keystone first, it breaks placement.

Change-Id: Id5b2c67701bcc7b12c8e3764c7199d10f85df80f
2017-04-17 14:51:44 -04:00
Sean Dague 604e598e2a Install and enable apache uwsgi proxy
The uwsgi proxy version that comes with Ubuntu xenial is too old, so
we have to build it from source. This is a temporary solution until
the next LTS.

This lays the ground work for using it in keystone.

Change-Id: I00fb1759e6988c7df0ce0f3df5ff1ce9fd7cd381
2017-04-17 14:51:44 -04:00
Sean Dague a1446b960f always retry proxy errors
When an apache worker gets a proxy error, it will not retry talking to
the backend server until the retry timeout expires. We bring up the
proxy server *before* the backend server, and poll it. If we are
running a small number of workers, there is a likely chance that we're
going to hit one that errored before the backend was up, thus failing
for now real reason.

Set this to 0 instead to mean always retry failed connections.

Change-Id: I9e584f087bd375f71ddf0c70f83205c425094a17
Ref: https://httpd.apache.org/docs/2.4/mod/mod_proxy.html#proxypass
2017-04-17 14:31:21 -04:00
Sean Dague f3b2f4c853 Remove USE_SSL support
tls-proxy is the way we're now doing a standard install using https
between services. There is a lot more work to make services directly
handle https, and having python daemons do that directly is a bit of
an anti pattern. Nothing currently tests this in project-config from
my recent grepping, so in the interest of long term maintenance,
delete it all.

Change-Id: I910df4ceab6f24f3d9c484e0433c93b06f17d6e1
2017-04-17 07:27:32 -04:00
Sean Dague 2f8c88e053 Factor out code to write uwsgi config files
Instead of this code all existing in keystone inline, factor out into
a dedicated set of functions, and make keystone use this. This drops
uwsgi supporting https directly, but that's not going to be a
supported model going forward once we get to proxy only anyway.

Change-Id: I1d89be1f1b36f26eaf543b99bde6fdc5701474fe
2017-04-14 15:41:02 -04:00
Sean Dague 2b85cf0f06 Just use normal restart for apache
We're now in a systemd world where systemd is managing the restart
effectively, there is no reason to be tricksy with apache now that
we're not working around weird upstartd issues.

Change-Id: Ifadfd504eb10a90db5177ea9180b9cd8331a2948
2017-04-14 15:41:02 -04:00
Sean Dague 4da0fa8c13 Always install apache and proxy-uwsgi
We're going to want to start using it by default so just start with
always installing it. This should not negatively impact anything else.

Also had to fix the test using cowsay, now that cowsay depends on
cowsay-off.

Part of uwsgi in devstack.

Change-Id: I8306a992d9d006bc0130a255145a6880065aa0df
2017-04-14 15:41:02 -04:00
Brianna Poulos f9c2a68338 Add cursive to LIBS_FROM_GIT
Allow cursive to be installed from git instead of pip.

The barbican-tempest-plugin, which uses cursive indirectly
through nova and glance, would benefit from the ability to
use cursive from git instead of pip.

Change-Id: Icae7d310f1ee392d080e7c8e421a26d7c0ef4727
2017-04-14 14:00:31 -04:00
Brianna Poulos 968ebeee41 Add castellan to LIBS_FROM_GIT
Allow castellan to be installed from git instead of pip.

Castellan has recently been moved under the oslo framework,
and the barbican-tempest-plugin tests which use castellan
would benefit from the ability to usd castellan from git
instead of pip.

Change-Id: I96edca90c61aec84637b7b1ce842eff04c521923
2017-04-14 12:17:46 -04:00
Jenkins 94047f45cd Merge "Make auth_uri available in the swift test setup" 2017-04-14 14:25:08 +00:00
Jenkins 0166b866a3 Merge "Add python3-systemd package" 2017-04-14 02:08:27 +00:00
Sean Dague 4222ee35f6 Make auth_uri available in the swift test setup
The swift functional tests use a config which requires keystone ports,
we're about to make those go away. This exposes the actual auth_uri to
swift for consumption.

Change-Id: I5868dfdb8e5f0972ba04e359d212b04351502436
2017-04-13 20:33:42 -04:00
Jenkins af5e3d668f Merge "Clean up apache 2.2 cruft from Ubuntu 12.04" 2017-04-13 21:32:54 +00:00
Paul Belanger bc4b8eb5bf Enable EPEL mirror by default
We recently disabled EPEL in openstack-infra, enable it again.

Change-Id: I213b302b34b740354d63b69e8ac7f4e1b3d3cdd7
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2017-04-13 15:07:29 -04:00
Sean Dague 13a29ab787 Add python3-systemd package
Otherwise journal logging under python3 doesn't work

Change-Id: Ib136d88a522c40482a3e94d0386a26600236f135
2017-04-13 17:52:37 +00:00
Paul Belanger 1f92d44544 Use apt_get_update after we setup UCA
It is possible some CI system are using an http_proxy. Use the helper
function to cover this use case.

Change-Id: Iee685147ca0244fc7de328a765f937602223de20
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2017-04-13 13:08:59 -04:00
Sean Dague 8f8b274e60 Clean up apache 2.2 cruft from Ubuntu 12.04
All the apache 2.2 handling is obsolete now, as we don't support those
distros, so get rid of it.

Change-Id: I9c0f78af2b32afabb2c4264aebc92089c4694f91
2017-04-13 09:35:21 -04:00
Clark Boylan 3d4c6d2dd1 Install netcat for libvirt live migration
Libvirt live migration requires netcat. It appears that newer UCA
packages may not automagically pull this in so explicitly list it as a
dependency of nova compute here. Note that netcat/netcat-traditional do
not appear to work and netcat-openbsd is required.

Change-Id: If2dbc53d082fea779448998ea12b821bd037a14e
2017-04-12 14:33:00 -07:00
Jenkins 42414520b7 Merge "Test using UCA for libvirt 2.5.0" 2017-04-12 15:15:45 +00:00
youri jeong f68f6f2e33 fix typo
fix typo for tools/dstat.sh
retreive must be retrieve

Change-Id: I7a817ec02e7156c886d7d6abb28688bfe2ef5998
2017-04-12 19:24:14 +09:00
Jenkins 84a37e3170 Merge "Do not ask users to overwrite their /etc/sudoers file" 2017-04-12 03:23:52 +00:00
Cyril Roelandt a48ffa8c58 Do not ask users to overwrite their /etc/sudoers file
Give instructions to add permissions for stack user without touching
main config.

Closes-Bug: #1680459
Closes-Bug: #1681418
Change-Id: Idd27e684e63c616466de28c07551729a1e091bdd
2017-04-12 10:58:25 +10:00
Clark Boylan c9a9e415b9 Test using UCA for libvirt 2.5.0
We have had issues with libvirt 1.3.1 which is stock on Xenial. Try
using 2.5.0 from UCA instead.

Related-Bug: 1643911
Related-Bug: 1646779
Related-Bug: 1638982
Change-Id: Ia4434541c71f050fe1ffb54f4c4c1e302391d00b
2017-04-11 14:32:44 -07:00
Jenkins e8b84dbc59 Merge "rebuild the tempest tox env during install" 2017-04-11 13:23:20 +00:00
Huan Xie 2a2db2efc5 XenAPI: Remove final references to Integration bridge
The change to remove references of XEN_INTEGRATION_BRIDGE
(If5886e3711765a97f40f20e478f958b988b5a620) unfortunately left some
code which should have been removed.  This remaining code caused an
error in some situations when deploying from scratch (which the CI
avoids for expediency)

Change-Id: Ia568462c9cca8cff8fcfada8148d185609d61a7d
2017-04-11 01:24:37 +00:00
Jenkins d061f9e2f1 Merge "Removes double colon on script comments" 2017-04-10 04:06:13 +00:00
Jenkins 8c540fcbb6 Merge "Add OpenStackSDK as a lib install" 2017-04-10 02:26:54 +00:00
Leticia Wanderley 7f80649eaf Removes double colon on script comments
A few comment lines on stack.sh had two colons where only one colon
was necessary.

Change-Id: Ia02e1ca28a8fadc2e5477201887a1f4d59996db8
2017-04-10 01:09:54 +00:00
Jenkins 602e2e93b6 Merge "Handle uwsgi on systemd properly" 2017-04-07 22:37:24 +00:00
Dean Troyer 9fecc2ad04 Add OpenStackSDK as a lib install
This is required to install python-openstacksdk from source for testing
other projects against master.

Change-Id: Iee7b043ac7d381dadf89d26098f69e935ed81d6b
2017-04-07 15:32:09 -05:00
Jenkins 03fbc0d71b Merge "Do not use libvirt-bin package anymore" 2017-04-07 00:37:36 +00:00
Jenkins ec60d050f5 Merge "Remove the EBTABLES_RACE_FIX added for Trusty" 2017-04-07 00:33:30 +00:00
Jenkins 18c505ad82 Merge "Swift: Optionally start only the necessary services" 2017-04-07 00:33:22 +00:00
Jenkins 9b6080d859 Merge "Use br-int when XenServer is hypervisor" 2017-04-06 23:30:03 +00:00
Sean Dague eb235814d3 Install systemd python bindings by default
These are needed for oslo.log to use journald support. They are
*probably* already installed, but just in case we force install them.

Change-Id: I0dc66bd2628ff4b3e1caa7ab4366d7f36ff7ea94
2017-04-06 10:52:48 -04:00
Jenkins b87fec9e4b Merge "add use_journal if we are enabling systemd" 2017-04-05 17:46:43 +00:00
Jenkins 4df8d6d425 Merge "Remove XenServer specific ovs agent config" 2017-04-05 11:54:39 +00:00
Sean Dague 5cd44dbe6c add use_journal if we are enabling systemd
This is going to be a new option in oslo.log, which we can start
setting early to make it take effect.

Change-Id: If0e5e4717a1810c759058f33608fbac7543f2d85
2017-04-05 07:24:13 -04:00
Jenkins 88d089b86e Merge "Updated from generate-devstack-plugins-list" 2017-04-04 03:57:32 +00:00
Matthew Treinish 9c5ffd8d13 Handle uwsgi on systemd properly
uwsgi is a different service type under systemd and shouldn't be run as
a standard oneshot type. The uwsgi docs outline a good pattern for
writing systemd unit files:

http://uwsgi-docs.readthedocs.io/en/latest/Systemd.html

This commit takes those suggestions and creates a separate path for
writing uwsgi unit files.

Change-Id: I9b541b86781afdded311dba058cedd783e1a0dfa
2017-04-03 12:38:29 -04:00
Jenkins ee71ae03f6 Merge "Run mlock_report under python3" 2017-04-03 13:41:55 +00:00
OpenStack Proposal Bot 87535a5b9f Updated from generate-devstack-plugins-list
Change-Id: I68d8812558e1f1f09ab5f30145ce5c0943cae7db
2017-04-03 08:24:23 +00:00
Jenkins 98f43678f1 Merge "Change mode of DATA_DIR to 0755 as well" 2017-04-02 09:11:56 +00:00
Jenkins 921e318035 Merge "Enable libvirt coredumps" 2017-04-02 09:07:55 +00:00
Hongbin Lu 571ba8b3bb Change mode of DATA_DIR to 0755 as well
It looks libvirt/qemu requires mode 0755 to functioning properly,
but DATA_DIR won't be set to 0755 if it is different from default.

Change-Id: I37ca0b02b6a75b3756860b547e84c37ccfc99d13
Closes-Bug: #1677421
2017-03-30 18:07:00 -04:00
Sean Dague def07b21f8 Updated docs from finding more things about systemd
Change-Id: I3d807cd342f30eada04a6be2af7db482f9c4a796
2017-03-30 07:18:49 -04:00
Jenkins d356b31b50 Merge "Updated from generate-devstack-plugins-list" 2017-03-30 07:35:09 +00:00
Ian Wienand bfcc760b96 Enable libvirt coredumps
This adds a flag and basic config for enabling coredumps for libvirt.

Partial-Bug: 1643911
Co-Authored-By: Matthew Booth <mbooth@redhat.com>

Change-Id: If7cd54e804a5a389a0d82a325b58f5b41b8ef0db
2017-03-30 17:29:29 +11:00
Clark Boylan f85e0ba353 Enable Kernel Samepage Merging by default
In an effort to reduce memory consumption enable KSM by default. The
biggest win here is when using libvirt with nova or ironic with its
fake baremetal instances. In theory any process that runs duplicates
with mergeable memory will benefit though.

Change-Id: I4c5addfd3e83b6516023b36cbaabd5169f0d5ceb
2017-03-29 10:54:58 -07:00
Jenkins 370c525061 Merge "Remove installation of keystone policy file" 2017-03-29 17:45:08 +00:00
Jordan Pittier 980d65f586 Swift: Optionally start only the necessary services
Currently Devstack starts all Swift services, including those
in charge of "consistency convergence" (remember Swift is eventually
consistent), data scrubbing, hard-deletion (*-reaper services)
cleanup.

But when running with Replication Factor 1 some of those services
are not needed at all. Besides, the fonctionnalities provided by
some of these services are not tested at all (neither in Tempest
nor in Swift functional tests).

Thus, in light of saving some Mo of RAM, this patch introduces a config
flag to start only a minimal set of Swift services, just what's required
to make all of our current tests pass.

The default value for this new config flag is set to start all services,
that is to maintain Devstack's current behavior.

For sake of completeness, here is the list of services that are not
going to be started is the config flag is toggled, and the associated RSS
according to our peakmem_tracker

40004  swift-object-replicator /etc/swift/object-server/1.conf
34320  swift-container-replicator /etc/swift/container-server/1.conf
33584  swift-object-auditor /etc/swift/object-server/1.conf
33328  swift-object-reconstructor /etc/swift/object-server/1.conf
31936  swift-object-updater /etc/swift/object-server/1.conf
31492  swift-account-reaper /etc/swift/account-server/1.conf
31076  swift-account-replicator /etc/swift/account-server/1.conf
29540  swift-container-updater /etc/swift/container-server/1.conf
29220  swift-account-auditor /etc/swift/account-server/1.conf
29036  swift-container-auditor /etc/swift/container-server/1.conf

So we are looking at saving at most ~350Mo of RAM (could be less
because RSS doesn't account for shared memory).

A follow-up patch will soon be proposed in devstack-gate to not run
those additional services in our Gate jobs.

Change-Id: I8a0d03ac0296a74e38efd185beb8513866eaf0c4
2017-03-29 13:26:52 +02:00
OpenStack Proposal Bot 50686fe244 Updated from generate-devstack-plugins-list
Change-Id: Id1313b029df86ea446b90ad086cc436702379dc9
2017-03-29 08:28:40 +00:00
Jenkins 6fbd969c85 Merge "Restrict enabling the manage_volume volume feature" 2017-03-28 19:41:53 +00:00
Jenkins d7bc9486aa Merge "initial work to enable systemd service running" 2017-03-28 18:41:38 +00:00
Jenkins aef56b516d Merge "Update devstack supported OS's on documentation" 2017-03-28 18:23:12 +00:00
Jenkins cd69b52c7f Merge "lib/neutron: allow to add more ml2 extension drivers" 2017-03-28 16:15:58 +00:00
Lance Bragstad 213c9a151f Remove installation of keystone policy file
As of Id6e3c0ac54b21d85e68625a5b52fe2559fb70f24 keystone's policy
file is empty and it is no longer required at runtime. This commit
updates devstack to not deploy a policy file for keystone because
devstack doesn't specify any policy overrides. Instead, we can remove
the sample policy file and rely on the defaults that have been
registered in code. This is the same approach nova took with policy
in I85a251376dfe38caa4b100861bf764014a98bc37.

Change-Id: Ib1d9a51a78e2a84a3d7294dc8782605a681fa9e8
2017-03-28 14:35:09 +00:00
Sean Dague 5edae54855 initial work to enable systemd service running
During the PTG there was a discussion that the screen developer
workflow wasn't nearly as useful as it once was. There were now too
many services to see them all on one screen, and one of the most
common service restart scenarios was not restarting one service, but a
bunch to get code to take effect.

This implements a 3rd way of running services instead of direct
forking via bash, or running under screen, which is running as systemd
units.

Logging is adjusted because it's redundant to log datetime in oslo.log
when journald has that.

Swift needed to have services launched by absolute path to work.

This is disabled by default, but with instructions on using it. The
long term intent is to make this the way to run devstack, which would
be the same between both the gate and local use.

Some changes were also needed to run_process to pass the run User
in. A hack around the keystone uwsgi launcher was done at the same
time to remove a run_process feature that only keystone uwsgi uses.

Change-Id: I836bf27c4cfdc449628aa7641fb96a5489d5d4e7
2017-03-28 07:19:15 -04:00
Ian Wienand 9573edb4eb Run mlock_report under python3
psutil is only installed under python3 for the 3.5 gate jobs.  Call
mlock_report.py with $PYTHON so we support both environments.

Updates to mlock_report.py for python3 compatability

Change-Id: If7926ce6a2996b766c49b010a7f6640ae624f860
2017-03-28 19:38:13 +11:00
Jordan Pittier 1298f1bacd Remove the EBTABLES_RACE_FIX added for Trusty
Now that we don't support Ubuntu Trusty anymore, we can remove
the ebtables race workaround.

Closes-Bug: #1675714
Change-Id: I70483f871e35fcaa933d1b7bac7dbb396aa22cef
2017-03-28 08:16:07 +11:00
Jenkins 4a857e85f4 Merge "Enable openSUSE to work in Python 3.x environments" 2017-03-27 20:58:45 +00:00
Jenkins 7e57bb3323 Merge "Enable baremetal scheduler filters when using ironic" 2017-03-27 20:04:46 +00:00
Luz Cazares 2954e337e2 Update devstack supported OS's on documentation
Since Feb 25th devstack supported operating systems changed
due to Nova increasing its minimum required libvirt version.
Further details see: I6617283afd798af37e64913b7865cea3c8a62aba

This patch is to update versions on devstack documentation.

Change-Id: I12bb59b0903a728376ee9422213c2903b9138249
2017-03-27 16:01:48 +00:00
Jenkins fb73a8fc6f Merge "run memory_tracker as root" 2017-03-24 12:59:24 +00:00
David Rabel 682e0abe1a Do not use libvirt-bin package anymore
The package libvirt-bin is a transitional package in Debian and should
not be used anymore.

Ubuntu Xenial is an exception here.

Because of that this change also adds the possibility to use "not:" to
exclude distros in files/debs/* just as "dist:" limits distros.

Depends-On: Icc59ea79f54d4ff8751f2e353ee3530fff3d961e
Closes-Bug: #1673840
Change-Id: I3998a7178d14ec40eae5cb199d66da9546cd6ccf
2017-03-24 10:44:10 +01:00
Jenkins 9f95d171a9 Merge "Delete unnecessary groupadd in multinode-lab" 2017-03-24 00:21:31 +00:00
Jenkins c36b08248e Merge "Create /opt/stack and make it home directory" 2017-03-24 00:21:24 +00:00
Jenkins 0ab27e89f4 Merge "Apache Keystone Template: reduce the number of processes to 3" 2017-03-23 17:15:23 +00:00
Sean Dague 5ae945244e run memory_tracker as root
In order to get memlocked pages this needs to be run as root, just
start it as root so that we don't have issues with the inability to
run sudo later in the run.

Change-Id: I7adab8cbb6d89d4717e427aec22e316d27bea075
2017-03-23 12:45:29 -04:00
kesper d18d7c8658 Change for the 'running_in_container' check
This commit change check of 'running_in_container'
method so that other services ironic, nova and neutron
will not break.

Change-Id: I42eb587cfaebf37944cb10e459b8b8f7b4b4e4ba
2017-03-23 06:32:57 +00:00
Huan Xie 9e64bad03a Use br-int when XenServer is hypervisor
Previously we use a specific integration bridge for neutron ovs agent
which is running in compute node, but this isn't necessary, this
patch is to remove the specific integration bridge for XenSever and
remove the custom integration bridge definition

Depends-On: I675565e1ea6c887d40d7a53f62968c4aa385ecca

Change-Id: If5886e3711765a97f40f20e478f958b988b5a620
2017-03-22 19:11:34 -07:00
Jenkins 63666a2079 Merge "Make running_in_container work in more containers" 2017-03-22 22:36:18 +00:00
David Rabel 530d90c9c2 Delete unnecessary groupadd in multinode-lab
Change-Id: I13c86a19c421d8ef102f35bcae63f6dc69317268
Closes-Bug: #1674897
2017-03-22 08:25:26 +01:00
David Rabel fca0da5069 Create /opt/stack and make it home directory
single-machine.rst and index.rst

Before this, one had to create /opt/stack
manually and chown it to the stack user.
Now it is created when the user is created.

This is the same way the multi-node guide
handles it. A stack group is created too.

Change-Id: I5363d81c8fb38796f565cc6ebf6ab2dee2673989
Closes-Bug: #1673787
Closes-Bug: #1671409
2017-03-22 08:23:10 +01:00
Huan Xie c779b00840 Remove XenServer specific ovs agent config
With XenServer we have two neutron-openvswitch-agent(q-agt, q-domua)
For the q-domua it is specific for XenServer, this patch is to move
the specific configurations to os-xenapi which we have devstack plugin
in that repo

Depends-On: Ic816404c84f6a8899d01a77cb67fbfb421653e6b

Change-Id: I8a31c81d9475387fe4ed7030b70b26098e588771
2017-03-21 20:56:58 -07:00
Jim Rollenhagen 983cccb75b Enable baremetal scheduler filters when using ironic
These are recommended for all ironic deploys; turn them on.

Change-Id: Ia3df144e626266ed1774c4cd9863aedb876c409f
2017-03-21 18:37:24 -04:00
Jenkins 11296708c0 Merge "Replace "sid" and "testing" by "stretch"" 2017-03-21 15:40:40 +00:00
Sean Dague 583c52066d rebuild the tempest tox env during install
When redoing a stack.sh over and over again, tempest venv can get out
of sync and cause issues until deleted. We should rebuild that tempest
venv on every stack.

Change-Id: I2f66bb1a7ccf9f89e11db1326d8553589e52fbf2
2017-03-21 11:15:05 -04:00
Armando Migliaccio bacfb94390 Enable openSUSE to work in Python 3.x environments
Add packages required to run devstack with USE_PYTHON3=True.

Change-Id: Iee43c9335bd82c10cfaeffb02d1d99290c34bb83
2017-03-20 22:33:56 -07:00
Jenkins fc2919ffdf Merge "Tune apache connection limits down" 2017-03-20 18:41:31 +00:00
David Rabel a4c57cadf2 Replace "sid" and "testing" by "stretch"
Supported Debian distros (codenames) are "sid", "testing",
and "jessie", but it should be "stretch" and "jessie".

"testing" is no codename and therefore should be replaced by
"stretch".

"sid" changes all the time and cannot be guaranteed to run
correctly or is at least not tested.

Change-Id: Id4b80a055452bbff69036d4dc1adeda46ce99664
Closes-Bug: #1673810
Closes-Bug: #1674416
2017-03-20 17:41:19 +01:00
Julian Edwards 4ae92b846b Make running_in_container work in more containers
Instead of grepping for 'lxc' in /proc/1/cgroup, use systemd's
features. This now at least also works in LXD containers.

Change-Id: I35e807c26f0b1fbba83ddbe04cfb4901a7a95cbe
2017-03-18 11:45:16 +10:00
Clark Boylan 8cf9acd577 Tune apache connection limits down
We are facing memory pressure in gate testing. Apache is fairly large so
tune its connection limits down to try and squeeze out more useable
memory. THis should be fine for dev envs, also tlsproxy is not enabled
by default so we can check that this tuning works well on a subset of
jobs before making it default everywhere.

Data comparisons done with gate-tempest-dsvm-neutron-full-ubuntu-xenial
jobs.

Old: http://logs.openstack.org/37/447037/2/check/gate-tempest-dsvm-neutron-full-ubuntu-xenial/721fc6f/logs/screen-peakmem_tracker.txt.gz
       PID   %MEM             RSS       PPID       TIME     NLWP WCHAN                     COMMAND
     20504    0.2           16660      19589   00:00:00       34 -                         /usr/sbin/apache2 -k start
     20505    0.2           16600      19589   00:00:00       34 -                         /usr/sbin/apache2 -k start
     20672    0.2           16600      19589   00:00:00       34 -                         /usr/sbin/apache2 -k start
     20503    0.1           14388      19589   00:00:00       34 -                         /usr/sbin/apache2 -k start
     19589    0.1            9964          1   00:00:00        1 -                         /usr/sbin/apache2 -k start
Total RSS: 74212

New: http://logs.openstack.org/41/446741/1/check/gate-tempest-dsvm-neutron-full-ubuntu-xenial/fa4d2e6/logs/screen-peakmem_tracker.txt.gz
       PID   %MEM             RSS       PPID       TIME     NLWP WCHAN                     COMMAND
      8036    0.1           15316       8018   00:00:01       34 -                         /usr/sbin/apache2 -k start
      8037    0.1           15228       8018   00:00:01       34 -                         /usr/sbin/apache2 -k start
      8018    0.1            8584          1   00:00:00        1 -                         /usr/sbin/apache2 -k start
Total RSS: 39128

Note RSS here is in KB. Total difference is 35084KB or about
34MB. Not the biggest change, but we seem to be functional and it
almost halves the apache overhead.

Change-Id: If82fa347db140021197a215113df4ce38fb4fd17
2017-03-17 11:42:41 -07:00
Jenkins 7da8e7c5cf Merge "Fix IPv6 provider networks" 2017-03-17 16:07:32 +00:00
Jenkins f7c0a2e214 Merge "Remove glare from glance" 2017-03-17 16:07:23 +00:00
Jenkins aff17b14f1 Merge "Use string comparison to compare UUID values" 2017-03-17 16:07:16 +00:00
Jenkins 21c8d6b2b5 Merge "Install same packages for neutron-* services as for q-*" 2017-03-17 15:49:47 +00:00
Jenkins 8ae0a2ea3b Merge "FAQ: remove references to stable/kilo: use stable/ocata instead" 2017-03-17 15:49:40 +00:00
Jenkins c292223f13 Merge "Xen: restrict devstack VM use upto 8 vCPUs." 2017-03-17 15:49:33 +00:00
Jordan Pittier fe1d3d6a7b Apache Keystone Template: reduce the number of processes to 3
Now Apache2 has 5 dedicated processes for Keystone Admin and 5 for
Keystone Public. As each Apache process consumes some memory and
we arbitrarly decided 5 was a good number more than 2 years ago,
maybe now (with the recent memory pressure we feel) is a good time
to reconcider.

With 5 processes our peakmem_tracker.py script reports a max RSS size
for the "wsgi:keystone-ad" and "wsgi:keystone-pu" processes of
2 (public and admin) * 5 (number of processes) * 90 Mo (RSS of each
process) = 900 Mo.

With 3 processes, the overall max RSS for Keystone is
2 * 3 * 90 = 540 Mo.

Note that this is RSS memory, but using the "smem" linux command on
my laptop, I noticed that the USS (Unique set size, i.e RSS excluding
shared memory) is around 80Mo per process. So reducing the number of
processes will actually reduce memory consumption.

Change-Id: Iba72d94aa15ecaa87c0115ad26d6bpeakmem_tracker62d5b3bea0a
2017-03-17 15:43:36 +00:00
Jenkins 0f3a7ada8d Merge "Added list of mlock-using processes to peakmem_tracker output" 2017-03-17 14:31:22 +00:00
jianghua 5f8bd0e452 Xen: restrict devstack VM use upto 8 vCPUs.
Change-Id: Iea6086a3feb03dff581d9c04560133c4f57a6f6c
Closes-Bug: 1672642
2017-03-16 08:44:44 +00:00
OpenStack Proposal Bot dab52d7554 Updated from generate-devstack-plugins-list
Change-Id: I55dea8141046350f9cf06afb7edc957c35397b38
2017-03-16 07:51:22 +00:00
Jenkins 07d612e460 Merge "Revert "put mysql on a memory diet"" 2017-03-16 03:55:54 +00:00
Jens Rosenboom 4b59fbb857 Revert "put mysql on a memory diet"
The diet seems to be too strict, jobs failing with "out of sort memory". Needs more investigation before resubmitting.

This reverts commit 1e66388c5f.

Change-Id: Ic10effaaf047eb3527082baab889772c5e57fa90
2017-03-15 21:58:48 +00:00
Jenkins 27b1b21f01 Merge "put mysql on a memory diet" 2017-03-15 19:57:54 +00:00
Jenkins 92cc930dc7 Merge "Don't create keystone account for disabled service" 2017-03-15 18:54:50 +00:00
Jordan Pittier 99d5d1ce82 FAQ: remove references to stable/kilo: use stable/ocata instead
It's 2017, some of our newest OpenStack developers/users may not
even know what stable/kilo is/was.

Change-Id: I00f39cc80af7e1632293bf057d95040b6bfa48e0
2017-03-15 13:42:25 +01:00
Jenkins b06229070e Merge "Update the enabled service on compute nodes" 2017-03-14 02:36:04 +00:00
Jenkins 15da6f5e5c Merge "Updated from generate-devstack-plugins-list" 2017-03-14 02:32:46 +00:00
John L. Villalovos 3345a6d316 Use string comparison to compare UUID values
Was using the '-ne' integer comparison operator to compare UUID
values. This caused error messages like:

/opt/stack/new/devstack/lib/tempest: line 226: [[: dfae26ac-1780-4677-902d: value too great for base (error token is "902d")

Change it to use '!=' string comparison operator

Change-Id: Ib7c9197dd0fe58addf33b4f82beea6de64f6b10b
2017-03-13 13:47:34 -07:00
wangxiyuan b763dbda73 Remove glare from glance
glare has been removed from glance already. Now error will be raised
if enable g-glare in local.conf.

Remove the glare support by glance.

Change-Id: I9a389af194dd2b8aed75d3c921293d800f8c591b
2017-03-13 22:51:18 +08:00
Jenkins 477c55866b Merge "lib/neutron: set variables needed for sane l3 agent setup" 2017-03-13 12:57:17 +00:00
Jenkins 21fcb028ec Merge "Disable glance v1 by default" 2017-03-13 12:56:28 +00:00
Ben Swartzlander d15f222e2b Fix IPv6 provider networks
Add a missing --subnet-range argument when creating an ipv6 provider
network. Also changed SUBNET_V6_ID to IPV6_SUBNET_ID. And remove the
--ipv6-address-mode arg because it doesn't apply to subnets on routers.

Change-Id: I82796804a06e758e458606dc9eb400bcd08ad6e4
2017-03-11 01:50:01 +00:00
OpenStack Proposal Bot 1be04a0769 Updated from generate-devstack-plugins-list
Change-Id: I95309e2857f0361b65dc6fbaf686aab94626c086
2017-03-10 08:05:05 +00:00
Jenkins cb484abf80 Merge "Use KEYSTONE_SERVICE_URI consistently" 2017-03-10 00:50:22 +00:00
Dave Chen 9bc7708c80 Update the enabled service on compute nodes
Change the service from 'n-network' to 'q-agt' since
Nova network is not supported by default.

Change-Id: I085aac75d4c1b721498afa568c8ecfd5abc7b20c
2017-03-10 05:34:21 +08:00
Édouard Thuleau 93a4156015 Don't create keystone account for disabled service
If service is disabled, don't expect to create the corresponding
keystone account.

Change-Id: I007088862de1c8643eca3a6b9b313f0125b9b8d1
2017-03-09 19:07:07 +01:00
Jenkins e4b224928f Merge "Adding haproxy package to Neutron" 2017-03-09 12:38:52 +00:00
Jenkins 485b8f1375 Merge "Change auth_version to v3 on Tempest" 2017-03-09 07:43:03 +00:00
Jenkins 6523d6e097 Merge "Make declared variables global" 2017-03-08 13:31:57 +00:00
jeremy.zhang d5919d08ba Restrict enabling the manage_volume volume feature
Not all Cinder backends support the 'manage volume' feature. The test that
in tempest for this feature is specific to LVM and will *not* work for
other work backends regardless of them supporting the feature.

Change-Id: I055aa66738deb5ae2fb925429cec565e3901340c
2017-03-08 15:27:37 +08:00
Sean Dague afef8bf097 Make declared variables global
When variables use the 'declare' directive, it is by default a local
variable. While other variables have global scope.

For example:
   declare -A AN_ARRAY   # local in scope
   foo=1                 # global in scope

This causes errors to occur as some of the variables will be local only
and others will be global.

Update the code, as appropriate, so that variables using the 'declare'
directive also include the '-g' flag to have them also be global. Not
every instance of a declared variable has been updated.

Closes-Bug: #1669509
Co-Authored-By: John L. Villalovos <john.l.villalovos@intel.com>
Change-Id: I2180b68fe861ad19c6d4ec0df0f9f8a528347862
2017-03-07 22:07:29 -08:00
Ihar Hrachyshka f511c368f8 lib/neutron: allow to add more ml2 extension drivers
The patch will allow jobs to append new ml2 extension drivers without
overriding port_security.

Change-Id: I45f017d1b8a3054452c3166ed4fb460d21959adb
2017-03-07 10:39:41 +00:00
OpenStack Proposal Bot 73a3e2decd Updated from generate-devstack-plugins-list
Change-Id: Iffde64ae167fa32a377d20a9628c17286f1bf958
2017-03-07 08:49:22 +00:00
Jenkins 8fe48af162 Merge "lib/neutron: untangle metering configuration from legacy" 2017-03-07 00:14:19 +00:00
Brant Knudson c2c89e4b35 Use KEYSTONE_SERVICE_URI consistently
lib/keystone builds KEYSTONE_SERVICE_URI so that other services
don't need to reconstruct the identity URI. Many services already
use it, but some parts were still building the identity URI from
the different parts.

This will allow changing the identity URI to include a path
(e.g., to http://<host>/identity) in 1 place rather than in
multiple places.

Change-Id: I58cbdbe591d8869807545e0815480fc3375e0479
2017-03-06 14:03:04 -06:00
Jenkins 713f17c1d2 Merge "lib/neutron: stop loading all config files into all processes" 2017-03-06 14:37:57 +00:00
Jenkins 17c2f028cf Merge "Change to messagingv2 for oslo_messaging_notifications.driver" 2017-03-06 14:25:08 +00:00
Jenkins 6def6020fc Merge "Fix install_libvirt for other RHEL-based distros" 2017-03-06 06:22:28 +00:00
Matt Riedemann 45da777d25 Change to messagingv2 for oslo_messaging_notifications.driver
The oslo.messaging docs on the notification messaging driver
says that "messaging" (1.0) is a legacy format and you should
use messagingv2 unless otherwise required for that old format.

By default we should be testing with messagingv2.

Change-Id: I3031afe7551a0c8dde46e1ccfacff445fb68e122
2017-03-05 13:09:39 -05:00
Ihar Hrachyshka 2b4735f1b3 Added list of mlock-using processes to peakmem_tracker output
The change makes peakmem_tracker list processes that lock memory pages
from swapping to disk. It may be helpful when debugging oom-killer job
failures in gate in case when dstat shows that swap is not fully used
when oom-killer is triggered.

The peakmem_tracker service was renamed into memory_tracker to reflect
its new broader scope.

Needed-By: I5862d92478397eac2e61b8a61ce3437b698678be
Change-Id: I1dca120448ee87930fe903fd81277b58efaefc92
2017-03-05 15:50:59 +00:00
Ken'ichi Ohmichi dc6e550218 Change auth_version to v3 on Tempest
Keystone v3 API is CURRENT and the v2 API is deprecated now.
So we need to change the default config of auth_version to fit
for current API status.

Depends-On: Id5e5ed9bf4f8b0f9eb376bfc7c5801f0956da1d9
Change-Id: I801e6740258ddea2a1b628a209970e0307d39d12
2017-03-03 16:57:03 -08:00
Matt Riedemann 80e82eac4c Disable glance v1 by default
Nova has been supporting glance v2 since Newton and removed
support for glance v1 in Ocata:

97e7b97210139a7f7888f0d6901e499664de02a3

We should disable glance v1 by default because there are several
test paths in Tempest which don't get run when glance v1 is
available because it uses glance v1 rather than v2.

Depends-On: I54db379f6fbe859fd9f1b0cdd5b74102539ab265

Change-Id: I7f962a07317cdad917ee896d79e49ee18938d074
2017-03-03 17:11:56 -05:00
Jenkins 8ddbf6f89d Merge "Create cell1 cell before n-api starts" 2017-03-03 16:20:47 +00:00
Jenkins 073c225257 Merge "Skips enabling kernel bridge firewall in container" 2017-03-03 16:20:20 +00:00
Jenkins 4fd32ec99f Merge "Use lib/keystone to configure [nova] section in neutron.conf" 2017-03-03 16:14:24 +00:00
Jenkins b9ed1ffc7d Merge "Added printing exit code of component process if it failed to start" 2017-03-03 02:53:05 +00:00
Jenkins 06d6fcf861 Merge "Add allow_global_implied_dsr_disabled feature flag" 2017-03-03 02:52:08 +00:00
Matt Riedemann f15224c740 Create cell1 cell before n-api starts
Change ac5fdb4c40 introduced
a problem for gnocchi CI because the deployments steps
are now:

1. create cell0
2. start nova-api (with multiple workers)
3. install ceilometer via extras
4. ceilometer calls nova-api to list servers; at this point
   nova-api getes the list of cells and caches them, which
   will just be cell0
5. create cell1 via simple_cell_setup which also discovers
   the n-cpu node so we can schedule instances
6. gnocchi tests create and list instances and at this point it hits
   an n-api worker that only has cell0 cached so it does not
   find some test servers it created and fails.

The cell0 and cell1 cells should be created in the nova_api db
before starting n-api so that when we first list instances, we
store both cells in the cache that's in n-api. This deployment
order is also how the nova docs describe rolling out cells v2
but the way we were doing this devstack wasn't following that,
or accounting for when devstack plugins are loaded via extras.

This change creates the main cell1 cell earlier in the setup
before n-api is started, and then changes to just run
discover_hosts at the end after n-cpu is running (which is what
simple_cell_setup and map_cell_and_hosts would do implicitly).

Change-Id: I38eab6707340253a10159a169ae61d34784c2d28
Related-Bug: #1669473
2017-03-02 15:33:08 -05:00
Ihar Hrachyshka 0ce4ba915b Use lib/keystone to configure [nova] section in neutron.conf
This simplifies neutron library code and makes it less prone to breakage
in the future. So far there are no specific known issues with existing
code per se, it works, still.

Change-Id: I28f1997d226baae902dae5ca8ee6cd4fd89efe31
2017-03-02 19:43:05 +00:00
Amrith Kumar 1e66388c5f put mysql on a memory diet
We propose several MySQL configuration parameter changes (with
explanations) to reduce the memory footprint of MySQL. A demonstration
of the improvement is provided in
https://etherpad.openstack.org/p/change-438668.

As Clint provided some of the descriptions that I've used, I have
listed him as a co-author (thanks Clint). Let this serve as a warning
to all that commetors may be enlisted :)

Change-Id: Icb2d6ea91d3d45a68ce99c817a746b10039479cc
Co-Authored-By: Clint 'SpamapS' Byrum <clint@fewbar.com>
2017-03-02 09:07:12 -05:00
Evgeny Antyshev 008aa3e095 Fix install_libvirt for other RHEL-based distros
Since https://review.openstack.org/#/c/438325 landed
it only works for Centos 7, but not for other
RHEL-based distributions: Virtuozzo and, probably, RHEV.

Both of above have own version for qemu-kvm package: qemu-kvm-vz and qemu-kvm-rhev,
accordingly. These packages provide "qemu-kvm", like qemu-kvm-ev,
and, when you call "yum install qemu-kvm", they replace the default OS package.

Change-Id: I46da627c0da8925064862fdc283db81591979285
2017-03-02 11:14:25 +00:00
Jenkins 23d03b697f Merge "install OSC with py3 by default" 2017-03-02 05:39:08 +00:00
Jenkins 93715a93df Merge "clean up virt drivers that we do image logic for" 2017-03-02 05:39:00 +00:00
Rodrigo Duarte Sousa 94c400cc54 Add allow_global_implied_dsr_disabled feature flag
This patch enabled the "allow_global_implied_dsr_disabled" feature
flag. This is a feature flag toggle for bug 1590578 which is fixed
in Newton and Ocata. This option can be removed after Mitaka is
end of life.

Change-Id: I70e3ce79ee6d9b00cc48bb178bd423d0196f6588
Related-Bug: #1590578
2017-03-01 19:54:38 -03:00
Dan Smith b1d8519b40 Move rpc backend start/configure to earlier
Because things like nova may need to create vhosts in the rpc backend,
we need to have started and created credentials before we configure
the service.

Change-Id: I01c9c5288e197fc50a8a4a032e3a32cd166eb180
2017-03-01 10:10:52 -08:00
Jenkins 24b58a9a1a Merge "nova: call map_cell0 much earlier in the setup" 2017-03-01 18:08:11 +00:00
Sean Dague f119121d21 clean up virt drivers that we do image logic for
openvz is not in the nova tree, and is referencing a crazy old image,
we're going to assume that if anyone is using this they can build a
devstack plugin.

drop doing anything by default because this actually requires that we
special case things like ironic in tree to *not* do anything by
default.

Change-Id: I9d33b98263c3d52a95b9983e90eb0b341fa1d363
2017-03-01 11:23:49 -05:00
Jenkins 8a82a9da2c Merge "nova: Fix comments for _config_nova_apache_wsgi" 2017-03-01 09:29:55 +00:00
Jenkins 7d6e77baff Merge "lib/neutron: Fix an extra comma in service_plugins" 2017-03-01 09:29:48 +00:00
Jenkins 2977d9aef5 Merge "lib/neutron: Fix conf handling" 2017-03-01 09:29:41 +00:00
Doug Hellmann 0b1ea080a2 install OSC with py3 by default
Add python-openstackclient to the list of packages installed under
Python 3 by default, so that jobs running with Python 3 exercise the
client that way.

Change-Id: I9778a6810bb3e4850132cfc19e583d50fed23ef5
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2017-02-28 16:39:48 -05:00
Jenkins 192046e4ab Merge "Use qemu-kvm-ev package on centos" 2017-02-28 21:28:52 +00:00
Ihar Hrachyshka 19f4b3faae lib/neutron: stop loading all config files into all processes
DHCP agent should not load core plugin config file; L3 agent has no
interest in metadata agent configuration file; etc. It's a mistake to
form a single global list of configuration files and pass it into all
processes. Every process should have its own list, that may or may not
have some files in common with other processes.

The only file that is common to all neutron processes is neutron.conf,
and we could in theory keep it into the common list. But I decided at
this point it's better to be explicit about what's loaded into services.
Also the order of arguments is important, and neutron.conf should always
be the first CLI argument, which is hard to achieve by keeping
neutron.conf file in the global list.

Plugins may be interested in loading additional files into neutron
processes. For example, dragonflow needs to load /etc/neutron/dragonflow.ini
into neutron-server. But we should not necessarily load all those files
into all processes, so such extendable lists should be per process.
Besides, neutron_server_config_add_new is already available to use to
append additional configuration files for neutron-server. That's why the
patch completely kills the NEUTRON_CONFIG_ARG variable.

Depends-On: I4bd54a41a45486a5601373f9a9cce74d7686d1aa
Change-Id: Ia3c3862399bba335db5edf9ea70f850fb2638d09
2017-02-28 21:07:52 +00:00
Jenkins 0e1e78117e Merge "install LIBS_FROM_GIT using python 2 and 3 where appropriate" 2017-02-28 16:37:49 +00:00
Jenkins 259c5e19a7 Merge "allow config to manage python3 use explicitly" 2017-02-28 16:37:20 +00:00
Jenkins d81e422722 Merge "Added support for fake drivers as Cinder backend" 2017-02-28 13:53:27 +00:00
Eli Qiao e624e48ddf nova: Fix comments for _config_nova_apache_wsgi
Comments cleanup.

Change-Id: I02748b906f7bb75240bc4e5259005cd72ef49f6b
2017-02-28 15:18:20 +08:00
Eli Qiao 4af6eeac52 cinder: wait for cinder-api for wsgi too
Wait for cinder-api's status if CINDER_USE_MOD_WSGI=True

Change-Id: I40e5e08633572f877a25280496141423f232d447
2017-02-28 15:14:00 +08:00
Denis Buliga 0bf75a471e Skips enabling kernel bridge firewall in container
Calling enable_kernel_bridge_firewall inside a
container, devstack will crash because it tries to
load a kernel module by calling 'sudo modprobe' on
net.bridge.

Change-Id: Id4718c065d5a8c507d49f38e19c2796a64221aa4
Closes-Bug: #1662194
2017-02-27 10:31:58 +02:00
Ian Wienand 52bb64105f Use qemu-kvm-ev package on centos
For the latest qemu-kvm, you have to use the qemu-kvm-ev package,
which is based off the qemu-kvm-rhev package, which is explained in
[1] but you probably can't read it.  The gist is, that qemu-kvm-rhev
is a later build of kvm that is incompatible with the base version
provided.  qemu-kvm-rhev is only provided with the RHV (ovirt) and
RHOS (openstack) products.  CentOS rebuilds this package as
qemu-kvm-ev as part of it's virtualisation SIG.

I9a972e3fde2e4e552f6fc98350820c07873c3de3 has bumped up the minimum
qemu version to 2.1.0.  It seems there is a an issue (bug #1668164)
where having the qemu-system package installed gets picked up if
installed, and reports the incorrect version to nova, causing failure.

This removes the installs from files/rpms/nova as it is all being done
in function-libvirt.  We only install the qemu-kvm-ev package on
centos and remove the old work-around.

[1] https://access.redhat.com/solutions/629513
[2] https://wiki.centos.org/SpecialInterestGroup/Virtualization

Change-Id: Ide91b261f35fb19d8bd7155ca016fa3b76a45ea1
2017-02-27 18:59:49 +11:00
Ian Wienand 1e7f738f28 Ensure we install setuptools from requirements
Use pip_install_gr so we get the version pinned by requirements.  The
depends-on is an example of where we're trying to pin to workaround
issues.

Depends-On: I9c57c08a150571c5bb62235d502839394d53a4c1
Change-Id: I780cca681b12a3e9d228dbf2fd9fa6e8ab1a82e1
2017-02-27 11:35:43 +11:00
Jenkins 6f23555c95 Merge "Fix error in 'ip netns' parsing" 2017-02-26 21:43:54 +00:00
Jenkins f697274eee Merge "Fix file permissions for lib/neutron_plugins/linuxbridge_agent" 2017-02-26 06:26:01 +00:00
Jenkins 9a21fe65a7 Merge "Xen: support Ubuntu Xenial for xen DevStack" 2017-02-26 03:41:50 +00:00
Jenkins 47e3e1d88e Merge "XenAPI: enable root_helper_daemon for XenServer" 2017-02-25 19:15:31 +00:00
Jenkins 0e9ee86bde Merge "Using sudo in the Quick start section" 2017-02-25 16:02:57 +00:00
Jenkins 71640bfe39 Merge "Remove distro support based on new libvirt minimum" 2017-02-25 16:02:50 +00:00
Ihar Hrachyshka 3a6916e768 Install same packages for neutron-* services as for q-*
This patch creates symlinks between neutron-* files tracking runtime
dependencies for services, and q-* files. Since lib/neutron is the
new recommended way to deploy neutron with devstack, this patch made
neutron-* files real files, while q-* files are just symlinks.

Change-Id: I0f361f31160d0fee40ad3e8de873edd05173e54e
2017-02-25 05:37:55 +00:00
Jenkins 0072abbf11 Merge "Refactor rpc backend vhost creation" 2017-02-24 22:51:38 +00:00
Jenkins 50aa32014c Merge "Enable placement section on controller in multinode setup" 2017-02-24 16:55:54 +00:00
YAMAMOTO Takashi a1875b1ffc neutron-legacy: Defer service_plugins configuration
This allows post-config phase to use neutron_service_plugin_class_add
so that devstack plugins can use it in the same way for both of
neutron-legacy and its "modern" counterpart, lib/neutron.

Closes-Bug: #1667037
Change-Id: I9068fd608e82e70db8d725f92269a26920efebcb
2017-02-24 11:02:44 -05:00
Mehdi Abaakouk 807de8e590 Set OS_AUTH_TYPE to password
Devstack configures keystone for auth mechanism but don't tell
keystoneauth1 library that it should use keystone too.

In simple case, this is not an issue because some application
set 'password' by default (like the openstack cli).

But applications can have no default or another default.

Change-Id: Idd1e1d2e7546fce7531175440788a8c7cb27aec1
2017-02-24 14:55:33 +01:00
Gary Kotton 79b55f51e4 Fix file permissions for lib/neutron_plugins/linuxbridge_agent
The permissions changed with commit
40aae6adbf

TrivialFix

Change-Id: I100cb9589309f9289b4581265a5e4206464ddc0e
2017-02-24 13:40:19 +00:00
Daniel Alvarez 1d0841286e Adding haproxy package to Neutron
This patch adds haproxy package to devstack as Neutron will rely on it
for serving metadata instead of the current Python implementation.

haproxy will reduce the memory footprint from ~50MB to ~1.5MB for
serving metadata. It will be spawned for every Neutron router so,
for large deployments, it will be a significant memory reduction.

Change-Id: I36a5531cacc21c0d4bb7f20d4bec6da65d04c262
2017-02-24 12:05:03 +00:00
Jenkins 10e1e387ce Merge "Don't set external_network_bridge by default" 2017-02-24 12:00:44 +00:00
Jenkins cffe4fea06 Merge "worlddump: Use __future__ print_function" 2017-02-24 12:00:27 +00:00
Jenkins 947af3ac61 Merge "Removed neutron_plugin_configure_debug_command functions" 2017-02-24 10:21:59 +00:00
Jenkins a97d32fac2 Merge "Do not run cinder API V1 tests anymore by default" 2017-02-24 10:14:12 +00:00
Jenkins 5c332b09ab Merge "Corrected router gateway set command" 2017-02-24 06:32:13 +00:00
Ihar Hrachyshka bf697f5065 lib/neutron: untangle metering configuration from legacy
The old code assumed _neutron_service_plugin_class_add presence, as well
as used a configuration file path that is not standard (under
/etc/neutron/services/ instead of /etc/neutron/metering_agent.ini).

The patch untangles metering configuration in the new library from that
old and bad code, and reimplements it inline.

This should help the effort to switch gate from lib/neutron-legacy to
lib/neutron.

Change-Id: I0d235498af4b6a70bd5dae6ea178d5aa8ba41e80
2017-02-24 05:24:42 +00:00
Ihar Hrachyshka 615e115474 lib/neutron: set variables needed for sane l3 agent setup
Since for the new devstack library we still rely on some functions from
ovs_base, we need to initialize them with sane default values so that
setup works as intended and as lib/neutron-legacy behaves by default for
external connectivity setup.

Change-Id: I412ed4f988b8e03a3e3a08066375b55a6e6aa3e6
2017-02-24 05:24:18 +00:00
Jenkins cdf79c9620 Merge "mysql: set default sql_mode to TRADITIONAL" 2017-02-24 00:59:06 +00:00
Dan Smith 6f0205b036 Refactor rpc backend vhost creation
The creation of the cellsv1 rpc vhost was buried in the restart function,
which makes it hard to extend. This breaks it out into a helper method
and moves the conditional logic into the nova module itself.

Change-Id: Ib0e377aabe45c27bb6ce59ca275ce73085e8b9d2
2017-02-23 08:16:48 -08:00
Prashant Shetty f58b373563 Enable placement section on controller in multinode setup
Currently placement api section will be configured on controller
only if service n-cpu is running. It breaks multi node setup.
Closes-Bug: #1667219

Change-Id: I8b0f60f253859f704bb9831d7dac8f55df353ac7
2017-02-23 13:49:37 +00:00
Jenkins 0fddb35cd8 Merge "lib/tempest: Liberty EOL: remove the volume_services feature flag" 2017-02-23 04:09:00 +00:00
Jenkins 354e7d0997 Merge "Setup service user configuration in nova.conf" 2017-02-22 22:17:46 +00:00
YAMAMOTO Takashi 84e45c9143 lib/neutron: Fix an extra comma in service_plugins
Closes-Bug: #1667077
Change-Id: Ib63a94a931c38a7b2a5fc91a8339a9cd657f7927
2017-02-22 14:25:31 -05:00
YAMAMOTO Takashi ed887d8b9f lib/neutron: Fix conf handling
- Remove extra spaces
- Fix a missing space in the generated option string
- Fix a fatal typo

Change-Id: Ieca1c3e3c7e2ff59089ef45435e126ce7ff4f9b5
Closes-Bug: #1667073
2017-02-22 14:23:35 -05:00
Ivan Kolodyazhny 447f141d4f Added support for fake drivers as Cinder backend
FakeLoggingVolumeDriver  will be used for functional Cinder tests to
prevent dependencies on any storage.

FakeGateDriver is based on LVM and will be used to run Tempest tests for
such features like CG's, replication, etc.

Depends-On: I383bcdb531c7d52c0fdbb6875de73f1274a92854
Change-Id: I2dc8ea416f5eb3fcc9d2e959533497e464220ff5
2017-02-22 09:14:54 -05:00
Jianghua Wang 6e49cab091 Xen: support Ubuntu Xenial for xen DevStack
Upgrade xen tool to install Ubuntu Xenial; change the upstart
task to systemd task to finish the OpenStack installation
by using devstack.

Change-Id: I8129923be3c41e7f60e9d32348a5ea8e07d4845b
2017-02-22 19:59:36 +08:00
Jenkins 7a30c7fcab Merge "pass role by name not id" 2017-02-21 23:04:49 +00:00
Jenkins 42a914cadf Merge "Revert "tls proxy: immediately close a connection to the backend"" 2017-02-21 21:02:03 +00:00
Sean Dague 0b259c3abd only set nova catalog if it's not the default
This ensures we only set the nova catalog when it's not the default,
instead of also putting defaults in devstack.

Change-Id: Ibb0dcb8bae2e9223db302d7b19e8fbee4ebbf0e3
2017-02-17 11:51:36 -05:00
Jenkins 29152c7dd6 Merge "remove keystone internal uri" 2017-02-16 19:21:06 +00:00
Jenkins 55dab95237 Merge "simplify endpoints used in devstack" 2017-02-16 19:20:14 +00:00
Jenkins fe86b35982 Merge "Use the latest 0.3.5 version of CirrOS" 2017-02-15 17:38:24 +00:00
Jordan Pittier 88312fa61f Do not run cinder API V1 tests anymore by default
I think now is a good time to stop running Cinder V1 tests. It should
save quite some Infra resources and jobs should run faster too.

Also, remove some useless variables in lib/tempest.

Change-Id: I0edf1d88c136c3b910a5773690a603eeacb50266
2017-02-15 16:49:42 +01:00
Jenkins 9b15fd26d7 Merge "Switch devstack to use qcow cirros img" 2017-02-15 15:28:23 +00:00
Jenkins 5ed1e34802 Merge "Add top memory consuming process to dstat output" 2017-02-15 02:02:49 +00:00
Jenkins 289c600646 Merge "Down PUBLIC_BRIDGE before trying to delete it" 2017-02-15 01:48:48 +00:00
John L. Villalovos c6e6939e89 Fix error in 'ip netns' parsing
Sometimes when doing worlddump would see a command line like this:
 sudo ip netns exec (id: ip addr

This would cause an error to be seen in console.log:
  2017-02-07 00:03:03.659570 | /bin/sh: 1: Syntax error: "(" unexpected

This is caused by there sometimes being extra data returned from the
'ip netns' command [1]. For example it might look like:
    qrouter-0805fd7d-c493-4fa6-82ca-1c6c9b23cd9e (id: 1)
    qdhcp-bb2cc6ae-2ae8-474f-adda-a94059b872b5 (id: 0)

[1] https://lwn.net/Articles/629715/

Change-Id: Icece442023125ef55696b8d92a975d37e358b1b4
Closes-Bug: 1653969
2017-02-14 09:29:54 -08:00
Jordan Pittier 4370925181 TLS proxy: disable HTTP KeepAlive
There's a race condition when a client makes a request "at the same
time" the HTTP connection is being closed by Apache because the
`KeepAliveTimeout` is expired.

This is explained in detail and can be reproduce using
https://github.com/mikem23/keepalive-race or
https://github.com/JordanP/openstack-snippets/blob/master/keepalive-race/keep-alive-race.py

Just disable KeepAlive to fix the
('Connection aborted.', BadStatusLine("''",)) error we are seeing.

Change-Id: I46e9f70ee740ec7996c98d386d5289c1491e9436
2017-02-14 16:59:07 +01:00
Jordan Pittier bc3d01c8ec Revert "tls proxy: immediately close a connection to the backend"
This reverts commit e0a37cf21e.

This didn't help fixing bug #1630664. Issue seems to be between
client<--->Apache2, not between Apache2<--->eventlet

Change-Id: I092c1bbf0c5848b50fc9e491d1e9211451208a89
2017-02-14 15:46:03 +00:00
Matthew Treinish 6fc332d852 Switch devstack to use qcow cirros img
This commit switches devstack to use the published qcow2 cirros image
instead of the AMI version. Using AMI was mostly a historical artifact
dating pretty far back, but in the real world no one really uses AMI
images with openstack clouds. This change reflects that and also
enables tempest ro remove its deprecated config options for using AMI
as a fallback on misconfiguration (which was just there to support
devstack's defaults)

Change-Id: Id65ebae73b28da7185cb349b714b659af51ef77f
2017-02-14 08:41:25 -05:00
Matt Riedemann ff10ac318c Remove distro support based on new libvirt minimum
Nova is going to increase the minimum required libvirt
in Pike to 1.2.9 in change:

I9a972e3fde2e4e552f6fc98350820c07873c3de3

Based on the libvirt distro support matrix wiki [1] that
drops support for Ubuntu Trusty and Debian 7.0/Wheezy.

Trusty has libvirt 1.2.2 and Wheezy has 0.9.12 (the Wheezy
support should have been removed long ago apparently). The
7.0 removed here is for Wheezy also based on commit
b2ef890db3.

This does not undo the check for "trusty" with the
EBTABLES_RACE_FIX in lib/nova_plugins/function-libvirt
since you can still force devstack to run on Trusty if
you specify the FORCE=yes variable.

Note that RHEL 7.1 has libvirt 1.2.8 so it won't technically
work with devstack and nova + pike + libvirt, but with the
way os_RELEASE is calculated the minor version is dropped
for RHEL distros so we just get "rhel7".

Also note that this doesn't attempt to continue supporting
Trusty or Wheezy if nova is not configured to use libvirt,
simply in order to start moving forward on devstack distro
support in general and to keep some sanity and closeness
to what we test with in the CI system.

While we're in here, we also drop Fedora 23 and add
Ubuntu Zesty.

[1] https://wiki.openstack.org/wiki/LibvirtDistroSupportMatrix

Depends-On: I9a972e3fde2e4e552f6fc98350820c07873c3de3
Depends-On: If69f99bd789e646b0261e27a8a061efde32436f7

Change-Id: I6617283afd798af37e64913b7865cea3c8a62aba
2017-02-13 16:31:39 -05:00
Sean Dague bfff93e156 remove keystone internal uri
There is really no reason to have an internal uri referenced for
keystone in devstack.

Change-Id: If0588a0ab512d94451992e7131dd3c8a33c5797c
2017-02-13 16:18:08 -05:00
Sean Dague 11eb2017ef simplify endpoints used in devstack
The proliferation of internal/admin endpoints is mostly legacy and
based on some specific deployment patterns. These are not used by
everyone, and for the devstack case aren't really that useful. We
should simplify our service catalog down to the minimum we need for
development.

Change-Id: Ided7a65c81b3a0b56f0184847fc82e17c29a771e
2017-02-13 16:16:59 -05:00
Jenkins 6bd3561e9d Merge "Generate deprecation warning for postgresql" 2017-02-13 19:57:46 +00:00
Attila Fazekas 9ef346f59d Using sudo in the Quick start section
Adding sudo to the example commands in the quick start section.

Also adding '-' as su argument in order to use
the stack user's env (home).

Change-Id: I23ab38104d05c3f4c8d48b55e66cf19dc4e4f90d
2017-02-13 15:14:41 +01:00
Sean Dague ee37d20f80 pass role by name not id
Change-Id: Ie67758bed3563c9a46a5180eaa9c8d47721fffd8
2017-02-13 14:06:03 +00:00
Andrea Frittoli (andreaf) 9f2dcd3331 Use the latest 0.3.5 version of CirrOS
This new version of CirrOS is built on top of 0.3 branch, so wrt
version 0.3.4 it includes only two commits:

- Cherry-pick of the fix for https://launchpad.net/bugs/1564948
- One extra fix to make the above working on 0.3

Cherry-picked commit is http://bazaar.launchpad.net/~cirros-dev/cirros/trunk/revision/366

A Tempest test for hard reboot in some cases hits the case where
host key are empty. This triggers bugs/1564948, i.e. the ssh
daemon does not start at all, and the Tempest test fails with
"connection refused", which is misleading.

The new version of CirrOS solves this problem as it ensure host
keys are generated if missing, and the sshd deamon started.

I tested the scenario of missing host keys in Iea74c63925be17a1df894c1a2c23f5ba2793e0c6
using a private build of what then became 0.3.5.

Change-Id: I5c154ec25555e768954538fc22b4f5d5975b2deb
2017-02-12 22:14:15 +00:00
Jordan Pittier e0a37cf21e tls proxy: immediately close a connection to the backend
Force mod_proxy to immediately close a connection to the backend
after being used, and thus, disable its persistent connection and
pool for that backend.

Let's see if that helps fixing bug #1630664 (the
Connection aborted/ BadStatusLine thing).

We already have an ER query (in queries/1630664.yaml) that should show
whether this is effective.

Change-Id: I03b09f7df5c6e134ec4091a2f8dfe8ef614d1951
2017-02-10 15:04:52 +01:00
Ihar Hrachyshka 952ecb6fec Don't set external_network_bridge by default
Since the empty value is the default for the option, and when explcitly
set in config file, it triggers a deprecation warning for the option,
avoid setting it unless we actually need to override the new default
value.

Change-Id: If423114d7a52da29b97d1fb473a955d9d69a1a3e
2017-02-10 06:39:04 +00:00
Ihar Hrachyshka 47bcf4fbcb Removed neutron_plugin_configure_debug_command functions
Those are not called by devstack anymore. This cleanup also gets rid of
code that attempts to set external_network_bridge to an empty value,
which triggers a deprecation warning for the option since it's going to
be removed in a next Neutron release.

Change-Id: I5adcbab877b4e8742522de81b1a85acfc33160d7
2017-02-10 06:39:04 +00:00
Sean Dague 999dd7e989 only apply ebtables race fix on trusty
Change-Id: Ifc83e7301d9d921ce9ceed349f116584ce03842b
2017-02-09 17:56:40 -05:00
Jenkins a6ecdd1167 Merge "lib/tempest: remove an unused network option" 2017-02-09 10:32:54 +00:00
Jenkins 0dccb52b75 Merge "Remove OS_NO_CACHE from openrc" 2017-02-09 10:08:25 +00:00
OpenStack Proposal Bot 26e5a00957 Updated from generate-devstack-plugins-list
Change-Id: I4cf11a25b1d107cc5ab9664cae47a5a13f7a2450
2017-02-08 14:19:00 +00:00
Sean Dague d9aaae95f2 Generate deprecation warning for postgresql
Change-Id: I599e6d84b70bb6a7718ae48dd0cfc91796af189e
2017-02-08 07:49:26 -05:00
Roman Podoliaka 88b84094ec mysql: set default sql_mode to TRADITIONAL
We currently use a more permisive STRICT_ALL_TABLES mode, but that's
not what modern MySQL versions default to (i.e. TRADITIONAL):

https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sql-mode-changes

(non-Devstack deployments will most likely use TRADITIONAL as well)

Due to the fact that we default to TRADITIONAL in oslo.db, this
produces annoying warnings on MySQL 5.7 versions we use in the gate:

    Warning: (3090, u"Changing sql mode 'NO_AUTO_CREATE_USER' is
              deprecated. It will be removed in a future release.")

https://git.openstack.org/cgit/openstack/oslo.db/tree/oslo_db/options.py#n49

Unlike STRICT_ALL_TABLES, TRADITIONAL mode includes NO_AUTO_CREATE_USER,
and MySQL emits this warning on switching it on:

https://dev.mysql.com/worklog/task/?id=8326

So we have two options here:

1) make oslo.db default to STRICT_ALL_TABLES
2) make Devstack default to TRADITIONAL

The latter seems to be more appropriate as:

1) it's what modern MySQL versions default to
2) it's what people are actually using, if they do not override the
   oslo.db default
3) it's more strict

Closes-Bug: #1652452

Change-Id: Ie6d823c9f8465ac9f2ce4825929d1a50438fab45
2017-02-07 18:01:25 +02:00
Hirofumi Ichihara 40aae6adbf Down PUBLIC_BRIDGE before trying to delete it
When cleanup devstack with linuxbridge, PUBLIC_BRIDGE should be
DOWN before trying to delete it.

Change-Id: I2d205cbe4d92a03ee5c376a23282d9880dd9a1df
Closes-Bug: #1662543
2017-02-08 00:12:04 +09:00
Jordan Pittier fd40677297 lib/tempest: remove an unused network option
Tempest doesn't support the `api_version` config option for networking
anymore. I can't track which Tempest patch removed it, but it's been more
than 2 years.

Change-Id: I4012f470e8c317803203b6fa1e265600dbc49b3d
2017-02-07 14:43:32 +01:00
Jenkins 7eef546f8a Merge "Cut back on the number of workers ran for neutron" 2017-02-07 04:04:33 +00:00
John L. Villalovos 09949e0dc6 worlddump: Use __future__ print_function
Commit e7361775c1 changed the code to
use Python 3 style print function, but when doing 'print()' in Python
2.7 it would print '()':
    >>> print()
    ()

Import the __future__ print function so that a blank line will be
printed as expected. This will now work the same in Python 2 & 3.

Change-Id: I61742e107278f2327c18c9ab0de52d1914f16c97
2017-02-06 13:55:52 -08:00
Joanna Taryma 9d49ed9834 Added printing exit code of component process if it failed to start
When command failed and component failed to start, original exit code
was overwritten due to original command being executed in background.
This commit adds information about command's exit code to echoed message
about component's start up failure.

Change-Id: I8a3dd485b1b1f2d70d42c5610baac7c0c713f53a
Signed-off-by: Joanna Taryma <joanna.taryma@intel.com>
2017-02-06 11:30:15 -08:00
Jordan Pittier 1868232485 lib/tempest: Liberty EOL: remove the volume_services feature flag
Now that Liberty is EOLed, the feature flag is not needed anymore.

Change-Id: Ib82cb21edbda383d17f8cf69fedc884f2357fead
Depends-On: I7073106988a79aad19c6b95bb050d2eaf00c36c0
2017-02-06 09:43:08 +00:00
Armando Migliaccio 06f2ea2b96 Cut back on the number of workers ran for neutron
The dedicated RPC worker is overkill in single or multinode
devstack deployments. Also metadata API workers was left
default, which meant they were as many as the CPU cores.

Related-bug: 1656386

Change-Id: Ibbf7787dfa48e13a51f961f3e0ee2b8f49964759
2017-02-05 08:04:49 -08:00
Jenkins bab8516a85 Merge "Enable VNC console in tempest.conf" 2017-02-03 16:24:32 +00:00
Jenkins 0ab0e50011 Merge "Create private IPv6 subnet specifying mode flags" 2017-02-03 16:24:25 +00:00
Jenkins f0b9e841c4 Merge "Change the way to get conntrack-tools version" 2017-02-03 16:23:14 +00:00
Matthew Treinish 6d79ebcae1 Add top memory consuming process to dstat output
Right now we under pressure because of increasing memory consumption in
dsvm jobs. So it'll be good to see which process is eating the most ram
at a given time. It may not end up being useful, but it doesn't hurt to
at least display just in case.

Change-Id: I096bf4b425db51358240335e41f6238d1ec1bb40
2017-02-02 10:52:53 -05:00
OpenStack Proposal Bot debc695ddf Updated from generate-devstack-plugins-list
Change-Id: Ia858ddf2e688903af2c76d532ddf7780bd591ef9
2017-02-01 07:27:18 +00:00
PranaliD 705b3785ca Corrected router gateway set command
While configuring the external network as the default
router gateway for IPV6 in lib/neutron_plugins/services/l3,
"router" keyword is missing in the command.

Corrected the command.

Change-Id: I055bea5137a841f709d4865ec9a43d6b53f8f4c9
Closes-Bug: 1660712
2017-02-01 11:33:44 +05:30
Matt Riedemann ac5fdb4c40 nova: call map_cell0 much earlier in the setup
The map_cell0 command creates a cell mapping record in the
nova_api database, and the nova-manage db sync command
will migrate the db schema for the nova_cell0 database. This
patch takes advantage of that by moving the map_cell0 call
much earlier in the setup process so we get the nova_cell0
db schema migrated at the same time as the main nova db.

This also removes the || true condition around map_cell0
since it's idempotent now due to fix:

aa7b6ebbb254f00fcb548832941ca9dbd3996d9f

Change-Id: Ice4fbb1771270c618b2acbc933d4fbfb6805df81
2017-01-31 15:20:18 -05:00
Matt Riedemann e1644ac1d8 Remove OS_NO_CACHE from openrc
Nothing uses this variable either in devstack or libraries,
so it's dead code (at least on master), and we can remove it.

Change-Id: I5975c476ae5b26402c209d6e5746e7a5a5a91507
2017-01-31 11:59:09 -05:00
Jenkins e6f8dbb55f Merge "Don't run swap_volume tests in Tempest if cells v1 is enabled" 2017-01-31 13:16:08 +00:00
Jenkins bd14f7f23e Merge "unify logging setup on all services" 2017-01-31 06:26:17 +00:00
Matt Riedemann e9a9fbef8f Don't run swap_volume tests in Tempest if cells v1 is enabled
Cells v1 apparently doesn't support the swap volume API which
was recently enabled for testing in change:

92575baa6b

Rather than revert that change, we should just handle the cells
v1 case and not enable that test in that environment.

Change-Id: I80f52e8299641098d90d3c374a80770fc45b8122
Closes-Bug: #1660511
2017-01-30 22:22:43 -05:00
Jenkins a935193bae Merge "tempest: configure compute-feature-enabled.swap_volume if libvirt" 2017-01-31 00:42:28 +00:00
Mehdi Abaakouk 5c6aa56e11 Don't assume nova-manage is present
tools/discover_hosts.sh is run by devstack-gate, and breaks all dsvm job
that doesn't use nova.

nova-manage is perhaps not installed if nova services are not enabled.

This change checks the presence of nova-.

Change-Id: Ic555d241f98d0fa027897c69a7115d1be88f6c96
2017-01-26 16:21:54 +01:00
Matt Riedemann 5713497aa5 Add discover_hosts.sh script
This adds a simple script to run the
'nova-manage cell_v2 discover_hosts'
command which will be used by
devstack-gate to discover the compute
hosts after devstack is fully setup.

This allows us to manage the branches
where this can run from devstack rather
than require branch logic in devstack-gate.

Change-Id: Icc595d60de373471aa7ee8fb9f3a81fc12d80438
Depends-On: I4823737246a8e9cc4eaebf67ff6bdba8bf42ab29
2017-01-25 13:45:27 -08:00
Jenkins adcf0c50cd Merge "remove obsolete s3 conf from nova.conf" 2017-01-23 23:37:02 +00:00
Jenkins 7a1e6f042f Merge "simplify colorized logging setup" 2017-01-23 23:35:19 +00:00
Michelle Mandel 10db2b8e65 Enable VNC console in tempest.conf
If the NoVNC service is enabled, enable vnc_console in tempest.conf.
This will allow tempest tests that interact with VNC to be executed.

Change-Id: Idb38a3b11e2f61f23adf1ec23c04ddccd72e7539
Depends-On: I09aed8de28f1ba2637382e870134ced38808df29
2017-01-23 10:39:01 +00:00
Jianghua Wang 465ee45986 XenAPI: enable root_helper_daemon for XenServer
The daemon mode of root helper for XenAPI has been implemented by
this change which has been merged to neutron:
https://review.openstack.org/#/c/390931/
It will help to import the performance. Let's enable this mode
by default in devstack.

Change-Id: I52246bef3e4434dfc49446535b122580bc475ac3
2017-01-23 07:46:56 +00:00
Jenkins a1913db5d7 Merge "remove db setting when no nova service need it" 2017-01-20 20:48:56 +00:00
Sean Dague fb1c7b51b5 remove obsolete s3 conf from nova.conf
Change-Id: If0b42c647382b739ee4f1d98ea0394ec7b171ebf
2017-01-20 19:01:14 +00:00
Sean Dague 9751be66fa unify logging setup on all services
This provides a single setup_logging function which builds consistent
colorization if the config supports it, otherwise builds the identity
strings that we need to actually keep track of requests.

Change-Id: Iffe30326a5b974ad141aed6288f61e0d6fd18ca9
2017-01-20 10:48:29 -05:00
Sean Dague b6753cea8c simplify colorized logging setup
This makes setup_colorized_logging be a thing which takes a single
parameter and doesn't let projects do things differently. It also
changes the order of values from user / project to project / user to
represent the hierachy more clearly.

Change-Id: I8c0ba7da54be588e3e068734feb4f78ed7c5a14a
2017-01-20 10:48:20 -05:00
Jenkins df09c43386 Merge "add install_devstack_tools" 2017-01-19 18:24:52 +00:00
Jenkins e19c8c34c5 Merge "Remove baremetal tempest config setting from devstack" 2017-01-19 10:32:20 +00:00
Jenkins b1d3977daf Merge "Restrict enabling the manage_snapshot volume feature" 2017-01-19 00:56:54 +00:00
Sean Dague f80e2cfee8 add install_devstack_tools
An initial install for devstack-tools, this will need to use all the
fun pip extra variables for installation, however the current
pip_install always prefers python2, and we only want to do python3
here.

Change-Id: I3dcdb35130f76fad81cb7b0d4001b7e96efbbd84
2017-01-18 15:42:53 -05:00
Jenkins eb9d42b65c Merge "Use delete action for clean up *.pyc files" 2017-01-18 18:02:56 +00:00
Sean Dague 1b457c9acf remove db setting when no nova service need it
We shouldn't have the db connection laying around if services don't
need it.

Change-Id: I9290e80c499c0c4644094e3c0666fd0ab002a23c
2017-01-18 07:53:33 -05:00
Jenkins d89b175321 Merge "Remove default image logic for Ironic from DevStack" 2017-01-18 00:33:08 +00:00
Patrick East 3eb7c97a6d Restrict enabling the manage_snapshot volume feature
The test that is in tempest for this feature is
specific to LVM and will *not* work for other backends
regardless of them supporting the feature. It shouldn't
default to enabled for everyone, only for LVM.

If others want to opt-in they can, but its definitely
the minority that would.

Change-Id: I21347f2a5069059e6413208b254d5acd246faaea
2017-01-17 11:57:42 -08:00
Jenkins 1afe532a3e Merge "Fix cellsv2 cell0 database name" 2017-01-16 21:38:44 +00:00
Huan Xie ba3c8f48bb Change the way to get conntrack-tools version
In the incoming XenServer, it failed to install conntrack-tools
in Dom0 due to the bash script which is trying to find the correct
CentOS release version to be used in yum command. This patch is to
fix the problem

Change-Id: If7f169e118ccb7c29fc479c361417a916dc40b40
2017-01-15 20:07:04 -08:00
Dan Smith 29bb53fd3e Fix cellsv2 cell0 database name
For some reason we were defaulting the name of the cell0 database
to nova_api_cell0 instead of nova_cell0. Devstack inherited that to
make things work, but we don't really want that. This patch makes us
use the proper name and create the cell0 mapping accordingly. As a
side effect, it also starts the process of unifying the cellsv1 and
cellsv2 paths by creating the cell0 mapping the same for both.

Change-Id: I4e7f6c5eaa068c98e5c4ef3feaee50d8e4f5d484
2017-01-15 09:50:40 -08:00
Jenkins 39a80aeed8 Merge "Don't skip cellsv2 setup for cellsv1" 2017-01-13 22:52:16 +00:00
Jenkins 9a133d1ab0 Merge "Confirm network is created before setting public_network_id" 2017-01-13 18:39:19 +00:00
Jenkins 775c8f4924 Merge "Reconfig ml2 ovs configuration for neutron on XenServer" 2017-01-13 18:39:10 +00:00
Jenkins 244ca7fcdd Merge "lib/tempest: remove the allow_port_security_disabled option" 2017-01-13 18:38:19 +00:00
Jenkins f62a3fb9c6 Merge "lib/nova: create api db first" 2017-01-13 17:17:10 +00:00
Jenkins b96c160d87 Merge "lib/tempest: allow tweaking volume-feature-enabled/manage_snapshot" 2017-01-13 16:00:35 +00:00
Victor Morales b612b6281a Use delete action for clean up *.pyc files
Findutils added in release 4.2.3 a new --delete action for deleting
matching files. This action performs better than -exec rm {} \;
because it doesn't have to spawn an external process.  This change
uses a new action whenever is possible.

Change-Id: Iff16a86b18e924cfe78ac7c6107910940ce51e03
2017-01-13 09:16:42 -06:00
OpenStack Proposal Bot dd07151366 Updated from generate-devstack-plugins-list
Change-Id: I65fd56546af13453274601ec2b923c5d03b8a8ab
2017-01-13 07:11:15 +00:00
Brian Haley 1ec93a8fc2 Create private IPv6 subnet specifying mode flags
$ipv6_modes should always be passed when creating the
default IPv6 subnet, not just when fixed_range_v6 is
set.  Without it the default was DHCPv6, which cirros
doesn't support out of the box.  Was broken in
change-over from neutron to openstack cli.

Change-Id: Iadd39b1ce02fe0b3781bd3ae04adfd20d7e12d9f
Closes-bug: #1656098
2017-01-12 16:11:11 -05:00
Dan Smith e194330f27 Don't skip cellsv2 setup for cellsv1
Since cellsv2 setup is no longer optional, we can't even exclude
cellsv1 from this step. Since cellsv1 users can't use the simple
command, this does the individual steps as needed.

Depends-On: Icfbb17cce8ce8b03dc8b7b4ffb202db01e5218a6
Change-Id: I3c9101a34b2bb0804fc4deda62dbb8637e7b8f94
2017-01-12 08:24:45 -08:00
Matt Riedemann 92575baa6b tempest: configure compute-feature-enabled.swap_volume if libvirt
The only virt driver in nova that supports the swap volume API is
libvirt so enable testing that in Tempest only if using libvirt.

Depends on two changes:

1. The Tempest change that adds the new config option and test.

Depends-On: I2d4779de8d21aa84533f4f92d347e932db2de58e

2. A nova fix for correctly waiting for the block copy job in the guest
   to complete.

Depends-On: I0c52917a5555a70c4973f37dea1aebf878dd73b4

Change-Id: Ibb6b309574d2c6a06fcecb0626ea21527fb7f412
2017-01-12 09:31:21 +00:00
Jenkins b952253d3f Merge "iptables: don't enable arptables firewall" 2017-01-12 09:31:00 +00:00
Jordan Pittier afac732d5d lib/tempest: allow tweaking volume-feature-enabled/manage_snapshot
Only a few Cinder backends support the 'manage snapshot' feature. So
we need a feature flag here. Luckily the LVM driver does support this
feature so default the feature flag to True in devstack(/Gate) but
introduce a variable to tweak the config.

Change-Id: Ifcb9f91059f08bdf2faf2a8d65229aba5742ee1c
Depends-On: I77be1cf85a946bf72e852f6378f0d7b43af8023a
2017-01-11 18:45:27 +01:00
Pushkar Umaranikar 14e16e42f9 Setup service user configuration in nova.conf
In Nova, service token will be passed along with user token to communicate
with services when dealing with long running tasks like live migration.

This change addresses adding service user configuration for nova in
devstack.

Part of Nova blueprint use-service-tokens

Depends-On: I51eb0a8937fa39a2e5dafb1ad915e7113ea61f72

Co-Authored-By: Sarafraj Singh <sarafraj.singh@intel.com>

Change-Id: I2d7348c4a72af96c0ed2ef6c0ab75d16e9aec8fc
2017-01-11 12:03:53 -05:00
Jenkins 1ba23d6ac6 Merge "cinder: configure dlm when this one is zookeeper" 2017-01-11 15:53:04 +00:00
Jenkins 19efc1e6c6 Merge "XenAPI: Use XenServer DevStack plugins" 2017-01-10 22:42:53 +00:00
Jenkins 18877ccc94 Merge "Fix typo in commands to enable nested KVM with kvm-amd" 2017-01-10 20:10:11 +00:00
Jenkins 3bdeed0673 Merge "Move RABBIT_HOST to lib/rpc_backend" 2017-01-10 19:45:10 +00:00
Doug Hellmann a2eb89417f install LIBS_FROM_GIT using python 2 and 3 where appropriate
When installing a library from source and python 3 is enabled, first run
the installation process with python 2 enabled to ensure the library is
also installed under python 2 for any services not yet running under
3. The python 3 version is installed second so that command line tools
installed with libraries are installed under python 3 when python 3 is
enabled.

Change-Id: Ibb0f7a68d21081bf7652a0c1515080c0c54888ca
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2017-01-10 16:08:43 +00:00
Doug Hellmann 94129c7d02 allow config to manage python3 use explicitly
Add variables ENABLED_PYTHON3_PACKAGES and DISABLED_PYTHON3_PACKAGES to
work like ENABLED_SERVICES and DISABLED_SERVICES and to manage which
packages are installed using Python 3. Move the list of whitelisted
packages in pip_install to the default for ENABLED_PYTHON3_PACKAGES,
except swift which is not enabled by default for now.

Add enable_python3_package and disable_python3_package functions to make
editing the variables from local.conf easier.

Add python3_enabled_for and python3_disabled_for functions to check the
settings against packages being installed by pip.

Update pip_install to check if python3 is disabled for a service, then
see if it is explicitly enabled, and only then fall back to looking at
the classifiers in the packaging metadata.

Update pip_install messages to give more detail about why the choice
between python 2 and 3 is being made for a given package.

Change-Id: I69857d4e11f4767928614a3b637c894bcd03491f
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2017-01-10 16:08:14 +00:00
Jenkins 6db9e7b0ab Merge "Deprecate Q_PLUGIN_EXTRA_CONF_PATH" 2017-01-10 15:53:51 +00:00
Huan Xie c608184211 XenAPI: Use XenServer DevStack plugins
Hypervisor XenServer will change to use os-xenapi in the future,
this will need DevStack changes, this patch is to remove install
Dom0 plugins part to our own DevStack plugins.

Change-Id: Ic327135b893a77672fd42af919f47f181e932773
2017-01-09 17:43:24 -08:00
Jenkins 425ed145cb Merge "lib/tempest: remove the identity_feature_enabled.reseller flag." 2017-01-10 01:38:43 +00:00
Jenkins cc2cb8480a Merge "Introduce a PYTHON env var" 2017-01-09 22:57:07 +00:00
Jenkins 858a105c81 Merge "Remove duplicate entry for flat_networks" 2017-01-08 17:38:26 +00:00
Jordan Pittier 78c26504e2 lib/tempest: remove the identity_feature_enabled.reseller flag.
Now that Liberty is EOLed, all supported versions of OpenStack have
the 'reseller' [1] feature.

[1]: http://specs.openstack.org/openstack/keystone-specs/specs/kilo/reseller.html

Change-Id: Id823f1969fbd2cf28542a0ef0f905ddae4a0318c
Depends-On: Ia86c6f351919bddf2611524bf0b143aa09dbddee
2017-01-08 15:10:52 +01:00
Jenkins 847c449b92 Merge "lib/neutron: Fix some settings" 2017-01-06 17:47:11 +00:00
Jenkins cf8173125a Merge "lib/neutron: Remove type_driver configuration" 2017-01-06 17:37:15 +00:00
Jenkins ca97c304e8 Merge "Adds keystone security compliance settings" 2017-01-06 17:37:08 +00:00
Lucas Alvares Gomes 0c6956862e Remove default image logic for Ironic from DevStack
The logic to set the default image for Ironic has been moved into the
Ironic tree. This patch is just removing it from DevStack.

Change-Id: Iaeb177f194adc83e40d86696e5553f9f72bbd1f9
Depends-On: Id828b41dc44113ce1cd094ce5fc245989699d4ff
2017-01-06 13:33:25 +00:00
Vincent Untz 09698d0e0e Fix typo in commands to enable nested KVM with kvm-amd
Change-Id: Ie3c6df2409385d9c6bbc50b3b1f8b20689478466
2017-01-06 11:25:46 +01:00
Jenkins 7ec59a017a Merge "Run Swift services under py35" 2017-01-06 00:33:27 +00:00
Davanum Srinivas 51ecf0a869 Introduce a PYTHON env var
* $PYTHON will have the path to python runtime to be used
* Use $PYTHON to run all the scripts

Change-Id: Ib5ab7820fc18cae5e50ea47302b610494197ad47
2017-01-05 18:41:29 -05:00
Rodrigo Duarte b51a8862b1 Adds keystone security compliance settings
The PCI-DSS feature has been introduced during the Newton
release and its settings are disabled by default. This
patch adds the possibility to enable some of them during
DevStack setup.

Change-Id: If6b5eb3e3cbc43eb241c94d18af80ad50be08772
Depends-On: Id97ca26f93b742cc3d8d49e98afc581f22360504
2017-01-05 16:06:39 -03:00
Jenkins 281c5c22ce Merge "lib/tempest: don't set cli_dir and dashboard_url config options" 2017-01-05 16:29:07 +00:00
Jenkins a6742bb0f9 Merge "Fix placement service for identity-v3" 2017-01-05 16:28:58 +00:00
Jenkins 9c7bbca414 Merge "lib/neutron-legacy - Use stevedore alias for ML2 plugin" 2017-01-05 16:27:17 +00:00
Jenkins 05e6912190 Merge "Add virt driver 'zun' to devstack" 2017-01-05 14:30:33 +00:00
Davanum Srinivas 80f3635521 Run Swift services under py35
* iniuncomment followed by iniset for reseller_prefix just adds a
  duplicate line in the config file that configparser does not like
  so just remove the uncomment
* fall back to http:// url for glance->swift keystone authentication
* insecure flag to talk to swift

Depends-On: I51d56d16a5b175bd45dee09edc0b2748d72a5d06
Change-Id: I02ed01e20f8dce195c51273e8384130af53384ce
2017-01-05 09:10:35 -05:00
yatin 0f97841dfa Remove duplicate entry for flat_networks
Currently if PHYSICAL_NETWORK and PUBLIC_PHYSICAL_NETWORK are
same then duplicate entry is created in ml2_conf.ini like below:
flat_networks = public,public,

With this patch, if PHYSICAL_NETWORK and PUBLIC_PHYSICAL_NETWORK
are same then add only PHYSICAL_NETWORK to flat_networks in
ml2_conf.ini

Change-Id: Iae4d1ee3882f6d96b4e4abd52ecc673a620563b5
Closes-Bug: #1654148
2017-01-05 12:40:11 +05:30
Matthew Treinish 85879f1f81 Use the installed swift scripts
This commit switches how scripts we use to launch the installed version
in the path. Previously the scripts were manually executed in the source
repo, but this has issues if you're trying to run with py3 in a system
where python == py2. Setuptools already does the shebang magic for us
at install time, so we just need to use the installed version of the
script.

Change-Id: Iaa4d80ec607a2aa200400330e16cad3a4ca782ac
2017-01-04 19:51:50 -05:00
Jenkins e0ad123758 Merge "lib/tempest: Liberty EOL: remove an useless feature flag" 2017-01-04 22:32:19 +00:00
Hongbin Lu 53a49d104a Add virt driver 'zun' to devstack
According to the feedback in the TC meeting [1], we renamed the Nova
virt driver from "docker" to "zun" [2] to avoid name collision
to nova-docker. This rename also help to clarify the difference
between these two drivers.

[1] http://eavesdrop.openstack.org/meetings/tc/2016/
    tc.2016-11-29-20.01.log.html
[2] https://review.openstack.org/#/c/414651/

Change-Id: I747080953ae4d1d35ed334831100413b6e4466c4
2017-01-04 15:56:06 -06:00
Jens Rosenboom 80b1d0ae7d Fix placement service for identity-v3
The domain_name to be used needs to be $SERVICE_DOMAIN_NAME, as this is
changed in devstack from "Default" to "service".

Change-Id: I6351c1b2ca7ea4448e13eb87455bff4058df4fa7
2017-01-04 16:58:04 +01:00
Mehdi Abaakouk 52b1074615 cinder: configure dlm when this one is zookeeper
Previous this was set the zake, but that was revert to missing
dependencies issue and because zake is a test fixture and not somthing
to deploy.

This change configures the Cinder dlm with this one is zookeeper.
And it installs tooz and the extra dependencies needed for the
zookeeper driver.

To do it, this commit have to introduce a new method for package
installation: 'pip_install_gr_extras package extra1,extra2'.

Change-Id: Idca310c08e345db59840eb31434c6cb1f849fa70
2017-01-04 10:21:29 +01:00
Matt Riedemann 2a7e909b3f Explicitly set use_neutron=False in nova.conf when running nova-net
nova-network has been deprecated since Netwon and Nova change
I8388c29ad310cd8800084b4d5c026013158bfbed is switching the default
value of use_neutron to True, so we need devstack to explicitly
set use_neutron=False when running and configuring nova-network.

Part of blueprint use-neutron-by-default

Change-Id: I82721b5d10711401b9b0ebc2b0ed07cc8287bbf7
2017-01-03 21:11:55 -05:00
Jenkins 72bfe17b6a Merge "Warn instead of die on undefined config names" 2017-01-03 20:07:35 +00:00
Jenkins 721eb4fcdd Merge "Fix provider networking error message" 2017-01-03 20:06:37 +00:00
Jenkins 1926a0f868 Merge "Add placement services to default devstack" 2017-01-03 20:06:30 +00:00
Jenkins 90aad19e87 Merge "Switch to using openstack client for setting the router's gateway" 2017-01-03 19:53:50 +00:00
Jenkins fefd3e9c46 Merge "Make deprecated() output to stderr" 2017-01-03 19:53:44 +00:00
Jenkins de7b435b14 Merge "Load neutron-legacy only if enabled" 2017-01-03 19:53:37 +00:00
Jenkins 2dcc9d09a4 Merge "Updated from generate-devstack-plugins-list" 2017-01-03 19:43:00 +00:00
Davanum Srinivas 0c0d848b8c Add swift and uwsgi to py35 whitelist
Really close to getting swift and keystone under uwsgi working, so
let's white list them. Won't affect any existing jobs, so we should
be good.

Change-Id: I51d56d16a5b175bd45dee09edc0b2748d72a5d06
2017-01-03 08:52:28 -05:00
OpenStack Proposal Bot ee3383f719 Updated from generate-devstack-plugins-list
Change-Id: I8ea9f059757ef9b40dc38b93a9ae8072c5be9e4c
2017-01-03 07:02:56 +00:00
Jordan Pittier 42e73db840 lib/tempest: remove the allow_port_security_disabled option
Now that Liberty is EOLed, the feature flag is not needed anymore.

Change-Id: I5206535761773d4bcb02ebb8f25d1b0c1b59110c
Depends-On: If0b2168080a0b0ecdc6682ef69856a0879f4f6d3
2016-12-28 23:34:06 +01:00
Jordan Pittier 2bf5b416a7 lib/tempest: don't set cli_dir and dashboard_url config options
CLI tests have been removed from Tempest in
I4f8638f1c048bbdb598dd181f4af272ef9923806

Dashboard tests have been removed from Tempest in
I2a69ebed2947a5ab5e5ca79557130bd093e168dd

Change-Id: I6df74a07e209b07fd3feae762c9cdab16e09414f
2016-12-28 23:22:17 +01:00
Jordan Pittier 09cef5a233 lib/tempest: Liberty EOL: remove an useless feature flag
The snapshot_backup feature flag was introduced in
Ib695e60c2ed7edf30c8baef9e00f0307b1156551 to enable Tempest tests
introduced in I1964ce6e1298041f8238d76fa4b7029d2d23bbfb

But I1964ce6e1298041f8238d76fa4b7029d2d23bbfb was never merged so that
feature flag was never really useful.

Change-Id: I4e0bc786d2320907cb101fc788ad51444628537d
2016-12-28 23:03:28 +01:00
Davanum Srinivas afa8a00c14 Switch to python 3.5
Use trueorfalse to normalize the values for USE_PYTHON3

Install 3.5 instead of 3.4 When USE_PYTHON3 is specified.
Also, since not many packages are classified correctly, fallback
to looking for just "Programming Language :: Python :: 3" and
log a message for the package to highlight the problem.

Also special case some services that are *almost* ready

Depends-On: Id48e1b328230fcdf97ed1cb4b97f4c3f9cf6eb8a
Depends-On: Ib7d9aa0e0b74a936002e0eea0b3af05102b06a62
Change-Id: I243ea4b76f0d5ef57a03b5b0798a05468ee6de9b
2016-12-23 13:15:03 -05:00
Armando Migliaccio 36f81ff6d5 Switch to using openstack client for setting the router's gateway
Depends-on: Ifb5a4d1965cd7e75c0c8cf2cfb677e0628b699dc
Change-Id: Iba58f5275cacc7bc82fa2f2d2b96315c2350ab70
2016-12-23 11:30:24 +00:00
Jenkins 2989054992 Merge "Add new parameter RECREATE_KEYSTONE_DB" 2016-12-22 19:25:40 +00:00
Pawel Koniszewski 8a92b7f1de Add new configuration option for LM+grenade job
In order to test whether live migration is backward compatible
we need to live migrate VM back and forth between two versions
of nova. This configuration option will allow to reuse existing
tests just by adding if condition in a method that invokes live
migration and validates outcome:

* If set to False, it will use existing behaviour
* If set to True, it will live migrate VM, validate whether it
succeded, then live migrate the same VM once again and again
validate the result

Depends-On: Icaeca404ec3e4b8f3cd489789fdac6117740ec43
Change-Id: I8da2b3bd0c08d9a3111d3531c346d06bd52cae7b
2016-12-22 10:31:28 +00:00
Jenkins be7fae041f Merge "Placement service only using default HTTPd ports" 2016-12-22 10:08:53 +00:00
Jenkins e533eeee0f Merge "Updated from generate-devstack-plugins-list" 2016-12-21 18:17:00 +00:00
Jenkins 26ca2ed9a4 Merge "Don't buffer log output in sed" 2016-12-21 18:04:25 +00:00
Sylvain Bauza 70a6208464 Placement service only using default HTTPd ports
The placement API configuration was binding a specific port *and* was supporting
to be called by the default HTTPd ports using a Location directive.

Given that the corresponding service catalog entry for the placement service type
doesn't mention the specific application port but is rather using the default
port 80, we can remove that specific port and just use the default config.

Note that we still need to use a VirtualHost directive for the specific placement
config because ErrorLog is only scoped for either server or virtualhost but can't
be set for a Location (or a Directory) context.

Change-Id: I9a26dcff4b879cf9e82e43a3d1aca2e4fe6aa3e6
2016-12-21 15:33:52 +00:00
Pawel Koniszewski 20eb274b75 Move RABBIT_HOST to lib/rpc_backend
This moves setting of RABBIT_HOST from stack.sh to lib/rpc_backend
so it may be used in grenade runs, which don't have the defaulted
value from stack.sh. The RABBIT_HOST is needed in order to call
get_transport_url in lib/rpc_backend.

Change-Id: I504f7fac7bb9a8c158e20046dbd1dd2d507db02b
Closes-Bug: #1649586
Depends-On: I3d4d7b309e50f4e2970cda55aada02d68c4fa705
2016-12-21 12:39:54 +00:00
Jenkins 72af0d1cab Merge "Postgres: fix detection of existing roles" 2016-12-21 11:22:15 +00:00
Zane Bitter 95ed7c6f05 Don't buffer log output in sed
Services that run inside Apache use tail -f on the corresponding log
file to display output in the screen session. However, they also use sed
to replace some control characters, and this means that the output is
buffered. This results in debugging experiences that range from
"impossible" (the log you want isn't shown) to "Kafkaesque nightmare"
(the log you want isn't shown, except that sometimes it is, and
sometimes it isn't even though you double-checked and you're completely
sure that you must have output a log, but when you check back later you
realise it actually is and you wonder if history is actually not mutable
after all and begin to question what is real and what is not).

This adds the --unbuffered option to ensure streaming output.

Change-Id: I665ff5f047156401d8152f478d834ac40ff31658
2016-12-20 20:29:06 -05:00
OpenStack Proposal Bot 7cdefd4e08 Updated from generate-devstack-plugins-list
Change-Id: Ica922f54ffd53e81b3ec034c2ce9b91715304954
2016-12-20 07:02:50 +00:00
Jenkins 894cbd6545 Merge "Use java version independent package on Ubuntu" 2016-12-20 00:59:56 +00:00
Sylvain Bauza 91070d7e40 Add placement services to default devstack
Now that the placement service is mandatory for running Nova in Ocata,
we want to enable it by default when running devstack by default.

In the past, we added a placement-client service with
I04a655fbc58913b3d607400a7f677be299499142

Devstack-gate will also be able to run a multinode devstack with the
help of Ibd760c642e3c1ffff2dd61be48e30530b0d24720

Change-Id: I273c3c8299ee329bed425f3e7cd4b583ed1187a4
2016-12-19 17:19:26 +00:00
Jenkins b6a7461a83 Merge "Always add the service role to service users" 2016-12-19 15:25:06 +00:00
Ihar Hrachyshka 3f771b7bcb iptables: don't enable arptables firewall
Neutron doesn't use any arptables based firewall rules. This should
somewhat optimize kernel packet processing performance.

I think the setting came from:
http://wiki.libvirt.org/page/Net.bridge.bridge-nf-call_and_sysctl.conf

but does not apply to the way we use iptables.

Change-Id: I41796c76172f5243e4f9c4902363abb1f19d0d12
Closes-Bug: #1651765
2016-12-17 04:14:42 +00:00
Julia Varlamova ea3e87d4e5 Add new parameter RECREATE_KEYSTONE_DB
If 'RECREATE_KEYSTONE_DB=False' database won't be recreated.
It would be useful for multinode Grenade tests for Keystone. This parameter
will help us to deploy multiple services on different machines talking to
the same DB.

Devstack recreates Keystone DB each time during Keystone service installation.
If our controller node is already deployed, Keystone DB already contains
important information about OpenStack services and their endpoints. When
the second Keystone node is being deployed, we don't want to delete
records about controllers' services endpoints.

Partially-Implements: bp rolling-upgrade-testing

Change-Id: Ia8d07b4295ca165be01e44466c95d5275f596e83
2016-12-16 14:41:55 +04:00
Sean Dague 51a225c5d7 Create mechanism for enabling placement-client on subnodes
When doing multinode devstack we need a way to specify that we've
enabled for the placement service. We use a pseudo service of
placement-client for this.

Change-Id: I04a655fbc58913b3d607400a7f677be299499142
2016-12-15 16:32:08 -05:00
Eric Berglund 8e14240d23 Confirm network is created before setting public_network_id
The current code assumes that there exists a public openstack network
and uses that assumption to set the public_network_id variable in
tempest lib. If NEUTRON_CREATE_INITIAL_NETWORKS is set to false this
step will fail as there is no public network to be found. This change
adds a check for NEUTRON_CREATE_INITIAL_NETWORKS before attempting to
set this variable.

Change-Id: I62e74d350d6533fa842d64c15b01b1a3d42c71c2
Closes-Bug: #1645900
2016-12-15 20:41:32 +00:00
Clark Boylan a09cb5acf9 Use java version independent package on Ubuntu
Different versions of Ubuntu ship with different versions of Java.
Trusty had 7, Xenial has 8, and so on. This causes problems when we
hardcode a versioned package name into our dep lists as that version may
not exist everywhere. Thankfully Ubuntu provides a default-jre-headless
package that we can use instead that maps properly onto whatever java
version is correct.

Change-Id: I4e5da215c8f7aa426494686d5043995ce5d3c3af
2016-12-15 08:48:02 -08:00
Sean M. Collins edcb7e5bb3 lib/neutron: Fix some settings
* Set ml2_type_flat setting so that the public flat network is created
correctly

* Set securitygroup driver correctly

It should be set as:

[securitygroup]
firewall_driver = iptables

Change-Id: I7369b45fbc5a47ce958693c67a1902a8cb24f367
2016-12-15 11:33:05 -05:00
Jamie Lennox 7f68548538 Always add the service role to service users
When creating a service user we allow the user to be created with a
different role. Currently in auth_token middleware we want to check that
the service token is specified with the service role so we should always
add the service role and optionally add additional roles.

Change-Id: Ie954a679674b4795079b539ebc8d4d2dcbd7dacc
2016-12-13 15:47:11 +11:00
Jenkins c95ca63ae3 Merge "Update openvswitch restart for suse" 2016-12-12 16:09:14 +00:00
Sean Dague 22b63666de Warn instead of die on undefined config names
When using local.conf in multinode envs not everything is going to be
defined in all places. Eventually we probably want to make it so we
have a host role for these sections or something. But for now warn
instead of die when we can't find a config var.

Change-Id: I6959099373f035fbfe9e540a44e4c52b8e7c95c0
Closes-Bug: #2000824
2016-12-12 09:55:32 -05:00
Roman Podoliaka f575aefdfa lib/nova: create api db first
Since I21ae13a6c029e8ac89484faa212434911160fd51 nova-manage db sync
may try to make a request to api db in order to get cell mapping and
will fail, as the db is not created yet. While this is non fatal, we
could avoid the error anyway.

Change-Id: I19483e9420071d484f029779bcc8c6d623c210ce
Related-Bug: #1631033
2016-12-12 10:37:54 +00:00
Jenkins 97b07a880f Merge "Updated from generate-devstack-plugins-list" 2016-12-12 00:55:21 +00:00
Jenkins a2f7c21407 Merge "[opensuse] add python-xml to general deps list" 2016-12-12 00:55:07 +00:00
Jenkins 684946119d Merge "Try to set initial mysql root password also on Ubuntu" 2016-12-11 15:50:21 +00:00
Jenkins ed3893760a Merge "Fix doc formating" 2016-12-11 15:48:57 +00:00
OpenStack Proposal Bot 16fb9bddf2 Updated from generate-devstack-plugins-list
Change-Id: Ia08c86b2adff782b42a83509359c38d7d531e481
2016-12-09 06:53:39 +00:00
Dirk Mueller ea774b684d [opensuse] add python-xml to general deps list
the python-xml is a subpackage from the standard cpython package that
that contains elementtree and other bits that are needed almost
everywhere in OpenStack but isn't installed on a absolutely minimal
openSUSE Leap installation. This package doesn't exist on pip but
is a SUSE only invention, so just treat it similar to a bindep.

Change-Id: I82887c2e6895740d1b16d1269574519450ca783e
2016-12-09 07:23:33 +01:00
Dirk Mueller 30b58bfa27 Update openvswitch restart for suse
Starting with SLE12 SP2 and with openSUSE Leap the distro-shipped
openvswitch is the normal systemd openvswitch.service service file
and no longer the older openvswitch-switch Sysv5 init script. Add
a special case for that.

Change-Id: I5152f2585c3d4d18853988d6290039d6b1713b99
2016-12-09 01:00:42 +01:00
OpenStack Proposal Bot 8040232e05 Updated from generate-devstack-plugins-list
Change-Id: I857aea09db183a03393acdaa9bfcde8f24cec4f8
2016-12-08 06:54:23 +00:00
ghanshyam 470580bba6 Remove baremetal tempest config setting from devstack
Now all configuration are present in Ironic tempest plugin
and those are going to be removed from tempest in
Id518a6d87d0949737cd1c50cb6a83149b85e5f85

Patch- I73c649625d106fc7f068e12e21eaacba8f43cbbb set
those in ironic devstack plugin.

We can remove all baremetal config setting from devstack.

Along with moved one this patch deletes other unused baremetal
config setting.

Change-Id: If826321ebc0c20ea372d206d49383f3826c9b547
Depends-On: Id518a6d87d0949737cd1c50cb6a83149b85e5f85
Depends-On: I73c649625d106fc7f068e12e21eaacba8f43cbbb
2016-12-08 13:15:19 +09:00
Jens Rosenboom 9abb26d696 Try to set initial mysql root password also on Ubuntu
On Ubuntu nodes, devstack tries to predefine the initial mysql root
password by doing some debconf-set-selections, but these will not take
effect if the corresponding package has been installed earlier. So
just try to set it every time, like we do on other distros.

Change-Id: I2c167051fc5e53dd0ccf82a60ab085cd9cdea28d
2016-12-07 21:12:55 +01:00
Jenkins 77a7296248 Merge "Remove heat code from devstack tree" 2016-12-06 13:36:52 +00:00
Vasyl Saienko 8e0fc9dc8e Fix doc formating
Fix formating issue in the doc/source/plugin.rst

Trivial fix.

Change-Id: Ifc9a43aebdab0c15c83485cf0b6d4133d7194a9d
2016-12-06 09:35:16 +02:00
Jenkins 2f1da40b0c Merge "Missing parameter in comment" 2016-12-06 01:52:48 +00:00
Jenkins 172b043d68 Merge "Fix devstack with linuxbridge without l3 agent" 2016-12-05 18:58:25 +00:00
Jenkins d0df7c88f2 Merge "Fix libguestfs on Ubuntu" 2016-12-05 17:34:29 +00:00
Sean Dague 6d66e647ca don't setup cells if n-cpu isn't also running
create_cell requires n-api and at least one n-cpu up and running. If
we have a configuration where it is not guarunteed that there is an
n-cpu at the end of a devstack run we have to skip this step and make
the user run it manually later.

Change-Id: I2287ab29f3c1a7252271dcce81673ef365615296
2016-12-05 06:28:26 -05:00
Anton Merzlyakov ae61e6f3d2 Postgres: fix detection of existing roles
Role "root" it is hardcode.
In general case role name comes from  local.conf: string  "DATABASE_USER="

Change-Id: Iedfca48e04d23c313851f48d68ac40ba29340805
2016-12-05 11:10:11 +03:00
jeckxie 8a834940b8 Missing parameter in comment
Change-Id: Iba55013b3be00974321ad58a276bb37ff2cac4da
2016-12-05 15:32:25 +08:00
OpenStack Proposal Bot 6b8a115b95 Updated from generate-devstack-plugins-list
Change-Id: I21c31b0778486971719f1281428c7a089f583656
2016-12-03 06:56:32 +00:00
Jenkins 3d5a909018 Merge "Always setup cells v2" 2016-12-02 18:14:39 +00:00
Jenkins ee548bc2bf Merge "Add keystone VirtualHost for port 443 when USE_SSL is True" 2016-12-02 15:27:47 +00:00
Armando Migliaccio 1c08b191fd Fix devstack with linuxbridge without l3 agent
The linuxbridge agent for Neutron expects that the public bridge will
already be created by the time it starts. On devstack, this only occurs
as part of the l3 agent configuration. If a compute node doesn't have an
l3 agent and is using a linuxbridge agent, then br-ex won't be created
and the process will not be able to start (causing stack.sh to fail).

This causes the gate-grenade-dsvm-neutron-linuxbridge-multinode-nv gate
to fail. To avoid the issue, skip the bridge mappings setup unless L3 is
configured. This is done in a backward compatible fashion: if localrc
uses the old q-l3 tags, the is_service_enabled neutron-l3 would not be
able to succeed.

Closes-Bug: #1643562

Change-Id: I292ff0dc080fb84b5f879ba2f00f03eff295b55b
2016-12-02 02:21:42 +00:00
Jenkins c18b804b16 Merge "Add test-config local.conf processing" 2016-12-01 20:31:01 +00:00
Andrea Frittoli 1c442eebc8 Fix libguestfs on Ubuntu
libguestfs does not work on ubuntu because the kernel is not
world readable. This breaks file injection with libvirt.
See https://bugs.launchpad.net/ubuntu/+source/linux/+bug/759725
for more details.

The workaround proposed by Ubuntu is to relax the kernel ACL
if needed, so we need to do that in case file injection is
enabled on an Ubuntu host running libvirt.

Partial-bug: #1646002
Change-Id: I405793b9e145308e51a08710d8e5df720aec6fde
2016-12-01 17:00:41 +00:00
Jenkins 38fb14591a Merge "Revert "Set cinder coordination backend url"" 2016-12-01 16:16:54 +00:00
Sean Dague 8bf8c8f381 Add test-config local.conf processing
We need a local.conf processing phase after every run phase which lets
us override config options after that point. We didn't explicitly
support this for test-config before, which broke some CI systems when
we moved tempest to use this later phase.

Closes-Bug: #1646391

Change-Id: I7d693afa19acf3e8231e84e45b7a868628ebdbc0
2016-12-01 10:25:51 -05:00
YAMAMOTO Takashi eede9ddb1d Deprecate Q_PLUGIN_EXTRA_CONF_PATH
This single global variable is no longer useful as we have multiple
repositories and devstack plugins nowadays.

Also, add a utility function, neutron_server_config_add, for devstack
plugins to add an extra config file.

Related-Bug: #1599936
Change-Id: I90112823ef96ae2fba97d7b09b00bec8cb816d8d
2016-12-01 22:31:24 +09:00
YAMAMOTO Takashi 8b1bbd690c Make deprecated() output to stderr
So that it can be used by functions like _determine_config_server,
which is used like RESULT=$(_determine_config_server).

Change-Id: Ia4e641c5529b95ada30ae662221f370bc7fa88a7
2016-12-01 22:31:21 +09:00
YAMAMOTO Takashi c74315e055 Load neutron-legacy only if enabled
To avoid using legacy functions accidentially.

Depends-On: Ida1f83b6b3ef9b76be13c063c7e35a8703214078
Change-Id: I3ff136fc8330c92007cdfe91b77d7f9865eabd8d
2016-12-01 20:33:32 +09:00
Ghanshyam Mann 50ce0a8032 Revert "Set cinder coordination backend url"
gate-tempest-dsvm-layer4 job is failing due to this change as no module found on zake[1]. Heat not able to create cinder stack.
This is blocking tempest now so we will revert revert this once find the real cause.

This reverts commit a283526c88.

..1 http://logs.openstack.org/64/405064/2/check/gate-tempest-dsvm-layer4/feb21fe/logs/screen-c-vol.txt.gz#_2016-12-01_05_43_40_369

Change-Id: I50981db7760688a25a2bf4de9a41153ede76f4aa
2016-12-01 08:45:43 +00:00
Sean M. Collins 1d83a08a38 lib/neutron: Remove type_driver configuration
Instead, rely on what Neutron ships by default.

Change-Id: I8bdc646d24b3edf10f421e4472a790caeb8e4887
2016-12-01 01:32:26 -05:00
Jenkins 77428fb7c2 Merge "Stop q-domua process when XenServer is used" 2016-12-01 05:17:32 +00:00
Huan Xie df875c5f16 Reconfig ml2 ovs configuration for neutron on XenServer
XenServer already support OVS native mode and I have a patch for
configuring it https://review.openstack.org/#/c/372952/ which
is fine. But we have another patch which revert the usage of
ml2_confi.ini and ml2_conf.ini.domU
https://review.openstack.org/#/c/396573/. Both patches work well
separately. But the two should have some dependent relationship.
Once one merged, the other should change accordingly. Sorry that
we missed the dependency.
This patch is to fix the ovs config based on reverted ml2_conf.ini
and ml2_conf.ini.domU to make sure we configure the correct IP for
ovs agent

Change-Id: Ib53e37e210cc849f161dd6630f81e5b2331a91d5
2016-11-30 19:47:24 -08:00
Jenkins 0474b8384a Merge "Move default Keystone API version to v3" 2016-12-01 01:28:29 +00:00
Jenkins 60f97c8b9b Merge "Make neutron ml2 use ovs native interface" 2016-12-01 00:11:04 +00:00
Jenkins fddff69efd Merge "ceph: set rbd_secret_uuid in cinder.conf, not rbd_uuid" 2016-11-30 22:57:42 +00:00
Jenkins df51567525 Merge "Provide configuration file to ovs-cleanup utility" 2016-11-30 21:31:43 +00:00
Jenkins a5bd682d47 Merge "remove listen directive bound to only ipv4" 2016-11-30 21:22:11 +00:00
Jenkins 8b052a6d5a Merge "XenAPI: correct the ml2 configuration for neutron" 2016-11-30 20:58:42 +00:00
Sean M. Collins 50bf4fc075 lib/neutron-legacy - Use stevedore alias for ML2 plugin
Similar to 30ab23cd9b, fix the
plugin name to avoid warnings like:

WARNING stevedore.named [-] Could not load neutron.plugins.ml2.plugin.Ml2Plugin

Change-Id: Ibb45f1305816b255ba2419ba662d9e29eff68f58
2016-11-30 14:27:36 -05:00
Huan Xie 2864150940 Make neutron ml2 use ovs native interface
Neutron has changed to use ovs native interface by default, but when
the hypervisor is XenServer, we cannot use ovs native interface without
extra configurations in neutron-openvswitch-agent(q-agt) in compute
node.

This patch is to add the needed configurations automatically during
deployment, so user needn't to do it manually and restart q-agt.

Change-Id: Ibc69d3cdb4d75833f2ac16840c62bcacf460dd4f
2016-11-30 17:19:36 +00:00
Jenkins b9f697719b Merge "XenAPI: Enable linux bridge in Dom0 for neturon" 2016-11-30 16:31:36 +00:00
Jenkins 1f739c867a Merge "worlddump: Add cinder-volume guru meditation report" 2016-11-30 16:31:25 +00:00
Jenkins 1d8ddba7f8 Merge "Objects versions new style config" 2016-11-30 16:31:18 +00:00
Jenkins 36ea69272d Merge "Remove the heat stack owner role" 2016-11-30 16:31:11 +00:00
Jenkins b719b55b1d Merge "Ensure testing configuration can run as late as possible" 2016-11-30 16:30:38 +00:00
Jenkins 98f2cafe8b Merge "Set cinder coordination backend url" 2016-11-30 16:30:23 +00:00
Jenkins 6c80f2a485 Merge "Remove check for nova-volumes API" 2016-11-30 16:30:16 +00:00
Jenkins a030696f6c Merge "Revert "Fix devstack with linuxbridge without l3 agent"" 2016-11-30 14:34:29 +00:00
Jenkins 9a69a1abfc Merge "If plugin is enabled multiple times fail" 2016-11-29 23:45:09 +00:00
Armando Migliaccio 6653d74fc4 Revert "Fix devstack with linuxbridge without l3 agent"
I am seeing red all over the linuxbridge gate.

This reverts commit 7f95baa570.

Change-Id: I179f761f991db4b63c0e3445a9a13e43ffe68992
2016-11-29 23:30:18 +00:00
Jenkins 3dd0b2b772 Merge "Tune apache connections for tls proxy" 2016-11-29 22:27:44 +00:00
Jenkins ba87fe6ff9 Merge "Fix devstack with linuxbridge without l3 agent" 2016-11-29 19:21:00 +00:00
Clark Boylan cfb9f057ea Tune apache connections for tls proxy
We are seeing connection errors to the proxy occasionally. These errors
do not result in a logged http request or error to the backends,
resulting in a theory that the proxy itself may just not be able to
handle the number of connections. More than double the total number of
connections that will be accepted by the proxy in an attempt to fix
this.

Change-Id: Iefa6c43451dd1f95927528d2ce0003c84248847f
Related-bug: 1630664
2016-11-29 10:43:05 -08:00
Jenkins 84fb773178 Merge "Changed the order of steps in the devstack install document" 2016-11-29 14:41:34 +00:00
Gary Kotton 2a5981402f Provide configuration file to ovs-cleanup utility
There may be cases when the configuration of the OVS is different
from the default one. This enables one to make use of the neutron
configuration file to contain all of the OVS settings.

Change-Id: I728cf8cdc653667c076b07b39c13c1278281c01b
Closes-bug: #1645691
2016-11-29 03:48:34 -08:00
Jenkins 25dd43b881 Merge "Remove all *.pyc files in $DEST when executing clean.sh" 2016-11-28 23:45:16 +00:00
Jenkins 42a21ec58d Merge "Neutron: use "OSC show -f value -c id" instead of "OSC list + grep"" 2016-11-28 23:45:09 +00:00
Jenkins e1b75c3636 Merge "lib/tempest: use OSC to create nova flavors." 2016-11-28 23:43:56 +00:00
Jenkins a8f57af273 Merge "Remove Horizon setup scripts usage of run_tests.sh" 2016-11-28 23:43:49 +00:00
Jenkins cacf65fbca Merge "meta-config: Fix consecutive same sections" 2016-11-28 23:43:11 +00:00
Jenkins daa88ad493 Merge "lib/neutron: Add a utility method to add service plugin" 2016-11-28 20:40:13 +00:00
Jenkins 0c51d06f75 Merge "Swift: fix rsyncd.conf, ports were incorrect" 2016-11-28 19:32:58 +00:00
Jenkins 5fe43995c7 Merge "(doc) Fixed references to FIXED_RANGE_V6" 2016-11-28 19:32:44 +00:00
Jenkins e8c9e72389 Merge "lib/lvm: don't use $VOLUME_GROUP variable anymore" 2016-11-28 19:30:45 +00:00
Sharat Sharma 89a855f784 Changed the order of steps in the devstack install document
The order of the steps were a bit confusing for the first timers
in the devstack document. So, changed the order of installation
steps to make it clear.

Change-Id: Ifaa051887dab95719b9ca5d1b2fbe2f5f549d269
Closes-Bug: #1627939
2016-11-28 16:33:48 +00:00
YAMAMOTO Takashi d9ec42028d lib/neutron: Add a utility method to add service plugin
Partial-Bug: #1604664
Change-Id: I6d49ac188f7f1cfc8da314a26c9c5fc4b6d65bf4
2016-11-28 16:10:27 +00:00
Jenkins c0ef1bd05b Merge "lib/neutron: Create initial topology only on controller node" 2016-11-28 10:41:09 +00:00
Jenkins 68def125e9 Merge "stackrc: update code comment now that Neutron is enabled by default" 2016-11-28 10:28:55 +00:00
Jenkins f5e78b6fb6 Merge "Allow provider network to be used for ssh validation" 2016-11-28 10:28:47 +00:00
Jenkins e8f90d1e5b Merge "Specify the correct image parameters for XenServer" 2016-11-28 10:28:41 +00:00
Jenkins 4d61ed5c77 Merge "Pass branch parameter to git clone" 2016-11-28 10:06:24 +00:00
Jenkins 9c5b3b110a Merge "Add Fedora 25 support" 2016-11-27 23:48:03 +00:00
Jenkins 679cae4ecf Merge "Apache reload issue when it is stopped" 2016-11-27 23:25:10 +00:00
Jenkins e53310532f Merge "Always set ALLOWED_HOSTS=['*'] for horizon" 2016-11-27 12:35:01 +00:00
YAMAMOTO Takashi 02f3f9a6bb meta-config: Fix consecutive same sections
The current coding fails to process local.conf like
the following.  Note: This example is taken from a
real use case. [1]

    [[post-config|$NEUTRON_CONF]]
    [qos]
    notification_drivers = midonet
    [[post-config|$NEUTRON_CONF]]

    [quotas]
    # x10 of default quotas (at the time of writing)
    quota_network=100
    quota_subnet=100
    quota_port=500
    quota_router=100
    quota_floatingip=500
    quota_security_group=100
    quota_security_group_rule=1000

[1] https://review.openstack.org/#/c/400627/

Closes-Bug: #1583214
Change-Id: Ie571b5fa5a33d9ed09f30ba7c7724b958ce17616
2016-11-26 00:49:55 +09:00
Rob Cresswell f0252a9d81 Remove Horizon setup scripts usage of run_tests.sh
Horizon is removing run_tests in favour of tox during Ocata, as part of
https://blueprints.launchpad.net/horizon/+spec/enhance-tox. To complete
this move, we need to remove any reliance on run_tests.

Change-Id: Ia8ad073aee68d1660d3bb5a68ec07516d8ce0665
2016-11-25 11:32:04 +00:00
Peter Stachowski 0dab8d63b3 (doc) Fixed references to FIXED_RANGE_V6
In the 'Private Network Addressing' section of the doc,
there are references to FIXED_RANGE when referring to V6
networks.  These have been changed to FIXED_RANGE_V6.

Also fixed a few typos and grammatical errors when
giving the doc a quick read-through looking for more
references to FIXED_RANGE.

Change-Id: Iaa530c476ce2b36a3f616945ddd2e24fa599a16c
2016-11-24 22:10:54 +00:00
Tomasz Trębski 868a663172 Always set ALLOWED_HOSTS=['*'] for horizon
If devstack is deployed in the VM with defined
public IP address (like 192.168.10.6) it is not possible to
access the Horizon from the browser.
This is because DEBUG=True means that ALLOWED_HOSTS, if not set,
is equal to ['localhost', '127.0.0.1', '[::1]'] according
to Django's documentation.

Change-Id: I0ab2b57e459dbfa3b01b3e9388bbcefac076a142
Co-Authored-By: David Lyle <dklyle0@gmail.com>
Closes-Bug: #1643050
2016-11-23 15:32:29 +00:00
Dan Kolb 5c4691af3e remove listen directive bound to only ipv4
Using devstack on a  RHEL based system results in
"Listen 0.0.0.0:80" being added to the
/etc/httpd/conf/httpd.conf.
This configures Apache to only listen to port 80 on an IPv4 interface.
This makes it not possible to access Horizon via IPv6 without
re-configuring and restarting httpd.

Removing this sed leaves the default "Listen 80" from the rpm package,
 which binds to all interfaces and will allow connection to Horizon
via IPv6.

Change-Id: I9fe8cbebff0ca6a30ceeaae0f7e035c9bb828d44
2016-11-23 09:26:15 -06:00
Jordan Pittier 2037166464 stackrc: update code comment now that Neutron is enabled by default
No need to explain how to enable Neutron now that it's enabled by
default. Keep but reformat the 'how to enable swift' part though.

Change-Id: I3f9b7796fad10abf1039e4c68eb2cd5ef6cdbc99
2016-11-23 15:51:10 +01:00
Attila Fazekas bcaadd63d8 Apache reload issue when it is stopped
Since 4b49e409f8 devstack
started to use reload instead of restart.

Using reload in devstack for a fresh install,
does not makes too much sense unless multiple service
plugin touches the same service configs.

Systemd rejects to reload something,
which was not loaded before.

 $ sudo /bin/systemctl reload httpd
 httpd.service is not active, cannot reload.

We will switch to `reload-or-restart` action instead of `reload`,
it is more likely the action what the previous patch wanted.

Change-Id: I70d597fbe4a8923d937ba8432e29edefb27d1058
2016-11-23 13:20:33 +01:00
Attila Fazekas 471855ecd1 Add Fedora 25 support
Fedora 25 released,
adding the required knobs.

Change-Id: I8ce86aa9f23e9572d69eadcfc81af2e96d5be64f
2016-11-23 12:24:52 +01:00
John Schwarz 7f95baa570 Fix devstack with linuxbridge without l3 agent
The linuxbridge agent for Neutron expects that the public bridge will
already be created by the time it starts. On devstack, this only occurs
as part of the l3 agent configuration. If a compute node doesn't have an
l3 agent and is using a linuxbridge agent, then br-ex won't be created
and the process will not be able to start (causing stack.sh to fail).

This causes the gate-grenade-dsvm-neutron-linuxbridge-multinode-nv gate
to fail.

Closes-Bug: #1643562
Change-Id: I6f441c6febb5070ad885569d9c798634d0272b6c
2016-11-23 12:27:10 +02:00
Jenkins a3bb131c13 Merge "Remove unused KEYSTONE_CATALOG_BACKEND" 2016-11-23 02:16:07 +00:00
Jenkins 9513f8ea39 Merge "Change CINDER_LVM_TYPE back to 'default' as the default" 2016-11-22 13:24:02 +00:00
Jenkins cc24f4a6f1 Merge "Revert "Always set ALLOWED_HOSTS for horizon"" 2016-11-22 12:18:40 +00:00
Jenkins 6771207a70 Merge "Improve Live Migration section in multinode-lab.rst" 2016-11-22 08:38:46 +00:00
Matt Riedemann b6cbf922d7 Change CINDER_LVM_TYPE back to 'default' as the default
Change dddb2c7b5f recently
changed devstack to enable the Cinder image cache by default
and changed to use thinly provisioned LVM volumes by default.

Since then we've had a spike in thin LVM snapshot test failures
in the gate, which is by far our top gate bug at 219 hits in the
last 10 days.

So unless there is a fix on the Cinder side, this changes the
default lvm_type back to 'default' for thick provisioning.

Change-Id: I1c53bbe40177fe104ed0a222124bbc45c553b817
Related-Bug: #1642111
2016-11-21 21:10:49 -05:00
David Lyle 2ccd120342 Revert "Always set ALLOWED_HOSTS for horizon"
This reverts commit 37f48f3c20.

Change-Id: I8c853c35c5b0b61925c27b461ad625266381f73b
2016-11-21 22:16:17 +00:00
Kaitlin Farr a5b72b053e Set fixed-key key manager
With the key manager refactoring in nova and cinder, the key manager
class will need to be explicitly set.

Nova key manager refactoring: Ib563b0ea4b8b4bc1833bf52bf49a68546c384996
Cinder key manager refactoring: Ief8885bb4ca8d62b03cf1a52c25dd0e62c835bfe

Change-Id: I733279864ee1a4aaffc9c8eed81b5e12f8d8821b
Implements: blueprint use-castellan-key-manager
2016-11-21 13:50:57 -05:00
Hidekazu Nakamura 541617b15e Improve Live Migration section in multinode-lab.rst
Added root user login check to ensure SSH keys exchanged.


Change-Id: I8513bc883ac273af8dcc2f61562a838d33b45a82
2016-11-21 15:42:14 +00:00
Jordan Pittier 82fa946d8f lib/tempest: use OSC to create nova flavors.
OSC is the future and it's available now.

Change-Id: Ib0dac761673a0c4f05a328ee530018e8bb269c4c
2016-11-21 10:35:02 +00:00
Jakub Wachowski 90742fc1be Pass branch parameter to git clone
Without this parameter, when we set GIT_DEPTH,
it may happen that we clone only master and
then cannot checkout branch

Change-Id: I39376914f8bfc286a308c99db6bc92cddab195b5
2016-11-21 07:42:50 +00:00
Jenkins 5dbb826a54 Merge "Use -y on zypper remove to avoid hanging" 2016-11-20 23:52:33 +00:00
Jenkins ab797201e8 Merge "Allow running nova compute with docker group" 2016-11-20 10:39:25 +00:00
Jenkins 2f99e882ce Merge "Always set ALLOWED_HOSTS for horizon" 2016-11-20 10:36:07 +00:00
Clark Boylan a5afa7d81a Fix default ipv6 fixed range var
The intent was to make any ipv6 safe addr range bigger than a /64 a /64
when setting the fixed range. Unfortunately the awk only emited the mask
and not the addr. Fix this by sprinkling the address back in.

Fixes-Bug: 1643055
Change-Id: I526d4c748fd404ecb3c77afcbb056aa95090c409
2016-11-18 12:35:50 -08:00
Jenkins a79aa4783b Merge "Derive IP ranges from new ADDRS_SAFE_TO_USE vars" 2016-11-18 18:01:22 +00:00
Jordan Pittier d038b60e65 Neutron: use "OSC show -f value -c id" instead of "OSC list + grep"
We should leverage server-side filtering.

Change-Id: I3deef791868769b0b7cfc405d73dff57458ca427
2016-11-18 12:18:09 +01:00
Tomasz Trębski 37f48f3c20 Always set ALLOWED_HOSTS for horizon
If devstack is deployed in the VM with defined
public IP address (like 192.168.10.6) it is not possible to
access the Horizon from the browser.
This is because DEBUG=True means that ALLOWED_HOSTS, if not set,
is equal to ['localhost', '127.0.0.1', '[::1]'] according
to Django's documentation.

Change-Id: I74ae99569dafa10eee7066713a05fb49183e3fca
2016-11-18 04:54:38 +00:00
Jenkins 1493bdeba2 Merge "Stop setting route pointing back to tenant router" 2016-11-18 01:50:50 +00:00
Jenkins 3c251b8023 Merge "Move certificate setup earlier in deployment" 2016-11-17 20:48:09 +00:00
Michael Turek 7938d83d3b Allow provider network to be used for ssh validation
Currently devstack assumes that the network used for ssh
validation is the private network. This patch adds a hook that
sets the network used for ssh validation based on whether or not
provider networking is being used. It also moves the function
'is_provider_network' into functions-common as it will now be
used by both tempest and neutron.

Change-Id: I265c9e26c9bfb18b7e201f27d8912b8bec235872
2016-11-17 13:40:01 -05:00
Jordan Pittier f5069f35a1 lib/lvm: don't use $VOLUME_GROUP variable anymore
We should be using $VOLUME_GROUP_NAME instead since Icehouse.
$VOLUME_GROUP_NAME has been introduced in
I93b8ef32832269d730c76a6dc24ddb4f20c6d9df and $VOLUME_GROUP is nowadays
only use as a fallback to $VOLUME_GROUP_NAME.

As a code comment in lib/lvm says it we kept the $VOLUME_GROUP around as
"for compatibility with icehouse-generation Grenade". Icehouse is long
gone so now seems a good time to remove any usage of $VOLUME_GROUP.

Change-Id: Id3051b5a196c45266c39fde4f08401aaacf0f6bd
2016-11-17 17:05:49 +00:00
Gary W. Smith 56b3912685 Use -y on zypper remove to avoid hanging
When using zypper remove, include the -y option to avoid stack.sh from
hanging waiting for user confirmation.  Due to output buffering, the
script could hang before giving the user the prompt to enter Y to
continue, making it unclear why the script was hanging.

Change-Id: I5ea761e5ae0829439953c385f8e7d0546acba886
Closes-Bug: 1642736
2016-11-16 22:10:37 -08:00
Jordan Pittier ea1abcde18 Swift: fix rsyncd.conf, ports were incorrect
Swift port base was changed in Ifd95b99004aead5ddc8ae1a8dd3ccd9c4f2abe91
but we forgot to update the rsyncd.conf. This patch update the rsyncd.conf
file.

Change-Id: Id457c047c672a810c4c0c7721b6beeb01b719879
2016-11-16 18:47:44 +01:00
John L. Villalovos 21d84c29b2 If plugin is enabled multiple times fail
When using the enable_plugin command and grenade jobs it can be
easy to enable the same plugin twice, as the grenade job has a
registration section and the configuration in project-config can also
enable it due to code-reuse in project-config.

If a plugin is enabled twice it will likely fail, though it won't be
obvious that it was due to the plugin being enabled multiple times.

This change makes it so if it sees the same plugin name is enabled
more than once it will die and an error message outputted.

Change-Id: I9f1d7e58b861b04473b6a57c9ad404203fb7277a
2016-11-16 08:55:40 -08:00
Kevin Benton 4bfbc291ee Derive IP ranges from new ADDRS_SAFE_TO_USE vars
The switch to using subnetpools caused quite a bit of confusion
because it didn't respect the value of FIXED_RANGE. This caused
conflicts in the gate with it's default IPv4 value of 10.0.0.0/8.

This patch does a few things to address the issue:
* It introduces the IPV4_ADDRS_SAFE_TO_USE and IPV6_ADDRS_SAFE_TO_USE
  values and adjusts all of the FIXED_RANGE and SUBNETPOOL_PREFIX values
  to dervive from them by default.
  * This addresses the concern that was raised about implying that
    SUBNETPOOL_PREFIX and FIXED_RANGE are equivalent when setting
    SUBNETPOOL_PREFIX=FIXED_RANGE by default. Now we have a new value
    for the operator specify a chunk of addresses that are safe to
    use for private networks without implementation implications.
  * Backwards compatibility is maintained by alloing users to override
    override all of these values.
* The default for IPV4_ADDRS_SAFE_TO_USE uses /22 instead of /24
  * Because we want to be able to use subnetpools for auto allocated
    topologies and we want to be able to have a large chunk of
    instances on each network, we needed a little more breathing room
    in the default v4 network size.
* SUBNET_POOL_SIZE_V4 default is changed from 24 to 26
  * In conjuction with this change and the one above, the default
    subnetpool will support up to 16 64-address allocations.
  * This should be enough to cover any regular gate scenarios.
  * If someone wants a bigger/smaller subnet, they can ask for that
    in the API request, change this value themselves, or use a different
    network entirely.
* FIXED_RANGE_V6 defaults to a max prefix of /64 from IPV6_ADDRS_SAFE_TO_USE
  * This avoids the private subnet in the non-subnetpool case from being
    larger than /64 to avoid issues identified in rfc 7421.
  * Users can still explicitly set this value to whatever they want.
    This 'max' behavior is only for the default.
  * This allows IPV6_ADDRS_SAFE_TO_USE to default to a /56, which leaves
    tons of room for v6 subnetpools.

Closes-Bug: #1629133
Change-Id: I7b32804d47bec743c0b13e434e6a7958728896ea
2016-11-16 05:26:03 +00:00
Kevin Benton df5e69114f Stop setting route pointing back to tenant router
This removes the logic to add a route pointing to the IPv4
tenant private network range since the router is performing
SNAT. If reaching the IPs via the route worked at all, it was
by accident since this behavior is certainly not guaranteed
by Neutron.

Change-Id: If45e3fc15c050cfbac11b57c1eaf137dd7ed816f
2016-11-16 02:05:35 +00:00
Jenkins 7976f31fb9 Merge "Unset admin_project config options for Keystone" 2016-11-16 00:04:44 +00:00
Jenkins 29d13df1a2 Merge "Adopt openstack client for neutron commands" 2016-11-15 15:34:51 +00:00
Jianghua Wang caa822fce4 XenAPI: correct the ml2 configuration for neutron
XenAPI requires two instances of L2Agent: the standard one manages OVS
bridges in DomU and the service name is called as q-agt in Devstack;
the other new L2Agent manages OVS bridges in Dom0 and the service name
is called as q-domuA. In order to support the new agent q-domuA, it
requires some XenAPI-specific configurations. But unfortunately those
XenAPI-specific configurations were configured in the standard agent
file, meaning other changes made to the standard agent file would not
have the correct effect. So it has caused issues, for example, floating
IP addresses are not reachable.
This fix is to move the XenAPI-specific configurations from the stardard
agent configuration file to the XenAPI-specific agent configuration file
so that it won't impact the standard agent's behavior.

Change-Id: I45944e84a1f81d016aa00da6d782801ee8457ea4
2016-11-15 19:55:48 +08:00
Daniel P. Berrange c30b8def82 Move certificate setup earlier in deployment
Currently the x509 certificate setup is done after all the
openstack services have been deployed. This is OK because
none of the services require that the x509 certs exist
when they are being deployed. With the integration of TLS
into the nova novnc proxy (and later spice & serial proxy)
service, x509 certs will need to exist before Nova is
deployed.

The CA setup must thus be moved earlier in the devstack
deployment flow, prior to the setup of any services. One
part of the CA setup, however, fixes up the global cert
bundle locations and this can only be done after the
python requests module is install, thus must remain in
its current location.

Change-Id: Idcd264fb73bb88dc2f4280c53c013dfe4364afff
2016-11-15 11:24:04 +00:00
xiaolihope 8f985b6ff1 Remove heat code from devstack tree
This removes all of the heat code from the devstack tree, in favor of the
devstack plugin in Heat's tree.

Depends-On: I4bed1e5cef5afa7b049b07640086a86a3f881e13
Depends-On: Ic392bcc24bc374ee8511a94f1d8f6ac23131c7e3

Change-Id: I5b60422bf1f5fa78aa8f3383f7a222e0356d9e42
2016-11-15 15:00:43 +05:30
Jenkins ac65a5cac0 Merge "yum_install: fix awk return code" 2016-11-15 01:35:44 +00:00
Jenkins 5ff21b3d63 Merge "Update local.sh sample file to use OSC" 2016-11-14 11:21:02 +00:00
Jianghua Wang 2b3ac6dc64 Specify the correct image parameters for XenServer
The deprecated AMI image file opts will be removed soon.
See https://review.openstack.org/#/c/338377.
So we can't use the fallback mechanism anymore. This patch is to
specify the correct image parameters for XenServer.

Change-Id: Ic287a3ed1725c42ea29022158bc9720c9a96533f
2016-11-14 17:46:20 +08:00
Jenkins 53649947e1 Merge "Removing config values no longer in tempest.conf" 2016-11-14 09:24:01 +00:00
Jenkins ed2a82bd4b Merge "Updated from generate-devstack-plugins-list" 2016-11-14 00:54:58 +00:00
John L. Villalovos bd42d4918e Remove call to undefined teardown_neutron_debug
Previously the usage of neutron debug ports was removed by
5e01c47e4d but there was still call to
teardown_neutron_debug. Recently a change to devstack-gate
1d6cc0771a3399300117f488e9d71e7ea46a4d82 caused that call to be
triggered and breaking the gate-devstack-dsvm-updown job.

This patch deletes the call and comments regarding setup_neutron_debug
and teardown_neutron_debug.

Change-Id: Ifdacb0cec1307db469bd66f551474539184cf2cd
2016-11-12 11:11:43 -08:00
Carlos Goncalves bac2e4ddc2 Update local.sh sample file to use OSC
Besides updating to OSC CLI, this patch also fixes an argument name typo
present before in 'nova keypair-add' (--pub_key should be --pub-key).

Specifying $OS_PROJECT_NAME in case user is associated to multiple
projects containing security groups with same name (e.g. 'default').

Change-Id: I776f6edfc4c6c798a39d3260827a18c695f05c87
2016-11-11 15:11:54 +01:00
OpenStack Proposal Bot 7c0af1bfb8 Updated from generate-devstack-plugins-list
Change-Id: Ifce4376733d55452a1ce85df75a4203ac2f2aff9
2016-11-10 06:49:01 +00:00
Jenkins 319abcaf85 Merge "Switch fernet to be the default token provider" 2016-11-09 20:03:04 +00:00
Jenkins e8f776cda0 Merge "Fix stevedore warning with neutron firewall_driver" 2016-11-08 04:09:31 +00:00
Jenkins 4972bbcfbe Merge "Use userrc_early for all nodes" 2016-11-07 23:41:30 +00:00
OpenStack Proposal Bot 8c7cec52d0 Updated from generate-devstack-plugins-list
Change-Id: Id23209fa26e39d569b7e4b4e95d42e72fd92c32e
2016-11-04 11:31:22 +00:00
Matt Riedemann f166081d0e Always setup cells v2
Nova is going to land a database migration in Ocata
under change I72fb724dc13e1a5f4e97c58915b538ba761c582d
which enforces that at least the simple cells v2 setup
is performed, which creates the cell mappings, cell0 and
host mappings. Before we can land that change in Nova
we have to make cells v2 setup a default in the integrated
gate jobs.

Depends-On: Ie44e615384df464516aa30b9044b5e54b7d995bb

Change-Id: If1af9c478e8ea2420f2523a9bb8b70fafddc86b7
2016-11-03 15:52:52 -04:00
Armando Migliaccio 4f11ff30cf Adopt openstack client for neutron commands
The neutron client is going to be deprecated during the
Ocata timeframe, so it is time to start switching to the
openstack client to invoke networking commands.

use of neutron client in neutron-legacy has been left as is.

The command for setting the router gateway is left as follow up.

Change-Id: I0a63e03d7d4a08ad6c27f2729fc298322baab397
2016-11-03 10:37:58 -07:00
Pierre Riteau 62f29a98d7 Update stable branch example
The stable/juno branch was deleted 11 months ago:
http://lists.openstack.org/pipermail/openstack-announce/2015-December/000869.html

Update the example to Newton, which should keep it valid for a while.

Change-Id: I4cd8738862a529fd319be2ec5694d00defd94f84
2016-11-03 10:10:03 +00:00
Huan Xie f881a0e4ee XenAPI: Enable linux bridge in Dom0 for neturon
When using neutron network under xenserver, we must enable linux bridge
in Dom0 as neutron will use linux bridge qbr in compute node for
security group. But by default XenServer use openvswitch and disabled
linux bridge. This patch is to remove this restriction.

Change-Id: I0e8124ff2323810fdc46c717a750ce7e8f4aa0c6
2016-11-02 20:50:41 -07:00
Brian Haley 30ab23cd9b Fix stevedore warning with neutron firewall_driver
The initial start of the neutron OVS agent always prints
a warning:

 WARNING stevedore.named [] Could not load
 neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver

There's an alias for that in setup.cfg called
iptables_hybrid that would avoid it.

Change-Id: I3f5bf782f4f27dc123e462e494741a8a941641ec
2016-11-02 17:05:48 -04:00
Paulo Ewerton 75bf972239 Move default Keystone API version to v3
This patch sets Keystone v3 as default in services
configuration files and in the openrc and stackrc scripts.

Change-Id: I24546f02067ea23d088d383b85e3a78d7b43f166
Partially-Implements: bp keystonev3
2016-11-02 20:28:41 +01:00
Jenkins 928b3cd36e Merge "Setup the Cinder image-volume cache by default" 2016-11-02 17:09:47 +00:00
Jenkins f8da15791b Merge "remove OS_AUTH_TYPE from the userrc files" 2016-11-02 17:09:40 +00:00
Jenkins ef9d31f6ac Merge "Make unstack.sh more independently deterministic" 2016-11-02 17:08:58 +00:00
Huan Xie 54482cd80b Stop q-domua process when XenServer is used
When using XenServer, it will create two neutron-openvswitch-agent
q-agt and q-domua even it's single box environment, but it didn't
stop the q-domua, this patch is to stop q-domua in unstack.sh

Change-Id: I511ed534bfb7d5fe6136f6a0b33f1d749d30862c
Closes-Bug: #1631721
2016-11-02 01:35:44 -07:00
Jenkins f1ede394a5 Merge "Updated from generate-devstack-plugins-list" 2016-11-02 03:36:03 +00:00
Castulo J. Martinez 2d9959c53b Removing config values no longer in tempest.conf
This commit removes some config values for tempest that no
longer exist in tempest/config.py therefore are no longer needed
in tempest.conf.

Change-Id: I5778973012e57e8d9df9bf864590f8ed7fe05561
2016-11-01 13:36:54 -07:00
Matt Riedemann c9c9d31d3e tempest: set network-feature-enabled.port_security
Sets the port_security feature flag in tempest.conf
if the port_security extension is enabled, which it's not
by default in neutron but is set by default in devstack.

This adds global variable for setting the port_security
extension in ml2.conf and in tempest.conf so we only have
to set this in one place.

Depends-On: I1efd5c838aa0d73cc6e8864e3041eea25850198d

Change-Id: I6334b200e42edd785f74cfb41520627393039619
Related-Bug: #1624082
2016-11-01 10:52:08 -04:00
OpenStack Proposal Bot ade65b813b Updated from generate-devstack-plugins-list
Change-Id: I1b357b2e668ff5ed56c5deb9d71709a7526e17ea
2016-11-01 06:46:36 +00:00
Steve Martinelli dc486bc12f Switch fernet to be the default token provider
this is the first patch in a series to actually make fernet the default
token provider in keystone. the patches for grenade, release notes, and
actually switching the value in keystone all depend on this patch first.

reasons for switching over:

- fernet tokens are the recommended token provider
- the install guide for newton recommends deployers use fernet tokens [0]
- we previously attempted this switch but ran into timing issues [1],
  the timing issues have been resolved [2]

[0] http://docs.openstack.org/newton/install-guide-ubuntu/keystone-install.html
[1] 153db26970
[2] https://review.openstack.org/#/q/topic:make-fernet-default

Change-Id: I3b819ae8d2924f3bece03902e05d1a8c5e5923f1
2016-10-31 14:57:11 +00:00
Jenkins 1f84d45757 Merge "lib/neutron: Remove remaining references to Q_ variables" 2016-10-30 10:13:53 +00:00
Eric Brown fb73d85afe Remove unused KEYSTONE_CATALOG_BACKEND
This patch simply removes a var noted to be removed back in Newton.

Change-Id: I7c66e1d8d65f562596543ed8ca402dba8c8ea271
2016-10-28 02:03:37 -07:00
Eric Brown 7b07ccf5e4 Remove deprecated/obsolete ldap options
The devstack ldap configuration for keystone is still using some
old options that are no longer valid. The write support is
being removed this release. And in previous releases, the ldap
assignment driver support was removed and was not removed here.

Change-Id: I538626b681eaee6a7ac10dfbc29605b73fbe13bf
2016-10-27 16:24:16 +00:00
YAMAMOTO Takashi 07edde1c14 lib/neutron: Create initial topology only on controller node
To avoid it being created multiple times for multinode setup.

Note: This reverts "Enable neutron to work in a multi node setup"
(commit 88f8558d87) partly and fixes
the issue differently.
The configuration in question uses the new lib/neutron. (not neutron-legacy)
In that case, calling create_neutron_initial_network from stack.sh directly
is a wrong way, as create_neutron_initial_network is sourced by
neutron-legacy.  The new neutron code should not rely on the legacy one.

Closes-Bug: #1613069
Change-Id: I868afeb065d80d8ccd57630b90658e330ab94251
2016-10-26 11:57:48 +02:00
YAMAMOTO Takashi d5f730caf4 lib/neutron: Remove remaining references to Q_ variables
Q_ variables belong to neutron-legacy.

These are True by default in neutron.
Remove them in favor of post-config meta section.

Change-Id: If691a79b09003f85a07c9f33e0379a2b21e48141
2016-10-26 11:55:40 +02:00
Adam Young 4440da8563 Unset admin_project config options for Keystone
Until the policy changes land for Nova, Glance, etc, this
value is not used.  Additionally, by having it set, it actually
makes it hard/impossible for the required changes to land in
the other services.  Disable/comment out the changes in the
Keystone specific lib file for now, and we will re-enable once
the Services can make use of them.

Change-Id: Ia1de9083c21107dac2f0abb56bda166bdb37a69d
2016-10-26 11:40:08 +02:00
Jenkins e0fdcd5ff2 Merge "fix ceph config file path variable" 2016-10-24 01:37:18 +00:00
Matt Riedemann aa47a0a8be ceph: set rbd_secret_uuid in cinder.conf, not rbd_uuid
The ceph cinder backend script was setting the wrong
config option in cinder.conf for the secret uuid. This
was being masked by a bug in nova which is failing on
this bug when trying to fix the nova bug...right. It
makes sense.

See:

http://docs.ceph.com/docs/master/rbd/rbd-openstack/#configuring-cinder

Change-Id: I4655cae3212d589177d2570403b563a83aad529a
Closes-Bug: #1635488
2016-10-20 22:27:25 -04:00
OpenStack Proposal Bot 94ab1a4aa8 Updated from generate-devstack-plugins-list
Change-Id: I15cdb23e00664efe637de5cbc7b5a1e8efa21d13
2016-10-19 08:16:16 +00:00
Monty Taylor 201c01f19b Don't clone dib-utils in install_heat
It's not used, and a recent change to trim down projects lists in
devstack-gate broke devstack in the gate that enabled heat.

Change-Id: I405423bdc9ba8dd9b30fce6fdceacccf662d5da3
2016-10-18 11:24:41 -05:00
Jenkins 093d815d9f Merge "Enable bridge firewalling if iptables are used" 2016-10-18 11:23:54 +00:00
Hongbin Lu bc5cfc0584 Allow running nova compute with docker group
A use case is from Zun project that needs to start n-cpu with
"docker" group.

Change-Id: Ib8f193ea1edf1f148e9ba505205495170ebf6d67
2016-10-17 01:51:46 +00:00
Chuck Short 51db6d33c1 Replace wily support with yakkety
Ubuntu wily support is EOL so lets make room for yakkety.

Change-Id: Ib13d43f6d89bdf7c684cd34655a077a13e237be3
Signed-off-by: Chuck Short <chuck.short@canonical.com>
2016-10-15 09:40:35 -04:00
Jenkins 88172b8763 Merge "Reduce the scope of the subnet pool prefix in neutron" 2016-10-14 20:04:27 +00:00
Eric Harney d8682dbdf9 worlddump: Add cinder-volume guru meditation report
cinder also supports GMR, it would be good
to have this when debugging gate failures.

Change-Id: I4db6dfd810d011faaca084e0dacaec4031b2a4ff
2016-10-14 14:38:10 -04:00
Jenkins 8caeb035f4 Merge "Make Nova/Ironic communication use Identity v3" 2016-10-13 19:55:06 +00:00
Jenkins cdcfc74d23 Merge "Remove workaround for openstack complete" 2016-10-13 19:50:54 +00:00
Attila Fazekas 2bd8d90681 Objects versions new style config
allow_versions is going to be a deprecated option.
Setting up the object versining in the new way.

[1] http://docs.openstack.org/developer/swift/overview_object_versioning.html

Change-Id: Ia520fbb6eb535b08ce83c0cb4bea31e7bba55eb3
2016-10-13 10:08:09 +02:00
Jenkins c330a8a661 Merge "nova: stop setting deprecated use_usb_tablet option" 2016-10-12 02:24:04 +00:00
Jenkins 6c55227595 Merge "Add a screen session for tls logs" 2016-10-11 19:48:23 +00:00
Jenkins fab7a04de8 Merge "Neutron L3 subnetpool creation should be optional" 2016-10-11 19:45:27 +00:00
Steve Martinelli 5ff77d6a2a Remove workaround for openstack complete
This reverts commit 6930ba312f.

By reverting this patch we are no longer using the bandaid fix mentioned
in the code. The latest openstackclient release (3.3.0) fixes the bug.

Related-Bug: 1619274

Change-Id: I20e3c5a92b97bf46c8d2318cd37044f0f36e1745
2016-10-11 14:09:41 +00:00
Attila Fazekas cac6ef09c5 Remove the heat stack owner role
We should not require any special role for heat
since very long time.

We should use the same roles as with the primary user.

Change-Id: Id9150f94c30505ed0da33b8fbc2a5a7bd4fcf5d0
2016-10-11 08:48:45 +02:00
Jenkins 1c13be860b Merge "Modify the default Qemu packages name for AArch64." 2016-10-10 13:58:17 +00:00
Jenkins 522cc7581a Merge "Don't install Nova policy.json" 2016-10-10 12:15:55 +00:00
Sean Dague f06455e1b5 Add a screen session for tls logs
When tls is enabled, we aren't bringing the logs to the forefront,
which makes it hard to debug when things go wrong. This does that.

Change-Id: I7c6c7e324e16da6b9bfa44f4bad17401ca4ed7e3
2016-10-07 06:57:03 -04:00
Clay Gerrard 148d0e6e08 Clarify default IP_VERSION in docs
The prior art on other options in the same document seemed to be
calling out the default in a pre-formatted block after describing the
possible values.

I believe the default value for the option was first changed [1], then
the docs were fixed [2], then the information was unintentionally
dropped from the docs [3].

1. Related-Change: If0e0b818355e4cb1338f7fa72af5e81e24361574
2. Related-Change: Ib6603b4f6ea0b4079f9a4ea46e723ecbb2ea371d
3. Related-Change: Iddd27cb54f1d9f062b9c47ff9ad6a2bef3650d6b

Change-Id: I662403db3b08a351a680587440ad1f15a6f8ee5d
2016-10-07 10:25:25 +11:00
Sean Dague ec498cd061 remove sites-enabled/keystone.conf link on clean
doing a clean.sh / stack.sh cycle with USE_SSL=True was failing
because we were no longer cleaning up the keystone site fully, so some
of the early mod_ssl queries hit an invalid apache configuration.

Change-Id: Ic6f3f601e532ec50c0234d928c25b378d9e95e32
2016-10-06 15:00:44 -04:00
Jenkins 7480276f5e Merge "Update apache tls proxy logs" 2016-10-06 13:08:28 +00:00
Jan Stodt 05dc1aad6c Fix provider networking error message
This fix replaces Q_USE_PROVIDERNET_FOR_PUBLIC with
Q_USE_PROVIDER_NETWORKING in the error messages introduced by
[1].

The error is thrown when provider networking with IPv6 has been
requested via local.conf, but no provider IPv6 range or provider
IPv6 gateway is provided. But if a provider network should be used
over the private network is determined along the variable
Q_USE_PROVIDER_NETWORKING and not Q_USE_PROVIDERNET_FOR_PUBLIC.

The variable Q_USE_PROVIDERNET_FOR_PUBLIC determines if a provider
network should be used as public network. This happens a few lines
later in the code and is not related to those error messages.

[1] https://review.openstack.org/#/c/326638/1/lib/neutron_plugins/
services/l3

Change-Id: I50aa1e9d2027eef598c95404851e51c31a397fbb
2016-10-06 08:41:05 +02:00
Jenkins 92d8ecf9c4 Merge "XenAPI: Remove legacy tty image" 2016-10-06 05:46:18 +00:00
Jenkins 0a088b1b36 Merge "Update OpenStackClient role list commands" 2016-10-06 05:19:37 +00:00
Jenkins 6af6d6f803 Merge "Add files/*.deb and files/*.deb.* to gitignore" 2016-10-06 05:00:53 +00:00
Jenkins 5a52e99c64 Merge "Updated from generate-devstack-plugins-list" 2016-10-06 00:54:17 +00:00
Clark Boylan 66ce5c257a Update apache tls proxy logs
This creates log files per proxy vhost and sets the log level to info to
help debug potential issues with tls proxying.

Change-Id: I02a62224662b021b35c293909ba045b4b74e1df8
2016-10-05 16:25:53 -07:00
Daniel Gonzalez a283526c88 Set cinder coordination backend url
If DLM is enabled, cinder should be configured to use the correct
backend url for the dlm.
At the moment only zookeeper is supported, as it is the only backend
currently supported in devstack.

Change-Id: I7afc8dc95bc5b3f11b888e10607615c1212c45f4
2016-10-05 21:52:07 +02:00
Jenkins 91d8a38e16 Merge "Allow default IPv6 route device names to have dots" 2016-10-05 18:24:12 +00:00
Clenimar Filemon 57df186c13 Make Nova/Ironic communication use Identity v3
As long as nova already supports an Identity v3 auth flow when talking
to ironic (Id837d26bb21c158de0504627e488c0692aef1e24), make it use
v3 by default.

This way we don't fail in a keystone v3-only situation, for
example.

Change-Id: I028dfb52108d0630f47a53f8b420b70d4979eb55
2016-10-04 16:27:02 +00:00
Miguel Angel Ajo ca89d071b3 Reduce the scope of the subnet pool prefix in neutron
Some of the clouds used for CI use the 10.2xx.0.0/16 range
for VMs, and collide with the wider 10.0.0.0/8.

This setting allows for creation of 256 subnets out of the pool.

Change-Id: I48c86f94098f1501f0e7f90a265dda7e81440eb0
Closes-Bug: 1629133
2016-10-04 18:19:33 +02:00
Mike Perez c271b3ea1f Update OpenStackClient role list commands
This command is deprecated. The new command is role assignment list.

Change-Id: I8dba0be21d5af6751bea13d8ff29cd4b7589ab3e
2016-10-03 16:50:27 -07:00
rajinir c58a15575d Neutron L3 subnetpool creation should be optional
Added an option to make subnetpools to be optional
as it ignores the public network specified in
FIXED_RANGE.

DocImpact
Change-Id: Ic89ceca76afda67da5545111972c3348011f294f
Closes-Bug: #1628267
2016-09-30 11:46:38 -05:00
OpenStack Proposal Bot c12c12f663 Updated from generate-devstack-plugins-list
Change-Id: Id9ce2cbdad53665ca2f6b7e57cb2553cb89cd982
2016-09-30 06:57:24 +00:00
Jenkins 563d377782 Merge "Fix typo in documentation" 2016-09-29 23:50:54 +00:00
Jenkins e43cca1adf Merge "Fix the logic of if used with is_service_enabled" 2016-09-29 22:15:08 +00:00
Jenkins 411248ddc2 Merge "Move Q_ROUTER_NAME to where it belongs" 2016-09-29 19:42:50 +00:00
Ihar Hrachyshka b3a210f643 Enable bridge firewalling if iptables are used
With the plan [1] to stop enabling it by Neutron iptables firewall
driver itself, deployment tools should catch up and enable the firewall
themselves.

This is needed for distributions that decided to disable the kernel
firewall by default (upstream kernel has it enabled). This is also
needed for distributions that ship newer kernels but don't load the
br_netfilter module before starting nova-network or Neutron iptables
firewall driver. In the latter case, firewall may not work, depending on
the order of operations executed by the driver.

To isolate devstack setups from the difference in distribution
kernel configuration and version, the following steps are done:

- we load bridge kernel module, and br_netfilter if present, to get
  access to sysctl knobs controlling the firewall;
- once knobs are available, we unconditionally set them to 1, to make
  sure the firewall is in effect.

More details at:
http://wiki.libvirt.org/page/Net.bridge.bridge-nf-call_and_sysctl.conf

[1] I9137ea017624ac92a05f73863b77f9ee4681bbe7

Change-Id: Id6bfd9595f0772a63d1096ef83ebbb6cd630fafd
Related-Bug: #1622914
2016-09-29 04:26:56 +00:00
Andrew Laski 0009869cae Don't install Nova policy.json
Nova ships with an empty policy.json file which it does not need.
oslo.policy previously required the empty file to be there but as of
version 1.14.0 it is possible to run with no policy file at all. Since
there are no policies defined in the sample file let's no install it.

Change-Id: I85a251376dfe38caa4b100861bf764014a98bc37
Depends-On: I09fa842ffbe75bed269cef6edc9c82d18bfe9297
2016-09-28 15:07:14 -04:00
Hironori Shiina aa7ec81fd7 Fix typo in documentation
This patch just removes a duplicate 'the'.

Change-Id: I3393a51d55ba8ec1639c2548781f8972f0d5c9d0
2016-09-28 20:21:57 +09:00
Jenkins ced511c593 Merge "Work around issue in glance_store swift driver" 2016-09-27 21:37:14 +00:00
Drago Rosson b34d459bbc Allow default IPv6 route device names to have dots
When dots are used with sysctl, they are reinterpreted as slashes.
Route devices can have dots in their names, so when they are used in a
sysctl command that also uses dots, its dot will be replaced with a
slash, causing an error.

Change-Id: Ie32126a3aa8d646568d7d37ec4874419b9658935
Closes-Bug: #1627770
2016-09-27 10:24:47 -05:00
Jenkins ea9b111eef Merge "lib/neutron: Rename core plugin variables" 2016-09-27 14:27:49 +00:00
Jenkins e75d5044f4 Merge "Update certificate creation for urllib3" 2016-09-27 11:26:47 +00:00
YAMAMOTO Takashi 1aa4368135 Move Q_ROUTER_NAME to where it belongs
The motivation is to make it more friendly with lib/neutron.
ie. independent from lib/neutron-legacy

Change-Id: I19821b009cbf1bc715a6c7b2854e4c77d2041ec4
2016-09-27 13:51:09 +09:00
YAMAMOTO Takashi 4a55d2a660 lib/neutron: Rename core plugin variables
NEUTRON_PLUGIN -> NEUTRON_CORE_PLUGIN
NEUTRON_PLUGIN_* -> NEUTRON_CORE_PLUGIN_*

Change-Id: I1d93d8bd1e6e3bbca0e56a2da0684ab3f3fbb525
2016-09-27 13:51:09 +09:00
Jenkins 71afa25250 Merge "Don't make root CA if it exists" 2016-09-27 04:03:24 +00:00
Jenkins 792a7ab31f Merge "Mount identity admin script at /identity_admin" 2016-09-26 20:39:11 +00:00
Ian Cordasco 69e3c0aac9 Update certificate creation for urllib3
urllib3 1.18 was released today and contains new more correct hostname
matching that takes into account the ipAddress portion of a certificate
and disallows matching an IP Address against a DNS hostname.

Change-Id: I37d247b68911dc85f55adec6a7952ed321c1b1d8
2016-09-26 12:21:41 -07:00
Jenkins 65fc49e283 Merge "lib/neutron: Use NEUTRON_PLUGIN instead of hardcoding ml2" 2016-09-26 18:18:46 +00:00
Jenkins 9cea4e8570 Merge "Remove remaining fwaas code" 2016-09-26 16:54:10 +00:00
Jenkins e18d6fae72 Merge "Switch keystone to dogpile.cache.memcached backend" 2016-09-26 16:54:00 +00:00
Jenkins 590e21f9a4 Merge "Keystone uwsgi set lazy-apps=true" 2016-09-26 16:53:52 +00:00
Jenkins fdd6dfa519 Merge "Remove the same configurations as the default" 2016-09-26 16:53:43 +00:00
Jenkins de0b611032 Merge "Run n-cpu using LXD_GROUP when LXD virt driver" 2016-09-26 15:01:26 +00:00
Jenkins 69700227a9 Merge "Make the Neutron l3 plugin use the subnetpools" 2016-09-26 15:01:16 +00:00
Jamie Lennox 04e69de6c5 Mount identity admin script at /identity_admin
The /identity_admin endpoint is the port 80/443 equivalent of the
service that typically runs on port 35357. In v2 some operations must be
performed on the admin endpoint whereas on v3 the services on 5000 and
35357 are exactly the same. This would be why the service was mounted at
/identity_v2_admin however that is misleading because both the v2 and v3
services are present on that endpoint.

This is particularly confusing because we set this as the OS_AUTH_URL
endpoint and it makes it seem like we are doing v2 authentication when
we are not.

Change-Id: If73735026079fb19ca5bd44b3a4dc1f507b5c99d
2016-09-26 14:44:40 +00:00
Jenkins 7957489003 Merge "Neutron: enable setting debug as True or False" 2016-09-26 13:57:51 +00:00
Jenkins bf10c86664 Merge "Neutron L3: account for all default routes" 2016-09-26 13:30:26 +00:00
Jens Rosenboom 890342ed87 Work around issue in glance_store swift driver
With [1] glance_store introduced default settings for user_domain_id and
project_domain_id. Sadly since these are always passed to the keystone
client, they override any settings to user_domain_name and
project_domain_name that are made in the config, leading to authentication
failures.

So as a workaround until [2] is fixed, we explicitly place the corresponding
domain_ids into the config.

[1] https://review.openstack.org/297665
[2] https://bugs.launchpad.net/tempest/+bug/1620999

Change-Id: Ica81a1a176614392291f2db4cc6398ed30663aed
2016-09-26 15:16:04 +02:00
Jenkins 7febf95e5c Merge "Update doc to reflect neutron became devstack default" 2016-09-26 13:14:37 +00:00
Clark Boylan 323b726783 Don't make root CA if it exists
To support multinode testing where we just copy the CA to all the
instances don't remake the CA if it already exists.

The end result is that you can trusty a single chain and all your
clients will be happy regardless of which host they are talking to.

Change-Id: I90892e6828a59fa37af717361a2f1eed15a87ae4
2016-09-26 11:37:18 +00:00
John Hua 499a9e39c1 XenAPI: Remove legacy tty image
UPLOAD_LEGACY_TTY was for console access, but it's no longer used.

Change-Id: I294c8716be2e6ee9f53108d4eb41faf99e975538
2016-09-26 12:06:02 +08:00
Ian Wienand a4705403aa yum_install: fix awk return code
TIL:

  Similarly, all the END rules are merged, and executed when all the
  input is exhausted (or when an exit statement is executed).

i.e. matching YUM_FAILED calls "exit", which falls through to the END
rules which calls "exit result" ... which is zero.  i.e. if the return
code is 1 then we actually hide that and return with zero.

This is rather annoying because errors that should halt to alert us of
a package install failure pass through, only for you to have to debug
much later on seemingly unrelated problems.

This always sets "result" and thus should be returning the right
thing.  I've updated the documentation to hopefully make it clearer
what's going on.

Change-Id: Ia15b7dc55efb8d3e3e945241b67a468b8a914672
2016-09-23 15:44:57 +10:00
Kevin Zhao a80d4097a9 Modify the default Qemu packages name for AArch64.
In Debian jessie and later release,there is no packages
called "qemu-kvm" for AArch64. Also modify the libguestfs0
packages for AArch64

Closes-bug: #1612182

Change-Id: I5eb6bd137896eb9abfc4f8dbb41b41105e4820cd
Signed-off-by: Kevin Zhao <kevin.zhao@linaro.org>
2016-09-22 07:44:43 +00:00
Patrick East a5d965a3d7 Use userrc_early for all nodes
Instead of only using the userrc_early when keystone
is an enabled service we will do it on all runs of
stack.sh. This way services can be split up more
across devstack nodes, and you can do configuration
requiring credentials on nodes that don't install
keystone.

Change-Id: I74574ae9f45a74bcbcc8e3149228ecb795ab4fb7
2016-09-21 12:45:04 -07:00
Jenkins a2d1848419 Merge "Use apache for tls-proxy ssl termination" 2016-09-21 18:19:40 +00:00
Luigi Toscano 4c813ac0fb Fix the logic of if used with is_service_enabled
The value to be evaluated is the returned value, not the output of the
command.

Change-Id: I22d7c967e911bcfee6b1910f666dbbc647c00085
2016-09-21 19:39:36 +02:00
Gregory Haynes 4b49e409f8 Use apache for tls-proxy ssl termination
Stud is now abandonware (see https://github.com/bumptech/stud) and is
not packaged in xenial. Lets use Apache for SSL termination since its
there already.

Change-Id: Ifcba410f5969521e8b3d30f02795541c1661f83a
2016-09-20 08:14:11 -07:00
Gary Kotton d2ef615d8f Neutron: enable setting debug as True or False
The flag ENABLE_DEBUG_LOG_LEVEL indicates if this should be
set or not.

This will now be supported in Neutron.

Change-Id: I3afe0546b379873247fee1ef9f4cc2708a7b5713
2016-09-20 04:12:11 -07:00
Henry Gessau 734f144f5d Neutron L3: account for all default routes
Some systems may have more than one default route.
Set up iptables NAT rules on all v4 default route devices.
Accept RAs on all v6 default route devices.

Closes-Bug: #1624773

Change-Id: If58509297497ea33c6c156f083a4394000bd0561
2016-09-19 14:18:53 -04:00
OpenStack Proposal Bot 81d89cf358 Updated from generate-devstack-plugins-list
Change-Id: I20039918452f6aa430037ae986f7cd88bd220d76
2016-09-16 06:52:00 +00:00
Jenkins 466dc74e67 Merge "Updated from generate-devstack-plugins-list" 2016-09-16 03:28:12 +00:00
Jenkins 72fe79d7af Merge "tempest: toggle allow_port_security_disabled=True" 2016-09-15 18:19:15 +00:00
OpenStack Proposal Bot cb3a216c23 Updated from generate-devstack-plugins-list
Change-Id: Ib75ecf5c822f3778978177c793399afbd802bf70
2016-09-15 06:52:36 +00:00
OpenStack Proposal Bot 57d390c5d7 Updated from generate-devstack-plugins-list
Change-Id: I21fd2b3866efe66dd1f7173003c2521688aa7fd6
2016-09-14 06:59:40 +00:00
Jenkins dec121114c Merge "Don't add deb-* packaging repos to plugin list" 2016-09-14 00:39:21 +00:00
Matt Riedemann 14cb490d1e nova: stop setting deprecated use_usb_tablet option
The use_usb_tablet option is replaced by the pointer_model
option.

Depends-On: Id18b5503799922e4096bde296a9e7bb4f2a994aa

Change-Id: Ic2a49f88df988c6404c1c72e9ee28a487e4f7908
2016-09-13 15:51:23 -04:00
Matt Riedemann 6390d5ef82 libvirt: install python-guestfs when ENABLE_FILE_INJECTION=True
There is a bit of a weird history here, but the net is we're not
installing python-guestfs when ENABLE_FILE_INJECTION is set, which
it is in the gate-tempest-dsvm-neutron-full-ssh job, which makes
file injection (personality) tests fail.

The history:

Commit 0ae942b41c moved installing
python-guestfs to the hypervisor-libvirt file and it was conditional
on a flag to enable file injection and the backing distro.

Commit a3c94468ba removed the ability
to configure nova for file injection, which never made any Tempest
tests fail because we didn't have a job that tested file injection
with ssh, which is what gate-tempest-dsvm-neutron-full-ssh does.

Commit 6d3670a652 added the ability
back to enable file injection and the gate-tempest-dsvm-neutron-full-ssh
job uses it, but missed added the condition back in from 0ae942b41
which installed the python-guestfs package. This change adds that
back in.

Change-Id: I1c1ef093b70007100646c086dc5724cd64751d00
Closes-Bug: #1622649
2016-09-12 11:35:22 -04:00
Jenkins 8a770cb050 Merge "Add thin-provisioning-tools for Cinder" 2016-09-12 05:53:49 +00:00
Ian Wienand 9c69eacaba Don't add deb-* packaging repos to plugin list
A couple of hundred of these were added with
Ia02f4e1819ac47b12b4ce4381e04253eb26e9f70 and you can see in some of
the proposals at I21fd2b3866efe66dd1f7173003c2521688aa7fd6 they're
starting to match.  Just ignore packaging repos as they're not really
relevant for the purposes of plugin list.

Change-Id: Iaf9e0c0fb672a70c3aee1bbcf587bb0d387e5945
2016-09-12 14:58:20 +10:00
Clark Boylan 9546903265 Set sensible default for LB_PHYSICAL_INT
Configure the linux bridge physical interface to use the interface for
the default route on the current host. In the future we should consider
using a dangling interface so that we aren't affecting the host
instances networking but this roughly matches what testing has been
using in the past.

Change-Id: I7859437f97e6cab929e90208fe56f7efd62dfe01
2016-09-08 17:09:45 -07:00
Jenkins 628098e0de Merge "Adding vfio to cgroup_device_acl during libvirt configuration" 2016-09-08 16:59:59 +00:00
Jenkins b74fc6886f Merge "Keystone re-enable catalog caching" 2016-09-08 00:59:33 +00:00
scottda f3daa9548e Add thin-provisioning-tools for Cinder
Ubuntu's LVM packaging does not support thin provisioning by
default:
 /usr/sbin/thin_check: execvp failed: No such file or directory
This is fixed with install of thin-provisioning-tools.

Change-Id: I31f572934ea94cae6e2aea27a2c731ee5bca68d3
Closes-Bug: #1615134
2016-09-06 16:21:57 -06:00
Jenkins fac8adbe1b Merge "Enable neutron to work in a multi node setup" 2016-09-06 14:02:07 +00:00
Jenkins 1735f39128 Merge "Make PIP_GET_PIP_URL configurable via local.conf" 2016-09-06 07:23:34 +00:00
Andreas Scheuring 0063495b00 Make PIP_GET_PIP_URL configurable via local.conf
The default get_pip url regulary times out when starting devstack
from behind company firewalls. Making this a configureable variable,
user can make use of internal git-pip.py mirrors without modifying
any code.

Change-Id: I66a5534d51ab23a4d8586c27d37b4b6b8a6892c9
2016-09-06 14:48:32 +10:00
Lenny Verkhovsky 0a40710b9f Adding vfio to cgroup_device_acl during libvirt configuration
vfio should be added to cgroups on some of the Distributions like
Ubuntu 16-04

Change-Id: I7239858b6307e37bf1237b92d69a0520ab5ad304
2016-09-04 12:52:01 +00:00
Ken'ichi Ohmichi 085f2fb0e2 Remove the same configurations as the default
The default value of force_dhcp_release is True on Nova side:
https://github.com/openstack/nova/blob/master/nova/conf/network.py#L306
The default value of vnc.enabled is True on Nova side:
https://github.com/openstack/nova/blob/master/nova/conf/vnc.py#L27
The default value of spice.enabled is False on Nova side:
https://github.com/openstack/nova/blob/master/nova/conf/spice.py#L30

So it is not necessary to set them on Devstack.

Change-Id: I67cc103269d2d612ad443c72f2a77d7ae2ca09e3
2016-09-02 14:19:52 -07:00
Jenkins 6affe6db29 Merge "Change quota_injected_file_path_bytes to quota_injected_file_path_length" 2016-09-02 17:27:37 +00:00
Jenkins e89723dcd8 Merge "LVM: Handle missing loop device at cleanup" 2016-09-02 17:12:07 +00:00
Jenkins 5897550146 Merge "Allow setup of credential encryption using fernet" 2016-09-01 19:55:06 +00:00
Dan Smith 71119b47a0 Setup cellsv2 for Nova
This patch setup cellsv2 for Nova after plugin initialization phase.
Since this requires compute hosts to be started, we need to do it
after we have initialized all other plugins. Things like ironic
aren't setup when we were running this as part of nova setup, and
thus this command can fail.

When cellsv1 is used (n-cell is enabled) skip calling
cells_v2 simple_cell_setup, which will never have hosts
at the top level and which will always fail.

Change-Id: Ic7d0115da51d6ea17ee49071af259a7789c62ab9
Depends-On: I9bbaa4c92503222c9fd015fe075926b50f3dcc8c
2016-09-01 15:36:50 +00:00
Monty Taylor 6930ba312f Specify a cloud for openstack complete
there is a bug in openstackclient that is causing a password prompt

Related-Bug: 1619274
here.

Change-Id: I3aee25845ece846ed2b35aa242dc684b55ac2381
2016-09-01 08:36:15 -04:00
Jenkins 08b1475c2a Merge "Create the nova_api_cell0 database" 2016-09-01 09:41:17 +00:00
Clay Gerrard 40b433fb07 Make unstack.sh more independently deterministic
In some initialization conditions (having never ran stack.sh) the
result of unstack.sh is dependent on if the user had previously
installed lvm2 or disabled the cinder service.

This change makes all results the same with a bit of LBYL.

There's also a drive-by to put a comment back where it belongs after
being accidentally moved in the related change.

Related-Change: I09b1a7bee0785e5e1bb7dc96158a654bd3f15c83

Change-Id: I9a7e052677d60cbbbdd582877f3c6c48c387f668
Closes-Bug: #1619195
2016-09-01 02:17:54 -07:00
Jenkins d7c9d2e27e Merge "Revert "Allow properly overriding DEST"" 2016-09-01 04:46:54 +00:00
Brant Knudson eb77eef8a5 Keystone re-enable catalog caching
Catalog caching was disabled due to bug 1537617, but this has been
fixed for some time. Re-enabling to get some performance back.

Change-Id: Ic0edf5c70a5040edf3393dbd1e110ab5fb56c110
Related-Bug: 1537617
2016-08-31 16:26:30 -05:00
Jenkins fb1e1cc7e3 Merge "Move RABBIT_USERID to lib/rpc_backend" 2016-08-31 21:22:48 +00:00
Brant Knudson 542abbab3b Keystone uwsgi set lazy-apps=true
Keystone had a problem where there was a memcached socket
opened very early on startup which then got shared between
worker processes when running under uwsgi. This can be
prevented by setting lazy-apps so this is the recommended
setting.

See http://uwsgi-docs.readthedocs.io/en/latest/ThingsToKnow.html

"""uWSGI tries to (ab)use the Copy On Write semantics of the
fork() call whenever possible. By default it will fork after
having loaded your applications to share as much of their
memory as possible. If this behavior is undesirable for some
reason, use the lazy-apps option. This will instruct uWSGI to
load the applications after each worker’s fork(). Beware as
there is an older options named lazy that is way more invasive
and highly discouraged (it is still here only for backward
compatibility) """

Change-Id: I6f271dc906528f0c86060452deaf15df81b267d2
Related-Bug: 1600394
2016-08-31 15:47:56 -05:00
Jenkins a270f5e242 Merge "Remove lib/ceph" 2016-08-31 20:14:49 +00:00
Jenkins 413cca397a Merge "Fix comment in plugin-registry header" 2016-08-31 20:14:33 +00:00
Jenkins 32ced8fed7 Merge "Fix region name placement config option" 2016-08-31 20:13:48 +00:00
melanie witt 0bf25506b0 Move RABBIT_USERID to lib/rpc_backend
This moves setting of RABBIT_USERID from stack.sh to lib/rpc_backend
so it may be used in grenade runs, which don't have the defaulted
value from stack.sh. The RABBIT_USERID is needed in order to call
get_transport_url in lib/rpc_backend.

Change-Id: I6f211e9102f79418f9f94a15784f91c4150ab8a7
2016-08-31 19:11:33 +00:00
Andrew Laski eb6ef2f80e Create the nova_api_cell0 database
As part of Nova cellsv2 there is now a third database that must be setup
for use by Nova. This database is an exact copy of the 'nova' database.
Only do this if NOVA_CONFIGURE_CELLSV2 is overridden.

Change-Id: I8775b8066ba85fbdbcdfb42c28cb567fc7759fe5
2016-08-31 12:01:19 -07:00
Matt Riedemann 44bf88cd39 Fix region name placement config option
The placement config option for setting the region is
actually 'os_region_name', not 'region_name', see:

https://review.openstack.org/#/c/358797/13/nova/conf/placement.py

Change-Id: I62e79c6860e2329428e3115d14ee86f5ff15d7e8
2016-08-31 10:39:46 -04:00
Sean Dague a25ae6c03d convert apache logs to color for screen
If we left the ansi color codes in apache logs, we can run a sed
script to convert the escaped escapes back to ansi escapes which make
the logs colorized again.

There are 8 \ because we need to end up with 2 in the final sed, and
we get interopolated twice. How much fun is escape interpolation? All
the fun.

Change-Id: Id8531cf03ba80f0df62f20add02e757bd63d4f2d
2016-08-31 08:56:37 -04:00
YAMAMOTO Takashi 11817482c0 lib/neutron: Use NEUTRON_PLUGIN instead of hardcoding ml2
Change-Id: Ia60381694f30978984cdf33e3141dc153d294e17
2016-08-31 10:57:33 +09:00
Sean Dague 43ff27b7e8 Use wsgi-script installed nova-placement-api
We should use the standard install nova-placement-api script which is
managed by the python package instead of a one off copy procedure.

Depends-On: I00d032554de273d7493cfb467f81687c08fd5389

Change-Id: I74b39d6a0cedea7c18ce8080dcddb43d13df1de8
2016-08-30 21:14:34 -04:00
Ken'ichi Ohmichi d3fab7bfc1 Revert "Allow properly overriding DEST"
After I00847bb6733febf105855ae6fc577a7c904ec4b4, we cannot see the
test result (testr_result.html) on gate jobs.
So let's revert the patch for verifying the test result on the gate.

Change-Id: I9db1ff9f43b22d1634a43c7d5e502cc205aa26f2
Closes-Bug: #1617476
2016-08-30 18:13:52 -07:00
Ian Wienand 0385caa2ee Fix comment in plugin-registry header
Fix the comment to actually be a comment.  Regenerate page.

Although we've got a pretty cool system for generating this, I wonder
if anyone actually looks at it?  Maybe it's just helpful as a form of
SEO.

Change-Id: I15aaa983716f9ee897293c2954ca7ae561951372
2016-08-31 10:07:06 +10:00
Matt Riedemann c9f6327844 Remove lib/ceph
All jobs using ceph as a storage backend have been moved over
to using the devstack-plugin-ceph repo in project-config so we
should be safe to remove the now unused lib/ceph file.

The files are left in place because the devstack plugin does not
install xfsprogs but it's used by the create_disk function.

And the ceph cinder backend file is left in place since the
devstack-plugin-ceph repo uses that by setting
CINDER_ENABLED_BACKENDS=${CINDER_ENABLED_BACKENDS:-ceph}.

Change-Id: I3fb09fc92bc6ab614e86d701ea46d5741a76b7a8
2016-08-30 17:21:30 -04:00
Jenkins 79722563a6 Merge "Add support for placement API to devstack" 2016-08-30 19:52:15 +00:00
Jenkins 434035e284 Merge "Revert "Revert "Use real Neutron network for L3 GW by default""" 2016-08-30 15:37:31 +00:00
Eric Harney 5237d16d69 LVM: Handle missing loop device at cleanup
When the loop device is not present because something
has gone wrong, this will print an error:
"losetup: option requires an argument -- 'd'"

Just skip the losetup -d in this case.

Change-Id: Iedc439b1ae924e9a599f6522eb081b83d43190c7
2016-08-30 11:01:30 -04:00
Jenkins 8755de3d75 Merge "Install conntrack in XenServer Dom0" 2016-08-30 14:21:38 +00:00
Chris Dent 4d6017566a Add support for placement API to devstack
Uses lib/placement, but relies on some functionality from
lib/nova. This leads to some weirdness since the nova has
special status in stack.sh. If/when placement is extracted
it may be good to follow the devstack plugin structure
instead.

Because the placement code is currently a part of nova, there
are dependencies in lib/placement on a some $NOVA_* variable
and, if virtenv is being used, the virtualenv used by nova.

Because placement currently runs using nova's configuration
settings, not a lot actually happens in lib/placement: apache
is configured and keystone accounts and endpoints are created.

If PLACEMENT_DB_ENABLED is true then a separate placement db
will be configured.

When complete the initial version of the placement service will
provide support for managing resource providers, inventories and
allocations.

The placement api only runs under mod-wsgi.

Change-Id: I53dd3e6b41de17387a0e179fc9ac64c143b6a9eb
2016-08-30 12:49:47 +00:00
Jenkins 23fc4e0342 Merge "Revert "stackrc set the LC_ALL to C"" 2016-08-30 06:10:58 +00:00
Jenkins 7b5e33a9dd Merge "Start virtlogd service" 2016-08-30 04:28:44 +00:00
Huan Xie 26edd7b071 Install conntrack in XenServer Dom0
Neutron openvswitch agent running in compute node will control the
actual connection of the VMs in Dom0 via conntrack-tools, but Dom0
doesn't install conntrack-tools RPM by default.
This patch is to add such support with XenServer 7.0 and above.

Change-Id: Iec56db761015d4b7baa5a5f54314f4ff3fa67e02
2016-08-30 01:30:14 +00:00
Janki Chhatbar 8f586fbefe Start virtlogd service
Ensure the virtlogd service is started, to work-around various
platform issues where it isn't started correctly.

Closes-Bug: #1603009
Change-Id: I548b377df6b2f0c287429e4387ee33184a82a64d
2016-08-30 10:37:21 +10:00
Lance Bragstad 69d4a71dfe Allow setup of credential encryption using fernet
With the addition of encrypted credential in keystone, we need to be able to
add setup steps in devstack to configure the credential repository with
encryption keys.

Depends-On: I97e7701bc5b8765d207cc721793643bcefa2d4e2
Depends-On: Id3e8922adc154cfec5f7a36613e22eb0b49eeffe
Change-Id: I433da9a257daa21ec3b5996b2bca571211f1fbba
2016-08-29 21:18:47 +00:00
Kevin Benton 1554adef26 Revert "Revert "Use real Neutron network for L3 GW by default""
This reverts commit 7da968a8be.

Change-Id: I9ed28ccf6af611b280ada3420d7d2a833178fcac
2016-08-29 17:44:37 +00:00
Jenkins 61be14d299 Merge "Let neutron use default gateway IP for subnets" 2016-08-26 13:56:09 +00:00
Jenkins 70a44ecad1 Merge "Change default for FORCE_CONFIG_DRIVE" 2016-08-26 12:10:36 +00:00
Jenkins b3b5eebaf5 Merge "Remove lbaas from devstack proper, take 2" 2016-08-25 18:32:38 +00:00
zhurong 1c5fc97136 Add files/*.deb and files/*.deb.* to gitignore
Change-Id: Ieb8bc6a0852eabce987fef9441cca8770b711a38
2016-08-25 23:36:12 +08:00
Doug Wiegley 7e40c6406b Remove lbaas from devstack proper, take 2
p-c patches have merged, neutron-lbaas removal is in the merge queue.

This reverts commit b3f26cb66c.

Depends-On: I506949e75bc62681412358ba689cb07b16311b68
Change-Id: I98d62c13ef90b20a9c67ef4f1720efcaa366fb31
2016-08-25 01:29:04 +00:00
Jenkins bfcde0cb0d Merge "Fixes language: "following allowing" -> "allowing"" 2016-08-25 00:46:00 +00:00
Jenkins 49ef4b70f7 Merge "Accept IPv6 RAs on the interface with the default route" 2016-08-24 22:13:40 +00:00
Monty Taylor c12d1d9ce0 Accept IPv6 RAs on the interface with the default route
Because neutron sets ipv6 forwarding settings, we stop accepting RAs
from IPv6-only host environments. This leads to a loss of external
connectivity, which is bad for zuul running tests and stuff.

Setting accept_ra to 2 will cause the RAs to be accepted.

Change-Id: Ia044fff2a1731ab6c04f82aea47096b425e0c0a0
2016-08-24 15:44:40 -04:00
Gary Kotton 88f8558d87 Enable neutron to work in a multi node setup
On the controller node where devstack is being run should create
the neutron network. The compute node should not.

The the case that we want to run a multi-node neutron setup we need
to configure the following (in the case that a plugin does not
have any agents running on the compute node):
ENABLED_SERVICES=n-cpu,neutron

In addition to this the code did not enable decomposed plugins to
configure their nova configurations if necessary.

This patch ensure that the multi-node support works.

Change-Id: I8e80edd453a1106ca666d6c531b2433be631bce4
Closes-bug: #1613069
2016-08-24 08:28:37 -07:00
Jan Stodt 7eb672d1a9 Update doc to reflect neutron became devstack default
Removing the explicit enablment of Neutron services, as with [1] they are configured as defaults in stackrc.

[1] https://review.openstack.org/#/c/350750/

Change-Id: Ic8910cd28fe37842f7d824e68bd2ea705e7e52de
2016-08-24 16:10:47 +02:00
Jenkins e75b667e3f Merge "Fix doc formating issue" 2016-08-24 12:27:22 +00:00
Jenkins 00d7db75d6 Merge "Fix typo in tools/info.sh comment" 2016-08-24 12:26:24 +00:00
igor 01acdabb1d Fixes language: "following allowing" -> "allowing"
Stops propagation of initially erroneous construct.

Change-Id: I2197de57cbac98e87fb39fa0dca4c691fe5e856f
2016-08-23 10:08:03 +01:00
Brian Haley 31813e9219 Let neutron use default gateway IP for subnets
By default, FIXED_RANGE and NETWORK_GATEWAY (and the
IPv6 equivalents) are in the same subnet.  But if
FIXED_RANGE is over-ridden in local.conf we could
create a subnet with an invalid gateway address.

Since neutron will pick the lowest host IP as the
gateway by default, do not specify them unless the
user has specifically set them.

Do this for both the private and public subnets, as
well as the public IPv4 subnet.

Change-Id: Ifc71400a3af1f131bb8a9722188e13de5bd3c806
2016-08-22 21:02:46 -04:00
Jenkins f73997815e Merge "Allow properly overriding DEST" 2016-08-22 17:33:49 +00:00
Chris Dent 85ad108adf Fix typo in tools/info.sh comment
A trivial fix to a typo in tools/info.sh discovered while looking at
it to see what it was.

Change-Id: I9fb8906c375f99e43cdd0f41f7e4510c901fd3a1
2016-08-22 17:00:50 +00:00
Sean Dague 7682ea88a6 Change default for FORCE_CONFIG_DRIVE
We really should be using the metadata server more in our normal
testing, this changes the default to use it.

Change-Id: I8ef14e6110da1160163c0106e32032d27226f929
2016-08-18 16:19:36 -04:00
Brant Knudson 0a318ab8a6 Switch keystone to dogpile.cache.memcached backend
memcache_pool is there to keep a limited number of thread-associated
connections open rather than a connection for every thread. If you
don't have a huge number of threads it doesn't offer anything.
Keystone is an example of a service where memcache_pool doesn't
improve things -- eventlet isn't supported anymore and more threads
is not useful due to GIL.

As such, keystone cache backend is changed to dogpile.cache.memcached.

See https://review.openstack.org/357407 for the oslo.cache help text
change.

Change-Id: I4452a8c4968073cdea4c0f384453a5a28519fa08
2016-08-18 13:50:18 -05:00
Sébastien Han 556139e710 fix ceph config file path variable
CEPH_CONF does not exist anymore, resulting both cinder-volume and
cinder-backup being configured with an empty rbd_ceph_conf option.
Using CEPH_CONF_FILE to fix this.

Change-Id: I1aa590aba900a4a94698917e45a0ea5c6f497f18
Signed-off-by: Sébastien Han <seb@redhat.com>
2016-08-18 15:09:44 +02:00
Jenkins ecfc8a77c2 Merge "Set oslo_messaging_notifications driver" 2016-08-18 12:50:14 +00:00
Jenkins e8b9257c7c Merge "Fixes for linux bridge and Q_USE_PROVIDER_NET" 2016-08-18 12:30:28 +00:00
Jenkins 33f6b43b80 Merge "Change python version to 3.5" 2016-08-18 05:41:30 +00:00
Matt Van Dijk d7a3f5c4cc Make the Neutron l3 plugin use the subnetpools
The plugin creates subnetpools but does not use them when creating the
default subnets. It uses CIDR values that overlap with the
default pools. Change this to use the subnetpools.

Change-Id: I6171c13507e420f146801d323cb1011be36c1e8c
Closes-bug: 1613717
2016-08-17 21:59:52 +00:00
Jenkins 5bc5a31369 Merge "Updated from generate-devstack-plugins-list" 2016-08-17 21:56:12 +00:00
Jenkins f1d8278356 Merge "Remove stale config l3|dhcp_agent_manager options" 2016-08-17 14:02:44 +00:00
OpenStack Proposal Bot 023ac21805 Updated from generate-devstack-plugins-list
Change-Id: I9379f01103bcb1ae7417c8bd14746aee9fb722ea
2016-08-17 08:11:12 +00:00
lvdongbing 62f6eb68fd Change quota_injected_file_path_bytes to quota_injected_file_path_length
'quota_injected_file_path_bytes' has been renamed to
'quota_injected_file_path_length' long time ago, this patch fixes this
issue in devstack.

Change-Id: I5d3c52c5ded5321435d2d395b682c4c0725279a7
2016-08-17 03:44:42 -04:00
Jenkins 3cd89d94d8 Merge "add networking write up for devstack" 2016-08-16 21:54:40 +00:00
Jenkins 5b52f46c5e Merge "Configure project_network_cidr for tempest" 2016-08-16 19:45:47 +00:00
Jenkins 08c78aa903 Merge "Remove lib/cinder_backends/xiv" 2016-08-16 19:44:05 +00:00
Jim Rollenhagen 9301e8875b Revert "Setup cellsv2 for Nova"
This reverts commit b1a4f34bfc, which
breaks Ironic's jobs. For example:
http://logs.openstack.org/90/355390/1/check/gate-tempest-dsvm-ironic-ipa-wholedisk-agent_ssh-tinyipa/b9e264a/logs/devstacklog.txt.gz#_2016-08-15_17_31_13_358

Change-Id: Iafc579f73fe4a97056944872e2f2c8cd1a62c21c
2016-08-15 14:58:43 -04:00
Jenkins 8cf4a81bfc Merge "Setup cellsv2 for Nova" 2016-08-15 16:40:59 +00:00
Isaac Beckman 65be33f68e Remove lib/cinder_backends/xiv
Since support for sections was added to devstack local.conf parsing
we don't need this, and actually prefer just using the
sections in local.conf.

Change-Id: I5908fdf7ad127997bb1f4a6bbb16d0d8cf073ddd
2016-08-14 15:29:25 +03:00
Pavlo Shchelokovskyy b08b673def Allow properly overriding DEST
Change the order of variable declarations in stackrc so that setting
custom DEST in local.conf is also affecting DATA_DIR, SERVICE_DIR and
SUBUNIT_OUTPUT.

Change-Id: I00847bb6733febf105855ae6fc577a7c904ec4b4
Closes-Bug: #1285720
2016-08-14 13:33:39 +03:00
Jenkins ee42b55852 Merge "Add a multibackend list to tempest.conf" 2016-08-13 04:46:41 +00:00
Armando Migliaccio 14b12a74f6 Remove stale config l3|dhcp_agent_manager options
There is no longer a trace of these options anywhere in the
Neutron codebase. These can be safely removed.

Change-Id: Ibf00e158248e2a20248917c8cfc0011d30da6a82
2016-08-12 19:07:12 -07:00
Dean Troyer 06f3639a70 Add os-client-config and osc-lib from source
There is currently a hole in our testing that lets os-client-config,
which sits at the bottom of the dependency chain for some key pieces
like neutronclient and python-openstackclient, introduce gate breakages.
Step one in fixing this is allowing os-client-config to be optionally
installed from source so that jobs can be put into its gate to exercise
its master vs devstack installs.

Additionally, osc-lib is a new and lovely library that's going to need
the same things.

We're putting both in install_oslo, even though they're not oslo
libraries, because that'll make grenade work properly.

Co-Authored-By: Monty Taylor <mordred@inaugust.com>
Change-Id: I747480b6063a62e82ca2b030f274d3e87bf28b3b
2016-08-12 09:46:36 -05:00
Andrew Laski b1a4f34bfc Setup cellsv2 for Nova
Run "nova-manage cell_v2 simple_cell_setup --transport_url ..." after
Nova is started. This will add all compute hosts into a new cell, and
setup a db for cell0.

Change-Id: I50a955b97d0e18426406c15397bdfbc9e807d908
Depends-On: I559f9c87e89926414b368cac9442dec4eadcb89b
2016-08-12 06:48:45 -07:00
Sean Dague bc883df1c2 add networking write up for devstack
This explains the current state of networking in devstack, and a
couple of scenarios that people might want to try out for local
testing.

Change-Id: I2be35f4345bf9306c981ef6f0186b48da7d06772
2016-08-12 07:21:59 -04:00
Jenkins 9b8b922872 Merge "fix nova's fake virt driver plugin" 2016-08-12 08:56:01 +00:00
Andrey Pavlov 3d5f03abe5 fix nova's fake virt driver plugin
nova's config was changed -
now virt driver parameter needs not full path for virt driver

Change-Id: I2a32b4dee3f27efc78bd1e546a96cfbc1225b8b5
2016-08-11 19:10:41 +03:00
Sean Dague bd6614a8e0 Add development page with devstack
It turns out we never really had a document on how to work with
devstack in the devstack docs. At one point this was just cultural
knowledge passed down, but with the size of our community, we can't
rely on that any more.

Change-Id: I28f896ea507ccbba5164ebfc5415d22207f52e98
2016-08-11 09:06:18 -04:00
Jenkins 0e8351dfae Merge "delete compute api extension config for tempest" 2016-08-11 03:29:01 +00:00
Jenkins d03005321b Merge "lib/neutron: Add port_security ml2 extension driver" 2016-08-11 03:11:29 +00:00
Gregory Haynes 14d86e841c Set oslo_messaging_notifications driver
This config option is requied in order for nova notificaions to
function, and enabling it doesn't cause any harm (there is another
option for turning notifications on).

Change-Id: I309af6cc43af485f795c368d304ebe71fceb1a03
2016-08-10 22:03:19 +00:00
Jenkins cb978241f4 Merge "disable metering extension in tempest if q-metering not running" 2016-08-10 18:19:33 +00:00
Dan Smith a2ec7fdb48 Configure project_network_cidr for tempest
This value defaults to something not (necessarily) in our fixed range,
which will cause spurious test behavior. We know the value for this, so
just configure it properly.

Change-Id: I0ee3b71f509377dc7174ce97575e60ee2095f893
2016-08-10 11:18:26 -07:00
Sam Betts 5c39154c39 Ensure testing configuration can run as late as possible
Before the code in the extra.d plugins was removed from the devstack
tree they could define the order they ran. When this code is decomposed
into a plugin, there is still a need to do some form of ordering. This
caused problems with the Ironic devstack plugin and Tempest because the
code is run in this order:

 1. The tempest configuration is run from extra.d, processing
    DEFAULT_INSTANCE_TYPE, and writing the flavor_ref to tempest.conf

 2. The Ironic devstack plugin is run, creating the flavor needed for
    DEFAULT_INSTANCE_TYPE

This leads to build failures as tempest can not find the required
flavor, so it writes which ever flavor it can find at the time into
flavor_ref. Ironic now has code it its devstack plugin duplicated from
the tempest plugin to work around this problem until this is merged.

This patch fixes this by using the test-config phase to move the tempest
plugin as late as possible in the devstack process.

Change-Id: I3d98692e69d94756e0034c83a247e05d85177f02
2016-08-10 15:58:27 +01:00
Jenkins 8befb78198 Merge "Clean up Horizon Apache configuration files in clean.sh" 2016-08-10 02:19:15 +00:00
Jenkins 8019584b65 Merge "Set deploywait_timeout via localrc option" 2016-08-10 02:16:08 +00:00
Matt Riedemann 5068b291f4 tempest: toggle allow_port_security_disabled=True
This enables a new test in Tempest to run on a per-branch
basis since by default it's disabled because it won't pass
on liberty given the bug fix isn't in liberty and won't be
backported there.

Depends-On: I20b8d5d2a300c83a59bdb33374fc20447ce2ede3

Change-Id: I18fd5e0978795fec39a763e1e0f07d758905b9b8
Related-Bug: #1175464
2016-08-09 14:52:57 -04:00
Jenkins 9ab4bcefcc Merge "update front page of devstack docs" 2016-08-09 17:53:06 +00:00
Sean Dague 7b22935967 delete compute api extension config for tempest
Compute API extensions are deprecated, we should never be setting this
in Tempest in master.

Change-Id: I6ad25fab48277abf8a000a275d3fea73a595cdf6
2016-08-09 13:29:11 -04:00
Lubosz "diltram" Kosnik 0ffdfbdbd7 Run n-cpu using LXD_GROUP when LXD virt driver
Enabling nova-lxd require to run n-cpu using lxd group

Change-Id: I0553dafcc797fcc1342501a558c7455261cf3daf
2016-08-09 10:32:41 -05:00
Jenkins 9391a56ffe Merge "remove neutron 3rd party infrastructure" 2016-08-09 14:23:05 +00:00
Jenkins c54d3a1ef4 Merge "Give PUBLIC_INTERFACE a default value" 2016-08-09 14:19:48 +00:00
Jenkins 881f3f15ab Merge "lib/neutron: Create initial networks regardless of neutron-l3" 2016-08-09 14:13:59 +00:00
Jenkins e5bf823ceb Merge "enable dns resolution from guests in neutron" 2016-08-09 11:47:53 +00:00
Jenkins 88c1a7715d Merge "Add a way to enable file injection for nova/tempest" 2016-08-09 11:43:39 +00:00
Jenkins be0f207007 Merge "nova: remove explicit file injection being disabled" 2016-08-09 10:39:39 +00:00
watanabe.isao ea270d50d0 Give PUBLIC_INTERFACE a default value
Also means to make it changeable.

Closes-Bug: #1611247
Change-Id: I0dc253b7ecf44a49d152f97f4858f7f2cf2ca6b2
2016-08-09 16:38:27 +09:00
Jenkins 8e5417e876 Merge "XenAPI: Don't assume specific network interfaces" 2016-08-09 04:18:25 +00:00
Jenkins 94ba325302 Merge "neutron: Wait until ovs-vswitchd creates the bridge" 2016-08-09 04:14:44 +00:00
Sean Dague 894ccc90c0 disable metering extension in tempest if q-metering not running
We don't run q-metering in default single host configuration, so we
should make it so that tempest won't attempt to test for it either.

Change-Id: I928be70e3b10fc3753fd1081631e54fa839b671d
2016-08-08 16:19:05 -04:00
Kevin Benton 6a42a85b56 Fixes for linux bridge and Q_USE_PROVIDER_NET
===Set bridge_mappings for linux bridge===
The external network physnet needs a bridge_mapping to the public
bridge when the L2 agent is responsible for wiring.

===Add PUBLIC_PHYSICAL_NETWORK to flat_networks===
This network must be present in the ML2 flat_networks config if
flat_networks is specified.

===Set ext_gw_interface to PUBLIC_BRIDGE in provider net case===
ext_gw_interface must be a bridge in a bridge_mapping when
Q_USE_PROVIDERNET_FOR_PUBLIC is used.

Closes-Bug: #1605423
Change-Id: I95d63f8dfd21499c599d425678bf5327b599efcc
2016-08-05 20:15:39 -07:00
Sean Dague cea7ec8d4b update front page of devstack docs
The devstack docs have gotten a bit meandering so even the quick start
guide doesn't get you to a working setup without referencing other
pages. This attempts to pull this back in a bit.

Change-Id: I608331cbdae9cbe4f3e8bd3814415af0390a54d0
2016-08-05 14:04:23 -04:00
Vasyl Saienko 04d51e4943 Fix doc formating issue
Change-Id: I9aa8c1fd114e4f4329e06ac263f337ea566d8355
2016-08-05 13:48:23 +03:00
bkopilov 3ac1ea85b1 Add a multibackend list to tempest.conf
A change was made to tempest.conf for volume multibackend. Previously,
tempest used the following, with a limit of 2 backends:
 backend1_name = BACKEND1
 backend2_name = BACKEND2
That was changed to accomodate >2 backends. tempest.conf now uses a comma
separated list:
 backend_names=BACKEND1,BACKEND2,BACKEND3

devstack/lib/cinder uses a comma separated list with "type:backend_name":
 enabled_backends = lvm:BACKEND1,ceph:BACKEND2
This is in order to use scripts in devstack/lib/cinder_backends to setup
devstack basked on "type".

This patch allows parsing of the CINDER_ENABLED_BACKENDS to pass the proper
backend_name to tempest.

Change-Id: I76973c3fad4998a0f9e534fc9f6a271c1923f7b3
2016-08-04 13:13:46 -06:00
Sean Dague 78801c10f0 enable dns resolution from guests in neutron
When running a default devstack environment, having guests that
actually can resolve DNS, so that they can do package updates from
well known hosts. This addresses a gap between nova-net and neutron
behavior in devstack.

Change-Id: I42fdc2716affd933e9158f1ef7ecb20bc664ef21
2016-08-04 14:19:20 -04:00
Sean Dague 6a008fa74b Change to neutron by default.
nova-net is deprecated, and it's long time to switch to neutron by
default. This patch does that, and has an auto configuration mode that
mostly just works for the basic case.

It does this by assuming that unless the user specifies an interface
for it to manage, that it will not automatically have access to a
physical interface. The floating range is put on br-ex (per normal),
fixed ranges stay on their OVS interfaces.

Because there is no dedicated interface managed by neutron, we add an
iptables rule which allows guests to route out. While somewhat
synthetic, it does provide a working out of the box developer
experience, and is not hugely more synthetic then all the other
interface / route setup we have to do for the system.

You should be able to run this with a local.conf of just

[[local|localrc]]
ADMIN_PASSWORD=pass
DATABASE_PASSWORD=pass
RABBIT_PASSWORD=pass
SERVICE_PASSWORD=pass

And get a working neutron on a single interface box

Documentation will come in subsequent patches, however getting the
code out there and getting feedback is going to help shape this
direction.

Change-Id: I185325a684372e8a2ff25eae974a9a2a2d6277e0
2016-08-04 14:13:30 -04:00
Ian Wienand 9162608d6e Revert "stackrc set the LC_ALL to C"
This reverts commit f327b1e119.

The problem being addressed in the original commit was that
rejoin-stack.sh would run with the user's locale, instead of C that
was set in stack.sh

We overlooked that this gets pulled in by openrc, so it is overriding
the user's locale when using clients, etc.

rejoin-stack.sh was removed in
I2f61bb69cc110468a91dcaa4ee7653ede7048467 so we don't have to worry
about that part.  A revert to not touch the user's locale seems
appropriate.

Change-Id: I7c858bb92ce7ba5b5d323bf3ad6776100026c7a2
Closes-Bug: #1608687
2016-08-04 15:21:31 +10:00
Jenkins b80e5d7527 Merge "Corrected the local.conf configuration file link" 2016-08-04 04:27:31 +00:00
Jenkins 124970cc38 Merge "Force reinstall of virtualenv to ensure installation is valid" 2016-08-03 20:31:22 +00:00
Jenkins 460f6e242b Merge "q-l3 failed to start in case q-fwaas enabled" 2016-08-03 20:29:26 +00:00
Sean Dague b8286a3a06 remove neutron 3rd party infrastructure
This was used solely by bigswitch, and everyone else has moved over to
devstack plugins. Cleaning this out makes the core logic much simpler.

Depends-On: I8fd2ec6e651f858d0ce109fc335189796c3264b8
(grenade removal)

Change-Id: I47769fc7faae22d263ffd923165abd48f0791a2c
2016-08-03 19:25:45 +00:00
Lubosz "diltram" Kosnik 0a099763b0 Change python version to 3.5
On Ubuntu Xenial there is no way to install python3.4
Use value specified in PYTHON3_VERSION

Change-Id: Ibc69b1c8270bdd240c82cf2acfdfd0730ef0f182
2016-08-03 10:21:41 -05:00
Rob Crittenden 5631ca5e12 Clean up Horizon Apache configuration files in clean.sh
The horizon cleanup function wasn't being called at all during
cleanup which left the Apache configuration.

Change-Id: Iff5336d0c5e79cfc82f1c648afaabb869d86020e
2016-08-02 15:28:19 -04:00
Sean M. Collins 75a6454097 neutron: Wait until ovs-vswitchd creates the bridge
Seeing a race condition where lib/neutron code tries to
set the MTU on br-ex before it exists.

Thanks to some good grepping by sdague, it appears that the difference
between lib/neutron and lib/neutron-legacy is that the initial bridge
being created is br-int while in lib/neutron the initial bridge
created is br-ex, which means there must be some kind of warm-up that
occurs between the first bridge that is created by ovs-vswitchd and the
second, and the second one created is much faster.

So instead, let's just wait for the bridge to be created successfully.

Change-Id: I271dc8b6ae5487c80d2a22153b3fc45fb247707f
2016-08-02 12:55:54 +00:00
Cao Xuan Hoang 9124a84a96 q-l3 failed to start in case q-fwaas enabled
In case q-fwaas is enabled. It will causes the q-l3 failed to start
because the DevStack gave a redundant --config-file option to start q-l3

This is a follow-up patch of 84409516d5
to remove fwaas from DevStack completely.

Change-Id: I630969b3556bcffba506cab02a09cc83f4430c88
Closes-Bug: #1608401
2016-08-02 01:02:32 +00:00
Sean Dague e56318f9bc Remove manual setting of privsep helper
The privsep helper should have a sane default for all libraries,
pushing this into devstack means we cheat past a part of the upgrade
that we really shouldn't be.

Change-Id: I52259e2023e277e8fd62be5df4fd7f799e9b36d7
2016-08-01 10:29:03 -04:00
Bob Ball c694e55ad9 XenAPI: Don't assume specific network interfaces
The default for GUEST_INTERFACE_DEFAULT now uses the ip command
to find an interface; so it will work on multiple distributions.

XenAPI should not be setting a specific interface here, as it will
almost always be wrong.  In most cases, the calculated value for
GUEST_INTERFACE_DEFAULT will be a better default.

PUBLIC_INTERFACE_DEFAULT makes even less sense as it's often an
internal bridge for devstack scenarios.

In both cases, the right way to override these is to set
GUEST_INTERFACE / PUBLIC_INTERFACE in the localrc rather than
changing the _DEFAULT values.

Change-Id: I0cf84438d778bf1a2481328165513c59167490e2
2016-08-01 12:58:58 +01:00
WenyanZhang 8f0e97c146 Remove all *.pyc files in $DEST when executing clean.sh
Currentlly, the *.pyc files could not be removed in any scripts or
functions. But the redundant files would lead stack.sh not to find the
correct script for some versions after branch switched from master to
stable/mitaka in migration_helpers.sync_database_to_version.

So this commit adds the process of cleaning all the *.pyc files in
clean.sh.

It is needed to execute clean.sh before re-stack.sh to prevent the
exception.

Change-Id: I9ba0674d6b20b13c0a26b22cd5d1939daa121a94
Closes-Bug: #1599124
2016-07-29 09:12:55 +08:00
Jenkins d715852753 Merge "Modify the default cpu-mode for aarh64 in Libvirt" 2016-07-28 22:22:32 +00:00
Jenkins fee298faa9 Merge "lib/neutron-legacy: replace ip when re-stacking" 2016-07-28 20:58:00 +00:00
Jenkins e777bbce3b Merge "Add flag for snapshot_backup" 2016-07-28 01:33:02 +00:00
Jenkins 9f24495e50 Merge "Fix the typo in the file" 2016-07-26 21:27:10 +00:00
Jenkins b12c25a3e6 Merge "Keep old behavior of setuptools for editable installs" 2016-07-26 00:04:10 +00:00
Sean M. Collins ba1a64d8eb lib/neutron: Add port_security ml2 extension driver
Tempest currently conducts tests for this extension driver by
default.

Change-Id: I5f9881d0713965b66358dc9cade8d623da98d75d
2016-07-25 11:32:42 -04:00
Spyros Trigazis 88ccd47c88 Keep old behavior of setuptools for editable installs
In the 25.0.0 release [1] of setuptools during any install
operation the package in not overwritten. If a package is
installed from another requirement via pip and then it is
installed again from git, it is not updated causing
check_libs_from_git to fail.

[1] https://setuptools.readthedocs.io/en/latest/history.html#v25-0-0

Change-Id: Ibaa1d4157816ea649f4452756fbde25951347001
Closes-Bug: #1605998
2016-07-25 14:31:51 +02:00
zhangyanxian c6f857f49c Fix the typo in the file
Change-Id: I3a3976bdab6743f6d741d39708b01eacf6a01074
2016-07-25 08:45:18 +00:00
YAMAMOTO Takashi c07170abd7 lib/neutron: Create initial networks regardless of neutron-l3
Closes-Bug: #1604768
Change-Id: I699977930675512e9767a90f317fc0faa1ea9901
2016-07-23 18:01:28 +09:00
OpenStack Proposal Bot 7d89a79874 Updated from generate-devstack-plugins-list
Change-Id: I222ecc69427f1ddf4498f5af29664544efe43b46
2016-07-23 08:03:03 +00:00
Jenkins 5c9c54b1ff Merge "Revert "Use real Neutron network for L3 GW by default"" 2016-07-22 20:52:57 +00:00
Kevin Benton 7da968a8be Revert "Use real Neutron network for L3 GW by default"
This reverts commit 130a11f8aa.
Linux bridge devstack logic needs some changes first.

Change-Id: I5885062ad128518c22f743db016e1a6db64f3313
Closes-Bug: #1605423
2016-07-22 06:02:22 +00:00
Jenkins b4f92e3a56 Merge "Updated from generate-devstack-plugins-list" 2016-07-22 02:37:33 +00:00
Jenkins c714c7e962 Merge "Use real Neutron network for L3 GW by default" 2016-07-21 19:17:22 +00:00
Kenneth Giusti df6c1ffbe1 Force reinstall of virtualenv to ensure installation is valid
On RHEL-based systems pip and yum share the same installation
directory for virtualenv.  If yum pulls in the python-virtualenv
package (e.g. due to a dependency) it will clobber what pip has
already installed. The file tools/fixup_stuff.sh tries to ensure that
the proper virtualenv package is installed via pip. If virtualenv has
already been installed via pip, then clobbered by yum, pip skips the
install since it appears as if virtualenv is already installed and at
the correct version.

The reinstall of virtualenv must use the --force-reinstall argument to
pip to fix up the damage done by yum.

Change-Id: Ib0edf6c4ee8a510e9d671213de35d787f56acfed
Closes-Bug: #1599863
2016-07-21 10:18:41 -04:00
OpenStack Proposal Bot 2381f33629 Updated from generate-devstack-plugins-list
Change-Id: Ieffddf42e1b5d77dea651208a18b3de320489745
2016-07-21 08:07:43 +00:00
Rob Crittenden a1e1f5128a Add keystone VirtualHost for port 443 when USE_SSL is True
Add a VirtualHost that defines the necessary options for
enabling SSL. The existing keystone Apache configuration already
does all the location handling.

Change-Id: I836a471a7258f14f051d3dd8bdb428286b5a11aa
2016-07-20 18:15:00 -04:00
Jenkins 61b319787b Merge "Neutron: include metering service plugin in conf" 2016-07-20 21:07:11 +00:00
Kevin Benton 130a11f8aa Use real Neutron network for L3 GW by default
Relying on 'external_network_bridge=br-ex' for the L3
agent has been deprecated in Neutron. This patch adjusts
the devstack defaults to setup Neutron in the preferred
manner (empty external_network_bridge value and
correct bridge_mappings for the L2 agent).

This will also help with correct MTU calculations now that
the external network will have the correct segmentation
type on it ('flat' now instead of 'vxlan' by default).

Related-Bug: #1511578
Related-Bug: #1603493
Change-Id: Id20e67aba5dfd2044b82c700f41c6e648b529430
2016-07-20 10:00:22 +00:00
Oleksii Butenko 881373c049 Add flag for snapshot_backup
We have new feature in cinder and new test for it.
The test is skipped by default.
Need to add flag to unskip this test on master and
Mitaka.

new test: I1964ce6e1298041f8238d76fa4b7029d2d23bbfb

Change-Id: Ib695e60c2ed7edf30c8baef9e00f0307b1156551
2016-07-20 12:33:08 +03:00
Jenkins b54ba8fee5 Merge "Introduce PUBLIC_BRIDGE_MTU variable to set br-ex MTU" 2016-07-19 20:54:05 +00:00
Jenkins 675e10767c Merge "add local.conf modifying functions" 2016-07-19 18:32:18 +00:00
Kevin Zhao 5d7992a018 Modify the default cpu-mode for aarh64 in Libvirt
For AArch64, KVM don't recognize the cpu-mode "none",
so change the default cpu-mode as host-passthrough for
generating nova.conf

Change-Id: I94a22e5a15a974b9c11e9f9fd996857453b6e2ca
Signed-off-by: Kevin Zhao <kevin.zhao@linaro.org>
2016-07-20 00:20:38 +08:00
Hironori Shiina e2b7536369 Remove remaining fwaas code
Change-Id: I24fe7a559760b985bd53373523276a8f075e5974
2016-07-19 13:29:13 +00:00
venkatamahesh d55513a07c Corrected the local.conf configuration file link
Change-Id: Id28a9f85ae5ba789f09269163c6e5b2c8c36a7c8
Closes-Bug: #1603848
2016-07-19 17:34:20 +05:30
Ihar Hrachyshka 7b5c7dce53 Introduce PUBLIC_BRIDGE_MTU variable to set br-ex MTU
This variable can be used to accommodate for underlying infrastructure
that does not provide full 1500-sized traffic, or maybe instead gives
access to Jumbo frames.

Change-Id: I38a80bac18673a30842a7b997d0669fed5aff976
Related-Bug: #1603268
2016-07-17 00:14:43 +02:00
Jenkins 72ed1a171c Merge "Restoring xtrace state for os-brick plugin" 2016-07-15 04:53:34 +00:00
Jenkins 5f50d1931a Merge "Remove support for End Of Life (EOL) Fedora 22" 2016-07-14 23:38:48 +00:00
Jenkins 2451518b5b Merge "Remove fwaas from DevStack" 2016-07-14 21:51:31 +00:00
Thiago Paiva 79fc935640 Restoring xtrace state for os-brick plugin
The change Ibb7423d243d57852dada0b6298463bbdfc6dc63c that introduced the
os-brick plugin introduced a flaw where the xtrace state wasn't restored
after the end of the plugin's execution. The end behavior is that devstack's
logs were with way less information, difficulting the debugging of the build.
This patch fixes the variable that was intended to hold the xtrace state (it
was using cinder's) and restoring the state at the end of the script.

Change-Id: I47c6c794a9704049b089142eca5603d1183f8a10
2016-07-14 14:20:08 -03:00
Attila Fazekas 5813265ce5 remove OS_AUTH_TYPE from the userrc files
The openstack client just gets more confused when it is specified.

Change-Id: I8b498be835b63733cb38d33b02c3a8531a2da45b
2016-07-14 12:55:51 +02:00
Jenkins f110b68a64 Merge "Updated from generate-devstack-plugins-list" 2016-07-14 03:50:44 +00:00
Matt McEuen e24707bb59 lib/neutron-legacy: replace ip when re-stacking
Replicated Yi Zhao's fix for re-adding ipv6 addresses to neutron-legacy
(review I9ff62023dbc29a88aec3c48af331c0a49a1270bb).
Previously, re-stacking failed with "File exists" for ipv6 addresses
on br-ex.  With this change, the existing address is replaced on
br-ex with the appropriate address.

Change-Id: I6e6235132a34469f4e68b5bb3cf51ebdf01c83a2
2016-07-13 20:52:24 +00:00
Jenkins 12ce4ad306 Merge "Remove juno/kilo specific tempest config" 2016-07-13 17:09:15 +00:00
Kashyap Chamarthy eecb983529 Remove support for End Of Life (EOL) Fedora 22
Fedora 22 reaches its EOL on 19-JUL-2016[1].  Remove it as
officially supported distribution.

The current two supported Fedora distributions are Fedora 23 and Fedora
24.  (Change Ia4a58de4973ef228735c48b33453a0562dc65258 already added
support for Fedora 24.)

[1] https://fedoramagazine.org/fedora-22-end-of-life-2016-july/

Change-Id: I5b4e1ddb6165a9065e80e84175246678a7356f18
2016-07-13 12:36:13 +02:00
OpenStack Proposal Bot 7886f7eb9f Updated from generate-devstack-plugins-list
Change-Id: I4535ce00a7d15d14fdb9c3180b6b821352fe704f
2016-07-13 08:19:48 +00:00
Jenkins 4f9d2aa632 Merge "Allow for Nova to use os-brick from git" 2016-07-13 02:23:07 +00:00
Matt Riedemann 6267ec01d6 Remove juno/kilo specific tempest config
This removes several config flags for Tempest
now that juno and kilo are end of life. Tempest
has already removed these flags too.

Change-Id: I748429e73073f4202f77dfe1002687f76ee9a451
2016-07-12 19:13:33 -04:00
Patrick East 657cdcdbd1 Allow for Nova to use os-brick from git
This option to install os-brick from git was only added
into lib/cinder previously. When testing all-in-one nodes
this worked fine, but if you have multi-node setups with
compute nodes that don't install any c-* services we
only get packaged os-brick. With this change non-cinder
nodes can now test against unreleased os-bricks.

Change-Id: Ibb7423d243d57852dada0b6298463bbdfc6dc63c
2016-07-12 09:01:00 -07:00
Sean M. Collins a9286886e4 Neutron: include metering service plugin in conf
The common code for metering calls _neutron_service_plugin_class_add,
which despite the description only just appends a service plugin to
$Q_SERVICE_PLUGIN_CLASSES - it doesn't actually write it into a
configuration file.

So for now, read out the configuration, and append metering to it, then
write it back out.

Change-Id: Ice96cca8b43dcd54f2aa81461000a4597db8260d
2016-07-12 15:37:15 +00:00
Jenkins 06ba4fb98b Merge "ploop: specify hypervisor_type=vz property for ploop images" 2016-07-11 23:38:55 +00:00
Jenkins fb50134272 Merge "Modify the image property for aarch64" 2016-07-11 23:35:30 +00:00
Jenkins 2528d94d16 Merge "neutron_plugin_configure_dhcp_agent invalid config file" 2016-07-11 22:13:10 +00:00
Maxim Nestratov d565d62efe ploop: specify hypervisor_type=vz property for ploop images
This is necessary to make it possible to filter out compute nodes,
which don't support such type of images.

Change-Id: I347953876e2057e6f3dca71c2f5e8b638b85aaf8
2016-07-11 22:37:13 +03:00
xurong00037997 7ef31d0fe4 neutron_plugin_configure_dhcp_agent invalid config file
ADD dhcp config file name for neutron_plugin_configure_dhcp_agent

Change-Id: I6578bcb40c4df2231c0b54f231ac3b78ede5a71d
Closes-Bug: #1598745
2016-07-11 11:21:39 +00:00
Matt Riedemann 16edbe4356 Remove check for nova-volumes API
The osapi_volume API in Nova has been gone forever,
so we don't need to check for that anymore.

Change-Id: I7303d3f434fc27a4a1a127e455a7d3b88f588537
2016-07-07 14:43:39 -04:00
Luz Cazares 67700ca520 Remove large_ops_number from devstack tempest
Option was deleted from Tempest config file. Also test scenario
was deleted. See commit I93b2fb33e97381f7c1e0cb1ef09ebc5c42c16ecc

Change-Id: I750e50ba7cf8fca1dde391c2620b4a815d6b02a1
Closes-Bug: #1599619
2016-07-06 12:23:01 -07:00
Jenkins 8e64c478eb Merge "Tempest: add a Keystone reseller feature flag" 2016-07-06 01:49:51 +00:00
Matt Riedemann 6d3670a652 Add a way to enable file injection for nova/tempest
File injection is disabled by default for the libvirt
driver in nova. This adds a variable to enable file
injection for the libvirt driver and is also used
to configure tempest.conf for running personality
tests.

Change-Id: I34790fadeffd6e3fdc65bd9feed3d6e62316896c
Related-Bug: #1598581
2016-07-03 19:40:25 -04:00
Matt Riedemann 9079a40e9e nova: remove explicit file injection being disabled
Change 9ce99a44cf85e431227536e2251ef05b52e61524 disabled file
injection with the libvirt driver by default back in Icehouse,
so devstack doesn't need to do this explicitly anymore.

Change-Id: Id0c521f6f624367bd497463c8c2d99488548fcff
2016-07-03 19:20:27 -04:00
Sean Dague bb35715cfe add local.conf modifying functions
This adds a set of local.conf modifying functions which make it easier
for consuming projects like devstack-gate to programatically add
elements to local.conf structured files.

Change-Id: I3427968c2bd43aba12b3619acc27f73c74f0dabb
Co-Authored-By: fumihiko kakuma <kakuma@valinux.co.jp>
2016-07-01 12:50:18 +00:00
OpenStack Proposal Bot 6874734935 Updated from generate-devstack-plugins-list
Change-Id: If8d8b223f6764990c305274047c811dffb7d9840
2016-06-29 08:06:00 +00:00
Jenkins 591ffd0adf Merge "Make wait_for_service more robust by checking HTTP response" 2016-06-27 21:43:58 +00:00
Jenkins ce611960bf Merge "Don't configure router in flat network" 2016-06-27 21:39:16 +00:00
Jenkins 2fec2fe732 Merge "Neutron: check if q-l3 or neutron-l3 is enabled" 2016-06-27 21:39:08 +00:00
Jenkins 839ea5a222 Merge "Support "geneve" ML2 plugin type driver" 2016-06-27 21:38:10 +00:00
Patrick East dddb2c7b5f Setup the Cinder image-volume cache by default
This will have devstack setup the Cinder internal tenant and generic
image-volume cache by default. If left alone it will use reasonable
defaults.

More information about configuration options and the cache can be found
here: http://docs.openstack.org/admin-guide/blockstorage_image_volume_cache.html

As part of this we switch the default lvm type to thin so it will
work more efficiently with the image cache.

Change-Id: I0b2cc261736f32d38d43c60254f0dc7225b24c01
Implements: blueprint cinder-image-volume-cache
2016-06-24 18:09:16 +00:00
Kevin Zhao a9cc38a198 Modify the image property for aarch64
In Aarch64, the default cdrom bus is scsi, and the default scsi
controller is virtio-scsi. The cdrom with virtio bus will not be
recognized by the instance.

Change-Id: Ib8cec79f9e9083239092fa7348793ee3b64a9c94
Signed-off-by: Kevin Zhao <kevin.zhao@linaro.org>
2016-06-24 04:48:33 -04:00
Jenkins 01cbe7c143 Merge "Fix error reported due to re-add ipv6 address" 2016-06-23 02:54:32 +00:00
OpenStack Proposal Bot 66f4524cf4 Updated from generate-devstack-plugins-list
Change-Id: Ie6363f08ac54b62d29096befd733eca0642379d8
2016-06-22 08:08:16 +00:00
Sean M. Collins d00cbb77b1 Neutron: check if q-l3 or neutron-l3 is enabled
Change-Id: I7aff59fdf0fd75e134d2ae3ba8b7d63db98cc5ed
2016-06-20 17:53:22 -04:00
Jenkins 04dc17ed14 Merge "Default LOG_COLOR based on interactive execution" 2016-06-20 18:07:45 +00:00
Jenkins fa94c4c7ec Merge "Fix amateur level mistake." 2016-06-17 22:47:08 +00:00
Jenkins 8cdeb86648 Merge "lib/neutron-plugins: Pass conf file parameter" 2016-06-17 21:33:06 +00:00
Sean M. Collins 60f394aee2 Fix amateur level mistake.
Happy Friday!

Change-Id: I2b1112ce74577d6e3d50c5ea2131d46c77307571
2016-06-17 16:15:30 -04:00
Eric Fried 9a0c2bd531 Default LOG_COLOR based on interactive execution
Change I4a10a49db97d413349bcfceeb8c4164936fbcc40 added colorful PS4 via
tput.  However, if TERM is not set (as is the case when stacking
noninteractively), tput errors with the following:

tput: No value for $TERM and no -T specified

...twice for every log message, thus flooding the logs.

This change set turns LOG_COLOR off by default for noninteractive
execution.  If LOG_COLOR is set to True when noninteractive (TERM is
unset), obviate the above errors by passing tput a simple -T.

Change-Id: I0f8ad82375cde463160bad5bd9918f1e4b19326d
Closes-Bug: 1576405
2016-06-17 14:39:18 -05:00
Rob Crittenden 21e3d1e55b Make wait_for_service more robust by checking HTTP response
wait_for_service just checked to see if the remote service
was started, not that it was returning data. This caused
problems when the service was behind a proxy because the
proxy would respond quickly but the service may not have
fully started.

Wait for a non-503 HTTP response code and non-7 exit code
(connection error) from curl

Return an error if a successful connection cannot be made.

Change-Id: I059a12b1b920f703f28aca0e2f352714118dee97
2016-06-17 15:29:54 -04:00
Richard Theis 8906b481e0 Support "geneve" ML2 plugin type driver
Add support for the "geneve" ML2 plugin type driver. The
networking-ovn ML2 mechanism driver uses geneve for its
project network type. Geneve is part of core neutron but
didn't have any DevStack configuration for it. This patch
set adds the necessary options. It also removes the default
for ML2 type drivers to rely on the neutron default and
consolidates the tunnel ranges default for gre, vxlan and
geneve by using TENANT_TUNNEL_RANGES.

Change-Id: Id75651dfe57a07045a6932a0369668f33c7eef09
Partial-Bug: #1588966
2016-06-16 13:08:07 -05:00
OpenStack Proposal Bot dbc6a3736d Updated from generate-devstack-plugins-list
Change-Id: I5cd5f2bafb7ace88c28c52994c339b95904ab03b
2016-06-16 08:08:45 +00:00
Jenkins db340e54b0 Merge "Support Glance CORS options in devstack configuration" 2016-06-15 23:57:35 +00:00
Jenkins 2fe6369e32 Merge "Remove deprecated auth_plugin config" 2016-06-15 22:27:54 +00:00
Stephen Finucane 24e29f2265 lib/neutron-plugins: Pass conf file parameter
The 'neutron_plugin_configure_l3_agent' function expects a path to a
configuration file as a parameter. This was not done for one call,
resulting in the generation of a 'DEFAULT' file in the DevStack
directory along with an invalid L3 configuration file. Resolve this.

Change-Id: I5781cb1ec4cfc1699e61dbc324d0bdb824b56be1
2016-06-15 13:35:47 +00:00
Jenkins 5fc597289b Merge "Enable Swift Account Management" 2016-06-15 12:48:09 +00:00
Jenkins b43352e4dc Merge "Docs for devstack MacVTap agent setup" 2016-06-15 08:58:13 +00:00
Andreas Scheuring 28128e2f7a Docs for devstack MacVTap agent setup
MacVTap mechanism driver and agent have been added during
Mitaka [1][2]. Now adding the related doc to run a
multinode devstack with MacVTap compute nodes.

[1] https://review.openstack.org/209538
[2] https://review.openstack.org/275306

Depends-On: I0dd4c0d34d5f1c35b397e5e392ce107fb984b0ba
Change-Id: Ie743a207a5faeab2e2a7274fda503699f3072e98
2016-06-15 08:31:42 +02:00
watanabe.isao 1c4c16ce53 Don't configure router in flat network
Due to the fix [1] of neutron-refactor, some flat network usages of devstack
installation start fale.

This fix enables ML2_L3_PLUGIN to be set to empty to solve the problem.

By default l3_router_plugin.L3RouterPlugin will be set to ML2_L3_PLUGIN,
and for neutron, in such of configuration, router (ASA some others) will be
set into supported_extension_aliases,
then devstack will create a router that we do not want in a flat network.

Before fix [1], we can disable q-l3 to aviod the issue.
But now we don't, and we need this fix to disable the whole L3 plugin.

[1] https://review.openstack.org/318145

Change-Id: I61a2142d5121e0af4cc6cdf50e6bceafaf791fb0
2016-06-15 13:24:25 +09:00
Jenkins e88c51cc1b Merge "Keystone uwsgi performance tuning" 2016-06-15 01:11:46 +00:00
Jenkins 45360ed32e Merge "Add neutron-metering agent and configuration" 2016-06-15 00:59:27 +00:00
Jenkins df97237369 Merge "Updated from generate-devstack-plugins-list" 2016-06-15 00:59:19 +00:00
Jenkins aeb8d81897 Merge "Add an explicit test-config phase to devstack plugins" 2016-06-14 20:53:12 +00:00
Jenkins ca3a857d35 Merge "Have a way to disable Glance v1 in devstack" 2016-06-14 19:50:38 +00:00
ricolin 9a0d1f90b8 Remove deprecated auth_plugin config
Config auth_plugin in trustee group is deprecated.
Change to use auth_type in trustee group instead.
Closes-Bug: 1592482

Change-Id: Ib90d9c0299887201b37d26254693dc6b007a41dc
2016-06-15 01:13:45 +08:00
Jenkins cbc76ef9b5 Merge "Fix brick cinderclient override" 2016-06-14 14:38:20 +00:00
Bob Ball 1d23b93568 Fix brick cinderclient override
CINDERCLIENT_REPO cannot refer to both python-cinderclient.git
and python-brick-cinderclient-ext.git so make sure
the overrides have different names.

Bug introduced by: I6d0f09950ea1200d3367a53aa4a3eea9be7abc66

Change-Id: I9cbbf71ba08ef5394537d7b294846faa3c5be5bd
2016-06-14 12:07:52 +00:00
OpenStack Proposal Bot a9a2f71994 Updated from generate-devstack-plugins-list
Change-Id: Ied84c5f38a8002228e01797d56c39315ff997142
2016-06-14 08:08:37 +00:00
Jenkins 2b944ecc60 Merge "Updated from generate-devstack-plugins-list" 2016-06-13 23:51:51 +00:00
Jenkins b901462f53 Merge "Set volume service min and max microversions" 2016-06-13 13:41:02 +00:00
OpenStack Proposal Bot fd1f7ba066 Updated from generate-devstack-plugins-list
Change-Id: Ia42329d01758cafa5d59ca79eebd5f31515bef47
2016-06-12 08:01:13 +00:00
Jenkins e13c933d70 Merge "Enable admin_domain_scope by default in Tempest" 2016-06-11 00:08:11 +00:00
Jenkins 3a4b28cae2 Merge "Set ima_disk_format to vhd when hypervisor is XenServer" 2016-06-10 16:19:55 +00:00
Jenkins 6ca92cba8f Merge "Fix quoting in vercmp check for kernel version" 2016-06-10 14:36:09 +00:00
Jenkins cb249b4de5 Merge "Updated from generate-devstack-plugins-list" 2016-06-10 13:46:35 +00:00
Alex Meade 0c0c09af3b Set volume service min and max microversions
Implements Blueprint: configure-tempest-volume-microversion
Related to: I3d9b3fe288333721bf3b2c6c988949f2f253bfcc

Change-Id: I80c6a0c46c667291c6f7fe2a036717504c110314
2016-06-10 13:32:33 +00:00
Jenkins 5248283e0d Merge "nova.conf: set privsep helper command for os-vif plugins" 2016-06-10 13:22:39 +00:00
Andrea Frittoli (andreaf) 5cda4911ad Enable admin_domain_scope by default in Tempest
Tempest introduced a new ability to use domain scoped tokens for
identity v3 admin APIs. Since domain scoped tokens can be used
with the base keystone policy used in the gate, and the
pre-provisioned admin user is assigned a role on the domain, turn
the option alway on.

Change-Id: Ib1bb958eee076364b407fc03e77e6882d92147d2
Depends-on: I91ca907992428a5a14fb8d48a4fad105d2906e27
2016-06-10 09:49:33 +00:00
OpenStack Proposal Bot 90356d8270 Updated from generate-devstack-plugins-list
Change-Id: I121cf87e3c4e26b4a223a3e9b8a028763994ad89
2016-06-10 07:59:45 +00:00
Jenkins 815c61760c Merge "Support installing OpenStack on XenServer 7.0" 2016-06-10 01:39:14 +00:00
Yi Zhao 2ae8b09b61 Fix quoting in vercmp check for kernel version
I352362cf59e492fa9f7725190f0243f2436ac347 switched this to vercmp, but
using single-quote (') will mean that the kernel version isn't
actually expanded for the comparision.

I guess, like the original change, the fact it isn't working is
hidden.  Trusty seems to have 3.13 ... I can't imagine we support
anything before this ... so I'd also be happy if someone with some OVS
knowledge wants to just delete it.

(This change was originally an alternative to
I352362cf59e492fa9f7725190f0243f2436ac347 but got the quoting right)

Change-Id: I9fa514885c20b1135fb0680cf61fc04628fbecbe
Closes-Bug: #1580850
2016-06-10 10:50:32 +10:00
Jenkins 16df80be40 Merge "Updated from generate-devstack-plugins-list" 2016-06-09 14:36:40 +00:00
Jenkins 08c5db307e Merge "Use transport_url instead of driver-specif options" 2016-06-09 14:36:23 +00:00
Jenkins 5b63926788 Merge "Change ovs_base neutron plugin to use vercmp" 2016-06-09 14:22:18 +00:00
Jenkins 0a73b22b6c Merge "functions-libvirt: Add log filter to capture CPU driver errors" 2016-06-09 14:22:11 +00:00
Jenkins a6a634cdcf Merge "neutron-legacy: Consistently use --config-file foo" 2016-06-09 14:22:03 +00:00
Jenkins c830004697 Merge "Neutron/l3 - die if provider settings for v6 are not set" 2016-06-09 14:21:13 +00:00
Jenkins 960c451755 Merge "Set my_ip in cinder.conf" 2016-06-09 14:21:05 +00:00
Daniel P. Berrange c425977a55 nova.conf: set privsep helper command for os-vif plugins
privsep will default to invoking privsep-helper directly
via sudo, which won't work for people with a locked down
sudo config. To deal with this we should explicitly
configure the os-vif plugins to use nova-rootwrap for
running privsep-helper. This change makes such a change
for the two official in-tree os-vif plugins.

Change-Id: I3d26251206a57599385f2b9f3e0ef7d91daafe35
2016-06-08 16:53:06 +01:00
OpenStack Proposal Bot febd55a230 Updated from generate-devstack-plugins-list
Change-Id: I4ffb619ccdd4928d0772246a7c76353f21be6bb4
2016-06-08 07:11:03 +00:00
Brant Knudson 75ace7a5ed Correct keystone memcached host setting
keystone was configured to connect to memcached on the host IP
address. Unfortunately, memcached is only listening on localhost,
so this setting actually hurts performance as keystone fails to
connect to the memcached server. There's no indication of this in
the keystone logs since this is just how memcache client works
(ignoring errors).

You can verify this by
1) in /etc/memcached.conf, set -vv
2) restart memcached: service memcached restart
3) watch /var/log/memcached.log
4) There will be no output

with this change, there will be output in /var/log/memcached.log

Also the performance should be a lot better.

Change-Id: I95d798d122e2a95e27eb1d2c4e786c3cd844440b
2016-06-07 17:44:06 -05:00
Sean M. Collins e34ec9901e Neutron/l3 - die if provider settings for v6 are not set
If you are using provider networking, and have IP_VERSION set to include
IPv6 (which we do by default) - you must set the required variables.

If you do not want this behavior, set IP_VERSION=4

This arose from a third party CI system which was configured[1] to have
provider networking, but would explode when hitting the router IPv6
setup step[2] since there was no IPv6 subnet created, and IPV6_SUBNET_ID
would be empty, causing a python-neutronclient error and causing
stack.sh to exit.

[1]: http://paste.openstack.org/show/508710/
[2]: https://github.com/openstack-dev/devstack/blob/c35110e7c5c35dd1edc310dc3d0bb8693e58d336/lib/neutron_plugins/services/l3#L320

Change-Id: I267799b62284c3086ed7c3e2d8a9cbadb9ddcd60
2016-06-07 12:36:50 -04:00
Sean Dague 026cad84a3 remove local.conf documentation for phases we don't implement
The local.conf docs talk about phases which don't exist for config
file processing, which makes it more confusing then it needs to be.

Change-Id: If7f9255eab0535c3d57a2fd5f1bc18ba4d0801aa
2016-06-07 10:55:54 -04:00
Jenkins a45b40a630 Merge "Neutron: check if a plugin has the l3 API extension" 2016-06-07 13:54:34 +00:00
Timur Sufiev a44dd9a741 Support Glance CORS options in devstack configuration
To properly test the integration between Glance CORS feature and
Horizon Javascript environment uploading image files directly to Glance
(using this feature), we need to enable CORS support for Glance in
integration tests. Adding corresponding Devstack variable to configure
Glance in such a way that it accepts direct requests from Horizon
Javascript is the prerequisite step for the integration testing of this
feature.

By default Horizon and Glance are located on the same host, hence
default value cors.allowed_origin = http://$SERVICE_HOST should work.
If a more complicated setup is desired, where Horizon is located on a
different host, GLANCE_CORS_ALLOWED_ORIGIN environment variable should
be exported to Devstack.

Partially implements blueprint: horizon-glance-large-image-upload
Change-Id: I4881fb6631c2daa2ad8946210eff4bb021957374
2016-06-07 13:28:01 +00:00
Huan Xie 36afed4353 Set ima_disk_format to vhd when hypervisor is XenServer
When running tempest testcase test_minimum_basic_scenario will always fail
due to lack of configuration [scenario] img_disk_format=vhd in tempest.conf
This patchset is to add this configuration when XenServer is used.

Change-Id: I4b916200e6eefb62f148ec8b644fb23ffc7e00a6
Closes-Bug: #1589787
2016-06-06 20:17:48 -07:00
Mike Turek f90c8e105b Set deploywait_timeout via localrc option
Currently a hardcoded value is used for the DEPLOYWAIT timeout in
tempest. The patch in review 269249 adds a config option to use
instead of this hardcoded value. This patch allows the value to be
set via the BUILD_TIMEOUT variable.

Change-Id: Id79014fd6e07f93029111f6c28e3537e2e39be9f
Related-Bug: 1526466
2016-06-06 18:52:47 +00:00
Sean M. Collins 8063fee829 Add neutron-metering agent and configuration
This is the equivalent of the q-metering from neutron-legacy

Change-Id: Ie2ad6e18cfd6f5cd9af0da30bc36a1cd27e39189
2016-06-06 14:36:29 +00:00
Sean M. Collins 84409516d5 Remove fwaas from DevStack
Depends-On: Iadcee07e873fcb4f099ebccc2e33780e74438140
Change-Id: Ic60cd1fa90c19dfac00be583e2ddc5633dbb68a3
2016-06-06 14:29:58 +00:00
Huan Xie f179eb7c47 Support installing OpenStack on XenServer 7.0
XenServer 7.0 has changed some iso files' name, this made devstack script
install_os_domU.sh failed to install VM before installing OpenStack. This
patch is to fix the problem, make install_os_domU.sh support 7.0 and other
prior versions of XenServer

Change-Id: I49459bfff2b101fc6927eb4578c5eb47cc8c3ad6
2016-06-05 22:38:56 -07:00
Angus Lees a1c70f2a75 neutron-legacy: Consistently use --config-file foo
This change adjusts a few instances of `--config-file=foo` to
`--config-file foo` (no `=`) in order to make neutron command
lines more consistent and easier to match in sudoers/rootwrap
filters.

This is particularly useful for oslo.privsep, which needs to start a
helper command with the same `--config-file` arguments (see
Ia9675dff9232e0e987a836ecaf9e842eb5c3cb18).

Change-Id: I91fe18f66f3c3bc2ccd1ca8be91be2915ed3e3ec
2016-06-06 14:46:21 +10:00
Brant Knudson b97a60e90c Keystone uwsgi performance tuning
I ran some tests locally that showed that when using the uwsgi
deploy the keystone server wasn't using all the processes
available. When I switched from "threads" to "processes" the
concurrent performance improved considerably. So I'm proposing
that devstack switch to processes to improve performance.

Change-Id: I8cfe9272e098e636441b7cfb51bff08d62c3336e
2016-06-05 18:48:03 -05:00
Jenkins 18ce57e55c Merge "remove addition of gate64 cpu" 2016-06-04 02:22:39 +00:00
Flavio Percoco 22c695f08a Have a way to disable Glance v1 in devstack
As part of the process of deprecating Glance's V1, the glance team would
like to start testing V2-only environments. Therefore, this change
provides a way to force other services to use V2.

Change-Id: I87e77d07964eac01e9a796817cbc88bd6e59c721
2016-06-03 14:55:26 -04:00
Michał Dulko 9ee1426847 Set my_ip in cinder.conf
Cinder uses my_ip config option to provide iscsi_targets. It gets
defaulted to the IP of the first interface in the system, which is fine
for some cases, but for example with Vagrant first interface can be used
only to contact with host machine.

To get over it we should set my_ip to HOST_IP from local.conf and this
commit implements that.

Change-Id: I4d2960d92f388ac689dfa6b436dc8bfc1e129fbf
Closes-Bug: 1588825
2016-06-03 15:41:37 +02:00
Sean Dague 214459cdf7 remove addition of gate64 cpu
Nova has been fixed to not need this work around. We shouldn't keep it
in devstack.

Change-Id: Ie2b1c6b8ddce4a2fd94af06745d59455208f0633
2016-06-03 15:03:37 +10:00
Jenkins 65dfb9ef65 Merge "Move tempest plugin install to the end" 2016-06-02 23:20:00 +00:00
Mehdi Abaakouk 6176ae6895 Use transport_url instead of driver-specif options
Future oslo.messaging is going to deprecate usage of driver-specific
options for hosts/port/user/password options.

This change uses transport_url that exists since a while now and
works with all drivers (even devstack handles only the rabbit one).

Change-Id: I3006b96ff93a3468249177c31c359c2f9ddc5db6
2016-06-02 22:57:51 +00:00
Matthew Treinish 7e603d1bf8 Move tempest plugin install to the end
For the tempest plugin install inside the tox venv to hold we need to
ensure that it's the last thing run that touches the tox venv before
devstack ends. Otherwise there is a chance we'll recreate the venv in
a later step of installing and configuring tempest. This commit
moves the plugin installation into it's own function and calls that
function as last phase of the tempest setup to make sure it runs last.

Change-Id: Ie253171537e8c5a9887cc30aba1cad4b31e57663
2016-06-02 14:50:13 -04:00
Brian Haley 09604349f8 Change ovs_base neutron plugin to use vercmp
This plugin was using a deprecated function, vercmp_numbers(),
that wasn't actually working properly because the call to
'deprecated' at the beginning was causing garbage to be
returned to the caller.  For example, this was always in
stack.sh.log when using OVS:

.../lib/neutron_plugins/ovs_base: line 57: [: too many arguments

Update to use vercmp() like all other users in devstack, and
remove all the old code.

Change-Id: I352362cf59e492fa9f7725190f0243f2436ac347
2016-06-02 10:33:54 -04:00
Kashyap Chamarthy 07dc2bf776 functions-libvirt: Add log filter to capture CPU driver errors
Two things:

  (a) Add the log filter to capture libvirt CPU manipulation driver
      related error messages when things fallout (e.g. CPU model
      comparision failures during live migration).

  (b) While we're at it, remove the "1:qemu_monitor" log filter, because
      the existing filter "1:qemu" should take care of logging the
      interactions with QEMU monitor console.  This is the case since
      the introduction of VIR_LOG_INIT() macro in upstream libvirt,
      which performs a substring match on a given file name.  (Available
      from libvirt version v1.2.10 onwards).

Change-Id: I75befd52d9f892eb5a6236eee9a397fab7602ecc
2016-06-02 15:28:56 +02:00
Jenkins feb828b7aa Merge "Remove verbose setting from l3 service plugin" 2016-06-02 10:32:45 +00:00
Jenkins 6616a971d1 Merge "Allow to use Fedora 24 with devstack" 2016-06-02 08:00:28 +00:00
Jenkins 4e638e5511 Merge "Updated from generate-devstack-plugins-list" 2016-06-02 00:16:53 +00:00
Jenkins 2ff787e69d Merge "Allow override of python-brick-cinderclient-ext library used by cinder" 2016-06-01 21:24:15 +00:00
Attila Fazekas 72b233c1e0 Allow to use Fedora 24 with devstack
Looks like f24 does not have any special change compared to the
previous release, we just need to add f24 where f23 present.

Change-Id: Ia4a58de4973ef228735c48b33453a0562dc65258
2016-06-01 16:52:41 +02:00
OpenStack Proposal Bot 47bf3f931c Updated from generate-devstack-plugins-list
Change-Id: If7c8f6162d3e846a360cc7f34ce2ebf52054f45f
2016-06-01 07:01:00 +00:00
Gary Kotton c47bd1df65 Remove verbose setting from l3 service plugin
This is following the nail:
http://lists.openstack.org/pipermail/openstack-dev/2016-May/095166.html

Change-Id: I4380279992e53ec9926bbcba5524e98f5c96ce8b
2016-05-29 00:01:01 -07:00
OpenStack Proposal Bot 35f0f09f00 Updated from generate-devstack-plugins-list
Change-Id: Ifc10b6f4281f40749f917e7707eab816c3c11876
2016-05-28 07:05:56 +00:00
Jenkins 327f8d14b9 Merge "Fix typo in local variable name in time_stop" 2016-05-27 01:27:37 +00:00
Rob Crittenden 38245da0b8 Fix typo in local variable name in time_stop
This didn't break functionality but it would use a global instead
of a local variable so nested calls to time_* might have issues.

Change-Id: If61ef07c4ce15f1a356975a0b0611fdf5e49109a
2016-05-26 17:55:14 -04:00
Ivan Kolodyazhny 8d0d3115cc Allow override of python-brick-cinderclient-ext library used by cinder
Added to requirements:
https://review.openstack.org/309084

Functional tests were added
https://review.openstack.org/265811

But they still use the version of python-brick-cinderclient-ext from pip.

This change updates devstack to pull in the changes from
python-brick-cinderclient-ext patch sets instead, when configured to do so.

Change-Id: I6d0f09950ea1200d3367a53aa4a3eea9be7abc66
Needed-by: I34f3b5ceaad7a50b1e9cadcc764f61c0aabe086d
2016-05-26 23:52:53 +03:00
Jenkins 5af67ae0e1 Merge "Neutron: Remove verbose and always set debug to true" 2016-05-26 19:35:58 +00:00
Jenkins bc4b96b794 Merge "Neutron: stop creating neutron debug probes" 2016-05-26 04:10:51 +00:00
Sean M. Collins 5e01c47e4d Neutron: stop creating neutron debug probes
They seem to be more trouble than they are worth.

http://lists.openstack.org/pipermail/openstack-dev/2016-May/095476.html

Neutron has already deprecated the utility in
https://review.openstack.org/#/c/318786/

Change-Id: I470ed5bc1cbe754c4bfae41f411150331bc4335d
2016-05-25 09:38:41 -07:00
Jenkins 7d53947a29 Merge "Reference keystone URIs rather than building URI" 2016-05-25 04:28:13 +00:00
Jenkins e3400ec2d2 Merge "Add printing the plugin list after the plugin install" 2016-05-25 04:15:07 +00:00
Jenkins aacd30a6ca Merge "functions-common: Use systemctl when applicable" 2016-05-25 04:12:33 +00:00
Sean M. Collins fbba3b9d8b Neutron: Remove verbose and always set debug to true
http://lists.openstack.org/pipermail/openstack-dev/2016-May/095166.html

Change-Id: I7c51518c10d96eb84a6ddd2514011bfd42623d5d
2016-05-24 16:23:43 -07:00
Jenkins f5998b0253 Merge "Use path-mounted keystone when running in httpd" 2016-05-24 20:13:19 +00:00
Rodrigo Duarte 0578e42fdb Tempest: add a Keystone reseller feature flag
A new tempest test is being added in https://review.openstack.org/#/c/285541/
but it is not supported in the Kilo and Liberty branches. This patch
turns on this feature flag at Devstacks's side.

According to tempest policies, this patch must be merged first so the
test can actually run.

Change-Id: I52458a0b36e1dba233667311b35f6c3931e2e66c
Depends-On: Ie69dae09c2b42e825e9d51abf158fc14788387d1
2016-05-24 12:51:10 -03:00
Kashyap Chamarthy 247e44625c functions-common: Use systemctl when applicable
We live in a new systemd world, use the native commands to talk to it
if available.

Change-Id: Iccdc35f0c9da2997f9e672bc1d24ca15d3403d98
2016-05-24 11:21:01 -04:00
Matthew Treinish b655867390 Add printing the plugin list after the plugin install
This commit just adds a sanity check output to lib/tempest. It will
use tempest list-plugins to print a table of installed plugins after
the pip install phase is run for any provided plugins. This will
enable users to check that the plugins they think they're running are
detected by tempest.

Change-Id: Icff286da6c68ec9a57f2288458976341bc095875
2016-05-20 17:30:17 -04:00
Jenkins 730703a833 Merge "Set user/project domain ID when using keystone v3" 2016-05-20 15:53:42 +00:00
Sean M. Collins c35110e7c5 Neutron: check if a plugin has the l3 API extension
If a plugin has the L3 API extension available, issue the L3 API
extension calls that creates routers and networks

Change-Id: I77e269ce0025054bcf2a2f4156124f2921ba2d59
2016-05-20 11:10:24 -04:00
Jenkins 1df67b9dd8 Merge "Added RHEL rebuild ScientificLinux to supported distributions" 2016-05-20 13:46:35 +00:00
Jenkins a3715a2e1a Merge "Add option to download all libs from git" 2016-05-20 12:58:41 +00:00
Jenkins f10bb119cc Merge "Move setting lvm libvirt configs to hypervisor-libvirt" 2016-05-20 12:50:04 +00:00
Jenkins 52f6adf512 Merge "Skip EPEL & RDO install for CI nodes" 2016-05-20 11:59:09 +00:00
OpenStack Proposal Bot d04cc40434 Updated from generate-devstack-plugins-list
Change-Id: I60f6c75f2b12a0541d25cf291f18dcce30f2d42d
2016-05-20 07:08:34 +00:00
Brant Knudson e86b91ba78 Reference keystone URIs rather than building URI
lib/keystone sets KEYSTONE_AUTH_URI and KEYSTONE_SERVICE_URI that
other projects should use rather than building the URL themselves.
This will allow us to more easily drop the port altogether.

Change-Id: I7467aae680215f3045d32a088af2187e1eba8169
2016-05-19 21:44:43 +00:00
Sean M. Collins 6d4843ed96 Neutron: only do ARP_CMD if IP_BRD is not an empty string
Some third party CI systems leave PUBLIC_INTERFACE as the default,
but do not actually create the device. ip would set errno to 1 when
this happens[1], and that's fine - however arping would exit with errno
set to 2, which triggers the exit_trap and stops stacking.[2]

[1]: http://openstack.fit-tecnologia.org.br:10000/36/295836/6/check/hitachi-hnas-ssc/3362683/logs/devstacklog.txt.gz#_2016-05-12_17_24_40_458

[2]: http://openstack.fit-tecnologia.org.br:10000/36/295836/6/check/hitachi-hnas-ssc/3362683/logs/devstacklog.txt.gz#_2016-05-12_17_24_40_545

Change-Id: Iaf08b475eeec5e179a11a42d35fe532b2a15aa41
2016-05-19 15:52:15 +00:00
Jenkins ab539b441d Merge "Updated from generate-devstack-plugins-list" 2016-05-19 01:10:23 +00:00
Jenkins 1441242fcc Merge "Support decompressing bz2 image" 2016-05-19 01:07:39 +00:00
Jenkins 84f83bf5ea Merge "Make ARP_CMD local" 2016-05-18 22:12:25 +00:00
Jenkins 78289075e1 Merge "Always pass $NEUTRON_CONF" 2016-05-18 21:30:51 +00:00
Matt Riedemann 9278eb78df Move setting lvm libvirt configs to hypervisor-libvirt
When the nova backend is LVM we set some libvirt configs
in nova.conf. Those should happen in the libvirt plugin
file rather than the generic nova file since it's specific
to running nova-compute with libvirt.

Change-Id: I37a63a5fba2e9eea4daafe4ec390b2e7aac236f3
2016-05-18 13:38:38 -04:00
Jenkins 4894ac0d29 Merge "Use Neutron extension information to configure Tempest's public network" 2016-05-18 15:36:38 +00:00
Jenkins ade7898e52 Merge "Revert "Switch fernet to be the default token provider"" 2016-05-18 15:35:32 +00:00
Matt Riedemann 153db26970 Revert "Switch fernet to be the default token provider"
This reverts commit 181588b9ba.

Since this change landed on 4/29 it's been the cause of the
top two gate failures (besides known latent infra issues) and
hasn't had good progress on landing a fix, so until it's a
priority for the keystone team we need to revert this change
to get the integrated gate jobs moving again.

Change-Id: I588a84c5179eab072d21bc1394aea2df00929650
Related-Bug: #1577558
Related-Bug: #1578866
2016-05-18 14:05:14 +00:00
Sean M. Collins 17398a3de3 Make ARP_CMD local
Change-Id: Iaa540f7685197a17f1db4c3351373a6d77a80105
2016-05-18 09:58:03 -04:00
Sean M. Collins e7d2b56391 Always pass $NEUTRON_CONF
When running a compute node that only runs n-cpu and neutron-agent,
there are still configuration items that are needed by the agent that
reside in $NEUTRON_CONF - such as the rabbit rpc information.

Change-Id: Ib7f5dde3afb0c19dc88f351c99bc669217952a14
2016-05-18 09:58:03 -04:00
Jenkins b671d83850 Merge "Change the domain name in keystone.conf" 2016-05-18 13:42:43 +00:00
OpenStack Proposal Bot bcfaa0730e Updated from generate-devstack-plugins-list
Change-Id: Ia1ed75b563ee9aabf6b70e0506d8965ca3df6c0a
2016-05-18 06:50:13 +00:00
Ian Wienand bda194adb9 Skip EPEL & RDO install for CI nodes
If the nodepool info file is around, assume we're on a OpenStack CI
node and skip re-installing EPEL & RDO

Change-Id: Ife80af015b26514098e0633f568e3da35b9eea8c
2016-05-18 10:42:56 +10:00
Armando Migliaccio 53f59d802f Use Neutron extension information to configure Tempest's public network
Neutron L3 may implement a variety of extensions: router, external-net,
dvr, ext-gw-mode, extraroute, l3-ha, etc. The public network uuid is
only going to be made available if and only if the external-net extension
is available, because that's the one that provides Floating IP support.

Rather than making Tempest aware of q-l3 service (when q-* services
are supposed to be legacy), it is better to tune this configuration
based on the extension availability. This decouples Tempest from
Neutron setup internals.

Change-Id: I4889fc3d21bd221785b507995f1b3da0e8f52b46
Related-bug: 1582119
2016-05-17 15:20:09 -07:00
Jenkins f5db32dfdb Merge "Wrong container name in devstack "All-In-One Single LXC Container" manual." 2016-05-17 20:07:31 +00:00
Jenkins a898099634 Merge "Set config file to db sync and other manage operation" 2016-05-17 10:42:50 +00:00
Jenkins 3a2e534047 Merge "Update ElasticSearch version default to 1.7.5" 2016-05-17 10:09:02 +00:00
Jenkins 8bbeb9db0a Merge "Nova conf:don't use deprecated option "fixed_key" from group "keymgr"" 2016-05-17 10:08:12 +00:00
bhargavaregalla 69d3b79e03 Wrong container name in devstack "All-In-One Single LXC Container" manual.
Wrong container name in devstack "All-In-One Single LXC Container" manual.

Link: http://docs.openstack.org/developer/devstack/guides/lxc.html

After creating "devstack" container with below command
sudo lxc-create -n devstack -t ubuntu -f devstack-lxc.conf -- --packages=bsdmainutils,git

The name should be 'devstack' instead of 'p2' in the below command
ssh ubuntu@$(sudo lxc-info -n p2 | awk '/IP/ { print $2 }')).

Change-Id: I7a84b97b03b2dd4338f1d946b7eafb8ec6e3767d
Closes-bug: #1582248
2016-05-17 09:34:26 +01:00
Marc Koderer 46f8cb7f20 Add option to download all libs from git
For client debugging that invokes multiple libs it can be useful
to have all libs directly in git and not listing all of them
in LIBS_FROM_GIT.

TrivialFix

Change-Id: Ie631cc4045231ebbe8177d2d113e47e4bf83f61c
2016-05-17 08:57:39 +02:00
Jenkins 59ed73a3d4 Merge "lib/tempest: stop using deprecated config option." 2016-05-17 06:20:19 +00:00
Jenkins 51c93b5780 Merge "Add a deprecation warning for lib/neutron-legacy" 2016-05-17 02:48:08 +00:00
Jenkins 1612941ce4 Merge "Use LVM_VOLUME_CLEAR if set" 2016-05-17 02:47:46 +00:00
Brian Ober 958c169d79 Enable Swift Account Management
This patch enables account management by default in Swift.  This will be
leveraged by Tempest test cases validating account management APIs.

Depends-On: Id29f5ca48f92cd139535be7064107b8a61b02856
Change-Id: Ic01432939ed9b4cf0cbf20e3244d4d76847f539f
2016-05-16 23:00:43 +00:00
Jenkins 7cd7f0576b Merge "Fix return code detection in plugin list generation" 2016-05-16 06:41:29 +00:00
vsaienko d894221457 Replace Q_L3_ENABLED by is_service_enabled q-l3
This patch replaces Q_L3_ENABLED with is_service_enabled q-l3.
Both of them idicates wherever Neutron L3 agent is enabled or not.

Change-Id: I33f0f5a6174d1d170bc2ac1c2e3a096d88d17cc1
2016-05-13 16:04:30 -04:00
Matthew Treinish abde96acd2 Add a deprecation warning for lib/neutron-legacy
This commit adds a deprecation warning for lib/neutron-legacy. Right
now lib/neutron isn't quite in a place where we can use it by default
but we're getting close. As soon as it's passing in the gate we plan
to make a switch over and a hard delete of lib/neutron-legacy. To give
any users which have a hard dependency on it (which is not actually
a supported use case) a heads up this adds the deprecation warning
in front of that change.

Change-Id: Idf1faf2e9dd497f9b97abfcc6e796ca72d60d955
2016-05-12 19:26:20 -04:00
Jenkins 18534b2805 Merge "Neutron refactor: Clarify use of neutron-metadata-agent" 2016-05-12 21:47:29 +00:00
Jenkins 500337b04b Merge "Create service project in service domain" 2016-05-12 21:47:13 +00:00
Sean M. Collins 1cd2828da4 Neutron refactor: Clarify use of neutron-metadata-agent
The commit message of 2a242519f7 indicated
that neutron-metadata-agent was the correct name for the metadata
proxy, but parts of the code were not consistent.

Change-Id: I52f08266a169aeb9005c0f84296fc814d05b90d4
2016-05-12 11:17:39 -04:00
Jens Rosenboom 0afe207cb3 Create service project in service domain
When creating service users, the assumption is that the service
project lies within the service domain, so create it there.

Change-Id: I4880e789f5eaf340634ceb792397eef12a5a6b51
Closes-Bug: 1580998
2016-05-12 14:09:03 +02:00
watanabe.isao 4f4d95a12c Add lost function of is_provider_network
This is a follow up patch of [1].
In [1], source has been moved from lib/neutron-legacy to lib/neutron_plugins/services/l3.
However, one necessary function of is_provider_network is lost.
And this cause devstack install fail.

[1]https://review.openstack.org/168438/

Change-Id: I413b3577ec5b11ee0ee01f2368364117962494bb
2016-05-12 20:39:57 +09:00
Jenkins 4bb4728e6f Merge "Neutron refactor: Fix missing call to init RPC backend" 2016-05-12 06:41:25 +00:00
Jenkins 0a097f366c Merge "Fix _configure_neutron_l3_agent" 2016-05-12 06:08:25 +00:00
Yi Zhao a464ea767a Fix error reported due to re-add ipv6 address
This commit fixes devstack fails when re-stack due to re-add ipv6
address.

Change-Id: I9ff62023dbc29a88aec3c48af331c0a49a1270bb
Closes-Bug: #1579985
2016-05-12 10:32:58 +08:00
Jenkins bba6b2a3fd Merge "Use arping when moving an IP address" 2016-05-11 20:46:41 +00:00
Sean M. Collins 5394cc101d Neutron refactor: Fix missing call to init RPC backend
Change-Id: I2c7f116230f53d3a2460192bc7b513b2e230c736
2016-05-11 16:22:31 -04:00
Sean M. Collins a2ed055810 Fix _configure_neutron_l3_agent
I goofed when moving it over, and it looks like the calls
to _move_neutron_addresses_route got clobbered.

Changes like a0d1b0151a ended up getting
dropped on the floor, so let's reintroduce them.

Change-Id: I3bbfbc56e2c663c47a03659a1dff96443c13af47
2016-05-11 16:22:31 -04:00
Chuck Carmack ea76f319a2 Use LVM_VOLUME_CLEAR if set
There are a few CI efforts going on related to jobs that use the lvm
image backend for the libvirt driver in Nova. We don't want to waste
time zero'ing out volumes during CI runs, so we need a way to configure
nova to not clear the volumes in these jobs.

This change adds a variable used to set the CONF.libvirt.volume_clear
value in nova.conf. If the variable isn't set, Nova just uses the default.

This will be set to 'none' in the jobs that are going to use LVM.

Co-Authored-By: Matt Riedemann <mriedem@us.ibm.com>

Change-Id: I1e97ba6ab4772a87192ae2689a25050d432358ab
2016-05-11 13:39:42 -04:00
Jenkins b1bb5380dc Merge "Begin new lib/neutron" 2016-05-11 16:59:17 +00:00
Sean M. Collins 53b63cc97f Use arping when moving an IP address
This helps fix an issue where an IPv4 address is moved from an interface
and you lose your SSH session.

Change-Id: Idf37ccbaa6f615fcc714d49c3f0c00c893f56021
2016-05-11 11:15:13 -04:00
Jenkins b8680711a6 Merge "Fix ovs-vsctl executed in worlddump.py failed issue" 2016-05-11 06:13:44 +00:00
Jenkins 37f6ea619e Merge "Export the 'short_source' function & don't keep PS4 in sudo" 2016-05-10 21:42:54 +00:00
Jordan Pittier 50f22da895 Nova conf:don't use deprecated option "fixed_key" from group "keymgr"
That option now lives in the "key_manager" group.

Change-Id: I35c2914eaf2a190d6494107260483a6835de3e47
2016-05-10 15:04:44 +02:00
Jordan Pittier f5a50a0fa6 lib/tempest: stop using deprecated config option.
Use the new name instead.

Change-Id: I31f83ec70b8803a29a7be765661517d890ffd6f1
2016-05-10 14:56:12 +02:00
Jenkins 2e9c633683 Merge "Use common tempest tox venv and add plugin install variable" 2016-05-10 01:47:13 +00:00
Sean M. Collins 2a242519f7 Begin new lib/neutron
Background for this work can be read on the mailing list:

http://lists.openstack.org/pipermail/openstack-dev/2016-May/094063.html

Usage of the new Neutron is by setting the following in
ENABLED_SERVICES:

* neutron-api
* neutron-l3
* neutron-agent
* neutron-dhcp
* neutron-metadata-agent

For now, the new neutron library supports just the ML2 plugin, with the
Open vSwitch and Linux Bridge agents supported. All other Neutron
plugins should be creating their own DevStack plugin if they wish for
DevStack to support them. Many of them already do.

Other notable changes compared to neutron-legacy:

* Rely on the Neutron defaults, and force Neutron to make
  sane defaults instead of all kinds of knobs in DevStack.

* Default to rootwrap daemon support

* Use the security group driver by default

* interface_driver can now use NEUTRON_AGENT (linuxbridge, openvswitch), since
  they are entrypoints in neutron's setup.cfg

* Use NEUTRON_AGENT variable to determine which agent to run
  Works with NEUTRON_AGENT set to either "linuxbridge" or "openvswitch"
  Default is openvswitch for the time being.

* Set ML2 configuration for VXLAN support

* Remove Xen hypervisor stuff - it should be a plugin

* Move L3 crud into separate service file:

  There's a lot of L3 configuration that was in the main neutron file, but
  a lot of it is self contained and can be moved into its own file.

  The new l3 service file will contain all the previous L3 plumbing and
  configuration that the OpenStack Gate expects, while also eventually
  moving the whole l3 network creation step into a single hook that can be
  overridden by plugins.

* Introduce a check for a function "neutron_plugin_create_initial_networks" which
  will become the mechanism through which different topologies, and
  networking plugins can create and wire the initial networks that are
  created during a stack.sh run.

The new lib/neutron is considered experimental, and followup patches
will build upon this one. Existing users of lib/neutron-legacy should
remain unharmed.

Co-Authored-By: Hirofumi Ichihara <ichihara.hirofumi@lab.ntt.co.jp>
Co-Authored-By: Dean Troyer <dtroyer@gmail.com>
Change-Id: I31b6362c6d9992f425f2dedbbeff2568390a93da
2016-05-09 14:26:08 -04:00
Jenkins ab7e062f5d Merge "Revert "Update auth params in Nova Hypervisor-Ironic"" 2016-05-09 16:44:31 +00:00
Dmitry Tantsur 3b79e5f9f7 Revert "Update auth params in Nova Hypervisor-Ironic"
This seems to break Ironic gate with n-cpu not starting
any more.

This reverts commit c527ded91b.

Change-Id: Idfb01448e8ecf53fbd2e1df61c8f08f3107981ac
Closes-Bug: #1579683
2016-05-09 09:36:04 +00:00
Ian Wienand db01ca6d16 Fix return code detection in plugin list generation
As can be seen in logs of the periodic generation job, our cgit does a
weird thing where sometimes it returns a 404 page with content, and
sometimes a zero response (see [1] for example, the last number is
response size).  This appears to be an openstack CI issue; possibly
due to cgit caching or similar (see [2] for manual test).  It will
have to be investigated with the host apache logs.

This is resulting in a lot of projects incorrectly being picked up as
having plugins (I7116571d2a2b1fc3a61e5f1ed46ac2cbc244775a).  I'm not
sure if this problem is also releated to the original status-code
issues mentioned in the code, but testing shows that cgit is correctly
returning 404's for missing files (you can see in the logs [1]).  Thus
switch the logic to examine the return code which avoids this issue.

[1] http://logs.openstack.org/periodic/propose-devstack-plugins-list/e55790c/console.html.gz#_2016-05-04_06_46_51_660
[2] http://paste.openstack.org/show/496434/

Change-Id: I6a06347d91d091441f6f7b70f99aba6d8e9add4b
2016-05-09 13:19:09 +10:00
yan.haifeng 6ba17f7d01 Fix ovs-vsctl executed in worlddump.py failed issue
add sudo before ovs-vsctl command.

Change-Id: I1a7dd9504da766beb452bd749e325931678de64e
Closes-Bug: #1576560
2016-05-09 03:02:15 +00:00
Einst Crazy 4f55c2d5c3 Set config file to db sync and other manage operation
Currently, the db sync operation does not specify the config dir or
config file.
If there is a config file in the home path, it will use this one,
but not the right one devstack write.

Set config file to these operations.

Change-Id: Id1fbc3d85280c19596f5ebd301c46bcf018fa2f6
Closes-Bug: #1578098
2016-05-09 01:43:32 +00:00
Hongbin Lu 3feceb0e4a Support decompressing bz2 image
CoreOS cloud image is compressed with bz2 extension [1]. In such
case, we need to decompress the image before uploading it to glance.

[1] https://coreos.com/os/docs/latest/booting-on-openstack.html

Change-Id: I705d0813d180aefaa2507c00d1ae40af07d12fcf
2016-05-06 21:07:18 -04:00
Jenkins 251b870e85 Merge "Update auth params in Nova Hypervisor-Ironic" 2016-05-06 20:50:07 +00:00
Jenkins 0030c41786 Merge "removed dead link to stack.sh.html" 2016-05-06 20:50:00 +00:00
Jenkins cb05ad0eac Merge "Added fix to install zookeeper for fedora" 2016-05-06 20:49:53 +00:00
Jenkins 8bee429a7a Merge "Suppressed echoing of the line." 2016-05-06 20:49:45 +00:00
Jenkins 036f93853c Merge "Update to bashate 0.5.1" 2016-05-06 20:49:40 +00:00
Jenkins ea15ca1318 Merge "Adjust region name for images, networks and volumes during deployment" 2016-05-06 20:48:53 +00:00
John L. Villalovos daa7a41e21 Export the 'short_source' function & don't keep PS4 in sudo
Export the 'short_source' function so that it will be present in the
environment for child shell scripts. Do this because we are passing PS4
to the child shell scripts and it is using 'short_source'

Don't do an 'env_keep' in the sudoers file for PS4, since it is
difficult to also pass along the 'short_source' function.

Change-Id: I9781010d6eb336d02939c7fd47f18bedeae5ccc6
Closes-Bug: #1563443
2016-05-06 10:50:58 -07:00
Travis Tripp b523f3108f Update ElasticSearch version default to 1.7.5
Devstack installs elasticsearch version 1.4.2 by default.
This version is really out of date and you can't run kibana
4.x against it.  We are working towards 2.x support [0],
but in the meantime would like our example to install a more
recent version of ES.

[0] http://lists.openstack.org/pipermail/openstack-dev/2016-April/092583.html

Change-Id: I9ca244f8b817dd9c5f6d7435e347df28282db0a9
2016-05-05 10:23:16 -06:00
Jenkins 8d27280f3e Merge "Handle common and seperate tempest tox venvs" 2016-05-04 21:54:17 +00:00
Matthew Treinish 655c22c77f Add an explicit test-config phase to devstack plugins
This commit adds a new phase to the devstack plugin interface for
configuring test environments. It runs after everything in devstack
(except for the final output commands) to ensure that tempest or
any other dependency is installed prior to running it.

Change-Id: I52128756f18d3857963a0687de77f7cdfd11fb3e
2016-05-04 17:31:45 -04:00
Jenkins 8f9e545513 Merge "Remove NOVA_V2_LEGACY option" 2016-05-04 20:41:46 +00:00
Jenkins e917b44c2a Merge "Remove unused tempest options" 2016-05-04 20:38:47 +00:00
Bernd Mueller b1518427c6 removed dead link to stack.sh.html
the referenced file was removed with the following change
Ie7f4b265368f1d10a8908d75e11d625b2cc39e7c

Change-Id: I0e25b1f38e0969037d1c8af367432da56bb12e92
2016-05-04 22:33:21 +02:00
Jenkins 5899d20bc3 Merge "Set default value and configurable value for integration bridge" 2016-05-04 16:44:28 +00:00
Matthew Treinish 440464ccbb Use common tempest tox venv and add plugin install variable
This commit adds a new variable to lib/tempest to provide the plugins
that should be installed into common tox venv that gets created. In
order to make this work the workarounds to handle migrating to a common
tox venv have to be removed otherwise the plugins could be installed in
a venv that isn't used.

Change-Id: I63658b8d8dfa999e0feb79f8f2968f2b32e3ff57
Depends-On: Iab2e6e04b6c5795a4d0c8214564106525b942308
2016-05-04 11:55:12 -04:00
Matthew Treinish b31640af5e Handle common and seperate tempest tox venvs
In order to support the effort to unify the tox venvs being created
by tempest this commit temporarily cases the path of the venv being
created. Once tempest is updated to only use .tox/tempest we can
remove the if blocks and just use it unconditionally.

Change-Id: I34a69020eee07156e64026781a3c0bffdb5ab415
2016-05-04 11:44:06 -04:00
pratik-gadiya 5069b8d894 Added fix to install zookeeper for fedora
Partially Implements: #1513855

Change-Id: Ic302461f38d76183b75cc8de0a25fa84a8a8ff69
2016-05-04 07:33:21 -04:00
Rabi Mishra d1c9198bbe Change the domain name in keystone.conf
As we are creating a domain with id 'default' and name
'Default', we should iniset the correct name.

Change-Id: If67338fbbd255b8aa1b91e18e4cf8213baebab95
2016-05-04 16:11:09 +05:30
Jenkins a5c1a93096 Merge "Update is_service_enabled" 2016-05-03 23:09:21 +00:00
Jenkins 125055e598 Merge "Remove tempest-lib setup" 2016-05-03 23:09:14 +00:00
Jenkins 24fe4a3c69 Merge "Remove deprecated references to g-search" 2016-05-03 23:08:40 +00:00
Brant Knudson 841fdafa0b Use path-mounted keystone when running in httpd
When running in httpd, keystone accepts requests on /identity and
/identity_v2_admin.

The path endpoints should be preferred over the ports so keystone
is configured to point applications to the path endpoints by
setting admin_endpoint and public_endpoint.

Change-Id: I34569b9e03c3f36748c92d803349e22a7ee1a633
2016-05-02 19:10:18 -05:00
Jordan Pittier a046b6052a Remove tempest-lib setup
Tempest-lib, as a standalone project, is deprecated in favor of a
"lib/" directory inside Tempest's repo. So remove the installation
of tempest-lib in DevStack.

Change-Id: I507bfe875777fd25bbe5d67c861f3fca99faa22d
2016-05-02 11:59:52 +02:00
Ken'ichi Ohmichi 269704c119 Remove NOVA_V2_LEGACY option
There are two implementation code for similar API in Nova repository.
One is newer: v2.1 API, another is legacy: v2 API. v2.1 API has been
used as the default API since Liberty and legacy v2 API has been marked
as deprecated. We have used and tested v2.1 API so well and now is
nice time to remove legacy API code based on the consensus of the
design summit of Austin.
This patch removes NOVA_V2_LEGACY which set up legacy API code.

NOTE: The gate job which uses this NOVA_V2_LEGACY option has been
      removed already since Iac81b7d569b76b99e9d86eaa5001ae7f9b78cdfe.

Partially implements blueprint remove-legacy-v2-api-code

Change-Id: I0e16b7ce608d7eeb3a35fd77e66531dfc8c142ef
2016-05-01 07:24:11 -07:00
Sachin Patil aac43e1e71 Suppressed echoing of the line.
I think the objective of the line is to display message, but it was
also echoing entire line before printing the message.

Change-Id: I758759638003deec3205983863f4b7e23ba94e89
Signed-off-by: Sachin Patil <psachin@redhat.com>
2016-04-30 14:11:52 +05:30
OpenStack Proposal Bot 13b3be10a7 Updated from generate-devstack-plugins-list
Change-Id: I5fdf1e4a7bb0fbb9fa9b3ca96f42b87bd7f38d0d
2016-04-30 06:51:53 +00:00
Jenkins 602a455746 Merge "Remove vpnaas code from devstack" 2016-04-29 22:33:16 +00:00
Jenkins 5b83e986de Merge "Switch fernet to be the default token provider" 2016-04-29 17:27:15 +00:00
Ihar Hrachyshka 1a791cbc44 Remove vpnaas code from devstack
This service is now configured by devstack plugin in master.

Change-Id: Ie5fc0d2a45c1b564f98c69ec9ea6fbdeeb465d32
2016-04-28 12:39:26 -07:00
Victor Ryzhenkin 878d7d8f13 Adjust region name for images, networks and volumes during deployment
In a multiregion installation of devstack, conflicts occur in the
creation of images, networks, or volume types, when the region is not
set.

This patch adjusts commands to include the region, and
also adjusts the region_name in the nova configuration section of
neutron.conf to include the region.

Change-Id: Ifedff6a124fa49d57cc7b2f35916d8d96f5e5f7a
2016-04-28 15:13:58 +00:00
John Kasperski 7b3ae53328 Update is_service_enabled
The nova check in is_service_enabled() is loading the nova repo
when ENABLED_SERVICES=ovn-northd.  Add a comma before each of the
checks to prevent this error with any of the other services.

Change-Id: I9deee735812cde44ea5140b1ad76848f02576609
Closes-Bug: #1574431
2016-04-27 12:13:16 -05:00
Mike Trimm 1da4e790eb Added RHEL rebuild ScientificLinux to supported distributions
Change-Id: I8b3844bf28b11254e7cc9a96126bd66efbd1212e
2016-04-27 11:40:25 -05:00
Sylvain Baubeau 7fa0efffab Remove deprecated references to g-search
Commit 020586fab4 removed support
for g-search as it was promoted to its own project. The devstack
plugin for Searchlight triggers the installation of elasticsearch,
so it can be removed from upstream devstack.

Change-Id: Iada75fc59c66b776c506431f93deb668ab0a84b9
2016-04-26 20:45:43 +02:00
Jenkins 96ffde28b6 Merge "Fix ironic compute_driver name" 2016-04-26 10:21:17 +00:00
Ian Wienand c8af407eb2 Update to bashate 0.5.1
This minor release of bashate just fixes one small issue with python3
compatability.  This is an alternative to
Ic91b5ce8cb85e376573f9bf3659d2a86cc437179.

Change-Id: Ie5ad29003cf80a332b9a9258749757a15de79966
2016-04-26 17:53:45 +10:00
vsaienko e3a04dd857 Fix ironic compute_driver name
This commit fixes breaking change [0].
Long driver names like 'nova.virt.libvirt.libvirtDriver' are
no longer available and 'libvirt.libvirtDriver' should be used
instead.

Reference:
[0] https://review.openstack.org/309504

Change-Id: I27a1b75b921c7401bc8614caadfd1e09e7dd5d65
Closes-Bug: 1574990
2016-04-26 10:26:30 +03:00
Daniel Gonzalez 336390f9b3 Set user/project domain ID when using keystone v3
Change I24546f02067ea23d088d383b85e3a78d7b43f165 aimed to use
keystone v3 as default in devstack. The change was later reverted in
Ia792b23119c00089542ba08879dca1c29dc80945 because it broke some
projects.
This patch contains a small portion of the first change to set the
environment variables $OS_USER_DOMAIN_ID and $OS_PROJECT_DOMAIN_ID in
openrc, so that users don't have to set them manually when using
keystone v3.

Change-Id: Ie4c316d60590d55830d417f13817298dac70864f
Partially-Implements: bp keystonev3
Closes-Bug: 1387814
2016-04-25 11:51:19 -05:00
OpenStack Proposal Bot c4a0d21436 Updated from generate-devstack-plugins-list
Change-Id: I376abd75e0d0ce77c35b106a4e9c8c3e23247eb4
2016-04-23 06:55:18 +00:00
Ken'ichi Ohmichi 229685112d Remove unused tempest options
Since I380dd20e5ed716a0bdf92aa02c3730359b8136e4 , tempest options
tempest_username and tempest_tenant_name have been added.
However, they are never used at all.
So this patch removes them for the cleanup.

Change-Id: Ic40047c5903d664e4a2d5eea88ff788e39d1e416
2016-04-22 20:15:11 -07:00
Matt Riedemann ae4578bed9 Revert "Don't check for existing endpoints"
This reverts commit 7d1ec43004.

This broke the sahara and layer4 dsvm jobs. The layer4 job
is voting on tempest changes so tempest is also broken.

Change-Id: Ide69f10cd85bf7ff0d86bc8cba56dedd26850362
Partial-Bug: #1573868
2016-04-23 01:45:40 +00:00
Sean Dague 7d1ec43004 Don't check for existing endpoints
We really should only have code that create endpoints once, making all
osc calls get_or_set adds 3 seconds per call for no really good
reason.

This also stops creating the internal endpoints in the service
catalog. It's a pattern that we're trying not to propogate, so lets
not have it in devstack any more.

Change-Id: Ia8cefe43753900d62117beae330db46deb6a9fc9
2016-04-22 10:44:10 -04:00
Huan Xie bea1e1954a Set default value and configurable value for integration bridge
When using XenServer as hypervisor, install_os_domU.sh will create
integration bridge for compute node when neutron network is used.
But it should provide a way to allow moving of the VM to another
host (with a different XEN_INTEGRATION_BRIDGE) for easier install.
This patch is to provide the way to let user have the chance to
configure integration bridge themselves

Change-Id: If923a5e978e77fc091d24b6e1fe7a83a3375da09
2016-04-22 06:21:52 +00:00
Jenkins 54f331969f Merge "remove clouds.yaml in clean.sh" 2016-04-21 20:01:54 +00:00
Jenkins d57d52be48 Merge "Fix Q_PLUGIN_EXTRA_CONF_PATH usage comment" 2016-04-21 20:00:48 +00:00
Jenkins f8c938502b Merge "Remove additional '/' in Q_PLUGIN_EXTRA_CONF_FILES" 2016-04-21 19:53:39 +00:00
OpenStack Proposal Bot 648c4c25f7 Updated from generate-devstack-plugins-list
Change-Id: I6f0a481f95055ed9334a57d50a68b077eace1e07
2016-04-21 06:58:55 +00:00
Jenkins 039fc1a542 Merge "Allow putting service users in a seperate domain" 2016-04-20 21:49:02 +00:00
Jenkins 290b6f204b Merge "Deprecate SERVICE_TENANT" 2016-04-20 21:22:58 +00:00
Jenkins 878c2b98e6 Merge "Fix DevStack failure in multi-region setting" 2016-04-20 20:42:24 +00:00
Clenimar Filemon c527ded91b Update auth params in Nova Hypervisor-Ironic
As Nova hypervisor uses deprecated parameters when trying to
authenticate to Ironic, as well as a hardcoded /v2.0 endpoint, a fatal
error occurs when creating a keystone v3-only devstack.

This patch updates auth parameters (ironic section in nova.conf) that Nova
uses when trying to connect to Ironic to v3 parameters.

Change-Id: I2d7ebf750115613aa917448f20daaece614633ef
2016-04-20 13:59:42 -03:00
Tom Patzig 67223b0265 Fix Q_PLUGIN_EXTRA_CONF_PATH usage comment
The bug #1542282 added Q_PLUGIN_CONF_PATH to the comment on how to use
Q_PLUGIN_EXTRA_CONF_FILES. But the right variable name is
Q_PLUGIN_EXTRA_CONF_PATH; this patch fixes this comment.

Change-Id: I6b6b39068fe54509b1bb8af47ae0b21dd77c444a
Related-Bug: #1469434
Closes-Bug: #1542282
2016-04-20 15:11:51 +02:00
Jenkins 3e4c25b6c2 Merge "Add heat_stack_owner role required by tempest" 2016-04-20 06:21:24 +00:00
Brant Knudson 181588b9ba Switch fernet to be the default token provider
Use the fernet token provider as the default for keystone.

 The Keystone token provider of choice is changing from UUID to Fernet.
 However, due the the need for multi-site keystone deploys to have keys
 kept in sync, we cannot change the default in upstream Keystone
 without  breaking existing deployments.  Fernet requires a deliberate
 setup step like what is done in devstack.  Making the change in
 devstack documents the expected setup.

Change-Id: I8c0db244634b0861b0eb3c48fe6ede153f7f04f2
2016-04-19 19:04:37 +00:00
Tom Patzig 73467041b6 Remove additional '/' in Q_PLUGIN_EXTRA_CONF_FILES
Currently there is added an obsolote/wrong '/' when passing
Q_PLUGIN_EXTRA_CONF_FILES to the service start arguments.
Thats not a problem when using absolute paths, but wrong for
relative paths. This patch removes that extra '/'.

Change-Id: I2136d39889eaf83ecfcc711c733e95e261f455e0
Closes-Bug: #1572192
2016-04-19 17:02:34 +02:00
OpenStack Proposal Bot f9d10ebdf1 Updated from generate-devstack-plugins-list
Change-Id: Id0201da590a6af83b2b6dd26da811cd67975f6eb
2016-04-19 06:46:31 +00:00
Jenkins d55b83f824 Merge "Add volumev3 endpoint for Cinder" 2016-04-19 05:52:50 +00:00
Jenkins 16f72277be Merge "Updated from generate-devstack-plugins-list" 2016-04-19 00:12:12 +00:00
Jenkins 06f1ddd886 Merge "worlddump: request Guru Mediation reports for neutron agents" 2016-04-18 20:28:58 +00:00
Alex Meade 06c7a4404e Add volumev3 endpoint for Cinder
Change-Id: I97caa6bfababf7d1cc714296ae66f77d22bf24ab
2016-04-18 17:32:22 +00:00
OpenStack Proposal Bot 262ecba899 Updated from generate-devstack-plugins-list
Change-Id: I9078900f98721336daf1aab4a812eed96f8b1588
2016-04-18 06:53:45 +00:00
Jenkins 4e7804431a Merge "Move nova's api_paste_config into wsgi group" 2016-04-18 03:38:43 +00:00
Jenkins 9b4856fc83 Merge "Fix Q_PLUGIN_EXTRA_CONF_FILES usage comment" 2016-04-18 02:34:20 +00:00
Jenkins fd33a08a88 Merge "Be a bit more explicit about the plugin generation" 2016-04-18 02:26:52 +00:00
Jamie Lennox cbcbd8f33c Allow putting service users in a seperate domain
Make it possible to construct the service users in their own seperate
domain. Changing this away from Default will not work for everyone yet,
though it does work for basic service interaction however enabling it
will allow us to start testing and hopefully gating that services aren't
relying on v2 only concepts.

Change-Id: I7e73df5dd1caabf355783da2bc0f3007ade92fba
2016-04-18 09:59:52 +10:00
OpenStack Proposal Bot 4b267082a2 Updated from generate-devstack-plugins-list
Change-Id: I6a32144d4d210ebef8d770baf840fa90e345b3d1
2016-04-16 06:52:53 +00:00
Jenkins 3d0981398a Merge "Updated from generate-devstack-plugins-list" 2016-04-15 21:55:09 +00:00
Andreas Jaeger fdb3883146 Add venv tox environment
This environment is used by the normal docs job, add it.
Manually add requirements needed for doc building.

Change-Id: I1be193d113683966f6a76e862713f3a550543168
2016-04-15 21:06:45 +02:00
Boden R 82bca44845 Fix Q_PLUGIN_EXTRA_CONF_FILES usage comment
Related bug #1469434 fixed the usage comments for
Q_PLUGIN_EXTRA_CONF_FILES. However that change didn't
make it into neutron-legacy. This patch updates the comments
in neutron-legacy to reflect proper assignment of
Q_PLUGIN_EXTRA_CONF_FILES as well indicate
Q_PLUGIN_CONF_PATH is required when using extra conf files.

Change-Id: I447f1158d333ac4a35c4903a509146a62d93b272
Related-Bug: #1469434
Closes-Bug: #1542282
2016-04-15 10:56:09 -06:00
Ihar Hrachyshka ef219bfcaf worlddump: request Guru Mediation reports for neutron agents
Those reports may be helpful when debugging neutron gate issues.

pgrep is backwards compatible with old Solaris tools, which means it
does not match with commands that are longer than 15 characters. To
avoid that for neutron agent names which are longer than that, we need
to pass -f argument to match against the full cmdline.

Also killall instead of kill + pgrep in a subshell.

Change-Id: I9b3801e927c0e80443ed76e38cd8e3618e888e49
2016-04-15 08:27:54 +02:00
OpenStack Proposal Bot fb44bc30fd Updated from generate-devstack-plugins-list
Change-Id: Ifd1fbd0a9e8c433119e30299ef417d70c9b967a0
2016-04-15 06:10:04 +00:00
Rabi Mishra 955609356a Add heat_stack_owner role required by tempest
Create specific heat_stack_owner role to be used by
tempest tests, rather than using _member_ which is not
automatically created in keystone v3.

Change-Id: Iff13a47e360b628bc48a8cb897d9368af49db01b
Partial-Bug: #1539692
2016-04-15 09:49:05 +05:30
Jenkins 406b45b81a Merge "Remove shocco docs and other cleanups" 2016-04-14 21:24:25 +00:00
Jenkins 9adb22e660 Merge "Revert "WIP - Remove lbaas from devstack proper"" 2016-04-14 20:02:12 +00:00
Jenkins 19c7842e4f Merge "Add variable SWIFT_STORAGE_IPS" 2016-04-14 19:50:17 +00:00
ZhiQiang Fan 0b4a009e56 remove clouds.yaml in clean.sh
devstack failed to install because glance:
Could not determine a suitable URL for the plugin

patch I618ea8e27b49af360c905df85af06d9b1eef8407 tries
to fix this problem, but with a wrong way because path is not
correct, the clouds.yaml is not under /path/to/devstack/~/.config/openstack/
but ~/.config/openstack.

patch I8af6bd465f74099c560dddba6b5221dd79cbc965 tries to
fix this problem, but with a worng way to specify the path,
~$STACK_USER/.config/openstack/clouds.yaml will not expand with
a variable, only const string can.

$ whoami
zqfan
$ touch ~/.config/openstack/clouds.yaml
$ export STACK_USER=zqfan
$ rm -rf ~$STACK_USER/.config/openstack/clouds.yaml
$ ls ~/.config/openstack/
clouds.yaml

Change-Id: I549817d2f4638be615991c1726b39d270ba71357
ref: I618ea8e27b49af360c905df85af06d9b1eef8407
2016-04-15 02:27:35 +08:00
Christian Schwede 91d2245d6e Add variable SWIFT_STORAGE_IPS
If the variable SWIFT_STORAGE_IPS contains a space-separated list of
IPs, we can use this to create consistent rings across all proxy and
storage nodes.

Change-Id: If9307196dc7e74e4a842c95503958ae2d7f7acc7
2016-04-14 14:16:55 +02:00
Ian Wienand 982b9911fb Deprecate SERVICE_TENANT
This is a follow-on to I6f392d3c16726f6dd734184dcf3014fb4f388207 to
note the variable is kept for backwards compatibility.

Change-Id: I1008b2d4e2baf82e1aa531d9eaf96a084beb69aa
2016-04-14 13:41:34 +10:00
Jenkins a344608ca9 Merge "Add installation support for Oracle Linux 7" 2016-04-14 01:42:02 +00:00
Armando Migliaccio b3f26cb66c Revert "WIP - Remove lbaas from devstack proper"
The WIP prefix and the statement

"This can't merge until p-c no longer references lbaas jobs."

Should have been an indication that this patch is not quite ready to
go in as is.

This reverts commit 130c3adb0e.

Change-Id: I57d5f9f2e66b1bdf6fca70074bc1d5678de65f38
2016-04-13 23:51:20 +00:00
Jenkins 6452968cc9 Merge "In worlddump, execute ovs-ofctl for an only existing bridge" 2016-04-13 23:48:51 +00:00
Jenkins a5bc067991 Merge "update docs to reference project not tenant" 2016-04-13 23:36:42 +00:00
Jenkins 2e23e64151 Merge "change tenant to project in keystone bootstrapping" 2016-04-13 23:35:52 +00:00
Jenkins a061138535 Merge "convert tenant -> project for internal variables" 2016-04-13 23:29:52 +00:00
Ian Wienand 7cd16ce48a Remove shocco docs and other cleanups
This is a fairly opinionated change to do some spring cleaning on the
documentation.

The current output of shocco as rendered at [1] is completely broken.
I can not see that it is worth us maintaining this.  Honestly, the
github page does a better job at showing the scripts with a bit of
formatting.  The "changes" page is similarly useless today.  cgit or
github show allow browsing of changes in the repo better.  Both are
removed along with support scripts.

When you currently hit the first page, it gives no clue as to what
DevStack actually is.  Add a paragraph explaining that, and link to
the cgit for easy source browsing.

stackrc.rst is not necessary; the stuff about database backends is
already discussed in configuration.rst; move the things about service
repos into a section of configuration.rst.

The discussion in openrc.rst is moved into the configuration.rst file.

localrc.conf.rst was just a paragraph pointing back to
configuration.rst; this is removed.

The variables described in exercise.rst are moved into a separate
section of configuration.rst

[1] http://docs.openstack.org/developer/devstack/#scripts

Change-Id: Ie7f4b265368f1d10a8908d75e11d625b2cc39e7c
2016-04-14 07:55:38 +10:00
fumihiko kakuma 578459f808 In worlddump, execute ovs-ofctl for an only existing bridge
When devstack fails, some or all bridges may not exist.
This change allows an only existing bridge to executes ovs-ofctl command.
And fix duplicate ofp version specified in protocol option of ovs-ofctl.

Change-Id: Ied01de727ca9b867ce87db358f72ae44838b63af
2016-04-14 07:25:05 +10:00
Fernando Ribeiro 4e6f8ca670 Add installation support for Oracle Linux 7
This removes Oracle Linux 6 support ("OracleLinux") which, like RHEL6,
is now unsupported.  "OracleServer" matches Oracle Linux 7.

Change-Id: I35b1c7d0b103c509283dba0f6551453e7d8ac4cc
Closes-Bug: #1568634
2016-04-14 07:14:04 +10:00
Jenkins 8bd1750e6a Merge "Add execution bit to generate-devstack-plugins-list.sh" 2016-04-13 20:00:11 +00:00
Jenkins c87457bae1 Merge "Use configured values instead of default value" 2016-04-13 17:17:15 +00:00
Jenkins c93ccfcc1a Merge "print statment has become a function in py3" 2016-04-13 17:17:08 +00:00
Jenkins 03b0f0b845 Merge "Remove driver certs directory" 2016-04-13 17:17:01 +00:00
Jenkins a7a4ad8d59 Merge "WIP - Remove lbaas from devstack proper" 2016-04-13 17:11:03 +00:00
Masayuki Igawa d0931db1e8 Add execution bit to generate-devstack-plugins-list.sh
This commit adds an execution bit to generate-devstack-plugins-list.sh.
This should be useful for users.

Change-Id: I12d0a257eb1d487979d044c2e52e824a6ea4c02d
2016-04-13 19:05:01 +09:00
Jenkins 9ce61fbd44 Merge "Replace deprecated config option [DEFAULT].rabbit_vritual_host" 2016-04-13 01:48:29 +00:00
Jenkins 5432cbc407 Merge "Revert "Work around broken rabbitmq 3.6.1 packages on Fedora 23"" 2016-04-12 20:39:12 +00:00
Jenkins 8e3809aead Merge "Fix usage of tempest utils during config" 2016-04-12 16:57:07 +00:00
zhiyuan_cai 6f1781f968 Fix DevStack failure in multi-region setting
In stack.sh, REGION_NAME is used to set environment variable
OS_REGION_NAME before using OpenStack client to configure accounts
for services. OpenStack client will try to find Keystone endpoint
in REGION_NAME to send the requests.

However, in the case of deploying multiple DevStack instances in
different regions with shared Keystone, Keystone is only running
in one the of region. When installing DevStack for the region that
does not host Keystone, OpenStack client will fail to find the
Keystone endpoint and thus DevStack fails to start.

This patch fixes this bug by introducing KEYSTONE_REGION_NAME for
user to specify which region Keystone is running in. Document of
multi-region setup is also updated.

Change-Id: I3e82c7ff69326d4171623299ffecea103d40c80d
Closes-Bug: #1540802
2016-04-12 14:54:11 +08:00
Jenkins 09a710bc2f Merge "Replace vivid support with xenial" 2016-04-12 01:33:43 +00:00
Ian Wienand cb32230e52 Revert "Work around broken rabbitmq 3.6.1 packages on Fedora 23"
This reverts commit 616957d598.

Fixed packages are released to F23 stable

Change-Id: I6c1ecaf9afb78afa3051922eb8347a2610e57416
2016-04-12 10:31:22 +10:00
Matthew Treinish e8f3f7aa0d Fix usage of tempest utils during config
Most of the tempest utilities need at least a partially setup
configuration file to work properly. This is because most of them
make api requests in order to perform the expected operations.
This causes a bit of a chicken and egg problem when we rely on
these utilities for configuration purposes since we don't know if
we have enough of a configuration file to run things. This previously
wasn't an issue because all we needed to run was verify-tempest config
and it wasn't in a critical path just for api extension discovery and
it wasn't relied on. But, with the addition of tempest preprovisioned
credentials we rely on a tempest util to create the credentials we
use for running things. We need to ensure the util has as complete of
a config file when it's run to ensure that everything is in the
correct state.

This commit moves the running of all tempest utils and the associated
iniset calls to the end of the configure_tempest function to ensure
that the utils have as complete a config file as possible.
Additionally, it makes all tempest util calls are venv isolated. (which
is mostly future proofing for when things are branched on stable)

Change-Id: I5844aed4e134fbc7210aa0eca83500e260915b7b
2016-04-11 13:04:20 -04:00
Markus Zoeller b6259586bf Replace deprecated config option [DEFAULT].rabbit_vritual_host
The test job "gate-tempest-dsvm-cells" uses the Nova cells concept.
This triggered a deprecation warning:

    WARNING oslo_config.cfg [...]
    Option "rabbit_virtual_host" from group "DEFAULT" is deprecated.
    Use option "rabbit_virtual_host" from group "oslo_messaging_rabbit".

This change removes that warning.

Change-Id: Ieaf437ecbf58edb8994f6afcb0ac2afcd5585a1e
2016-04-11 10:17:55 +02:00
Huan Xie 2f5596e590 Use configured values instead of default value
Variables PUBLIC_INTERFACE_DEFAULT and GUEST_INTERFACE_DEFAULT
are only use to provide default value, deployment script should
not use such values directly

Closes-Bug: #1566768

Change-Id: Ib543b416df861086fa2edbe7df769b224d0b0add
2016-04-10 20:05:43 -07:00
Ian Wienand e8177a5412 Be a bit more explicit about the plugin generation
Make the warning in the auto-generated file stand-out a bit more, so
people don't waste time trying to add entries that appear
automatically.

Change-Id: Icf4290e1fad21ce72af54c178bafcce0b287cdf6
2016-04-11 11:45:02 +10:00
Eyal e7361775c1 print statment has become a function in py3
Change-Id: Ia616e1fdd4c3fc8e1a36b026e0c3e2a568dc6517
2016-04-10 08:30:29 +03:00
Matt Riedemann 3888098245 Move nova's api_paste_config into wsgi group
Change 0b9e378cca2be4e034ad401d71fbe4470907f93a moved the
api_paste_config from the DEFAULT group to the wsgi group
and deprecated it's usage in DEFAULT.

Change-Id: I283db638e76b986d3e728c6caf34a0b3f37fc9b6
2016-04-09 21:42:24 -04:00
Paul Belanger cdf9c0f73b Replace vivid support with xenial
Ubuntu vivid support is EOL lets make room for xenial.

Change-Id: I21c4966c80e0b5fc2b1a7448020dd1c75e0070ad
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2016-04-08 14:54:18 -04:00
Jenkins 846254620e Merge "Revert "Revert "Use unversioned keystone endpoints""" 2016-04-08 15:47:24 +00:00
Ian Wienand e9820732f1 Fix table in generated plugins list
Fix the table with a bottom border.  Regenerate the plugin list using
the script to make sure it works this time.

Change-Id: Iab3eb3879fd6017c55259e470477e4a9e34514e2
2016-04-08 09:10:55 +10:00
Armando Migliaccio 8dda061a1f Revert "Revert "Use unversioned keystone endpoints""
This reverts commit da1ca6e07c.

Depends-on: Id2c7e09611c1f8b06e6d272589b4ea3435b8de86
Change-Id: I1b2a65179b5863d8bcbc5dd02b615f4e6e564213
2016-04-07 17:00:37 +00:00
Jenkins 6b6d48eaff Merge "Fix create_flavors on subnodes" 2016-04-07 00:40:31 +00:00
Jenkins 2bf6095925 Merge "Revert "Use unversioned keystone endpoints"" 2016-04-07 00:10:16 +00:00
Armando Migliaccio da1ca6e07c Revert "Use unversioned keystone endpoints"
This reverts commit 4921d4dbb9.

Change-Id: Ic8888fca5d25ca6caa3f29f712db319f1d3869ba
2016-04-06 21:57:28 +00:00
Jenkins 449ab10989 Merge "Remove project_id from nova service urls" 2016-04-06 21:19:12 +00:00
Dan Smith d3d21394db Fix create_flavors on subnodes
This makes us depend on n-api being enabled, which should avoid running
this on subnodes, where it fails because of no credentials.

Change-Id: I209bd59cd57be27c3375f5a2074361307abcafe9
Closes-Bug: #1567065
2016-04-06 14:06:00 -07:00
Jenkins 5df868e83d Merge "Fix a typo in comment for _get_ofp_version" 2016-04-06 18:38:28 +00:00
Jenkins 4bb3e20655 Merge "Use unversioned keystone endpoints" 2016-04-06 18:31:02 +00:00
Jenkins cb1b506d99 Merge "Create default flavors in nova" 2016-04-06 17:53:35 +00:00
Jenkins 9ed1a5c43c Merge "Skip rescue tests for cells v1" 2016-04-06 16:46:13 +00:00
Jenkins 5652f53715 Merge "Use configure_auth_token_middleware for neutron" 2016-04-06 16:45:52 +00:00
Jenkins 6109a6b7a9 Merge "Work around broken rabbitmq 3.6.1 packages on Fedora 23" 2016-04-06 13:29:16 +00:00
Sean Dague db48db1cf0 update docs to reference project not tenant
Change-Id: Iad66e14fa33609ea6d2a115469e054762051b964
2016-04-06 08:09:31 -04:00
Ian Wienand 616957d598 Work around broken rabbitmq 3.6.1 packages on Fedora 23
Downgrade this package until we have a fix for the bug in the
comments.

Change-Id: I980d625fec7b11aff74814ee2d24fe9650e9f0a6
2016-04-06 17:27:01 +10:00
Sean Dague 7f87efdd21 Remove project_id from nova service urls
Nova API itself supports both URL modes:
  with project-id and without project-id
However, we are changing service catalogs for removing project-id
based on the discussion.
We have agreement on https://review.openstack.org/#/c/181393 like the
following:

 - Standard required naming for endpoints (versioned vs. unversioned,
   contains project ID vs. no project ID).
    * We want unversioned endpoints so that the user can get
      information about multiple available versions in a given cloud.
    * We do not want project ID, account ID, or tenant ID as part of
      the resource URI for an OpenStack API endpoint.

So this patch removes project-id from Nova service catalog for this
direction.

Change-Id: Ifd74152727b5c0c75924419a7a52e024a69ce72c
2016-04-05 20:31:33 -07:00
Ian Wienand 17e450131c Pad around table in plugin list
Make sure the table is separated out from header and footer content so
it actually gets picked up as a table.

Change-Id: I60a24b2476a55cfbf5c864a1c27ce5b98e699886
2016-04-06 09:27:56 +10:00
Sean Dague 0b1465b6f6 change tenant to project in keystone bootstrapping
Change-Id: I6f392d3c16726f6dd734184dcf3014fb4f388207
2016-04-05 11:40:25 -04:00
Sean Dague 19dfa2af32 convert tenant -> project for internal variables
This sets all the internal variables and service users that are set to
use project instead of tenant for clarity.

Change-Id: I4aa833bac2ee2281c5f2881f7ae1fd8e7c759f74
2016-04-05 11:40:25 -04:00
Sean Dague 0486a3659e use project_id instead of TENANT_ID in neutron internal functions
This converts the create initial network to using project_id instead
of TENANT_ID.

Change-Id: Idf09b629cd13d842fceed5609b42fd1593552953
2016-04-05 11:40:25 -04:00
Sean Dague bd27cc2e67 switch over nova to using $(project_id) in service catalog
This makes one less place we reference tenant_id

Change-Id: I53dfeb4d23a9babf7bb46fd3736b4ac005e45993
2016-04-05 11:40:25 -04:00
Jenkins be11ae7abc Merge "Switch over swift to using $(project_id) in service catalog" 2016-04-05 15:35:32 +00:00
Matt Riedemann 2bebf2d8d8 Skip rescue tests for cells v1
The rescue tests in Tempest don't work with cells v1 so
let's skip them.

Change-Id: I234f778c9d264ee2e5fe6050ca6b33283be464f7
2016-04-05 10:34:42 -04:00
Dan Smith 4b205db45b Create default flavors in nova
This makes devstack create default flavors in nova, like cinder, now
that nova no longer hard-codes them into its database.

The flavors created here match the legacy default flavors that nova
kept for so long, and also creates a new devstack-namespaces set of
flavors which are likely more useful for people.

Change-Id: Ic275887e97221d9ce5ce6f12cdcfb5ac94e300b0
2016-04-05 12:50:04 +00:00
Jenkins a4740fb228 Merge "switch over heat to using $(project_id) in service catalog" 2016-04-05 12:11:44 +00:00
Jenkins 5d18dbc34a Merge "change cinder SC to use $(project_id)" 2016-04-05 12:11:34 +00:00
Jenkins b6590be7cb Merge "change internal variables from tenant_id -> project_id" 2016-04-05 12:07:08 +00:00
Sean Dague 260583e25e Switch over swift to using $(project_id) in service catalog
This removes one more place where we use tenant_id in our code.

Change-Id: I628fb7c1dd6f22ce499fc5cbe97b79458cce966f
2016-04-05 11:58:21 +00:00
fumihiko kakuma 2bd2568bd1 Fix a typo in comment for _get_ofp_version
OpenFlow11 -> OpenFlow10

Change-Id: I2a501ccd32f5f7a39fd4bc746f00ca3f67bd98c1
2016-04-05 10:51:14 +09:00
Jenkins ceb63203b2 Merge "In worlddump, cover all supported version of OpenFlow protocol by ovs-ofctl" 2016-04-04 23:48:21 +00:00
Jenkins 0b5d81e4d5 Merge "Plugin autogen list: put plugin names in the plugin names column" 2016-04-04 23:47:57 +00:00
Sean McGinnis 2a9a9df942 Remove driver certs directory
Cinder was the only project with a script in driver_certs. That cert is
no longer required for Cinder as we now just require that third party CI
is run for all drivers before acceptance.

This removes the cinder cert test script and the now empty driver_certs
directory.

Change-Id: I8d0867c4720f324b8dbf3c64ddf66ff267996d10
2016-04-04 14:03:07 -05:00
Jenkins 5266ef7db7 Merge "Add kafka-devstack-plugin to plugin-registry.rst" 2016-04-04 16:28:41 +00:00
Jenkins 852c8423a1 Merge "Drop keystone eventlet support" 2016-04-04 16:27:55 +00:00
Sean Dague cbdc5d9e48 switch over heat to using $(project_id) in service catalog
This removes one more place where we reference tenant_id

Change-Id: I721269c3397bd5e5d9cea5faf3fc691f296a517b
2016-04-04 09:10:44 -04:00
Sean Dague ab0a1b8812 change cinder SC to use $(project_id)
This removes another place where we reference tenant_id

Change-Id: I88fa1c5475105c301b27672b028bddb289f9c108
2016-04-04 09:09:27 -04:00
Sean Dague 76392b5b44 change internal variables from tenant_id -> project_id
As part of the "reduce confusion on tenant_id" we need to change as
many references as possible over to project_id.

Change-Id: Ia665312f24672b106e12fde93b60f142620c3a45
2016-04-04 09:07:08 -04:00
Clint Adams 930bc437af Plugin autogen list: put plugin names in the plugin names column
Change-Id: I1f2c66fa1bf8fd73ee6693d4919e33e3f14487c5
2016-04-02 15:11:45 -04:00
Komei Shimamura 1c7333c40e Add kafka-devstack-plugin to plugin-registry.rst
kafka-devstack-plugin is available now:

  Iceb054f0dfab2fff1920cc7dc36a4be256c6f161

Change-Id: I518bd079296a110a018f77b9b107883f3933e38a
2016-04-03 01:10:46 +09:00
Jenkins 0961061849 Merge "lib/nova: Move 'novncproxy_host' to 'vnc' group" 2016-04-01 12:04:03 +00:00
Jenkins 7c5ccab04f Merge "Cleanup from zookeeper->dlm change" 2016-04-01 03:28:56 +00:00
fumihiko kakuma 6099401e00 In worlddump, cover all supported version of OpenFlow protocol by ovs-ofctl
Currently ovs-ofctl command is executed for only default ofp version
(OpenFlow10).
Some Neutron's plugin uses OpenFlow13 and in that case ovs-ofctl fails.
This chage allows us to get ovs info for all ofp versions supported by ovs.
And adds dump by dump-ports and dump-ports-desc.

Change-Id: I2d3c42835a5ad0f5ebf540e8127762f466347c9c
2016-04-01 12:21:29 +09:00
Jenkins 8ab8f1ca45 Merge "Plugin autogen list: handle variable-width plugin names" 2016-04-01 01:55:56 +00:00
Jenkins daa2d34e14 Merge "cinder.conf: Set privsep_osbrick.helper_command" 2016-04-01 01:37:30 +00:00
Jenkins 3b9e843f71 Merge "nova.conf: Set privsep_osbrick.helper_command" 2016-04-01 01:37:23 +00:00
Jenkins dc572bf10a Merge "Tox: don't check localrc with bashate" 2016-04-01 01:37:16 +00:00
Jenkins 5df5bd602b Merge "Neutron: MTU settings are now sane, so remove from DevStack" 2016-04-01 01:23:04 +00:00
Jenkins 7124b21fcb Merge "Add total timings" 2016-04-01 01:20:10 +00:00
Jenkins 06be15aebb Merge "run tgt-admin --delete only if input not empty" 2016-03-31 23:12:26 +00:00
Sean M. Collins 087ed52cb5 Neutron: MTU settings are now sane, so remove from DevStack
Neutron had a lot of work done during the Mitaka cycle to fix MTU
issues, so let's see if Neutron can stand on its own.

This commit reverts 06cfce3756

Neutron patches:
I6ffc8973c9b8f46cc19922ff04fdd2d23646b878
I4096a3e7704032fa4aa5c3aa8bcaec4e38d0d06d
I6a10c4dfc1f2198667f3d02528e2ca8020cb5bb8
Ic091fa78dfd133179c71cbc847bf955a06cb248a
Idf6221fee2c7da86123b330ad3c235ecc6868242
I6859ebdde1f7e3a8163b49d705620e522ada606a

Change-Id: Ie88c7ebb29adadde530217c95e2f38aacb119dc8
2016-03-31 18:28:20 +00:00
Jenkins 351272a519 Merge "Correct openrc script for zsh" 2016-03-31 15:57:34 +00:00
Davanum Srinivas 7a9d78a59e Cleanup from zookeeper->dlm change
In I33525e2b83a4497a57ec95f62880e0308c88b34f, we switched
from zookeeper to dlm. Somehow this got left behind.

Change-Id: I41d13d33c9a81271d4a9752cbe98c0028a17ab1e
2016-03-31 09:54:46 -04:00
Ethan Lynn e256174d9a Correct openrc script for zsh
Since commit 7580a0c3e3, openrc
print a WARNING message to stdout, it will break the zsh script
in faq.rst. This patch redirect openrc output to /dev/null.

Change-Id: Iaba03634d7a234cd4d120477f91ef56d0595cdf6
Closes-Bug: #1563940
2016-03-31 20:58:19 +08:00
Jenkins 677e14a4d1 Merge "Add OS_CACERT to userrc_early and ensure SERVICE_HOST is SAN" 2016-03-30 23:40:13 +00:00
Jenkins 22498c19f6 Merge "install_pip.sh: Remove stale comments" 2016-03-30 23:40:06 +00:00
Jenkins a1f3be8036 Merge "Tip for single interface runs that are started remotely" 2016-03-30 23:39:50 +00:00
Jenkins 5c775831b3 Merge "Move auth setup earlier in tempest config" 2016-03-30 23:39:43 +00:00
Jenkins 8d0fb5d41c Merge "Remove Ceilometer leftover" 2016-03-30 22:44:00 +00:00
Ian Wienand 908a3a9523 Add total timings
Printing the total makes it easier to compare runs at a glance.  Clean
up the output a little, and use some consistent, name-spaced globals
while we're there.

Note the total runtime is at the top to avoid giving the impression
that it is the sum of the components below, since you can nest/overlap
timers (I made that mistake in a prior change :).  It might be a fun
exercise in tree building to one day track the overlaps and present a
nice nested breakdown.

Change-Id: I878ce03813d21138df493b82bceff3aaa7f83064
2016-03-30 19:49:13 +00:00
Jenkins 995c83ef96 Merge "Run online_data_migrations during nova setup" 2016-03-30 18:51:21 +00:00
Julien Danjou de40d9234b Remove Ceilometer leftover
Ceilometer uses a devstack plugin for a while now, so there should not
be any need for this file in the main devstack repository.

Change-Id: I3577c52b106c63c465a40ea3740eb5b8384e900e
2016-03-30 12:45:30 +02:00
Jenkins e41a716ff0 Merge "Remove libnspr4-dev for ceilometer-collector" 2016-03-29 20:18:34 +00:00
Dan Smith bb49d35739 Run online_data_migrations during nova setup
This is a normal step in the process for upgrade and is now
required for migration of flavors from the main DB to the API DB.
Since we previously made a bad decision to encode those flavors into
the first database migration, that means that even on new installs we
need to run these.

Deployment tools are going to be running this command any time they
do anything to the database post-deployment, which means adding this
to devstack is putting it in line with what normal deployments will
be doing.

Change-Id: I8ab03af9d2f4974f26a7f8487ec978caea957e45
2016-03-29 10:46:42 -07:00
Jenkins cfaa03dbc9 Merge "Check for valid network before probe-create call" 2016-03-29 14:57:21 +00:00
Andreas Jaeger 70dcc17592 Remove libnspr4-dev for ceilometer-collector
Since change Ie38deadf190db33863c99d4610157349484ac10f ceilometer does
not use spidermonkey which needed libnspr4-dev to be installed. Thus the
requirement can be removed now.

Change-Id: Ib0685181f1cc4c9b58411a1679ac9dec1812f683
2016-03-28 18:40:05 +02:00
Rob Crittenden be00e95da5 Add OS_CACERT to userrc_early and ensure SERVICE_HOST is SAN
OS_CACERT was being added directly to the environment rather
than usercc_early. This caused an untrusted CA error to be
thrown.

Ensure that SERVICE_HOST is in the Subject Alt. Names of the
issued TLS server cert. The gate sets it to 127.0.0.1 which
wasn't being handled. Only the FQDN of the host and actual
IP address of the machine were being added.

Change-Id: I8a91dffe1a5263d2bcc99ea406a8556045b52be2
2016-03-28 10:00:52 -04:00
Thomas Bechtold fb94891b80 Use configure_auth_token_middleware for neutron
auch configuration in the nova section in neutron.conf was
still setup manually. Just reuse the function
configure_auth_token_middleware() for configuration to simplify
the code.

Change-Id: Ib5a7e9212e2d1242bdbec75cf3fac13d5c42a2e2
2016-03-27 08:59:42 +02:00
Matthew Treinish 0948ab90ae Move auth setup earlier in tempest config
This commit moves the auth setup for tempest config to occur before
we run tempest verify-config. The API requests that command runs
require auth and in the case we run tempest without admin creds set
the config file will not have any credentials to run the query with.
By moving the auth setup to occur before this it will ensure tempest
is always configured with credentials before we run the command.

Change-Id: I6d11b24e4492f1fde3aa3a7a239c40d63111bfa1
2016-03-25 19:39:43 -04:00
Sean Dague 8b416ae821 run swift blocks if any services are enabled
Previously the swift blocks only ran if s-proxy is enabled, which
prevents a multinode configuration. We should run these blocks if any
swift services are enabled, and push proxy specific conditionals one
step lower.

Change-Id: I540a97615b3c19f882c8673b1a4a29cd47e36aa8
2016-03-25 08:58:54 -04:00
Brant Knudson 556eeb0d35 Drop keystone eventlet support
Keystone has dropped support for running under eventlet (using
keystone-all).

Change-Id: Ib38c0b1a54633a6b6dfa3a0a605cd2b02ca48989
2016-03-24 14:01:57 -05:00
Jenkins 74d82d9343 Merge "Normalize path for upper-constraints" 2016-03-24 15:34:24 +00:00
Jenkins 9de2549b42 Merge "Configure the admin as admin" 2016-03-24 15:26:33 +00:00
Jenkins 547c393b93 Merge "Allow install os-vif library used by Nova" 2016-03-24 15:22:31 +00:00
Jenkins 22314596af Merge "Add colorful PS4" 2016-03-24 13:47:12 +00:00
Waldemar Znoinski 84d2298d3b Tox: don't check localrc with bashate
Change-Id: I9fc5f9f106184c92e555e25ab09883cbed054ca4
Closes-Bug: #1561500
2016-03-24 12:27:53 +00:00
Doug Wiegley 130c3adb0e WIP - Remove lbaas from devstack proper
Lbaas devstack support is now in the neutron-lbaas repo, so we can move
towards removing it here. This will explode hard, but let's start peeling
the onion.

This can't merge until p-c no longer references lbaas jobs.

Change-Id: I1c49877bab53f6b25385302420086b25e3eeeebf
2016-03-23 19:21:45 -06:00
Jenkins 11b111fd7a Merge "Add dependency for hexdump" 2016-03-23 23:06:37 +00:00
Jenkins cd6f79b509 Merge "Ignore vmdk files as well as other image types" 2016-03-23 20:42:07 +00:00
Attila Fazekas 9ea497539b Configure the admin as admin
Make our usual admin user to be a real admin,
and open the way for improving the per project
policy.json files.

Change-Id: I133a5953d209bc1edbd03ecfae750f77e3eaa64d
Related-Change: https://review.openstack.org/#/c/242232
2016-03-23 19:03:14 +01:00
Sean Dague 646085d701 Add colorful PS4
PS4 can include functions, so when running in the LOG_COLORS=True mode
provide a grey function line so that it's easier to visually
distinguish the content from the location.

Also make it so the main prompt chunks off all the common path, which
means we can printf to 40 characters and have a pretty reasonable and
readable PS4.

Change-Id: I4a10a49db97d413349bcfceeb8c4164936fbcc40
2016-03-23 07:37:44 -04:00
Brad Behle 629917a5dd Check for valid network before probe-create call
Check that a public and/or private network exists before calling
probe-create for it, to avoid an error in the case where that
network hasn't been created

Change-Id: If01cec47dc4ab02b5d78074b1354df10dc23b384
Closes-bug: #1560629
2016-03-22 14:32:14 -05:00
YAMAMOTO Takashi c8c1c615f2 Normalize path for upper-constraints
It seems pip distinguishes paths with .. or extra / for constraints.
For example, the following directories are considered different.

    /path/to/dir
    /path/to//dir
    /path/to/dir/subdir/..

This commit tries to normalize the given directory name to avoid
"Could not satisfy constraints for 'xxxx': installation from path
or url cannot be constrained to a version" error due to directory
name mismatch.

Reference: https://github.com/pypa/pip/pull/3582
Closes-Bug: #1542545
Change-Id: Iae9d58c27d3b10bca16e4a471507c4d5c16439a0
2016-03-22 21:23:23 +09:00
Mark Vanderwiel d99c29032b Add dependency for hexdump
hexdump is used in common function generate_hex_string which is
used by nova and heat.  The current general dependencies do not
have this dependency covered, instead it is usually pulled in by
other implicit dependencies when a full devstack is built. In
cases where only a subset is built (like just Heat and keystone)
hexdump is missing.

Added unit tests for the generate_hex_string function.

Depends-On: Ib47d802a31a0f4c2a49daa7e6698e37c70a2365a
Change-Id: I77c8c2019fb8b8174cdfaed3e56ebf728f0732b7
Closes-Bug: #1558672
2016-03-22 09:34:04 +11:00
Sergey Belous 1258da6408 Allow install os-vif library used by Nova
In future Nova will use os-vif library for some communication with Neutron.
This patch add ability to install os-vif library that requires for run
tempest-jobs for new patches, that used os-vif.

Change-Id: I28e48afd3c740b1aa50c994d99f660f095e7deda
2016-03-21 12:40:50 +03:00
Ian Wienand c10989bf18 Plugin autogen list: handle variable-width plugin names
We've had a couple of cases where plugin names are longer than our
table width.

Take the fixed-with table-header out of the header file, and generate
it dynamically based on first-column width.  To simplify, take
advantage that RST allows a variable-length last column and so don't
specify it's width.

Add a link to the cgit URL for each project you can click on to browse
the source (link text remains the git:// URL).

Add some logging so you can see what the python generator is doing,
should you run it.

Change-Id: I5d5e692039bbb30b2508119412472dac1d105c08
2016-03-21 13:11:41 +11:00
Jenkins 0a2a7ae847 Merge "Updated deprecated keystone_authtoken option" 2016-03-18 20:24:03 +00:00
Jenkins 467dbf7703 Merge "Fix RHEL7 vendor detection" 2016-03-18 20:23:53 +00:00
Jenkins a4d67cd033 Merge "yum_install_package: fix errexit and retry" 2016-03-18 20:22:59 +00:00
YAMAMOTO Takashi 7c98cfb56e install_pip.sh: Remove stale comments
Change-Id: Id91c8e579977bedae1410095d9b4cef9d9ae2178
2016-03-18 21:24:46 +09:00
Jenkins 1dd875d48e Merge "logging: don't set logging format strings for keystone" 2016-03-17 22:29:44 +00:00
Jenkins cafa163e8a Merge "Remove n-crt from default services" 2016-03-17 18:03:07 +00:00
Jenkins 320f0d79a5 Merge "Remove EC2 API from devstack" 2016-03-17 18:01:59 +00:00
Ihar Hrachyshka 198887e890 logging: don't set logging format strings for keystone
Don't override those format strings since the overridden
values are identical to those used by oslo.log by default [1].

logging_exception_prefix is still set since it changes the logging
format to use TRACE label for exceptions instead of default ERROR.

[1]: https://git.openstack.org/cgit/openstack/oslo.log/tree/oslo_log/_options.py?id=c47a91dbbb586c27d8521b1016bf7901c47b1c90#n110

Closes-Bug: #1433687
Change-Id: Ibd11cd6b0defb6dc709dbd3e718a49fd71cce6b6
2016-03-17 13:09:56 +01:00
Jenkins aeb1e4d4bb Merge "Change "secrete" to "secret"" 2016-03-17 07:19:56 +00:00
Balagopal 7ed812c6cd Change "secrete" to "secret"
Apparently this is intentional as a joke on devstack leaking
passwords, but the dual meaning of the word confuses people.  Let's
change it before we get yet another review fixing it.

Change-Id: I3bee03612f6ea197362aab04a37f81043f77f235
2016-03-17 14:53:03 +11:00
gordon chung f21b86fefb Install uuid-runtime on Ubuntu
It seems uuidgen doesn't exist by default on the new trusty nodes [1].
There are quite a few projects that use uuidgen [2] so we need to
ensure it's on the node.

On Trusty, this is provided by the uuid-runtime package.  Note that on
Centos & Fedora this is provided by util-linux which is already tehre.

[1] http://logs.openstack.org/75/292475/1/check/gate-telemetry-dsvm-integration-ceilometer/2e85d1f/logs/devstacklog.txt.gz#_2016-03-16_19_20_30_116
[2] http://codesearch.openstack.org/?q=uuidgen&i=nope&files=&repos=

Change-Id: I230836d8b644698473d0611931334c232cf00734
2016-03-17 14:26:48 +11:00
Jamie Lennox 4921d4dbb9 Use unversioned keystone endpoints
Insert the unversioned keystone URLs into the service catalog. Services
should be able to determine the correct URL for their work from this.

Depends-On: I931f0c558aafc8dfaa5519744c6e4e7fcffc3205
Change-Id: I6171f782a1dd397720a9b2a3393b30ae5aca0cc2
2016-03-17 12:39:49 +11:00
Jenkins f0f371951f Merge "Revert "Automate OVS bridge creation for multiple mappings"" 2016-03-16 16:05:44 +00:00
Dean Troyer d014002d03 Remove n-crt from default services
Depends-on: I8a07320b59ea6cd7d1fe8bce61af84b5a28fb39e
Change-Id: I3441317911c8e940ef038c79f97554c1c669e120
2016-03-16 08:43:14 -05:00
tengqm 78d3739dbe Fix RHEL7 vendor detection
When detecting os_VENDOR, the lsb_release output may be different
from what is expected today. This patch fixes the detection.

Change-Id: I850ad1acbc2397c73e7cc85c1765cba6ba2f98d4
2016-03-15 23:08:00 -04:00
Sean M. Collins 54d16f706a Revert "Automate OVS bridge creation for multiple mappings"
After reviewing I5b1d49be8d9e3e331826e30182fba70f099b5e7f and
I161a157895b4ed0c9ea5a7a00302e30f4ad75ed3 - I have come to the
determination that this really should be in a DevStack plugin.

If both of the patches under review were to merge, we would be blessed
with at least the following variables:

OVS_NICS_FROM_BRIDGES
OVS_NIC_MAPPINGS
OVS_BRIDGE_MAPPINGS
OVS_PHYSICAL_BRIDGE
PHYSICAL_NETWORK
PUBLIC_PHYSICAL_NETWORK

Which really is not good. Let's just push this into a plugin, I don't
want to deal with it.

This reverts commit 3095ff5132.

Change-Id: I746022f5db93d3333101a014692fbdcd790a0004
2016-03-15 15:24:53 -04:00
OpenStack Proposal Bot 04ed38b5d7 Updated from generate-devstack-plugins-list
Change-Id: I40f4ce322028698011931f3b72fc39e95e6813b0
2016-03-15 06:26:37 +00:00
Ian Wienand 3bf69e835a Remove EC2 API from devstack
This all started with an investigation into Fedora's use of ecua2ools
package.  This package is a bit of a nightmare because it pulls in a
lot of other system-python packages.

For Ubuntu, this package was removed in
I47b7e787771683c2fc4404e586f11c1a19aac15c.  However, it is not
actually a "pure python" package as described in that change, in that
it is not installable from pypi.  I can't see how you could actually
run exercises/euca.sh on Ubuntu unless you installed euca2ools by hand
-- ergo I suggest it is totally unused, because nobody seems to have
reported problems.

In the mean time, ec2 api has moved to a plugin [1] anyway where the
recommendation in their README is to use the aws cli from amazon.

Thus remove all the parts related to EC2 and ecua2ools from base
devstack.

[1] https://git.openstack.org/cgit/openstack/ec2-api

Change-Id: I8a07320b59ea6cd7d1fe8bce61af84b5a28fb39e
2016-03-15 13:32:23 +11:00
Jenkins 428f86e84f Merge "uwsgi keystone under master process" 2016-03-15 01:01:16 +00:00
Jenkins c47340efb7 Merge "Cleanup duplication in keystone uwsgi options" 2016-03-15 01:01:08 +00:00
Jenkins 44177fabc3 Merge "Update gitignore for docs" 2016-03-15 01:01:00 +00:00
Jenkins 4b56bc3507 Merge "Use extended keystone-manage bootstrap parameters" 2016-03-14 21:03:08 +00:00
Brant Knudson 9f5e7ba100 Update gitignore for docs
These files are created when generating docs and should not be
checked in.

Change-Id: I1dc4ca05ab522237328f79f3a855750b8202f5da
2016-03-14 14:54:47 -05:00
Brant Knudson 4abcfaa86e uwsgi keystone under master process
Normally a standalone uwsgi server would run in "master" mode -- it
handles signals to reload the processes. I tried this originally
with keystone but found that the server didn't shut down when
unstacking. The reason it didn't shut down is because (by default)
uwsgi does a reload on SIGTERM & SIGHUP rather than shutting down by
default, see [1].

Setting "die-on-term = true" & "exit-on-reload = true" changes the
uwsgi server to shut down when unstacking.

[1] http://uwsgi-docs.readthedocs.org/en/latest/Management.html#reloading-the-server

Change-Id: I145fef185d4a31078295941779e175b7452a5760
2016-03-14 14:38:55 -05:00
Brant Knudson 0d38e2d5d8 Cleanup duplication in keystone uwsgi options
There was a lot of duplication in the uwsgi options between the
admin and public config files. The options common to both are
moved into their own section.

Change-Id: I5519c7d4d8b8446a7a5fdb8033852655d8a2c67b
2016-03-14 14:38:55 -05:00
Jenkins 082399ef18 Merge "Remove rejoin-stack.sh" 2016-03-14 18:55:23 +00:00
Jenkins 3bee719ece Merge "remove the keystone bash completion install step" 2016-03-14 18:33:36 +00:00
OpenStack Proposal Bot 1df1e18da2 Updated from generate-devstack-plugins-list
Change-Id: Ic4f4015eb9446c62b793897fced7b5721427f09a
2016-03-12 06:24:11 +00:00
Steve Martinelli 84f6c0fa68 remove the keystone bash completion install step
keytone has removed it's CLI and will release a new version
when Newton begins. As part of the removal process we also
need to remove the bash completion script, which is currently
failing devstack gates.

Change-Id: I132b862bde5b4173bf34beae12a7a882f5a96314
2016-03-11 22:39:12 -05:00
Jenkins 3ccb79ecea Merge "Set the Swift max_file_size to 1/2 the loopback" 2016-03-11 20:31:24 +00:00
Jenkins fa3cc77aee Merge "Use "command -v" instead of "which" to find path" 2016-03-11 00:55:25 +00:00
Jenkins 73af0de40c Merge "Ignore errors when uninstalling a pkg with zypper" 2016-03-11 00:55:17 +00:00
Jenkins b57ec243c9 Merge "Also detected failed packages in dnf/yum wrapper" 2016-03-11 00:55:08 +00:00
Jenkins b08914ade7 Merge "Neutron guide: Add missing newline for code block" 2016-03-10 23:14:27 +00:00
Dean Troyer 9ba49cd826 Remove rejoin-stack.sh
This command has never completely worked to restart DevStack.
It periodically prompts attempts to work around this brokenness
in ways that harm other functions.  Let's finally remove it.

Requiring a complete re-run of DevStack after a reboot has always
been intentional.

TODO: follow-up cleaning all of the screen hackage if this merges.

Change-Id: I2f61bb69cc110468a91dcaa4ee7653ede7048467
2016-03-10 15:48:13 -06:00
Sean M. Collins 6b1f49910e Tip for single interface runs that are started remotely
Change-Id: I6e2870b5c409dd81a34cd9934f540d9558642f91
2016-03-10 13:19:05 -05:00
Jenkins 0aea130107 Merge "Updated from generate-devstack-plugins-list" 2016-03-10 16:58:38 +00:00
Jenkins ca5104b0b1 Merge "Add some notes on trove image" 2016-03-10 15:11:45 +00:00
Jenkins f3e9ad5845 Merge "Remove check for OVS_VERSION < 1.4" 2016-03-10 15:05:11 +00:00
Jenkins 72bd9c81f5 Merge "Ironic: Set DEFAULT_IMAGE_NAME to full disk image for agent" 2016-03-10 15:04:16 +00:00
OpenStack Proposal Bot 5c417a0133 Updated from generate-devstack-plugins-list
Change-Id: I683b8208aedc71ce63012e470b2afbdef8856308
2016-03-10 06:27:24 +00:00
Jenkins 46b437a325 Merge "Update bashate to 0.5.0" 2016-03-09 23:31:40 +00:00
Jenkins 457fa90931 Merge "Don't abort devstack plugins proposal job due to absence of header/footer" 2016-03-09 23:30:38 +00:00
Waldemar Znoinski 084efc7158 run tgt-admin --delete only if input not empty
This change provides better handling of tgtadm --op show
output as input of tgt-admin --delete command. In situation
where no output of the first command is present no tgt-admin
command is run.

Change-Id: Ief5e1d50dd679f4d47cffef29ff07e54cc37f80a
Closes-bug: 1554997
2016-03-09 20:21:53 +00:00
Sean M. Collins f0e5d23043 Neutron guide: Add missing newline for code block
Change-Id: I4eb5ec05d9db525158d47c7b16bef04fb3965f1a
2016-03-09 13:02:25 -05:00
Sean M. Collins d1ee4cfdf9 Remove check for OVS_VERSION < 1.4
1.4 was released in 2012. I think we can assume everyone is running
something newer.

http://openvswitch.org/releases/NEWS-1.4.0

Change-Id: I3cfe99d2647800ae3ffb32c9e6749d03224c2967
2016-03-08 15:25:16 -05:00
Ronald Bradford 8ff298a871 Updated deprecated keystone_authtoken option
* memcache_servers is a deprecated name for memcached_servers.
  See: keystonemiddleware/auth_token/__init__.py#n287

NOTE: memcache_serves in the cache section is valid option for
    oslo.cache.  See oslo_cache/_opts.py#n65

Depends-on: Id65f1bff8e38c777fa406d88ac6a2355d6033d94
Change-Id: I3e1230b139e710a0433e71ce118ca246d7c6a0e6
2016-03-08 18:59:44 +00:00
Sean Dague 6fff3cc035 Fix sorting on LC_ALL=C platforms
We made assumptions on the platform for sorting purposes, which turned
out to break with new images being deployed. Explicitly setting LC_ALL
should make this work.

Change-Id: Id65f1bff8e38c777fa406d88ac6a2355d6033d94
2016-03-08 12:00:15 -05:00
Clint Adams f3b6feb712 Don't abort devstack plugins proposal job due to absence of header/footer
Not having a header or footer should not be a fatal error
especially now that we have removed the footer entirely.

Change-Id: Ibbf3e513b8faa016dc2dac8d11ab4f499b3fc51c
2016-03-08 10:59:24 -05:00
Jamie Lennox 32bf2c4f6f Use extended keystone-manage bootstrap parameters
Use the additional keystone-manage parameters to setup the identity
endpoint in the service catalog rather than manually fetching a token
for this.

Change-Id: I6f5be1df205dee8f3251b4eb413e00ae64f00f07
2016-03-07 20:49:13 -06:00
Matthew Oliver 7b85723c04 Set the Swift max_file_size to 1/2 the loopback
Currently Devstack (and devstack gate) uses the default
max_file_size of for Swift (5GB). However the loopback file
is only 1 or 2 GB is size.

We are looking at setting a default FALLOCATE_RESERVE in swift
https://review.openstack.org/#/c/288011.
Because of this our max file size test fails due to the max_file_size
and devstacks loopback size being too small.

This patch sets this to a more sane size by default inside DevStack.
See the gerrit link above for more details.

Tempest uses a loopback of 6GB, so in this case the swift default of 5GB
should be fine.

Change-Id: If09eab7d16ae67bd252020e00e8812ff252f065b
2016-03-08 12:04:15 +11:00
Tracy Jones a440bf8629 Ignore vmdk files as well as other image types
Change-Id: I012b21181f1e54a1e4a3707b0fdf8c0afa6222c2
2016-03-07 10:50:32 -08:00
Jenkins 03cf3ce902 Merge "Use new use_neutron variable" 2016-03-07 18:18:21 +00:00
Jenkins 61ba1b3353 Merge "Add some notes on DISTRO setting" 2016-03-07 14:30:31 +00:00
Jenkins e15b07265d Merge "Disable nova calls from tempest when heat is enabled" 2016-03-07 14:30:22 +00:00
Jenkins a53f01e188 Merge "worlddump: log command failure details" 2016-03-07 14:30:12 +00:00
Jenkins 7f75348d67 Merge "Add error handling for euch.sh volume creation" 2016-03-07 14:30:02 +00:00
Jenkins 7f81e5ae9b Merge "Add pg_createcluster creating process for psql version after 9.3" 2016-03-07 14:29:53 +00:00
Jenkins c72f8d318f Merge "Introduce Virtuozzo distribution" 2016-03-07 14:09:03 +00:00
Ian Wienand c709d50afe Update bashate to 0.5.0
Update bashate to 0.5.0 release.  We got things ready for this with
I3fd5d55236e90c2f2c25243af87adaf0c1b763e2.

I'm not sure what I was thinking in
I9e4b1c0dc9e0f709d8e76f9c9bf1c9478b2605ed when I added ".orig" files
to the list of files to check.  Ignore diff/merge files.

Change-Id: I8bb0c8b39972abb775b4e5556e79d2e17005bc8c
2016-03-07 14:05:48 +11:00
Jenkins 3fc4472be4 Merge "Updated from generate-devstack-plugins-list" 2016-03-07 02:05:08 +00:00
Jenkins 4fcb7b60a7 Merge "Update account generator calls with correct password" 2016-03-07 01:03:39 +00:00
Ian Wienand c21194875e Add some notes on trove image
The trove image is one of the larger ones we cache, and after
double-checking it is still used as part of the
gate-tempest-dsvm-trove tests (although integration tests seem use
their own dib-built version)

Add some notes to clarify the situation with this image.

Change-Id: I2319dd5811d6bd215d1e8778eca5b4c9399f0efb
2016-03-07 10:25:41 +11:00
Clint Adams 4b186badaa Remove devstack plugins proposal job footer
Aside from notes, the content of the footer is entirely redundant
with the detected plugins list, so let's remove it.

Change-Id: I346b59705c5b0716a18087f6800f568fb1f4c9a8
2016-03-04 15:41:28 -05:00
Sean Dague f21cc1fd96 Use new use_neutron variable
This uses the new use_neutron variable instead of the crazy class
path. This helps us test the use of this in our jobs.

Change-Id: Ic6d0cc4b7a0df6b3f5336ee58886f7edff26e846
Depends-On: I1c2eb51d10ba6370492a911f59370b9870646a38
2016-03-04 13:51:25 -05:00
Matthew Treinish 6cf412bb7e Update account generator calls with correct password
Change I380dd20e5ed716a0bdf92aa02c3730359b8136e4 updated the tempest
configuration to stop creating a bunch of globals. But as part of
that refactor it started using $admin_password as the password
argument for tempest-account generator, which is never defined.
This commit rectifies the situation by using the correct variable
$password.

Change-Id: Ieeed58751e5784020e04bcc2911ac74791662110
2016-03-04 10:36:10 -05:00
Thomas Bechtold c15d59157c Ignore errors when uninstalling a pkg with zypper
I.e. when trying to uninstall python-pip and it's not installed,
don't exit.

Change-Id: I21ac715a0090ad01811af47f23c61823dfa65629
2016-03-04 16:06:24 +01:00
Thomas Bechtold dab3901d9a Use "command -v" instead of "which" to find path
If /usr/bin/which is not available, the current code
doesn't detect i.e. /usr/bin/zypper . Using "command -v" solved
the problem.

Change-Id: I1c281c3184d69cd9dc2418295b6a392d8e5693e0
2016-03-04 09:14:04 +01:00
OpenStack Proposal Bot 96d895d871 Updated from generate-devstack-plugins-list
Change-Id: I01587633625087d190e879c88c53730efa01cd16
2016-03-04 06:26:51 +00:00
Jenkins 147a3647fe Merge "Increase Plugin Name column width by 10 in devstack plugins list" 2016-03-04 01:58:49 +00:00
Jenkins ba71f0ead7 Merge "Fix is_suse() check for openSUSE distros" 2016-03-04 01:48:10 +00:00
Jenkins b4758cb5ff Merge "Fix lsb installation for SUSE" 2016-03-04 01:35:55 +00:00
twm2016 5fe81c50a2 Add error handling for euch.sh volume creation
Error handling for volume creation calls die with the appropriate
 message.

Change-Id: Ib095992384edf895aaf78cb4115702d6a0675a3f
Closes-Bug: #1206180
2016-03-03 09:12:20 -06:00
Evgeny Antyshev 718512c4d2 Introduce Virtuozzo distribution
Virtuozzo is a RHEL-based distribution serving as a platform OS
to host proprietary container virtualization
(formerly, Parallels Cloud Server).

We moved away from CloudLinux distribution, which has actually
no support in Devstack (no such clause in is_fedora).
As it was us who introduced CloudLinux, by this patch
we replace it with Virtuozzo distribution.

More info on Virtuozzo company here: http://virtuozzo.com

Change-Id: Ib8a77e4611ebc05bc0aa50bb83ab79c412e21c74
2016-03-03 14:56:59 +00:00
Ihar Hrachyshka 7976aacdf6 worlddump: log command failure details
If a command we trigger fails for some reason, it's worth logging
details about the failure (like return code).

Change-Id: Ib19aa474eccdd11e138a4f55e125935b621bca05
2016-03-03 15:31:43 +01:00
Jenkins cd6e23faba Merge "Add Glance Artifact API in devstack installation" 2016-03-03 11:20:15 +00:00
Lucas Alvares Gomes f85a7e90f0 Ironic: Set DEFAULT_IMAGE_NAME to full disk image for agent
The agent_* drivers in Ironic are not yet capable of deploying partition
images. The code in DevStack was aware of that but it was looking at the
agent_ssh driver specifically.

This patch is fixing this assumption and extending that conditional for
all agent drivers.

Change-Id: I416faa9ef6fba9621cd664d5a0747b1e80e281d1
2016-03-03 10:33:17 +00:00
Thomas Bechtold 899dfeef46 Fix lsb installation for SUSE
zypper has a "-n" (non-interactive) switch. "-y" is not known
as a global option.

Change-Id: I6537529e91c12c5f0d15a9faa2cca8aedaf7d956
2016-03-03 11:27:53 +01:00
Yalei Wang 174986db21 Add pg_createcluster creating process for psql version after 9.3
postgresql 9.3 don't create /etc/postgresql and related conf file by
default. So we need start the pg_createcluster in devstack if has not
started after package installed.

Change-Id: I2b348658d79b23b5f21871b33d8023499b2fb956
Close-bug: #1552051
2016-03-03 04:08:01 +00:00
Ralf Haferkamp 37dddb73fd Fix is_suse() check for openSUSE distros
We need to do a substring match on the vendor here. As most releases return
"openSUSE project" for the vendor.

Change-Id: Ia05db8d93b5e3f42cb6a9c8d77616ca9f7c32039
2016-03-02 15:34:06 +01:00
Jenkins 925e2d9ded Merge "Add note about the periodic proposal job to the header" 2016-03-02 05:56:37 +00:00
Jenkins effcfd6983 Merge "Disable tempest tox venv recreation in OFFLINE mode" 2016-03-02 05:55:28 +00:00
Clint Adams bb40df5714 Increase Plugin Name column width by 10 in devstack plugins list
Change-Id: I62b1dca87ca8df4335a062caaf5e6a3e76e9101a
2016-03-01 18:12:48 -05:00
Clint Adams 304f4ce87c Add note about the periodic proposal job to the header
Now that the devstack pluging periodic proposal job is in place,
add a note to the header to try to head off confusion.

Change-Id: I1c740ff768f831548970142a8bd024abe1763fdf
2016-03-01 18:42:44 +00:00
Mathieu Rohon 0c985c8627 Disable nova calls from tempest when heat is enabled
This patch ensures that lib/tempest doesn't call nova when heat is
enabled and nova is disabled.

Change-Id: I2debbae1bb82ecace1058e99ab172272393fb5ea
Closes-bug: #1549708
2016-03-01 09:04:42 +00:00
Ian Wienand 1b1cc8c1d4 yum_install_package: fix errexit and retry
Since I93e9f312a94aeb086925e069a83ec1d3d3419423 yum_install isn't safe
under errexit.  This means it really only works when called by
tools/install_prereqs.sh because for some reason, we don't set that
there.

However, there is a problem with the retry logic when detecting failed
installs.  A failed package install should stop further progress, but
with the current retry logic it just goes ahead and retries the
installation, which then incorrectly passes.  You can see this
happening in a test like [1].

In our detection scripts, make a failed package or missing packages
exit with error-code 2, and "die" when we see this to correctly stop.

[1] http://logs.openstack.org/81/285881/1/check/gate-tempest-dsvm-platform-fedora23-nv/a83be30/logs/devstacklog.txt.gz

Change-Id: I4ea5515fa8e82a66aefa3ec3a48b823b645274f7
2016-03-01 13:14:39 +11:00
Jenkins a9bc5cb60e Merge "Place the generated list in the correct location for the proposal job" 2016-02-29 20:00:22 +00:00
Jenkins efcf3b5fe8 Merge "Remove filesystem-based code path" 2016-02-29 19:55:17 +00:00
Jacek Tomasiak 3ded0dbba5 Disable tempest tox venv recreation in OFFLINE mode
Setting OFFLINE=True in local.conf should enable stack.sh to run multiple
times without an internet connection. This was broken for some cases
when recreation of tox venv for tempest was forced in lib/tempest.

This change makes recreation of tox venv enabled only when OFFLINE mode is
disabled.

Change-Id: I2bf6caf60038a3690378eead905b35e9175ac356
Closes-Bug: #1550537
2016-02-29 20:52:09 +01:00
Alexey Galkin b65cf0aae4 Add Glance Artifact API in devstack installation
Since EXPERIMENTAL Glance v3 API has been removed in favor of
standalone API implementation was added we need to add some
changes in devstack to support it.

Implements blueprint: move-v3-to-glare
Depends-On: I5b7bd4cdcc5f2a40fc4a5f74bcc422fd700c4fb0

Change-Id: Iced3c68010eb6bcd2a6a1ec8f1c6883f84cbe77f
2016-02-29 16:27:22 +03:00
Ian Wienand 3c60168532 Also detected failed packages in dnf/yum wrapper
As seen in [1]; dnf can output a "Failed:" section when installation
issues with a package are detected.  This does not, however, trigger
an exit failure code when running with "-y".  So add this to our
checking wrapper.

[1] http://logs.openstack.org/49/280449/1/check/gate-tempest-dsvm-platform-fedora23-nv/dc70ca8/logs/devstacklog.txt.gz#_2016-02-28_22_42_45_145

Change-Id: I12f7b3bc9e9cf5a97114082d3a634a42742843d5
2016-02-29 15:15:39 +11:00
Jenkins 92116ecd66 Merge "Remove lib/cinder_backends/solidfire" 2016-02-27 02:37:24 +00:00
Clint Adams e6f0d8cb40 Place the generated list in the correct location for the proposal job
If tools/generate-devstack-plugins-list.sh is invoked with a parameter,
as is the case with the proposal job, copy the generated list thither
so that git will actually generate a diff.

Change-Id: I874a521bba7f402f5c07e28d6ebb086e77873795
2016-02-26 08:25:32 -07:00
Clint Adams 8ce3faf4e7 Remove filesystem-based code path
This removes the fs-based git code path for detecting devstack plugins
as requested in I2c5c9282a8ad80014cad171a4dfbdc8f26044cd1

Change-Id: I6d1567c2545b866c433381d19587beb08c281c53
2016-02-26 08:18:13 -07:00
Jenkins 447af8f3f6 Merge "Generate plugins list through https requests" 2016-02-26 06:11:29 +00:00
Jenkins da859495b2 Merge "Use SCREEN_NAME variable instead of hardcode in unstack and rejoin scripts" 2016-02-26 01:20:12 +00:00
Nikolay Fedotov 7f66503de0 Use SCREEN_NAME variable instead of hardcode in unstack and rejoin scripts
Change-Id: I7382eccf96d14df223777cd43344d554b8452a77
2016-02-25 14:03:19 +00:00
Angus Lees 58467e2102 nova.conf: Set privsep_osbrick.helper_command
When os-brick starts using privsep, it will need to know how to invoke
its privileged half.  Amazingly the name of the rootwrap executable
isn't anywhere else in the config, so the privsep default uses just
"sudo" (no rootwrap).

We need to either:

1. set the privsep command line to use nova-rootwrap in nova.conf (and
   similar in other configs), or

2. add the privsep-helper line to sudoers and bypass rootwrap entirely.

This change implements (1) for devstack (nova only for now, cinder to
follow shortly).

Change-Id: I90dc41bc77993bd83b80c92286e015e14f290b45
2016-02-25 14:33:56 +11:00
Angus Lees 8a6d7678b5 cinder.conf: Set privsep_osbrick.helper_command
When os-brick starts using privsep, it will need to know how to invoke
its privileged half.  Amazingly the name of the rootwrap executable
isn't anywhere else in the config, so the privsep default uses just
"sudo" (no rootwrap).

We need to either:

1. set the privsep command line to use cinder-rootwrap in
   cinder.conf (and similar in other configs), or

2. add the privsep-helper line to sudoers and bypass rootwrap entirely.

This change implements (1) for devstack/cinder and is similar to the
corresponding nova change in I90dc41bc77993bd83b80c92286e015e14f290b45

Change-Id: I8a0b1728cc66c4861f69623b1b16b1f759b57b25
2016-02-25 14:33:11 +11:00
Jenkins b01a3c3baf Merge "Followup comment fix from alt_demo user creation" 2016-02-25 00:55:54 +00:00
Jenkins c6b5fe3c72 Merge "Skip ovs_ and ebtables_dump if needed commands not present" 2016-02-25 00:46:19 +00:00
Jenkins 6c888d2c49 Merge "localize user/project variables in tempest" 2016-02-25 00:45:22 +00:00
Jenkins c3c91c4267 Merge "Minor fixes for bashate trunk" 2016-02-24 20:04:55 +00:00
Jenkins ced2e414c0 Merge "fix postgres service name" 2016-02-24 19:54:36 +00:00
Jenkins a91d7d8d05 Merge "Ironic: Update is_ironic_hardware function" 2016-02-24 19:40:46 +00:00
Jenkins 6bb429359d Merge "Fix uwsgi keystone" 2016-02-24 19:35:53 +00:00
Jenkins 0515ff0912 Merge "Ignore files created by pkg/elasticsearch.sh" 2016-02-24 03:30:58 +00:00
Chris Dent 57d79673d9 Skip ovs_ and ebtables_dump if needed commands not present
Skip with a notification that a command was not found when trying
to run a dump that relies on optional external command.

Otherwise we produce noise in the error output that is misleading.

Change-Id: I0e3d99da8c54d2912463ecba7c1783864a7c7fc7
Closes-Bug: #1548833
Closes-Bug: #1506873
2016-02-24 02:51:26 +00:00
Jin Nan Zhang bb16c87a21 Ignore files created by pkg/elasticsearch.sh
When running pkg/elasticsearch.sh the following files are created:

.localrc.password
files/elasticsearch-1.4.2.noarch.rpm
files/elasticsearch-1.4.2.noarch.rpm.sha1.gen
files/elasticsearch-1.4.2.noarch.rpm.sha1.txt


Change-Id: Ie2ab8b7fe72f51cb350e1f46ca97570b84047ac4
Closes-Bug: #1548201
2016-02-23 15:06:48 +00:00
Mehdi Abaakouk 13fe6f59d1 Fix telemetry integration gate jobs
Since https://review.openstack.org/#/c/281779/2 have been
merged the telemetry integration job is broken.

Unfortunatly, it can't be fixed on our side, because we have to
rename SERVICE_TENANT_NAME in many devstack plugin, we can't merge thing
until all plugins have been fixed.

So this change restores SERVICE_TENANT_NAME, to be able to switch to SERVICE_PROJECT_NAME.

Related-bug: #1548634
Change-Id: I14ebf23aa63f0f153b934ad213a6209d22e73e9d
2016-02-23 13:04:12 +01:00
Jenkins ecc7d273db Merge "Change default subnetpool size" 2016-02-23 03:12:57 +00:00
Jenkins df9e62e3e6 Merge "Replace TENANT => PROJECT phase 1" 2016-02-23 00:39:41 +00:00
Assaf Muller f5515409d5 Change default subnetpool size
Commit 7dbcfae introduced a subnetpool needed for the
auto-configured-topology Neutron extension. However, it allows
only up to 4 tenants, then you'd hit an error about no more
available IPs. This patch changes the size of the subnetpool
and the subnets it creates.

Change-Id: I4f43bebc52fb20e39853a1632fe31506958f5071
2016-02-22 17:41:02 -05:00
Jenkins 6278765c55 Merge "Provision deployment requirements for get-me-a-network" 2016-02-22 21:09:14 +00:00
Brant Knudson d8589fa01a Fix uwsgi keystone
The uwsgi keystone jobs are failing with an error like

 + devstack/functions-common:_run_process:L1391:   setsid uwsgi /etc/keystone/keystone-uwsgi-admin.ini
 + devstack/functions-common:_run_process:L1395:   exit 0
 execvp: No such file or directory

I think this is because uwsgi isn't installed on the images. The fix
is to pip install it.

Also, use the full path to the uwsgi executable (even though execvp
is used) because eventlet (calling keystone-all) does.

Also, the uwsgi process wasn't shutting down on ./unstack.sh. This
is worked around by not running master process.

Change-Id: Id02e16c5149ba3dfa13051e87cfccd8e505b7362
2016-02-22 13:59:34 -06:00
Sean Dague 0f7653587e localize user/project variables in tempest
lib/tempest is using / setting a ton of globals, a lot which don't
look used. As a first step to converting over to s/tenant/project/
make all of these local which means they can not be impacting anything
outside of this function. That will make them safe to change names
later.

Change-Id: I380dd20e5ed716a0bdf92aa02c3730359b8136e4
2016-02-22 11:55:19 +11:00
Sean Dague 7580a0c3e3 Replace TENANT => PROJECT phase 1
This replaces the use of TENANT variables with PROJECT ones during the
initial setup. The openrc will still export a OS_TENANT_NAME because
many tools (cinderclient, glanceclient amoung them) will not function
without it. We warn when we do that.

Change-Id: I824b1121842eb5821034071874bf1bb2d7c3631e
2016-02-22 11:55:17 +11:00
Akihiro Motoki 2688eedc51 Remove Neutron VMware NSX plugin files completely
override-defaults mechanism allows us to define
s_neutron_plugin_security_group before loading lib/neutron,
and we no longer need to have a plugin-specific file in
the master DevStack repository.

Change-Id: Ib0f6e3d9463357d2dd66a2d61b8c722fa1f0bfba
Depends-On: I8b19b8f1b0694a96132f158146848aee7d14e8ff
2016-02-21 11:30:22 +00:00
Armando Migliaccio 7dbcfae703 Provision deployment requirements for get-me-a-network
Neutron implemented an extension to allow users to automatically
provision a basic network topology to connect their instances.

One of the requirements for this feature is to be able to mark
an external network to be the one to be used for external
connectivity. Another requirement is subnetpools, which are
used to determine the IP space to allocate for private tenant
networks.

This patch codifies these requirements. The provisioning
needs to be  made conditional  based on the extensions
needed for this to work correctly.

Partially-implements: blueprint get-me-a-network

Change-Id: I43ce5d65e754f131f7ca1ce2088a397d266cf821
2016-02-19 16:36:06 -08:00
Jenkins 80ea24cbbb Merge "Always strip package comments" 2016-02-19 11:20:55 +00:00
Jenkins 134e1d36c6 Merge "Kill radvd when stopping neutron-l3 service" 2016-02-19 10:26:50 +00:00
Ian Wienand 1ff75ff87f Always strip package comments
In the "I can't believe I missed this" category -- the existing strip
method removes shortest match (%); which fails when you put another #
in the comment (like "refer to bug#1234").  Change to the longest
match which should strip everything from the first "#" to the end
(since that's going to be the longest).

Change-Id: I47f5e710ebd87b0f54549732e7d64cf42c7a6b65
2016-02-19 14:39:45 +11:00
Jenkins ef0129c7ce Merge "Neutron: Change auth_plugin to auth_type" 2016-02-19 01:20:27 +00:00
Jenkins adbb3b7e1f Merge "Update to bashate 0.4.0" 2016-02-19 01:20:19 +00:00
Jenkins cc03acca1f Merge "Revert "Fix stack failure when default subnetpool is set"" 2016-02-19 00:19:12 +00:00
Clint Adams e3e8051864 Generate plugins list through https requests
The devstack plugins list can be generated through web requests in
environments (such as the proposal slave) that lack copies of all
the relevant git repositories.

One downside to this is that there is no way of getting the last
modification time of the plugin.

Change-Id: I2c5c9282a8ad80014cad171a4dfbdc8f26044cd1
2016-02-18 17:48:33 -05:00
Jenkins ebe43d6a8a Merge "Tox: don't check stack-screenrc with bashate" 2016-02-18 21:05:50 +00:00
Jenkins 5c61de26ba Merge "Respect constraints in tempest tox venvs" 2016-02-18 21:03:12 +00:00
Jenkins 1066def32d Merge "Re-add "redhat-rpm-config" dependency" 2016-02-18 21:03:02 +00:00
Jenkins 2a80a88177 Merge "lib/tempest: Post juno-eol cleanup" 2016-02-18 21:02:54 +00:00
Jenkins d8a2496cc1 Merge "Check UNSTACK_ALL or -a flag set on unstack" 2016-02-18 21:00:18 +00:00
gordon chung b9201ccbbf fix postgres service name
in fedora postgresql is the service name and postgresql-server is
the package.[1]

os: Fedora release 23 (Twenty Three)
psql: psql (PostgreSQL) 9.4.5

i'm not entirely sure when this changed, but it's devstack is broken
in above environment.

[1]https://fedoraproject.org/wiki/PostgreSQL

Change-Id: Id940fed2a777ca469ce77402e1136251ba572359
2016-02-18 15:50:01 -05:00
Lucas Alvares Gomes 8a4dea24fa Ironic: Update is_ironic_hardware function
The DevStack module of Ironic added a new configuration variable called
IRONIC_IS_HARDWARE that can be set to True/False to indicate that we are
setting up devstack to deploy physical or virtual machines (see the
depends flag). Prior to that, the devstack code assumed that if the
driver name loaded is != *_ssh then it's a physical hardware but now we
need to kill this assumption because we have means (see the virtualbmc
utility) to test drivers such as pxe_ipmitool and agent_ipmitool using
virtual machines.

Depends-On: I5edc51c7fc8b6f0bb7fe4ca129596709a32eb93e
Related-Bug: #1544642
Change-Id: I8b6363bbe280ddd2720c570851bc40e2804a40e2
2016-02-18 15:58:32 +00:00
Jenkins 4bcf6529d5 Merge "Keystone support deploy in uwsgi" 2016-02-18 06:50:18 +00:00
Jenkins 772e914769 Merge "Enable heat caching" 2016-02-18 06:50:10 +00:00
Jenkins 6e8ed2ebbd Merge "Keystone deploy switch" 2016-02-18 06:49:07 +00:00
Jenkins c40f4ddc6e Merge "Set default properties for Power: virtual console and scsi driver" 2016-02-17 21:32:04 +00:00
Mike Chester 8040e69a04 Check UNSTACK_ALL or -a flag set on unstack
These flags were not functioning as described. Check if UNSTACK_ALL is
set in env or -a flag is set when calling script.

Change-Id: I128d32b1e74ee46e24a9eb2e81560e58137b1553
Closes-Bug: #1546687
2016-02-17 10:55:43 -08:00
Jenkins 886410eade Merge "Add guide on running devstack in lxc container" 2016-02-17 15:10:00 +00:00
Jenkins 0afc6db67a Merge "worlddump: collect networking stack info from namespaces" 2016-02-17 15:08:49 +00:00
Jordan Pittier 33df895ffb Tox: don't check stack-screenrc with bashate
Change-Id: I8f04de2cde8a123c3825e7ba22aef1f5b311f61c
Closes-Bug: #1531885
2016-02-17 15:26:33 +01:00
Armando Migliaccio 14a7148f41 Revert "Fix stack failure when default subnetpool is set"
This reverts commit 8a3b7d424d.

This change masked a non-backward compatible change made to the
Neutron core API. This is being cleaned up and thus this workaround
is no longer required.

Depends-on: Idf516ed9db24d779742cdff0584b48182a8502d6

Change-Id: I6695a6e17df1a395ada4ecf2b063b2c20870d99d
2016-02-16 21:19:19 -08:00
Jordan Pittier bae609ef6f lib/tempest: Post juno-eol cleanup
There's no need to change these Tempest's default anymore.
The feature flags are left in Tempest so that downstream distros can
continue to use Tempest to test Juno.

Change-Id: I99f286d0febb1675b8feb91b6801ad0b159da332
2016-02-16 15:00:12 +01:00
Li Ma a15d9de92f Kill radvd when stopping neutron-l3 service
When stopping neutron-l3 service, radvd should be
stopped.

Change-Id: I46416c1df3a4da66e863a16baeb73886e110d447
Closes-Bug: #1535661
2016-02-16 17:00:44 +08:00
Ian Wienand 7ae97298c5 Minor fixes for bashate trunk
We don't have a new bashate release yet, but this fixes some minor
issues when used with bashate trunk.

The only two things triggered are stricter checking of assignment in
local declartions (catches quotes) and one instance of evaluating
arithmetic result in tools/xen/functions.

Therefore, hopefully, this change has no effect!

Change-Id: I3fd5d55236e90c2f2c25243af87adaf0c1b763e2
2016-02-16 14:50:53 +11:00
Ian Wienand 76d05400ec Update to bashate 0.4.0
Update to bashate 0.4.0.  The biggest change in this is that bashate
does a syntax check with "bash -n" which can be useful

Change-Id: Iff625ef2181dfaba28349dc17de0749faddec539
2016-02-16 14:35:51 +11:00
ptoohill1 96006658be Add LinuxMint to distro check
Adds LinuxMint to the distro checking. This allows linux mint with
the FORCE option to run. This will not fix for other distros that
do not pass the checks.

Change-Id: I42599c1bd851d2b61a56a3960f42ad051aab1727
Closes-Bug: #1545864
2016-02-15 18:41:14 -06:00
Ian Wienand ed92e43178 Add some notes on DISTRO setting
It was pointed out in I42599c1bd851d2b61a56a3960f42ad051aab1727 that
after I46a2c36d95327087085df07cb797eb91249a893c we now die if we can't
determine DISTRO, rather than take a guess.

After some consideration, I don't consider this a regression.  This
default matching was basically only working for LinuxMint, because we
already have some matching there for setting os_PACKAGE that makes us
know the platform is Ubuntu-ish.

However, I would certainly agree it is not particularly clear as to
why.  This just adds some comments explaining why we can not just add
a default DISTRO fall-through and directs implementors on how to add
support for their platform.

Change-Id: I4b07259be1427d86a7154906646073d08dd07294
2016-02-16 10:56:56 +11:00
Brant Knudson edc11c2f83 Keystone support deploy in uwsgi
Keystone is going to remove support for eventlet. Rather than only
have one way to run keystone (in Apache Httpd with mod_wsgi), we
should continue to gate on multiple wsgi containers to ensure that
keystone remains container-agnostic. The suggested alternative
container is uwsgi.

To run keystone in uwsgi rather than httpd or eventlet, set the
following env var in local.conf:

 KEYSTONE_DEPLOY=uwsgi

There's a lot of options to uwsgi. Here's some protips:
http://uwsgi-docs.readthedocs.org/en/latest/ThingsToKnow.html

Change-Id: If3b49879ce5181c16f0f0ab0db12fa55fe810a41
2016-02-15 08:45:22 -06:00
Brant Knudson a03053660a Keystone deploy switch
Currently there's a boolean KEYSTONE_USE_MOD_WSGI to switch between
running keystone in mod_wsgi and eventlet. We've got a need to
support more/different deployment options (e.g., uwsgi), so a
boolean is inadequate.

A new input variable KEYSTONE_DEPLOY is introduced that can be
set to mod_wsgi or eventlet (and other values in future) to
control how keystone is deployed. KEYSTONE_USE_MOD_WSGI is
deprecated.

Change-Id: I9b2815e6f007309f088346df9ac48e6a24ae3656
2016-02-15 08:45:22 -06:00
Stephen Finucane 9bdd611dd2 lib/nova: Move 'novncproxy_host' to 'vnc' group
This option was moved in '11a42d4'. Move it, fixing the deprecation
warning in the process.

Change-Id: I567a04f6201695f1ca0d0919b1d1f769bad05964
2016-02-15 14:15:10 +00:00
Jenkins f130b283d9 Merge "Documentation: nova-volume (n-vol) is long gone." 2016-02-14 23:57:27 +00:00
Jenkins 3cf9244f95 Merge "Revert "reduce default lease time to 5 minutes"" 2016-02-14 14:45:40 +00:00
Jenkins 2da17a0b65 Merge "worlddump: add empty newline after every command output" 2016-02-14 14:42:51 +00:00
Jenkins 5073896cc9 Merge "Only use lsb_release for distro tags" 2016-02-14 14:42:43 +00:00
Jenkins cd23ab9644 Merge "Remove Neutron Midonet plugin file completely" 2016-02-14 14:42:28 +00:00
Jenkins 1485f70f3a Merge "Enable neutron-lib for LIBS_FROM_GIT for backwards compat jobs" 2016-02-14 14:42:21 +00:00
Jenkins 2b37e97a57 Merge "Install libosinfo on n-cpu nodes" 2016-02-13 03:52:20 +00:00
Jordan Pittier 326e480d29 Documentation: nova-volume (n-vol) is long gone.
Long live cinder-volume (c-vol) !

Change-Id: I78257c0ef314e97e4abddf82b709fc496401cf14
2016-02-12 15:23:43 +01:00
Thomas Herve 728730aee3 Enable heat caching
Enable use of memory cache by default for Heat. It will provide a boost
for various test builds and will help test this configuration.

Change-Id: I06183138d54c1cb971a58a158a15f3f5b25cba4d
2016-02-12 08:32:36 +01:00
Jenkins fe0c2ba7ad Merge "worlddump: include Open vSwitch info" 2016-02-12 00:37:48 +00:00
Jenkins dbf10cd022 Merge "remove keystone templated catalog" 2016-02-11 20:01:37 +00:00
Doug Wiegley 86561c347d Enable neutron-lib for LIBS_FROM_GIT for backwards compat jobs
Change-Id: I8dd84c59d2ec3a7c01ff4f1aaf7fa61d7466cfd5
2016-02-11 11:01:01 -07:00
Ihar Hrachyshka c1b7cb1117 worlddump: include Open vSwitch info
This may be useful when debugging neutron gate failures.

Change-Id: Iea3589456d2b05d233ba88523a5bd4ac114a0c86
2016-02-11 16:12:20 +01:00
Ihar Hrachyshka 190b29d45e worlddump: add empty newline after every command output
It makes it a bit easier to read the output since each new command is
now visually separated from the output of the previous one.

Change-Id: If441c61bb6f13f85f771dd31609b10d3dd1ee93c
2016-02-11 16:09:28 +01:00
Ihar Hrachyshka 72c34ee1aa worlddump: collect networking stack info from namespaces
Neutron hugely relies on namespaces, so we should try to dump
internal IP stack state for non-root network namespaces.

Change-Id: Ib980d22fbf3c6b680473754fa2b1684c2ef91b72
2016-02-11 16:08:16 +01:00
Rafael Folco 72f530fd7a Set default properties for Power: virtual console and scsi driver
This patch enables the virtual console for Power systems /dev/hvc0
and sets scsi bus and virtio-scsi model as default.
The virtual console hvc0 enables full console including dmesg.
High performance virtio-scsi driver keeps the efficient design of
virtio-blk with effective SCSI passthrough.

Change-Id: I0b5cd4a15d30f06fc7993555d91d6907bd1acbd7
2016-02-11 05:47:41 -06:00
Sean Dague 629e56540f Revert "reduce default lease time to 5 minutes"
We have a fix in Nova which should make this unessessary,
revert to see if that's true.

This reverts commit 61aa0e9f19.

Change-Id: If109af452ad583417e3a3a3ef1c9b545f1ec9b89
2016-02-11 11:31:56 +00:00
Jenkins d3be158181 Merge "Remove CUSTOM_THEME_PATH setting" 2016-02-11 07:29:58 +00:00
Cody A.W. Somerville baa35d06e1 Add guide on running devstack in lxc container
Running OpenStack in a container can be a useful workflow for developers.
The primary benefits are faster performance and lower memory overhead
while still providing a suitable level of isolation.

The guide walks the user through procedure for configuring an LXC container
and deploying OpenStack in it using devstack. It also discusses the limitations
of this setup - particularly related to cinder.

Change-Id: I2e0921fd118cfe98cef86ba110a94b3edccf9a29
2016-02-11 01:37:21 -05:00
Jenkins 29f1ebb688 Merge "Change scheduler configurations to use entrypoints" 2016-02-11 03:39:02 +00:00
David Lyle 076ef7f0fb Remove CUSTOM_THEME_PATH setting
Horizon now uses the WEBROOT to populate the value of $webroot in
the CSS code. The CUSTOM_THEME_PATH pointing to the webroot theme
to explicitly set the same value is no longer necessary.

Closes-Bug: 1540801
Change-Id: Ic212796ee0905751ac3fd619bbbc902d25ea10d5
2016-02-11 03:35:18 +00:00
John Eckersberg a6f3229eb0 Re-add "redhat-rpm-config" dependency
This was removed in commit 19363fc1e7 as
an unneeded F21 dependency, but due to missing dependencies as
described in the bug, /usr/lib/rpm/redhat/redhat-hardened-cc1 is
required and is provided by this package.

Change-Id: I2c0c3b0198d795d947fd77005fd7528de561dfcb
2016-02-11 14:30:56 +11:00
Jenkins dab2f8b5ab Merge "Add diskimage-builder to the list of libraries" 2016-02-11 02:33:14 +00:00
Jenkins 985761d5bd Merge "Handle case where FUNCNAME[0] is undefined" 2016-02-11 02:14:47 +00:00
Jenkins b7f7f33c22 Merge "Automate OVS bridge creation for multiple mappings" 2016-02-11 00:55:16 +00:00
Jenkins 9944e4fc36 Merge "make fwaas plugin and driver configurable" 2016-02-11 00:54:15 +00:00
Sean Dague 985e958dda remove keystone templated catalog
This is just another code path for little benefit in devstack which is
going to rot out. We should be opinionated here and only support the
dynamic catalog.

Change-Id: I4e5c7e86aefe72fc21c77d423033e9b169318fec
2016-02-10 15:39:31 -05:00
Matthew Kassawara 28af7962e9 Neutron: Change auth_plugin to auth_type
The keystoneauth1 library replaces the auth_plugin option
with auth_type. In neutron.conf, change [nova] auth_plugin
to auth_type. In nova.conf, change [neutron] auth_plugin to
auth_type.

Change-Id: Ifbd26b8999e453f4cd875e1be3ae1211bdd8fb2a
2016-02-10 19:07:43 +00:00
Matt Riedemann 8d6d116530 Install libosinfo on n-cpu nodes
As of 9de8f7230d069e4da9736f09ad5d17773315b476 nova is now attempting
to import libosinfo packages, so install them for goodness sake.

Change-Id: Ib481dda475dd2975a513052478be0007aa1cf4a8
Related-Bug: #1543288
2016-02-10 06:38:43 -08:00
Matthew Treinish 1e31e68557 Respect constraints in tempest tox venvs
This commit is a workaround for respecting upper-constraints. Since
we're using tox to handle setting up a venv and running tempest
commands we need to manually install the constrained packages inside
the tox venvs. This patch does that for all the venvs being created by
devstack via tox. However, since tempest has additional tox jobs
defined if those are run via devstack those will default to the
default pip install -U -r requirements.txt defined in tempest's
tox.ini.

Change-Id: I7f84dfb67a3c97003947aefd8a7e3c6454106db4
Closes-Bug: #1543841
2016-02-09 23:50:54 -05:00
Matthew Treinish 1a9e294ff3 Switch tempest verify-config usage to avoid bug
This commit will unblock the world breakage caused by the recent
cliff release. This exposes a hole in our constraints usage in
devstack. We need to fix this bug for real in devstack and cliff,
but that will take a few minutes to an hour or so. So let's just
change the usage in the meantime, we can revert this when things
are fixed for real.

Related-Bug: #1543841

Depends-On: Ic63612dc50e064a3a69b88618e394ba17e083c22
Change-Id: I19e477fa5068474bc3471307732f89adaafb2952
2016-02-10 00:22:02 +00:00
John L. Villalovos 6f013631a2 Handle case where FUNCNAME[0] is undefined
If FUNCNAME[0] is undefined and 'set -u' has been used it will cause the
devstack run to fail.

Handle undefined values in PS4.

Closes-Bug: #1543749
Change-Id: I06a013a5e7683e3a3461ff06361d867f61d48e6a
2016-02-09 13:32:24 -08:00
Jenkins f1cecf52c0 Merge "push out some deprecations to figure out what's using these bits" 2016-02-09 19:35:30 +00:00
Jenkins 905a37aaae Merge "Remove g-search from devstack" 2016-02-09 12:45:09 +00:00
Sean Dague d6f922364e push out some deprecations to figure out what's using these bits
There are some parts of devstack we should really delete, but we have
no idea who is using them. Push out some deprecations so we can look
at this through logstash.

Change-Id: Id5c8748606cce16f64e978ad7ac9309bebac0eb7
2016-02-09 06:34:36 -05:00
Jenkins 11dd05e7fa Merge "Remove microseconds from apache log(s)" 2016-02-09 08:03:21 +00:00
Jenkins 4723e618cc Merge "Don't die when yum fails." 2016-02-08 23:07:29 +00:00
Morgan Fainberg da1cc5780d Remove microseconds from apache log(s)
Remove the microseconds from the apache logs and move back to using
milliseconds. There is no longer any 2.2 workarounds in the keystone
setup process.

Change-Id: I8787eee41fbde1f9794aeffe1e862af0d5117bc3
2016-02-08 11:36:37 -08:00
Clark Boylan e20cb43fd6 Set different cloud name for alt_demu user
Having multiple clouds with the same name in clouds.yaml confuses
openstack client config and it may not choose the intended cloud.
Unfortunately the new alt_demo user's clouds.yaml config used a
duplicate name creating confusion for clouds.yaml consumers.

Correct this by using a unique cloud name, devstack-alt, for use by the
alt_demo user.

Change-Id: I2cb8f10ab5abfedf76ead309f237730ce8ce2ad4
2016-02-05 12:00:18 -08:00
Jenkins 25fe1be8b1 Merge "tweak ps4 for readability" 2016-02-05 02:22:45 +00:00
Sean Dague e73f88e70b tweak ps4 for readability
After staring at a bunch of logs, try to crisp up the ps4 output for
maximum readability.

This also adds PS4 to all calling scripts by having a common PS4 in
stackrc. It should make understanding when clean fails a bit more
straight forward.

Change-Id: Ia1f8dff5c1102c32c146a020a9f033c65d2c50de
2016-02-04 07:47:45 -05:00
Jenkins 1ab61aa808 Merge "docs: Neutron - add required newline for code formatting" 2016-02-04 12:10:29 +00:00
Jenkins 574a2cf9f1 Merge "make the alt_demo user during normal install" 2016-02-04 12:09:25 +00:00
Dean Troyer 50f75a9f64 Followup comment fix from alt_demo user creation
Tweak a code comment based on a review comment from Steve Martinelli in
https://review.openstack.org/#/c/275121/ where the alt_demo user is now
always created.

Change-Id: I9e9a769f601e52c030e9f6953f1746788c24a185
2016-02-04 03:25:46 +00:00
Jenkins d718971299 Merge "Fix xvpvncproxy_host config path" 2016-02-03 16:29:37 +00:00
Jenkins 5601dff54d Merge "Set PS4 in stack.sh to provide additional debug info" 2016-02-03 00:26:04 +00:00
Jenkins 42164c8214 Merge "remove "redhat-rpm-config" (F21 dependency)" 2016-02-02 23:21:30 +00:00
Igor Duarte Cardoso 3095ff5132 Automate OVS bridge creation for multiple mappings
Allows the definition of the global variable OVS_BRIDGE_MAPPINGS (e.g.
in local.conf) to automatically trigger the creation of multiple OVS
bridges. For example:

OVS_BRIDGE_MAPPINGS=physnet1:br-br-enp0s20f1,physnet2:br-enp0s20f2

should automatically yield the creation of two bridges, respectively
associated to the two physical networks declared,
by simply running DevStack with the OVS agent enabled.

Documentation has also been added to doc/source/guides/neutron.rst.

Change-Id: I79dc0213c9d70ba628621c4c0f65481783590085
Closes-Bug: #1535835
2016-02-02 18:54:08 +00:00
Flavio Percoco 020586fab4 Remove g-search from devstack
The g-search service was promoted to its own project and it's now called
Searchlight. This patch removes that code from devstack.

Change-Id: I9dd7ce62f0339911e025329b8a841792219ea02b
2016-02-02 11:50:06 -04:30
Sean Dague c67d22e2ed make the alt_demo user during normal install
For testing reasons it's typically very useful to have a second non
admin user to cross check that it can't do a thing to the first
user. It was useful enough we always created it with tempest (though
we didn't always use it).

This makes devstack always create an alt_demo user, which is available
in occ as devstack-alt. This will help us unwind some of the keystone
v3 breaks with functional tests using keystone cli to build this
second user.

Change-Id: Iaaf02469180563e2d8c413fee0ee66ada2296cfa
2016-02-02 05:51:14 -05:00
Jerry Zhao 8eab6ad31b make fwaas plugin and driver configurable
user can pass fwaas plugin and driver from localrc

Change-Id: Id956d4d7e62ba81f77319c199c9cb9f354b13d12
2016-02-01 18:22:21 -08:00
Shih-Hao Li 557cc8159e Fix xvpvncproxy_host config path
Fix xvpvncproxy_host config path due to Change
I1e34a0f98de125c8b8b145377835d95035e2b472.

Change-Id: I835950e75509ad54e5dc1c4a740d2e5cfed9f5a9
2016-02-01 13:19:12 -08:00
Jenkins 6dcee02bcc Merge "Add script to autogenerate doc/source/plugin-registry.rst" 2016-02-01 20:39:30 +00:00
Jenkins 7de80c56e5 Merge "Revert "Move default Keystone API version to v3"" 2016-02-01 20:38:02 +00:00
Sean M. Collins f81ae88c55 docs: Neutron - add required newline for code formatting
Otherwise it doesn't render it as the correct HTML tag.

Change-Id: Ibc5c846824c7248c64473512e9dcfe5dd4205924
2016-02-01 14:00:20 -05:00
Sean Dague 74b91c3eaf Revert "Move default Keystone API version to v3"
It seems like the fallout from this was not well sorted.
A lot of things aren't working, and there is still vestigial
v2 bits left behind.

This should have come with a much greater warning and some
spot checking of additional services working with this.

This reverts commit b162a1d58c.

Change-Id: Ia792b23119c00089542ba08879dca1c29dc80945
2016-02-01 14:58:20 +00:00
Clint Adams 4fd874b4f1 Add script to autogenerate doc/source/plugin-registry.rst
This generates the plugin-registry document from a static header,
a scan of openstack/ git repositories, and a static footer.  It
is intended to be run by a periodic job proposal bot to keep the
list of plugins current.

Change-Id: Ia04ab72900c8efd5d5289fbd7632201dcaa3e5d9
2016-02-01 09:50:55 -05:00
Jenkins 428c35bade Merge "Remove the pip version pinning to < 8" 2016-01-29 19:06:50 +00:00
Jenkins f4ce44bf3f Merge "Move default Keystone API version to v3" 2016-01-29 11:04:16 +00:00
Jenkins 05238e32e3 Merge "Fix OSprofiler installation from Git" 2016-01-29 10:53:53 +00:00
Jenkins 2d02d29e27 Merge "Add vercmp function" 2016-01-29 05:21:09 +00:00
Jenkins 8c71ffa997 Merge "Never uninstall python-pip on fedora" 2016-01-29 05:19:10 +00:00
Yingxin b298e57c9f Change scheduler configurations to use entrypoints
Full class path style configuration of options scheduler_host_manager
and scheduler_driver are deprecated because of dependent changes. This
commit changes the related configurations to use entrypoints in setting
up nova scheduler in devstack.

Related to blueprint scheduler-driver-use-stevedore
Depends-On: I8c169e12d9bfacdbdb1dadf68b8a1fa98c5ea5bc
Depends-On: I3fd42ead44487a21eb5cfaf5a91209277ce30ad0

Change-Id: Iad96c270073b63719237cf9a9aa1c2dc4daa213a
2016-01-29 05:11:27 +00:00
Jenkins 80eb79c1a9 Merge "Adding ENABLE_IDENTITY_V2 on docs" 2016-01-29 05:10:21 +00:00
John L. Villalovos 09883c0a18 Set PS4 in stack.sh to provide additional debug info
Add:
export PS4='+(${BASH_SOURCE}:${LINENO}): ${FUNCNAME[0]:+${FUNCNAME[0]}(): }'

To stack.sh to provide additional debug info. This will show the
filename, line number, function name, and the content of the line.

An example output line:
+++(/opt/stack/old/devstack/functions-common:675): get_field(): local data field

Info on this PS4 variable found at:
http://wiki.bash-hackers.org/scripting/debuggingtips

Change-Id: I272df6c79f6ff7afa8f102da24706558d9169eda
2016-01-28 18:06:49 -08:00
Jenkins 3c92590101 Merge "Add notes on live migration configuration" 2016-01-28 00:22:19 +00:00
Jenkins 06cf524655 Merge "docs: Linux Bridge configuration for Neutron" 2016-01-28 00:22:10 +00:00
Jenkins 1cc2782d53 Merge "Simplify oslo.log configuration options" 2016-01-28 00:22:01 +00:00
Jenkins b86f665d95 Merge "Rdo-release install failure under proxy" 2016-01-28 00:21:56 +00:00
Jenkins cf5673b842 Merge "Enable keystone caching" 2016-01-28 00:21:21 +00:00
Jenkins fff59d4fbb Merge "Remove option 'DEFAULT/verbose'" 2016-01-27 22:50:56 +00:00
Sean M. Collins 2977b30013 docs: Linux Bridge configuration for Neutron
Add a section for single interface networking with Linux Bridge.
Change-Id: I595bc539297bf02182db5a33eeb44360e9eef9a3
2016-01-27 21:43:33 +00:00
John Griffith 2d57f2f88d Remove lib/cinder_backends/solidfire
This was something we used a while back, but since support
for sections was added to devstack local.conf parsing we
don't need this, and actually prefer just using the
sections in local.conf.

Here's an example of how to achieve the same thing via
local.conf sections:

CINDER_ENABLED_BACKENDS=solidfire
TEMPEST_VOLUME_DRIVER=SolidFireDriver
TEMPEST_VOLUME_VENDOR="SolidFire Inc"
TEMPEST_STORAGE_PROTOCOL=iSCSI

[[post-config|$CINDER_CONF]]
[DEFAULT]
CINDER_ENABLED_BACKENDS=solidfire
[solidfire]
volume_driver=cinder.volume.drivers.solidfire.SolidFireDriver
san_ip=192.168.160.3
san_login=admin
san_password=admin
volume_backend_name=solidfire

Change-Id: I8068fd4fb14510b15c31edf490283454f167f6c6
2016-01-27 14:29:31 -05:00
Morgan Fainberg a8ffe8a473 Enable keystone caching
Enable keystone caching since there is now a memcache server available
for the middlewares to cache validation. Offload queries to the
keystone backend to memcache as well.

Change-Id: I6d1d28f5b974e79d44d1e86ea53c666e3f5771df
2016-01-27 13:21:00 -06:00
Jenkins 13d255d90d Merge "Remove call to deprecated method in tempest" 2016-01-27 18:51:59 +00:00
Zhenzan Zhou e1f87963b1 Add notes on live migration configuration
Live migration will not currently work with a multi-node DevStack
environment due to the libvirtd process running as root and the compute
process trying to use the stack user's SSH keys with the default live
migration URI.

The multi-node documentation is updated to outline how to configure the
SSH keys between the source and destination stack and root users so that
live migration will work as expected.

Co-Authored-By: Taylor Peoples <tpeoples@us.ibm.com>
Change-Id: Ifed7e95cd5ba43a05a4099a3664cbefde3e0a749
Closes-Bug: #1487262
2016-01-27 15:25:19 +01:00
Mike Spreitzer 4baa4ce2b3 Document using Q_ML2_PLUGIN_PATH_MTU
I tested it, and it works!

Change-Id: Ic345ededc37b2e0b7b5dbeb397aa55540d5c3bd8
Related-Bug: #1527675
2016-01-26 21:11:47 -05:00
Paulo Ewerton b162a1d58c Move default Keystone API version to v3
This patch sets Keystone v3 as default in services
configuration files and in the openrc and stackrc scripts.

Change-Id: I24546f02067ea23d088d383b85e3a78d7b43f165
Partially-Implements: bp keystonev3
2016-01-26 14:27:02 +00:00
Ronald Bradford e826490a43 Simplify oslo.log configuration options
Use the preferred logging_user_identity_format option to specify an alternative context format
in log files.  The removal of defining logging_context_format_string brings this more inline
with optimal production configuration of using the defined default.  logging_user_identity_format
is set in devstack to maintain current compatibility of names instead of ids.

Change-Id: I3807d76b91b6cc1614b4a9a203509f8e1ad7146d
2016-01-25 20:39:45 +00:00
Boris Pavlovic fadebe1be3 Fix OSprofiler installation from Git
Without this line DevStack fails to install OSprofiler from git

Change-Id: I0fe0e10bcece51759fbf4fd4a533b01501414d6d
2016-01-25 12:32:32 -08:00
Jenkins ffb96b85d3 Merge "always default to floating ips for validation" 2016-01-25 16:42:25 +00:00
Jenkins a7b21cd858 Merge "Create LOGDIR earlier in the process" 2016-01-25 15:41:25 +00:00
Jenkins c8f3ac23c3 Merge "worlddump: Use SIGUSR2 instead of SIGUSR1" 2016-01-25 15:33:03 +00:00
Jenkins 685bf05847 Merge "Remove leftover homedir clouds.yaml files" 2016-01-25 15:23:22 +00:00
Allen Gao 75446deea0 Remove the pip version pinning to < 8
The pip issue pypa/pip#3384 has already been fixed after pip 8.0.1
released. But leave the facility to easy flip this on in the future.

TrivialFix

Change-Id: I49658ce4056c773943321270defd461bbf3e9fb9
2016-01-25 22:41:57 +08:00
Sean Dague 5544c4a74f always default to floating ips for validation
fixed ips are not cross host accessible in our current config. So
always configure tempest to use floating ips.

Change-Id: I1cf605229070024c9d5d29c7a08967aa505fda7b
2016-01-25 08:27:06 -05:00
Allen Gao 40e2f508e4 Remove option 'DEFAULT/verbose'
Option "verbose" from group "DEFAULT" is deprecated for removal.
Its value may be silently ignored in the future.

If this option is not set explicitly, there is no such warning.
Furthermore, the default value of verbose is true, so there is
no need to set this value in config files.

TrivialFix

Change-Id: I581238e661c2eb0c29dd915d1b1e4773dcdeb4c8
2016-01-25 02:30:30 +00:00
Gang Wei c2bd0d5b7d Remove call to deprecated method in tempest
Fix below warning:
"Use of: 'verify-tempest-config' is deprecated, please use: 'tempest verify-config'"

Change-Id: If66096cde31fedda407e1e6ac6899b196569a454
2016-01-25 00:47:21 +00:00
Jenkins 973fb21de6 Merge "Add subunit output for total elapsed time" 2016-01-23 08:20:37 +00:00
Jenkins b6a5a3e675 Merge "reduce default lease time to 5 minutes" 2016-01-23 05:42:38 +00:00
Jenkins 2f2ede5db0 Merge "neutron: enable ml2 mtu calculation mechanism" 2016-01-23 04:58:21 +00:00
Jenkins 57729d5265 Merge "Always cache tokens in a shared memcache" 2016-01-23 02:53:33 +00:00
Jenkins c52836bbf8 Merge "Remove vme and ssse3 from gate64 cpu mapping" 2016-01-23 01:06:42 +00:00
Jenkins b9a33191bb Merge "Add flag for test_volume_services" 2016-01-22 17:24:01 +00:00
Markus Zoeller 19363fc1e7 remove "redhat-rpm-config" (F21 dependency)
Commit d5004a3802 introduced the package
"redhat-rpm-config" to make the Fedora 21 gate job running again.

As we dropped the F21 support in December 2015 with
commit 90bc586772 we don't need
this package anymore.

Change-Id: I71b969b7fd6651082451f6c4fd1e01d205771a11
2016-01-22 16:35:28 +01:00
Sean Dague 61aa0e9f19 reduce default lease time to 5 minutes
Devstack used in development is about things coming and going
quickly. The long dhcp leases mean that we might miss a release, and
keep a stale lease around for way too long. See if this helps.

Change-Id: I9a58a4e64777f56ad7ec66242a319f985469469e
2016-01-22 07:48:49 -05:00
Jenkins be8ac25f84 Merge "use sudo to remove /etc/openstack directory" 2016-01-22 03:53:40 +00:00
Jenkins 2fec683890 Merge "Stop referencing no longer existing SERVICE_ENDPOINT variable" 2016-01-22 03:38:50 +00:00
Jenkins c09c079ef9 Merge "notification_driver is deprecated to driver" 2016-01-22 00:11:49 +00:00
Morgan Fainberg 5997ce3ab6 Always cache tokens in a shared memcache
Instead of using in-process caching for tokens per service per
worker (disabled by default now), use a shared memcache to cache
token validation(s). This should both offload/speedup validations
and avoid the issues surrounding inconsistent validation responses
when using in-process caching [since each worker caches separately].

Change-Id: Ifc17c27744dac5ad55e84752ca6f68169c2f5a86
2016-01-22 00:04:57 +00:00
Jenkins bbf293439b Merge "Update the vnc config options group 'DEFAULT' to 'vnc'" 2016-01-21 22:33:22 +00:00
Yusuke Hayashi 6e18721882 Rdo-release install failure under proxy
In RHEL under proxy, installation by stack.sh failed
because of rdo-release.rpm install failure.

This patch fixes install command for rdo-release.rpm
because it is caused by lack of http(s)_proxy.

Change-Id: I176d1e140f52e1bb0343170ba4d90c06b98d5a99
Closes-Bug: #1536478
2016-01-22 07:12:38 +09:00
Monty Taylor 74379df11f Remove leftover homedir clouds.yaml files
We don't write files here anymore, but it's higher in the precedence
order than the /etc/openstack/clouds.yaml file we do write. Some
developers who have long-lived devstacks who update infrequently have
been bitten by the leftover file.

Change-Id: I8af6bd465f74099c560dddba6b5221dd79cbc965
2016-01-21 10:20:08 -05:00
Ihar Hrachyshka 06cfce3756 neutron: enable ml2 mtu calculation mechanism
Setting path_mtu to reflect mtu for physical devices that handle traffic
issued from br-tun makes ml2 plugin to calculate mtu for tenant networks
properly, considering encapsulation headers. After that, calculated mtu
values can be propagated into instances (currently, only DHCP approach
is implemented; RA support for IPv6 subnets is under review).

This change allows to run tunnelled tenant networks in multinode when
underlying physical devices don't support jumbo frames.

Note: changing the default value in neutron would not be backwards
compatible, since it could slow down east-west tunnelled traffic in
clouds that run on jumbo-aware networks.

Change-Id: I8287677c7ad0f13fa9f5cb194f9372d04b78cb61
Related-Bug: #1527675
2016-01-21 15:15:15 +01:00
Jenkins dd60f2cd1c Merge "Make OSprofiler repo and branch configurable" 2016-01-21 04:13:19 +00:00
Federico Ressi 5dcbf7aeff Don't die when yum fails.
Not all yum failures has to be considered
catastrofic failures also because install_package
function should implement the same behavior in Fedora,
CentOS and Ubuntu. Let return the error to be solved at higher
level.

Change-Id: I93e9f312a94aeb086925e069a83ec1d3d3419423
Closes-Bug: #1522590
2016-01-20 09:06:55 +00:00
Matthew Treinish 1d27155f65 Cap installed pip to be < 8
Pip 8 just release which made uninstalling distutils installed packages
fatal. This was previously a deprecation warning and is now causing all
dsvm jobs to fail.

Depends-On: I511d216d9d8619c7cf919c482aaead4e833cdaac
Change-Id: I22f5c3af1adf96cfbd5747122f915a82e947843a
2016-01-19 21:27:02 -05:00
Jenkins 8ca268b7c3 Merge "libvirt: don't repeatedly configure libvirtd logging" 2016-01-20 01:06:16 +00:00
Matthew Treinish 4af2afcd52 Add subunit output for total elapsed time
This commit adds a success output for the entire devstack run to the
subunit output. Ideally we wouldn't need this, but because we don't
have timing data for every single operation performed by devstack we
need to do this to track the total duration of the devstack run.

To capture failures this commit adds saving a devstack event when we
trip the exit_trap. This will save a similar result to the stream in
the successful case, but instead mark it as a failure.

Depends-On: Icc7df33e4d73ba6322af38fbdf3aea230f2fcf4d
Change-Id: I07112dde996c3e2c73f5aafc9b73d33d26374633
2016-01-19 17:22:55 -05:00
Clark Boylan ba6fb27bc8 Remove vme and ssse3 from gate64 cpu mapping
It turns out that we need to be even more restrictive on the cpu flags
we expose as some clouds don't expose vme or ssse3.

Fixes-Bug: 1535799
Change-Id: I6c8c1101771d1c5496884be7a405285472ae803a
2016-01-19 08:25:12 -08:00
Wanlong Gao cf04a9acb3 notification_driver is deprecated to driver
TrivialFix
https://review.openstack.org/#/c/249508/

Change-Id: I18599c7221272279dfc2e9f5b297af09faff5c3b
2016-01-19 17:17:01 +08:00
Jenkins 2d9f777cc0 Merge "XenAPI: Fix disk_formats verified by tempest" 2016-01-19 07:04:48 +00:00
Jenkins 7cca91acf9 Merge "remove clouds.yaml files when running clean.sh" 2016-01-19 06:54:11 +00:00
Jenkins 7602c0507a Merge "Better location for the nova dhcp logs" 2016-01-19 04:02:02 +00:00
Steve Martinelli 8e3df96cec use sudo to remove /etc/openstack directory
the /etc/openstack directory needs to be removed with sudo privs,
the loop at the end will not suffice.

Change-Id: Icc0ac45f9216d538ca214176d90241f973a4687b
2016-01-18 14:00:41 -05:00
Dmitry Tantsur f90c0b7d29 Stop referencing no longer existing SERVICE_ENDPOINT variable
It was probably finally removed by one of recent refactoring changes.
Now ironic gate fails due to Swift trying to access it to override OS_AUTH_URL.
This change drops this override and just uses OS_AUTH_URL.

Closes-Bug: #1535245
Change-Id: I145bec110c4299e61f2bce49df41dcd82e5d462d
2016-01-18 10:53:01 +01:00
Steve Martinelli 16246acb4c remove clouds.yaml files when running clean.sh
There have been a few reported errors of folks running into
issues with old clouds.yaml files that linger around. Remove
these if the user runs clean.sh.

1. http://lists.openstack.org/pipermail/openstack-dev/2016-January/084283.html
2. https://ask.openstack.org/en/question/84825/glance-upload_image-fails-in-latest-devstack/
3. https://ask.openstack.org/en/question/86071/devstack-installation-failure/

Change-Id: I618ea8e27b49af360c905df85af06d9b1eef8407
2016-01-18 01:20:53 -05:00
Jenkins ddd37b97d4 Merge "Support for logging the nova-dhcpbridge command line" 2016-01-16 21:37:02 +00:00
Jenkins b695d361ff Merge "Revert "Replace deprecated baremetal timeouts with new deploy_timeout"" 2016-01-16 13:40:58 +00:00
Jenkins 3106c2d7d4 Merge "Add support for role and resource keystone backends" 2016-01-16 13:38:55 +00:00
Jenkins a34ebd103d Merge "remove SERVICE_TOKEN from the docs" 2016-01-16 12:29:45 +00:00
Jenkins 1ca4b0f177 Merge "bootstrap keystone using new bootstrap command" 2016-01-16 12:27:01 +00:00
Jenkins c461db4a2f Merge "Fix SIGITIN hang with apt-get" 2016-01-15 21:49:15 +00:00
Bob Ball 2dd761b169 XenAPI: Fix disk_formats verified by tempest
lib/glance restricts the disk_formats to those supported by XenAPI, so
tempest needs a similar restriction for the disk_formats tested.

Confirmed as passing internal Citrix CI (affected tempest jobs are
currently disabled in voting XenServer CI until this change lands)

Change-Id: Iefa5b16a3fa1789ed583426ea47ebb22e6cb571e
2016-01-15 17:48:21 +00:00
Davanum Srinivas bd7a51200f Better location for the nova dhcp logs
Use LOGDIR to compute the location of the dhcp logs
instead of hardcoding to /opt/stack/logs/

Change-Id: I97ca2d8c8b7901e0895fe89a57675caf8effea53
2016-01-15 11:46:10 +00:00
Boris Pavlovic ba0a659c76 Make OSprofiler repo and branch configurable
OSprofiler is now under Oslo:
https://review.openstack.org/#/c/103825/

And we really need this patch to make proper dsvm job for
OSprofiler

Change-Id: I20f59c52c147303de01544dc975a82b4a741a1b9
2016-01-14 18:38:30 -08:00
Jenkins ea7fd55153 Merge "Remove Neutron NEC plugin completely" 2016-01-14 19:09:53 +00:00
Davanum Srinivas ac8ff0f1e9 Support for logging the nova-dhcpbridge command line
We are seeing a lot of gate failures as vm(s) are unable to acquire
DHCP leases:
https://bugs.launchpad.net/nova/+bug/1532809

we need to set log_file for nova-dhcpbridge configuration, so clone
the nova.conf and set the log_file properly to a path where the
CI can pick up from for analysis.

Change-Id: Iec4fe3f2235da9d1f5bd399d4ffc45af516c58ce
2016-01-14 15:52:43 +00:00
Akihiro Motoki 7e843edca7 Remove Neutron Midonet plugin file completely
override-defaults mechanism allows us to define
s_neutron_plugin_security_group before loading lib/neutron,
and we no longer need to have a plugin-specific file in
the master DevStack repository.

Change-Id: I37d5012e89cb3650e4f325b6d77d70f28f87d3e7
Depends-On: I5e02acd288e53dd06a369d348ec77ead57d476fd
2016-01-13 23:11:09 +09:00
Jenkins 502773c27c Merge "Revert "Don't die when yum fails."" 2016-01-13 14:03:30 +00:00
Akihiro Motoki 5aa2014e67 Remove Neutron NEC plugin completely
override-defaults mechanism allows us to define
s_neutron_plugin_security_group before loading lib/neutron,
and we no longer need to have a plugin-specific file in
the master DevStack repository.

Change-Id: I78a4e05fa72b1dd545b8d9e97a8fd8fdbf23739c
Depends-On: Id6765245459c1aff3aab27dbc60d320ce2951b38
2016-01-13 22:54:37 +09:00
Ihar Hrachyshka 09a3e715ec Create LOGDIR earlier in the process
Specifically, before _install_epel_and_rdo is called, that may need to log an
error.

Change-Id: I4979eb9530e6ea366c99d168587b87ea358dc908
2016-01-13 11:35:35 +01:00
Davanum Srinivas (dims) ed9487a885 Revert "Don't die when yum fails."
This reverts commit 2babf3963f.

This breaks oslo.messaging jobs:
http://logs.openstack.org/32/265932/1/check/gate-oslo.messaging-dsvm-functional-amqp1-centos7/f5f3eb9/console.html#_2016-01-11_20_03_33_162

@kgiusti reports that PIPESTATUS[0] is always 1 on his centos7 box

Change-Id: I013c22a3545f22c79a0616b4a98622d41bb17d77
2016-01-12 18:57:37 +00:00
Davanum Srinivas 4a974e61c8 Remove Nova object store service
As of I8bf7cbaa7015bb61656ab90ccc8f944aaeebb095, Nova
removed the n-obj service, so we should cleanup

Change-Id: I7db3796a6448decb4ac5e66d980f487c7d1f394e
2016-01-12 08:20:57 -05:00
Ian Wienand 7710e7fc27 Only use lsb_release for distro tags
The existing GetOSVersion has a lot of unused code which is wrong in
several ways

 - the only path tested in upstream CI is with lsb_release, because
   it's pre-installed on all nodes

 - the /etc/redhat-release checking probably still works, but is
   unnecessary

 - If using lsb_release, os_UPDATE has never actually been set.

 - the /etc/SuSE-release branch checking is broken if the lsb package
   is actually installed.  lsb checking does not set os_UPDATE but yet
   the SuSE DISTRO setting relies on this to set a patch level (and so
   does some of the rpm tags).  SuSE 11 is up to update 3, but the rpm
   matching is stuck hard-coded to update 2.  I'm guessing
   installation is actually broken there.

 - the debian checking branch is broken.  The VERSION tags have been
   removed and were not supposed to be relied on anyway (see notes in
   [1])

This simplifies things:

 - remove OSX checking (moved here after discussions in
   I31d0fdd30928ecc8d959a95838b1d3affd28ac6f)

 - only use the output of lsb_release.

 - A small best-effort check to pre-install lsb packages if not
   detected (that avoids chicken-egg-problem of package-install
   wrappers relying on os_* flags).

 - The unset os_UPDATE is removed.  It's only previous use was for
   setting separate suse versions in the DISTRO element for matching
   during package installs (since removed)

 - DISTRO setting is modified to use the parts of os_RELEASE it wants.
   Per-above, this is the correct place to parse out specifics.

 - Call out the is_* functions, which are a better way to detect
   platforms

 - Export the variables as read-only, since they shouldn't be reset

[1] http://sources.debian.net/src/base-files/7.5/debian/changelog/

Change-Id: I46a2c36d95327087085df07cb797eb91249a893c
2016-01-12 09:23:35 +11:00
Lucas Alvares Gomes 3919d4c822 Add diskimage-builder to the list of libraries
Add diskimage-builder to the list of libraries so it can be installed
from source to be tested in gate.

Change-Id: I6cefac1eb4ebf0196a6b4d4bfc038c00921f0d70
2016-01-11 19:10:18 +00:00
Michael Turek d091a2dd54 Revert "Replace deprecated baremetal timeouts with new deploy_timeout"
This reverts commit 00b5f4af92.

This patch was merged before the timeout was merged to
tempest. This means that devstack is currently referencing
a non-existent config option. As such I think it needs to be reverted.

Change-Id: I947261dc330ef35efce1ecd805ba6e649e81a6aa
2016-01-11 18:17:50 +00:00
Jenkins 2cb3db338a Merge "Don't die when yum fails." 2016-01-11 17:01:33 +00:00
Jenkins 5453cdd392 Merge "rpc_backend: Conditionally enable rabbit on fedora" 2016-01-11 16:52:19 +00:00
Steve Martinelli 3567d6103a remove SERVICE_TOKEN from the docs
there are a few lingering instances of SERVICE_TOKEN in the docs
and some of the scripts in tools.

Change-Id: I9d2147eea6639db1f4ea15a259c147eecfc339ff
2016-01-10 01:29:39 +00:00
Steve Martinelli 923be5f791 bootstrap keystone using new bootstrap command
Be gone ADMIN_TOKEN, long live keystone-manage bootstrap.

This patch reworks the initial setup for keystone by using
the new bootstrap command. After a minimal service catalog
has been created, using this process, we simply authenticate
as usual.

implements bp: bootstrap
Depends-On: I113c6934b6b83ceff23a94101967a6df1126873f
Change-Id: Ia1475d461eab60b68c6a0356714b21c7f92e0194
2016-01-09 20:26:48 -05:00
Yuriy Nesenenko af8b6e10a3 Add flag for test_volume_services
test_volume_services works incorrect with host info if it includes
backend name (host@backend). The test is skipped by default for
Liberty and Kilo gates. Need to add flag to unskip this test in new release.
This fix related with bug #1530144 in service-list filter.

Change-Id: Ifdc0bab819c05a00cd0c20316bd81961cf6aeb88
2016-01-09 13:52:06 +02:00
Jenkins 8df31a107d Merge "Assign admin role for admin user on default domain" 2016-01-09 07:49:35 +00:00
Jenkins a3ab6865ff Merge "Don't reinstall package just after installing." 2016-01-09 06:51:04 +00:00
John L. Villalovos f568c3a141 Fix SIGITIN hang with apt-get
Fix an issue where apt-get consistently hangs due to a SIGTTIN being
received. This occurs on a 'vanilla' devstack-gate VM, when running an
ironic-grenade job.

Upstream has a bug related to this:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=555632

http://www.gnu.org/software/libc/manual/html_node/Job-Control-Signals.html
Macro: int SIGTTIN

    A process cannot read from the user's terminal while it is running
    as a background job. When any process in a background job tries to
    read from the terminal, all of the processes in the job are sent a
    SIGTTIN signal. The default action for this signal is to stop the
    process. For more information about how this interacts with the
    terminal driver, see Access to the Terminal.

Change-Id: I8b1f3dccf329bb88e017eff7492da5e701b4892c
Closes-Bug: #1532080
2016-01-08 15:01:05 -08:00
Jenkins 698c62c430 Merge "lib/cinder:configure tgt even if the package was purged" 2016-01-08 18:07:12 +00:00
Jenkins 6f002b169c Merge "Move horizon config and start to appropriate phase in stack.sh" 2016-01-08 15:56:05 +00:00
Federico Ressi 2babf3963f Don't die when yum fails.
Not all yum failures has to be considered
catastrofic failures also because install_package
function should implement the same behavior in Fedora,
CentOS and Ubuntu. Let return the error to be solved at higher
level.

Change-Id: Ia33bb98f47017f6ec00eb3b7261ed42d72efc573
Closes-Bug: #1522590
2016-01-08 15:30:02 +00:00
Federico Ressi ecc1f41d50 Don't reinstall package just after installing.
Boolean logic used in install_package was wrong:
on nominal flow packages were actually installed twice.
This should fix it.

Change-Id: Ia465414936b272d04523a11f83d6ded378fe1daf
Closes-Bug: #1518544
2016-01-08 15:29:16 +00:00
Jenkins 828936c6ac Merge "Use keystone[ldap] for ldap packages" 2016-01-08 10:11:53 +00:00
Jenkins 7792bd2025 Merge "Remove uses of --os-url and --os-token" 2016-01-08 07:23:41 +00:00
Kyle Mestery 75633266c8 rpc_backend: Conditionally enable rabbit on fedora
Change 4d8c03a3 added logic to enable rabbit on Fedora/CentOS systems
whether or not rabbit is enabled. This corrects that to only enable
rabbit when it is configured as such.

Change-Id: I270e79ff989176770d65df1ac0ac4e2c4382bb9a
Signed-off-by: Kyle Mestery <mestery@mestery.com>
2016-01-07 16:48:14 -06:00
Jordan Pittier a263e7dd52 lib/cinder:configure tgt even if the package was purged
On Ubuntu, after a successful ./stack.sh and ./unstack.sh, if one
"apt-get purge tgt", then the directory /etc/tgt/stack.d/ still
exist (i.e it is not purged) but /etc/tgt/targets.conf is removed.
Thus any subsequent ./stack.sh would fail to configure
/etc/tgt/targets.conf properly.

Change-Id: I252789f3f39bd64b5a1e7d9abb923386d2a158dd
2016-01-07 19:40:44 +01:00
Alexander Schmidt a5ea08b752 Add distro support for KVM for IBM z Systems
Add "KVM for IBM z Systems" to the list of Fedora-like distros.

As the distribution does not have a dedicated kvm package,
prevent the installation of the kvm package during the libvirt
setup.

Change-Id: Ibb5c60797d6867264f9dea7fea85cdf1d7c72ded
2016-01-07 10:14:39 +01:00
Jenkins b615691576 Merge "XenAPI: add support to use local.conf" 2016-01-07 04:51:19 +00:00
Jenkins ddeaaf2044 Merge "Enable some serivce when on boot" 2016-01-07 01:38:08 +00:00
Jenkins c615993fe1 Merge "Support extra dependencies when setup_develop" 2016-01-06 20:17:12 +00:00
Jenkins 535fcd008e Merge "Fix elastic search support for Fedora." 2016-01-06 20:04:34 +00:00
Jenkins 21c8738187 Merge "Replace deprecated baremetal timeouts with new deploy_timeout" 2016-01-06 19:23:07 +00:00
Jenkins 413d732b79 Merge "Don't configure neutron metadata agent for neutron API access" 2016-01-06 19:22:58 +00:00
Jenkins 6136c4e0bd Merge "remove configuration for boto section" 2016-01-06 19:18:34 +00:00
Jenkins 4847ee69ee Merge "[ceph] Deploy ceph failed at controller node for multiple node" 2016-01-06 18:35:59 +00:00
Jenkins f3c722fb0a Merge "Make image_list.sh independent of host IP address" 2016-01-06 18:35:50 +00:00
Jenkins feb2babd07 Merge "Make logfile symlinks with relative names." 2016-01-06 18:28:26 +00:00
Jenkins 9f8cf83e69 Merge "Option "auth_plugin" is deprecated." 2016-01-06 18:23:21 +00:00
Jenkins 88509e796c Merge "Fix restoring a backup volume to a larger volume" 2016-01-06 18:23:12 +00:00
Zhang Jinnan 4d8c03a377 Enable some serivce when on boot
Solve the devstack ./rejoin-stack.sh when is reboot-safe in RHEL 7.
Enable mysql, postgresql, rabbitmq-server, openvswitch service when on boot.

Change-Id: I3ce9fc58ccc76092ad08314de1c3c9339ebfb3b5
Related-Bug: #1486833
2016-01-06 16:40:11 +00:00
Jenkins 20a1ce3f21 Merge "Delete OVS port on unstack to retain system connectivity" 2016-01-06 13:42:58 +00:00
Jenkins 6c35d367fc Merge "Enable SameHostFilter and DifferentHostFilter" 2016-01-06 13:37:38 +00:00
Federico Ressi 3809defb2e Fix elastic search support for Fedora.
Change Ifbcc3dd783ff2f362a464fbf4ca22f20cc2c658e broken it [1]

[1] https://review.openstack.org/#/c/251980/2/pkg/elasticsearch.sh

Change-Id: I330498cd490f3af2e9a569d86e8639a03b48dd17
Closes-Bug: #1531424
2016-01-06 08:22:39 +00:00
Steve Martinelli 3526276a08 Add support for role and resource keystone backends
Keystone further broken apart the assignment backend into: role,
resource, and assignment. We should define the backends in the
config file and allow users to override the default by passing in
their own value.

Change-Id: Ieb22c428609d3db852814c7eceb77efa6bbde633
2016-01-05 23:56:40 -05:00
Ken'ichi Ohmichi e0d61118f1 Enable SameHostFilter and DifferentHostFilter
The default filters of nova don't contain SameHostFilter and
DifferentHostFilter, so we cannot test them on the gate.
This patch makes these filters available for the development.

Change-Id: Ia6b4847e9bb21048d254d0a460ae4c5be896b17b
Closes-Bug: #1526620
2016-01-06 00:14:33 +00:00
Jenkins d56b3ff028 Merge "Remove support for Fedora 21 (EOL); add F22 where appropriate" 2016-01-05 21:32:13 +00:00
Jenkins c6dbfdeb6b Merge "Add 5 time measurement points" 2016-01-05 19:24:10 +00:00
Jenkins 8ba3cf0132 Merge "Preserve result returned by apt-get and pip" 2016-01-05 18:56:27 +00:00
Jenkins 119e36c921 Merge "Introduce iniget_sections function" 2016-01-05 18:38:46 +00:00
Jenkins 2bafc5fa89 Merge "Add existing devstack plugins to the devstack plugin list" 2016-01-05 17:32:08 +00:00
Brian Haley a0d1b0151a Delete OVS port on unstack to retain system connectivity
If you configure devstack with the following three values,
for example:

PHYSICAL_NETWORK=eth0
PUBLIC_INTERFACE=eth0
OVS_PHYSICAL_BRIDGE=br-eth0

This will cause devstack to create an OVS bridge, create a port for
eth0, and add it to the bridge (along with it's IP address).

The problem is that on unstack the port is never deleted from OVS,
so eth0 gets "trapped", not showing up in any of the OVS commands,
but not usable by the system.  The only workaround is to unload the
OVS kernel module.

There needs to be an 'ovs-vsctl del-port ...' call at the end of
_move_neutron_addresses_route() on unstack - the antidote to the
'ovs-vsctl add-port ...', that happened on stack.

Closes-Bug: #1516801

Change-Id: Id2ff60f1f8e8fffff1eaffd68d9de4f6aa772943
2016-01-05 12:12:16 -05:00
henriquetruta f212622cbd Adding ENABLE_IDENTITY_V2 on docs
Adds the documentation of ENABLE_IDENTITY_V2 property on keystone
section.

Change-Id: If72325751c3bfd7f11f46c518c9fbf59f10a894f
2016-01-05 13:45:34 -03:00
Brant Knudson 6a4d3eb55f Use keystone[ldap] for ldap packages
Keystone now provides an "ldap" in extras to install its ldap
dependencies so devstack doesn't have to track the python
dependencies itself.

Installation of the extras is done in an extra install line. This is
slightly redundant, however this pattern works much better from an
install stand point as it supports an arbitrarily large number of
extras.

Partial-Bug: 1479962
Change-Id: If0f0ff48f3d6b3c414f2d6fcd747ecf45a397658
2016-01-05 07:41:35 -05:00
Brant Knudson 0842b8147f Support extra dependencies when setup_develop
Recent pip supports using [extras] to install extra dependencies
from the project setup.cfg. Add support so that projects can take
advantage of it.

For example, if devstack is configured to use ldap, install the
extra ldap dependencies using:

 setup_develop $KEYSTONE_DIR ldap

Partial-Bug: 1479962
Change-Id: Ic13d95b99aaa4d3854b2723343e90f5de6b98aa2
2016-01-05 07:41:19 -05:00
Kashyap Chamarthy 90bc586772 Remove support for Fedora 21 (EOL); add F22 where appropriate
Fedora 21 reached its End Of Life (EOL) on 1-DEC-2015[1]; remove it as
supported distribution.

    - stack.sh: Remove Fedora 21 from list of supported distributions.
    - tools/fixup_stuff.sh: Make the minimum Fedora version to be F22 in
      from a conditional check in 'Python packages' section
    - files/rpms/general: Remove 'f21' from NOPRIME.
    - lib/ceph: Remove 'f21' from the check_os_support_ceph() function.
    - doc/source/index.rst: s/Fedora 21/Fedora 22/
    - pkg/elasticsearch.sh: Remove the 'if' conditional in the
      install_elasticsearch() function.

[1] https://fedoramagazine.org/fedora-21-end-life-december-1st/

Change-Id: Ifbcc3dd783ff2f362a464fbf4ca22f20cc2c658e
2016-01-05 13:07:43 +01:00
Jenkins e60d52c392 Merge "Fix heat config when using keystone v3" 2016-01-05 09:13:51 +00:00
Jenkins ff2318e834 Merge "Removed starting of nova-ec2-api service" 2016-01-05 09:13:41 +00:00
Jenkins 9ad98737c6 Merge "Adding cue to plugin registry" 2016-01-05 09:11:32 +00:00
Federico Ressi e208d060e1 Preserve result returned by apt-get and pip
Change I855ffe9c7a75e9943106af0f70cf715c34ae25c5 and
I368fec44858bd97fc6a314fb20eed2b10932cbb1 added timing
infrastructure which hides the return value of
the main commands.  Restore the prior behaviour.

Change-Id: I4a536abefa7824ac6d42e7bbbf1079d9cc055984
Closes-Bug: #1518545
2016-01-05 08:21:05 +00:00
Jenkins 7bd9ca8a3b Merge "Write volume API version into clouds.yaml" 2016-01-05 08:18:58 +00:00
Jenkins 85c466c2d7 Merge "Fix get_plugin_packages when multiple plugins are in use" 2016-01-05 04:55:21 +00:00
Monty Taylor f73263d47a Remove uses of --os-url and --os-token
Those were originally used to bootstrap with admin-token from keystone,
but the openstack client is fully configured now, leaving no reason to
not just use the actual users that are there.

Change-Id: I80bdee33a78a97f5d3910aa36dc331f19780d2f1
2016-01-04 09:12:05 -06:00
Monty Taylor 5bf6a9489c Write volume API version into clouds.yaml
We're trying to get things to use volume v2 by default. devstack already
deploys a v2 endpoint. Tell clouds.yaml that this devstack cloud is a v2
enabled cloud.

Change-Id: I6f792ce65153389aa1ee133e9bd363c394b28534
Closes-Bug: 1467589
2016-01-04 09:08:54 -06:00
Jenkins 227f20ceb2 Merge "update create_heat_accounts, don't use os_url and os_token" 2016-01-04 13:59:56 +00:00
Jenkins 0d81785bbe Merge "Stop using deprecated tempest options" 2016-01-04 13:12:05 +00:00
Jenkins a6eaed187f Merge "Kill neutron-rootwrap-daemon when stop neutron service" 2016-01-04 13:11:48 +00:00
Jenkins 8c5bae06f3 Merge "Enable swap stats in dstat" 2016-01-04 13:11:40 +00:00
Jenkins 13579a3161 Merge "Add option to skip EPEL & other repo installs" 2016-01-04 13:02:00 +00:00
Dmitry Tantsur 5979f47a3d Fix get_plugin_packages when multiple plugins are in use
Due to missing space no plugin packages are installed in this case.

Change-Id: I56b105510e4d31a411f2531fdb20c4ddf1ebff20
Closes-Bug: #1530675
2016-01-04 11:53:31 +01:00
Jenkins e8788c0129 Merge "Specify HTTPS URLs to fix tls-proxy mode" 2016-01-02 13:23:13 +00:00
Jenkins 3a6ef48a03 Merge "Neutron: Fix IPv6 provider networks" 2015-12-31 02:42:53 +00:00
vsaienko 135bd484a9 Introduce iniget_sections function
This function returns list of sections from specified INI file.
It is needed for I7938f26015d953efdf720774b5ad2cee4068ac90.
'iniget_sections' is needed for automatic node enrollment to
Ironic from INI syntax file.

Change-Id: I52a69ad3bc8fc528e7f20e6b03a98f327acaaa74
Implements: blueprint ironic-ml2-integration
2015-12-29 09:42:35 +00:00
Jenkins 1195a5b739 Merge "Remove ironic code from tree" 2015-12-28 17:06:48 +00:00
Huan Xie cc6af3fc94 XenAPI: add support to use local.conf
XenServer install with devstack doesn't support local.conf, this fix
is to add support for using local.conf and backward-compatibility of
localrc

Change-Id: Ie494e01f8f1ecb8720e14392ef3f12d5a5a01dcd
Closes-Bug: #1528520
2015-12-28 08:56:14 +00:00
Jenkins 147c442547 Merge "Remove the support for keystone extensions" 2015-12-27 19:17:11 +00:00
Jenkins eff89ca89c Merge "docs: Add additional configuration in Neutron guide" 2015-12-27 00:40:13 +00:00
liyingjun 44ee7e307b Fix heat config when using keystone v3
Use configure_auth_token_middleware to generate keystone_authtoken
section configration.

Change-Id: I87e0e60afb958683add2aff2552d26cbf8c9e374
Closes-bug: #1300246
2015-12-25 10:32:14 +08:00
Jenkins b5f0f3e98f Merge "Heat - revise keystone/trusts config to avoid deprecated options" 2015-12-24 00:06:56 +00:00
Yuriy Nesenenko a6bbe031f1 Fix restoring a backup volume to a larger volume
We cannot restore a backup to a larger volume on ceph because it
fails with status "error_restoring". This patch adds read/write
permissions to volumes pool for backup user. We need such permissions
to change volume size during restoring backup when the backup is
smaller than a volume.

Change-Id: I794c1126bcee4e07baf5a9dcfee779fd61da5636
Closes-Bug: 1519749
2015-12-23 16:40:44 +02:00
Hua Wang f7dc06cb89 Option "auth_plugin" is deprecated.
Option "auth_plugin" from group "keystone_authtoken" is deprecated.
Use option "auth_type" from group "keystone_authtoken".

Change-Id: I01371bd924114d6470e960a91a3045fe7dc22339
Closes-Bug: #1528746
2015-12-23 12:23:25 +08:00
Li Ma 50120fa047 Kill neutron-rootwrap-daemon when stop neutron service
Neutron-rootwrap-daemon cannot be killed when you stop
neutron services, so here we add the right command in
the neutron stop-service scripts.

Change-Id: I91fefb277427e0e16ff59760b7255e4c7eee1792
Closes-Bug: #1525601
2015-12-23 11:43:38 +08:00
Andrey Pavlov ba23ba317a remove configuration for boto section
thirdparty.boto tests was removed from tempest and this section
is no needed more

Change-Id: Ibec0534d118423be7a51c2e2b82f1c61531503a0
2015-12-22 23:33:30 +03:00
Min Pae 79e6530470 Adding cue to plugin registry
Adding cue to the plugin registry under "Official OpenStack Projects"

Change-Id: I24fc76eb6aadb653c0db5a0fa1d8e22cd166dbe9
2015-12-22 10:31:38 -08:00
Jenkins d21747952e Merge "Remove a stale comment about SQLALCHEMY_DATABASE_DRIVER" 2015-12-22 06:04:46 +00:00
Jenkins e76410c5f3 Merge "Neutron VPNaaS: Set default service provider" 2015-12-21 23:36:35 +00:00
syed ahsan shamim zaidi 512be7de18 docs: Add additional configuration in Neutron guide
Adding NETWORK_GATEWAY to the docs

Change-Id: I67be468d9fbe5f323e21c81b673248d4b629c8ef
Closes-Bug:#1508195
2015-12-21 16:25:58 +00:00
Davanum Srinivas f59e6df23a Do not fail with Tox 2.3.1
Latest tox causes failures:
   File "/usr/local/lib/python2.7/dist-packages/tox/config.py", line 1140, in processcommand
     argv = list(shlexer)
   File "/usr/lib/python2.7/shlex.py", line 269, in next
     token = self.get_token()
   File "/usr/lib/python2.7/shlex.py", line 96, in get_token
     raw = self.read_token()
   File "/usr/lib/python2.7/shlex.py", line 172, in read_token
     raise ValueError, "No closing quotation"
 ValueError: No closing quotation

This is caused by a backwards incompatible change in tox:
https://bitbucket.org/hpk42/tox/issues/181

Change-Id: Ic28c634cf806394cfa82b61cb45be60b8f40a61a
2015-12-21 08:36:43 -05:00
Hongbin Lu bfdd47c853 Enable swap stats in dstat
Swap stats could be useful for trouble-shooting. It is better to
have it enabled in dstat.

Change-Id: I44e0735a95cd6ca3def9b04510551df16a1337a4
2015-12-20 16:30:36 -05:00
Steve Martinelli 4ce859ab2b update create_heat_accounts, don't use os_url and os_token
Currently, the function create_heat_accounts uses the OS_URL and
OS_TOKEN environment variables. This is a bad choice for several
reasons, most importantly we are sending the "ADMIN_TOKEN" value
as a header. There is also no reason to not use a standard admin
user to create these resources.

Change-Id: I70b41d69917b9e53ad09c2c61e022ef09a50acfd
2015-12-20 01:27:30 -05:00
Jenkins 1adb2e1c11 Merge "set the validation path to fixed for n-net" 2015-12-19 19:49:22 +00:00
Matthew Treinish fbe0a62785 Stop using deprecated tempest options
This commit updates lib/tempest to stop using deprecated config
options when tempest is configured.

Change-Id: I65b56ff681d6c27094380693c953fbc3664eceb0
2015-12-18 17:05:55 -05:00
John Kasperski 50ce626db7 Neutron: Fix IPv6 provider networks
The creation of the IPv6 subnet with provider networks does not
specifiy the correct parameters:
 . V6_NETWORK_GATEWAY is specified but never set
       - created new IPV6_PROVIDER_NETWORK_GATEWAY
 . PROVIDER_SUBNET_NAME_V6 is specified but never set
       - created new IPV6_PROVIDER_SUBNET_NAME
 . FIXED_RANGE_V6 is being used
       - created new IPV6_PROVIDER_FIXED_RANGE
 . subnetpool_id is incorrect
       - changed to subnetpool

Related-Bug: #1507870
Closes-Bug: #1417410
Change-Id: I9a1ad11bc54529080ec84d4677fa5633708890c7
2015-12-18 14:37:41 -06:00
Jim Rollenhagen 47367071cd Remove ironic code from tree
This removes all of the ironic code from the devstack tree, in favor of
the devstack plugin in Ironic's tree.

Depends-On: I659e3de5c64df798441798ff48ba5c9c0506585a
Depends-On: I2c52bc014f1b0dbc6b0ae22a4deb4132b4c28621
Change-Id: I5125fce295c79600781469c2f48bea80e7600081
2015-12-18 17:26:02 +02:00
Martin Hickey 47115b0314 Neutron VPNaaS: Set default service provider
Default value needs to be set for service_provider config item in
neutron_vpnaas.conf. This is to support backward compatability
for using the enable_service q-vpn. It should be noted that the
recommended way to use VPN is the devstack plugin.

Change-Id: I0d5960c81c47a138087d480527eff2a8eef59445
Closes-bug: #1527483
2015-12-18 14:29:52 +00:00
Davanum Srinivas 168be83597 Nuke EC2 API service in defaults
Tempest does not test EC2 by default anymore:
Ib5e24e19bcba9808a9f49fe7f328668df77fe4f9

So we don't need to run nova ec2 API service by default.

Change-Id: Ieec0ca1361baf0978d96e69e1134f699c1af3bb9
2015-12-18 07:49:27 -05:00
Jenkins 6f80485898 Merge "Add congress to plugin registry" 2015-12-18 03:21:27 +00:00
Jenkins 3b7e6ab77c Merge "Ensure link is set to up, when moving IP addresses across interfaces." 2015-12-18 03:21:18 +00:00
Jenkins 570111ad7d Merge "Fix override-defaults in plugin docs" 2015-12-18 03:05:13 +00:00
Jenkins 3d0be624fa Merge "Remove Cinder API version cap" 2015-12-17 23:50:46 +00:00
Jenkins 0d37572260 Merge "Turn off tracing when outputting errors" 2015-12-17 23:50:38 +00:00
Jenkins 9839f32858 Merge "Add a more accurate expression for obtaining (IPV6_)ROUTER_GW_IP" 2015-12-17 23:50:29 +00:00
Jenkins f3913f7b89 Merge "Neutron VPNaaS: Use generated configuration files if available" 2015-12-17 22:16:24 +00:00
Mike Turek 00b5f4af92 Replace deprecated baremetal timeouts with new deploy_timeout
See review 258670 for more information. The preceeding patch
consolidates Ironic timeouts into one blanket timeout. This
patch sets the new timeout via the BUILD_TIMEOUT variable and
removes the deprecated timeouts.

Change-Id: I320461b2b40aa2b68afc38a901a5933e39aac1b6
Related-Bug: #1526863
2015-12-17 19:20:49 +00:00
Atsushi SAKAI 2ca8af45a7 Add 5 time measurement points
run_process           process starting time
test_with_retry       process starting time (for neutron legacy)
restart_apache_server Apache HTTPD restart time
wait_for_service      HTTP server waiting time
git_timed             git command execution time

example

========================
DevStack Components Timed
========================

run_process - 52 secs
test_with_retry - 3 secs
apt-get-update - 8 secs
pip_install - 76 secs
restart_apache_server - 9 secs
wait_for_service - 11 secs
git_timed - 127 secs
apt-get - 15 secs

Change-Id: I66140726617450cd9fe9b702092cacf053a20065
2015-12-17 20:28:54 +09:00
Sean Dague 563a7e75b7 set the validation path to fixed for n-net
See if using fixed IPs for connectivity to hosts is more reliable than
floating ips, which really were not intended for these purposes (at
least in nova-net).

Change-Id: I251710ee9186a68bb3ddc58ca803c33b81c8ac49
2015-12-15 17:16:19 -05:00
Jenkins 63b7d7bcae Merge "Add compute microversions configuration on tempest" 2015-12-15 12:51:34 +00:00
Jenkins fe25a2a734 Merge "remove generic extras.d support" 2015-12-15 12:47:54 +00:00
Akihiro Motoki 43f62c0849 Move horizon config and start to appropriate phase in stack.sh
Previously horizon configuration and start are done too early
and as a result horizon init and start need to be run twice
after horizon plugins are enabled.
- horizon config was done before "run_phase stack install"
- horizon init and start were done before "run_phase stack post-config"

This commit rearrange horizon setup to the appropriate phases
defined in the devstack plugin interface.

- Configuration of horizon settings is moved to configure_horizon.
- horizon config is now called between run_phase stack install
  and post-config.
- horizon init and start are now called between run_phase stack
  post-config and extra.

Change-Id: I8bf2ceaf7734c4f7cec68bc05d7cdbae81ef311e
2015-12-15 16:44:41 +09:00
Jenkins c81fb98814 Merge "Neutron LBaaS: Use generated configuration files if available" 2015-12-14 23:17:41 +00:00
Dave Chen 97b9e970b2 Remove the support for keystone extensions
All keystone extensions have been moved into cores and are
enabled by default, there is no need to configure the extension
in devstack but configure it in devstack will block the
install process.

Change-Id: I7d21b122c641f601295ee7ece3583404b3874dbd
Closes-Bug: #1526033
2015-12-15 03:42:17 +08:00
Martin Hickey 2b4d6d1621 Neutron VPNaaS: Use generated configuration files if available
Generate the Neutron VPNaaS sample config files by using the oslo
generator. The files are generated with a .sample extension and
replace the static example configuration files.

Once the generation code is delivered, the static config files
will be removed.

Change-Id: Icef8f7e8f0e8e78bfffa7a5af3f9f2300376b115
Related-blueprint: autogen-neutron-conf-file
Partial-bug: #1199963
Depends-On: I4a6094b8218dfd320d05bfb1e3bc121e8930c551
2015-12-14 14:35:15 +00:00
YAMAMOTO Takashi 239a9788b3 Remove a stale comment about SQLALCHEMY_DATABASE_DRIVER
SQLALCHEMY_DATABASE_DRIVER is no longer used
after If6d8d08e5b7b7c48ca012677b536d71058def6fd .

Also, remove mysql connector packages from the install list.

Closes-Bug: #1523377
Related-Bug: #1493304
Change-Id: I5ecbc3b0bac989faa5c46d3c2866558a505414d8
2015-12-14 21:32:33 +09:00
Mark McLoughlin 76cbbe37aa libvirt: don't repeatedly configure libvirtd logging
/etc/libvirt is not world-readable (at least on Fedora and RHEL) so
use sudo with the grep that checks whether we have already configured
libvirtd logging. Also, change the regex so we don't count commented
out logging config.

Change-Id: I67484b28aafd0fa828385321fa96d9141cb4cb59
Signed-off-by: Mark McLoughlin <markmc@redhat.com>
2015-12-14 11:36:42 +00:00
Mahito OGURA cf4f76299f Update the vnc config options group 'DEFAULT' to 'vnc'
n-api log output WARNINGs that vnc config options group 'DEFAULT'
is deprecated. New vnc config options group is 'vnc'.
This is change of Nova.[1]
This patch changes the vnc config options group 'DEFAULT' to 'vnc'.

[1] https://bugs.launchpad.net/nova/+bug/1447528

Change-Id: If54f750bac83298e90bdca27b5992fe2e5fbb712
Closes-Bug: 1483583
2015-12-14 06:40:23 +00:00
Sean McGinnis 357dff588e Remove Cinder API version cap
Cinder API was pinned to v1 due to openstackclient missing some of the
v2 commands, as reported in osc bug 1475060. That bug has since been
marked invalid, but its intent was covered by the blueprint:

https://blueprints.launchpad.net/python-openstackclient/+spec/volume-v2

This removes the pinning to the v1 API now that osc supports v2. Also
removing the enablement of v1 as it was deprecated three releases ago
and we would like to get more coverage on v2.

Change-Id: Ia4d97734738d026c8721791669110778ff5eb6e5
2015-12-11 14:12:19 -06:00
Anusha Ramineni 69431725eb Add congress to plugin registry
Now congress supports devstack plugin model, hence including the
same in plugin registry

Change-Id: I1ac83c529a466e6a75a9b46ed9b56085140a63ed
2015-12-11 12:00:46 +05:30
Jenkins 16f8470e52 Merge "only set admin_* options for eventlet" 2015-12-11 03:20:27 +00:00
gordon chung e42306d9db only set admin_* options for eventlet
keystone+apache don't need these values set.

Change-Id: Iebdb31b5f0888613e0454f09a426933d6fcd71b3
see: http://lists.openstack.org/pipermail/openstack-dev/2015-December/081984.html
2015-12-10 14:54:01 -05:00
Martin Hickey 10bff0e996 Neutron LBaaS: Use generated configuration files if available
Generate the Neutron LBaaS sample config files by using the oslo
generator. The files are generated with a .sample extension and
replace the static example configuration files.

Once the generation code is delivered, the static config files
will be removed.

Change-Id: Iae1e581ec2bea9c0ced700229effcc716d53fe4e
Related-blueprint: autogen-neutron-conf-file
Partial-bug: #1199963
Depends-On: I25507f3bc6e995580aa91a912c2cf4110757df15
2015-12-10 16:55:07 +00:00
Jim Rollenhagen 9fc3ba408a Ironic: add flag for using plugin
This adds a flag to skip ironic code if the ironic devstack plugin is in
use. This flag will be set to true in ironic's devstack plugin to
indicate that the plugin should be in control, rather than devstack.

This is for the transition period only, and will be removed with the
rest of the ironic code in the devstack tree, once the gate
is configured to use the ironic plugin.

Change-Id: Id01d97fd13fa9f866d645ec5077834ddb78b2b89
2015-12-10 15:41:32 +00:00
Jim Rollenhagen 56632fc75d Fix override-defaults in plugin docs
Docs specify that this file should be override_defaults, when really
devstack looks for override-defaults.

Change-Id: I3900ec4d16ffb48c6969dac5081ea2817536c246
2015-12-10 05:57:19 -08:00
Jenkins 1f7631dce6 Merge "Enable optional Python 3 support" 2015-12-09 18:03:58 +00:00
Philipp Marek af0801de3c Make logfile symlinks with relative names.
Using absolute names for the symlink breaks in quite a few ways;
 * when creating a tar file of the logs,
 * when serving via NFS,

or any other case where the directory gets transferred to
a different machine.

So just create the symlink with relative names, then they'll work
in any location.

Change-Id: I432a69754985fc71feb0068b7adca01066d7bc1b
2015-12-09 13:52:05 +01:00
ghanshyam 642b07b930 Add compute microversions configuration on tempest
Many projects like Nova, Ironic etc have implemented the
microversions for versioning their APIs.

Tempest is going to tests those microversions -
I57b78b4c0543b6fb0533b556886a19a03297555e.

For testing microversion in Tempest on gate, we need to set
a valid range of microversion in Tempest config and based on that
Tempest will run appropriate tests.

This commit adds the below range options for compute microversion testing-
- [None, 'latest'] - for master branch as default
- [None, None] - for tests running on v2.0
- option to set the range.

Depends-On: I81e86faca6f8c0ffb7da22154a62236ac25cf0c0

Partially implements blueprint api-microversions-testing-support

Change-Id: I171b862d1bba1af467f5b9a76288216c39e2adda
2015-12-09 13:37:46 +09:00
Steven Hardy 2a68844013 Heat - revise keystone/trusts config to avoid deprecated options
There are some inter-related changes required to avoid using legacy
fallback/deprecated paths in heat, which result in warnings in the
log, e.g because we fall-back to reusing keystone auth_token
configuration instead of heat specific sections.

To fix this:
- Don't explicitly set deferred_auth_method=trusts, as this is now
  the default (since kilo)
- Create a new "trustee" section containing configuration used for
  the password auth-plugin associated with deferred authentication
  via trusts (support for this was added during liberty to enable
  us to stop incorrectly using the keystone auth_token config)
- Create a "clients_keystone" section to avoid falling back to the
  legacy behavior of stealing the uri from auth_token.

This also means we can remove the FIXME and auth_token auth_uri
mentioned by jamielennox.

Change-Id: Ie34332a7aec3b9b271df0759dd6ab66b45302832
Related-Bug: #1300246
2015-12-08 13:34:27 +00:00
Martin Hickey 7b7101f1c5 Neutron FWaaS: Use generated configuration files if available
Generate the Neutron FWaaS sample config files by using the oslo
generator. The files are generated with a .sample extension and
replace the static example configuration files.

Once the generation code is delivered, the static config files
will be removed.

Change-Id: Ic8208850a27408c8fbeed80ecdb43345aa7dfaa4
Related-blueprint: autogen-neutron-conf-file
Partial-bug: #1199963
Depends-On: I8e9113dfb88e5290f6eedd012d1a52fc35c3c88c
2015-12-07 11:11:06 +00:00
Jenkins 563c68f3cd Merge "Fix path setup in add_sudo_secure_path" 2015-12-06 13:34:19 +00:00
Jenkins 366382fa6e Merge "Ensure the Linux Bridge agent can be used with provider networking" 2015-12-05 04:55:15 +00:00
Jenkins 5f23dbe978 Merge "create apt_get_update to try to work around broken mirrors" 2015-12-04 19:47:31 +00:00
Jenkins 2824aa868b Merge "Update lib/ironic to always skip cleaning" 2015-12-04 05:22:25 +00:00
Jenkins c33b9de056 Merge "Neutron: Use generated configuration files if available" 2015-12-03 21:09:47 +00:00
Devananda van der Veen 2391d4321f Update lib/ironic to always skip cleaning
Previously, devstack would disable ironic's cleaning phase if a driver
with "agent" in the name was used. However, we have begun using the IPA
ramdisk for all tests in the gate, which caused cleaning to be run for
the "pxe_ssh" job which therefore fails due to timeouts.

As a result, for now, we need to always disable cleaning.

As a point of record, we should actually be testing cleaning in the
gate. However, running 'shred' on the disks of a nested VM is too slow
and causes the gate to timeout // take too long. Some options have been
discussed for ways to test the callback mechanism but avoid actually
running 'shred' on the disks.

This needs to be revisited.

Change-Id: Id15cf6cc49122b08e557e44871b31a8c0d20b55d
Related-to-Bug: #1517277
2015-12-03 09:44:59 -08:00
Sean Dague 41d01104b1 remove generic extras.d support
This removes the generic extras.d support, which we said we'd do at
Mitaka-1. In tree extras.d continues to function as before, though we
need stories to get ceph and ironic into plugins, and a better
solution for Tempest.

Change-Id: I8b134446dc08a2c3852423ca71af2f469f85496e
2015-12-03 08:12:23 -05:00
Sean Dague 88ee8ce468 create apt_get_update to try to work around broken mirrors
Ubuntu's apt mirroring mechanism produces inconsistent mirrors pretty
regularly. The devstack-gate apt-get update model seems to have been
more effective getting past this than what we did in devstack. Adopt
that method for our updates.

Change-Id: I97c7896ef38b275aacb4f933fc849acee1bab858
2015-12-03 07:44:15 -05:00
Doug Hellmann ddc3839bdc Enable optional Python 3 support
Add USE_PYTHON3 and PYTHON3_VERSION variables to allow services to use
python 3 if they indicate support in their python package metadata.

Tested in Heat here -> I837c2fba682ab430d50e9f43913f2fed20325a7a.
Project config change to add a dedicated job to Heat is here -> I0837e62d6ccc66397a5e409f0961edd4be31f467

Change-Id: I079e18b58b214bf8362945c253d6d894ca8b1a6b
2015-12-01 14:52:35 -05:00
Ian Wienand 1afc28bf6c Turn off tracing when outputting errors
When outputting these error strings, turn off the tracing so the user
can actually read it.  Also reword the "not root" user message so it
fits into a standard terminal window length.

Change-Id: I466c60865bc1128f4edd219f831a9c6cffa67829
Parital-Bug: #1517199
2015-12-01 19:15:21 +00:00
Jenkins b889294af7 Merge "Add test for package file ordering" 2015-12-01 16:01:40 +00:00
Jenkins 4300f83acf Merge "Config graceful_shutdown_timeout option for services" 2015-12-01 16:01:30 +00:00
Jenkins 52d176c04f Merge "Add flag for test_incremental_backup" 2015-12-01 11:27:39 +00:00
Jenkins 2f50ee501b Merge "Fix comment typos in inc/ and tests/ directories" 2015-12-01 06:01:50 +00:00
Jenkins 592404156a Merge "Force heat deferred_auth_method to password in standalone mode" 2015-12-01 05:58:42 +00:00
Dmitry Guryanov e0ac37c257 Fix path setup in add_sudo_secure_path
There are two bugs in add_sudo_secure_path.

Firstly we don't properly check if the file exists, so always append
the new line.  This will overwrite any existing changes.

Secondly the logic for checking if the path exists is inverted, so we
miss adding paths when we should.  This particularly causes failures
when installing with virtualenv's since the paths are inside the
virtualenv, rather than the standard system locations.

Change-Id: I646fe0c68958470d464fe4f3d81d5c17dd6f2ab6
Closes-bug: #1521241
2015-12-01 13:43:01 +11:00
Jenkins 69101c1c21 Merge "Single call for 'nova flavor-list'" 2015-11-30 18:08:26 +00:00
Jenkins b85807875a Merge "Use autogenerated flavor id" 2015-11-30 17:25:34 +00:00
Martin Hickey 30d5fae315 Neutron: Use generated configuration files if available
Generate the neutron core sample config files by using the oslo
generator. The files are generated with a .sample extension and
replace the static example configuration files.

Once the generation code is delivered, the static config files
will be removed.

Change-Id: Ic37a16b6cf8eb92030649f1fc8b198738a8cc104
Related-blueprint: autogen-neutron-conf-file
Partial-bug: #1199963
Depends-On: I1c6dc4e7d479f1b7c755597caded24a0f018c712
Co-Authored-By: Louis Taylor <louis@kragniz.eu>
2015-11-30 16:44:18 +00:00
Jenkins 8bfcb723c6 Merge "Add discussion of LIBS_FROM_GIT" 2015-11-30 16:38:56 +00:00
Joe D'Andrea 779d867028 Force heat deferred_auth_method to password in standalone mode
Heat does not support Keystone Trusts when deployed in standalone
mode. This change forces an error when HEAT_DEFERRED_AUTH is set
to anything other than "password" if HEAT_STANDALONE is True and
advises of the acceptable setting.

Change-Id: Ib4ee9d9af396093137a2a0f99f1b18ae153ccdb3
Closes-Bug: #1463837
2015-11-30 15:36:30 +00:00
Atsushi SAKAI 5509ed5797 Fix comment typos in inc/ and tests/ directories
valu3 => value3
enviromnet => environment
direcotry => directory
virualenv => virtualenv
editiable => editable
envirnment => environment

Change-Id: I97fb2d44a37b16d02d4fbdb08bfa33414349f651
2015-11-30 20:25:17 +09:00
Jenkins bf81732b12 Merge "Set unprovision and active timeout to match build_timeout" 2015-11-29 10:27:11 +00:00
Shinobu KINJO f95315b6ea Ensure link is set to up, when moving IP addresses across interfaces.
- To add, initialize and set up a valiable named IP_UP
 - To bring up interface after moving IP to OVS bridge

Change-Id: I70f5974c115be6f7e7422a9a325f36cf3b71455a
Closes-Bug: #1469596
2015-11-28 00:24:08 +00:00
Jenkins f95c9a9603 Merge "Namespace XTRACE commands" 2015-11-27 11:51:07 +00:00
Jenkins e9326ee638 Merge "Add create stack user to quickstart document" 2015-11-27 04:38:39 +00:00
Ian Wienand 523f488036 Namespace XTRACE commands
I noticed this when debugging some grenade issues failures.

An include of grenade/functions stores the current value of XTRACE
(on) and disables xtrace for the rest of the import.

We then include devstack's "functions" library, which now overwrites
the stored value of XTRACE the current state; i.e. disabled.

When it finishes it restores the prior state (disabled), and then
grenade restores the same value of XTRACE (disabled).

The result is that xtrace is incorrectly disabled until the next time
it just happens to be turned on.

The solution is to name-space the store of the current-value of xtrace
so when we finish sourcing a file, we always restore the tracing value
to what it was when we entered.

Some files had already discovered this.  In general there is
inconsistency around the setting of the variable, and a lot of obvious
copy-paste.  This brings consistency across all files by using
_XTRACE_* prefixes for the sotre/restore of tracing values.

Change-Id: Iba7739eada5711d9c269cb4127fa712e9f961695
2015-11-27 15:36:04 +11:00
Jenkins 307730acd9 Merge "configuration.rst: Document post-extra meta section phase" 2015-11-27 02:19:11 +00:00
Jenkins 6bfd30b7ad Merge "Consolidate two /sbin/ip commands into a single one" 2015-11-27 02:16:10 +00:00
vsaienko be3e553556 Add discussion of LIBS_FROM_GIT
Add a pointer to installing clients via LIBS_FROM_GIT to local.conf
sample.  Mention in the git tree setup that the projects within are
usually installed via released pip versions.

Change-Id: I245094e51ea4a8ce983f6a1e48b6ab7ca5d309d0
2015-11-27 12:05:36 +11:00
Rafael Folco 0b4c83a07e Single call for 'nova flavor-list'
Code simplification only, no functional changes.

Change-Id: I0b836bc77c0553528e3bc9e0cea98d59856ccdf5
2015-11-26 10:08:36 -06:00
Arun S A G ad69e69e3f Set unprovision and active timeout to match build_timeout
The build_timeout for the ironic baremetal build is at
340s. Modify the unprovision_timeout and active_timeout
to match BUILD_TIMEOUT to avoid frequent failures during
IPA gate jobs.

Change-Id: Idfdc54210e33c71719c7fd0c905d0b802809e173
Related-Bug: #1393099
2015-11-25 14:52:43 +00:00
Kahou Lei d663e29d40 Ensure the Linux Bridge agent can be used with provider networking
The root cause is that when provider network is used, devstack
is trying to build ovs related interface.

We need to make a condition such that if linux bridge is used, don't
build any ovs related interface.

Change-Id: I7f26ce7893a0ecce55b3467cd5621abf25745b8e
Closes-bug: #1509705
2015-11-24 06:50:09 +00:00
Einst Crazy 2ed28132e0 Add create stack user to quickstart document
Add instructions on creating a user to the documentation, and call out
that the standard cloud-users are probably ok too

Change-Id: I1119a43f1d5ae7c0c208bf0cc16e2f7bee29a69d
2015-11-24 15:11:09 +11:00
John Kasperski bdc0fa8ab1 Neutron: Clean up documentation typo
Remove duplicate SERVICE_HOST and MYSQL_HOST settings in the
examples.

Change-Id: I0e102b671f03ccb183d30ec6a762d00ebcf1e4b5
2015-11-23 12:05:44 -06:00
obutenko a366b97c0a Add flag for test_incremental_backup
Forced creation of incremental backup is not
implemented in old release (Juno and Kilo).
The test is skipped by default for Juno and Kilo gates.
Need to add flag to unskip this test in new release.

New test: Idde2c14aba78382b1063ce20269f4832f9fdd583
Change-Id: I565b5941d6067644fc9ca6cb0891d97f4946e031
Partial-Bug: #1506394
2015-11-23 16:27:04 +00:00
vsaienko f0dd6894af Use autogenerated flavor id
Fix to trove has been merged, and autogenerated flavor ID
is available since Kilo.

Related-Bug: #1333852

Change-Id: Ie4b3dd11a23fa5f91cf9ff22dd05f1afd0532cb4
2015-11-23 10:11:31 +02:00
Jenkins 8c5a331cf9 Merge "Updated Typos in devstack" 2015-11-23 07:29:43 +00:00
Jenkins 85ce0d2711 Merge "remove precise from the supported list" 2015-11-22 11:36:24 +00:00
Jenkins 202279c4e5 Merge "Add liberasurecode-dev as a swift dependency" 2015-11-20 22:02:18 +00:00
Sean Dague c18b4a4e5c remove precise from the supported list
We haven't been testing master on precise for a long time, and changes
are coming that won't work on precise. If people want to keep running
on precise they should realize they are on their own with it. And that
we won't block any changes that use it.

Change-Id: I3697f1c2409ad08f49793dabb37011606188e6f6
2015-11-20 12:19:18 -05:00
Jenkins cdc336d28e Merge "Fedora 23 supported" 2015-11-20 16:57:03 +00:00
Jenkins 19f4acbc14 Merge "doc: document override_defaults phase" 2015-11-20 09:54:54 +00:00
Komei Shimamura 255a58fec6 Add existing devstack plugins to the devstack plugin list
Change-Id: I336a4c652a78e778e39652f1f16ff69be10ab065
2015-11-20 18:51:20 +09:00
Swapnil Kulkarni (coolsvap) 7f0be4fc5f Updated Typos in devstack
(1/5) Updated HACKING.rst for typos
(2/5) Updated typos in lib/dlm
(3/5) Updated typos in lib/ironic
(4/5) Updated typos in unittest.sh
(5/5) Updated typos in test_meta_config.sh

Change-Id: I7aafa3af69df9dc6a5923a8557f380d48b73433a
2015-11-20 11:17:19 +05:30
Attila Fazekas e0129f3c24 Fedora 23 supported
This change allows to use f23 without the FORCE=yes option.

Make sure you have latest kernel, or you have kernel-modules
installed for the running kernel.

f21 support will be removed when the gate jobs are upgraded
to use newer fedora version.

Change-Id: I6e3e64088187a7f6da745e3cfb07524fd31782ab
2015-11-19 10:47:58 +01:00
Jenkins 0b6a40bcab Merge "install ebtables locking workaround" 2015-11-18 23:20:36 +00:00
Ian Wienand 2ba36cda79 Add vercmp function
The existing vercmp_numbers function only handles, as the name says,
numbers.  I noticed that "sort" has had a version sort for a long time
[1] and, rather than re-implement it badly, use this as a version of
vercmp that works a bit more naturally.

This is intended to be used in an "if" statement as in

  prog_ver=$(prog_ver --version | grep ...)
  if vercmp $prog_ver "<" 2.0; then
     ...
  fi

A test-case is added to test the basic features and some edge-cases.

[1] http://git.savannah.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=4c9fae4e97d95a9f89d1399a8aeb03051f0fec96

Change-Id: Ie55283acdc40a095b80b2631a55310072883ad0d
2015-11-19 09:37:33 +11:00
Jenkins bcad037697 Merge "Remove brackets from IPv6 address in mysql cfgfile" 2015-11-18 17:22:38 +00:00
Jenkins a611ce95e3 Merge "Fix error detection & exit in report_results" 2015-11-18 17:18:28 +00:00
Sean Dague 7860f2ba31 install ebtables locking workaround
ebtables is racing with itself when nova and libvirt attempt to create
rules at the same time in the nat table. ebtables now has an explicit
--concurrent flag, that all tools must opt into to prevent ebtables
from inherently being unsafe to run.

libvirt gained this support in 1.2.11, which is too new for our ubuntu
primary testing environment. Nova still hasn't added this support,
though even if it did, we'd run into the issue with libvirt.

We can do the most ghetto thing possible and create a wrapper for
ebtables that does explicit locking on it's own. It's pretty terrible,
but it should work. And it is the kind of work around that people
unable to upgrade libvirt will probably need to do.

This is an opt in value which we should set in the gate to True.

Related-Bug: #1501558

Change-Id: Ic6fa847eba34c21593b9df86a1c2c179534d0ba5
2015-11-18 10:59:50 -05:00
Deepak C Shetty 93e2499ee1 doc: document override_defaults phase
override_defaults phase was added to devstack in [1]
but documentation was pending. This patch adds the
same. For history around override_defaults, one can
refer to the mail thread [2]

Also fixes a small typo

[1]: https://review.openstack.org/#/c/167933/
[2]: http://lists.openstack.org/pipermail/openstack-dev/2015-March/059621.html

Change-Id: I1b58ca0ce0e4b85a1dbd710b4c426606fd4dcf45
2015-11-18 12:43:54 +05:30
Tushar Gohad 2960bfa7f6 Add liberasurecode-dev as a swift dependency
Swift requirement PyECLib won't bundle liberasurecode
going forward given the package is available in common
distros now.  This patch adds liberasurecode-dev(el)
package to the devstack debs/rpms list for Swift as a
PyECLib build/install dependency.

Change-Id: Idbc2ca3f677f1b8153ebf3a5912f4354525a55c7
2015-11-17 20:36:03 -07:00
Brian Haley bb9caeae00 Consolidate two /sbin/ip commands into a single one
When determining the primary IP/IPv6 addresses on a system,
we can use the /sbin/ip command to filter them for us.  The
resulting address is parsed the same way for both address
families, so we can use just a single command.

Change-Id: I0471ff5a258a16a23061941ac38063dbf3d7c233
2015-11-17 21:23:36 -05:00
Jenkins fa8464bf34 Merge "Fix typos for stack.sh and lib of comments and message" 2015-11-18 02:20:45 +00:00
Jenkins 51c5498eab Merge "doc: Update LBaaS v2 setup for Liberty" 2015-11-18 01:12:57 +00:00
Jenkins bf5f5880b3 Merge "Delete $IPV6_PUBLIC_NETWORK_GATEWAY IP during cleanup" 2015-11-18 00:10:07 +00:00
Steve Baker bd4048a3c5 Never uninstall python-pip on fedora
Python in f23 and f22 depends on the python-pip package so removing it
results in a nonfunctional system. pip on fedora installs to /usr so pip
can safely override the system pip for all versions of Fedora.

Change-Id: I336c7ffdf00784ca8deba7d6612a08b96a0ad098
Closes-Bug: #1467569
2015-11-18 11:04:27 +13:00
Rob Crittenden cdba7b0e53 Specify HTTPS URLs to fix tls-proxy mode
A number of new settings are required for glance, cinder
and keystone to be installable when the tls-proxy
service is enabled.

For cinder a new public_endpoint option was added and this
needs to be set to the secure port.

Keystone needs the admin_endpoint and public_endpoints
defined otherwise during discovery the default,
non-secure versions, will be returned.

The keystone authtoken identity_uri was set at its default value
in the glance registry and API configuration files.

Change-Id: Ibb944ad7eb000edc6bccfcded765d1976d4d46d0
Closes-Bug: #1460807
2015-11-17 19:39:54 +00:00
Ian Wienand 95a9ff0587 Add option to skip EPEL & other repo installs
Add an option to skip the EPEL & other repo installs for rhel7 based
platforms.

This option can serve two purposes; firstly as described in
I834f20e9ceae151788cec3649385da1274d7ba46 during platform bringup, a
publically available EPEL might not be available.  This will allow you
to pre-configure a hand-built repo, etc. so you can continue testing.

The other thing is that in a CI system you might be frequently
building images and pre-installing EPEL/RDO etc.  In that case this is
just extra work.

Change-Id: I9809449f4a43fa9b547c6e3ca92722c7f6e66d6a
2015-11-18 06:21:12 +11:00
Jenkins 585501a250 Merge "Only take the first global, non temporary ipv6 address" 2015-11-17 06:12:40 +00:00
Johan Pas 199d857442 Remove brackets from IPv6 address in mysql cfgfile
stack.sh creates a user-specific configuration file ~/.my.cnf for mysql.
If devstack is installed with SERVICE_IP_VERSION=6 option in local.conf,
the IPv6 host address was stored in the ~/.my.cnf file with square
brackets. However mysql does not use bracketing for IPv6 addresses,
resulting in 'Unknown MySQL server host' error when 'mysql' command is
run. With this patch IPv6 host address is written to ~/.my.cnf without
brackets.

Closes-Bug: #1516776
Change-Id: I27a7be8c75cf6b09b4a75dc4c9d09cd36bc5ac81
2015-11-17 01:02:54 +01:00
Jenkins 8f07ef84db Merge "Delete some comment or messages of keystone_data.sh(removed)" 2015-11-16 17:24:42 +00:00
Jenkins 21fee9d160 Merge "XenAPI:Fix problems to support xenserver+neutron" 2015-11-16 17:24:33 +00:00
Jenkins 9cea6e8854 Merge "Cleanup some of the deb/rpm installs" 2015-11-16 17:24:11 +00:00
Jenkins 28a4d781f3 Merge "Use openstackclient in swift exercises" 2015-11-16 16:26:26 +00:00
Jenkins e97bceca8c Merge "Disable resize tests in Tempest if using cells with custom flavors" 2015-11-16 06:03:03 +00:00
Jenkins 6e7b3aa723 Merge "Fix RST in configuration.rst" 2015-11-16 05:16:30 +00:00
Jenkins 3bc6f042e4 Merge "Remove multi-region workaround" 2015-11-16 05:15:49 +00:00
Jenkins e0b2af0b47 Merge "Remove 'enable_service tempest' from sample/local.conf" 2015-11-16 05:11:44 +00:00
Ian Wienand ecf06dbadb Add test for package file ordering
Add a simple test to ensure package install files remain sorted
alphabetically (follow-on from the sorting of the files done in
I01e42defbf778626afd8dd457f93f0b02dd1a19d)

Change-Id: I75568871e92afcd81dac2c3ce18b84aa34cdd289
2015-11-16 15:50:58 +11:00
Jenkins d36c1f3187 Merge "Cleanup ReST format issues" 2015-11-16 04:48:05 +00:00
Ian Wienand ca7e4f285c Fix error detection & exit in report_results
We wish to fail if we have >0 zero errors, not >1 errors (i.e. exactly
one error did not trigger a failure!)

This change also brings consistency to the pass & failure paths by
ensuring report_results exits in both cases, since report_results is
supposed to be the last thing run in a test file.

Change-Id: Id4721dffe13721e6c3cd71bca40c3395627e98bf
2015-11-16 15:47:51 +11:00
yangyapeng 01cf55a692 Fix RST in configuration.rst
Fix minor RST issue from before file was converted.

Change-Id: Ie16ceace9c17e98010e068641ce60ba9a365ede0
2015-11-16 14:52:08 +11:00
Steve Martinelli bbe59edb6f Use openstackclient in swift exercises
With the release of osc 1.8.0, swift support has been expanded and
we can now remove references to the swift CLI from this exercise
file. Also made minor improvements to comments.

Change-Id: I04069eb6251f8cbf8266183441b2cfdb64defd7d
2015-11-14 16:16:24 +00:00
Jenkins d9da93ede2 Merge "Neutron-legacy: Remove LINUXNET_VIF_DRIVER option" 2015-11-14 02:51:49 +00:00
Jenkins ed1a3918ab Merge "Replace default route for inet6" 2015-11-14 02:51:39 +00:00
Jenkins 9f733f9dc1 Merge "Add ability to run Nova metadata under Apache2" 2015-11-13 23:55:28 +00:00
Jenkins ba5ba750b2 Merge "change swift post to openstackclient cli command" 2015-11-13 23:10:49 +00:00
Jenkins a2194be12e Merge "Fix stack failure when default subnetpool is set" 2015-11-13 22:42:36 +00:00
Jenkins a3517c198b Merge "refactor zookeeper into a slightly more generic dlm module" 2015-11-13 15:41:24 +00:00
Chung Chih, Hung 65a028bf1c [ceph] Deploy ceph failed at controller node for multiple node
Controller node wouldn't install libvirt package. The package will only
been installed at nodes which had enable nova-compute.
We only need to configure libvirt secret if it had enable nova-compute.

Change-Id: I9cd6baf1820ce9f71c276d7e8b670307833578a5
Closes-Bug: 1515960
2015-11-13 11:12:47 +00:00
Atsushi SAKAI fe7b56cdef Fix typos for stack.sh and lib of comments and message
Fix 10 comments and 1 message

stack.sh
  Certicate => Certificate (comment)
lib/stack
  Sentinal => Sentinel (comment)
lib/neutron-legacy
  overriden => overridden (comment)
  necesssary => necessary (comment)
  notifiy => notify (message)
  notifations => notifications (comment)
lib/rpc_backend
  orginal => original (comment)
  cofiguration => configuration (comment)
lib/stack
  confgured => configured (comment)
lib/swift
  additinal => additional (comment)
  calclution => calculation (comment)
  maximun => maximum (comment)

Change-Id: I3637388b67decb007cd49af9addecc654009559b
2015-11-13 17:28:05 +09:00
Jenkins 4f262a109d Merge "Configure horizon with identity v3" 2015-11-13 05:51:14 +00:00
Jenkins 95fb04f971 Merge "Fix typo in error message printed if ran under virtualenv" 2015-11-12 23:48:19 +00:00
Jenkins 0f1a4aba5e Merge "Fix typos on three comments and one message" 2015-11-12 22:06:23 +00:00
Jenkins 075535d311 Merge "Ensure python is installed" 2015-11-12 22:02:58 +00:00
Jenkins ebbd6f70fd Merge "Remove unused compat variable SCREEN_DEV" 2015-11-12 20:39:55 +00:00
Jenkins 4fe6b36277 Merge "Update comments to reflect current USE_SCREEN usage" 2015-11-12 20:36:34 +00:00
Jenkins 0ab9da1f7b Merge "Ironic: Explicitly allow DHCP ports" 2015-11-12 18:43:38 +00:00
Jenkins 808c2ab90a Merge "Do not remove python-pip package on Fedora-23" 2015-11-12 18:37:30 +00:00
Sean M. Collins 790266f0d2 Delete $IPV6_PUBLIC_NETWORK_GATEWAY IP during cleanup
So that it does not end up being the IP address that is picked to move
back to $PUBLIC_INTERFACE when we call _move_neutron_address_route

Change-Id: I3d29d4f11feff308f6ad5d950ef004b48ec11b67
Closes-Bug: 1514984
2015-11-12 09:14:48 -05:00
Attila Fazekas adcf40d5f8 Ensure python is installed
devstack can call python before parsing the
package requirements, so the python installation
needs to be done eralier.

Closes-Bug: #1488625
Change-Id: I85cca899aeedd741cf7dc695435d61390e260f22
2015-11-12 14:42:58 +01:00
Atsushi SAKAI 33c9a67ead Fix typos on three comments and one message
Fixes typos on three comments and one message
in functions/functions-common

Change-Id: I2c926ca29b284afd4534b92860fa46f248676a83
2015-11-12 19:53:06 +09:00
Jordan Pittier c175040103 Fix typo in error message printed if ran under virtualenv
Commit title says it all. I don't know how you feel about these kind
of commits, I feel like it's a waste of resources but I also feel bad
when I see big/obvious typo.

Change-Id: If048bb2dbad1a0b5a13e56b5fa1e6ea7c01eb05e
2015-11-12 11:25:07 +01:00
Jenkins 1987cfb1be Merge "Remove lib/neutron_plugins/ibm" 2015-11-12 07:19:46 +00:00
Jenkins 209e1e38ea Merge "Install kernel-modules package on fedora" 2015-11-12 06:48:12 +00:00
Huan Xie 201e3c133e XenAPI:Fix problems to support xenserver+neutron
The lack of a CI for XenAPI + Neutron has meant this support has been
broken over time. This is set of one-off fixes that are needed to
reintroduce support while we work towards getting a CI functional

Related-Bug: #1495423
Change-Id: Id41fdc77c155756bda9e2e9ac0446a49f06f0603
2015-11-12 05:54:55 +00:00
Jenkins 336c08005f Merge "docs: Add more networking details to single interface section" 2015-11-12 05:40:25 +00:00
Jenkins fa069b37ec Merge "Add development libraries needed by Pillow" 2015-11-12 03:02:40 +00:00
Tony Breeds 34a5aa5110 Remove unused compat variable SCREEN_DEV
Currently we set USE_SCREEN to SCREEN_DEV if it's set.  There is a
comment to remove it once it's eracticated from CI.

AFAICT this pre-condition has been met.

Change-Id: I1423c8b9c18d1b3e34dbfe1c03be735c646a12b4
2015-11-12 09:56:21 +11:00
Tony Breeds 9329290183 Update comments to reflect current USE_SCREEN usage
In a couple of places the tracking of USE_SCREEN has drifted from the
comments.

Correct that.

Change-Id: I63bdd5ca4de49bf653f5bc8f8e0e5efe67ef605c
2015-11-12 09:56:21 +11:00
Sean Dague 5cad4d3fe9 refactor zookeeper into a slightly more generic dlm module
This attempts to make the zookeeper installation a bit more modular
(assuming that other folks will want to add other dlms as plugins),
and addresses the service start issues with zookeeper under
ubuntu/upstart.

Zookeeper is not going to be installed by default. Services need to
ask for it with use_dlm.

Change-Id: I33525e2b83a4497a57ec95f62880e0308c88b34f
2015-11-11 14:30:12 -05:00
Jenkins 4622fd682e Merge "fail if devstack attempts to be run under virtualenv" 2015-11-11 16:04:09 +00:00
Jenkins db6cb078ae Merge "On Ubuntu: don't start Zookeeper twice" 2015-11-11 13:32:02 +00:00
Jenkins 2e17de1705 Merge "Sort rpm/deb files alphabetically" 2015-11-11 05:13:12 +00:00
Jenkins 7eaeefac80 Merge "Allow screen without logging to disk" 2015-11-11 05:13:07 +00:00
Tony Breeds 2e8695b075 Add development libraries needed by Pillow
Change I8da7dd95ae24cf06dc7bdc300fcf39947a6df093 added Pillow build deps
to nodepool thick slaves.  This means that Pillow 3 will work in unit
tests.

Make the matching change to allow Pillow 3.0.0 to work under devstack.

The longer term aim is to remove temporary upper cap.

Change-Id: I2bec8cf1bfeaaa6ae329704229fdeb86d26e55c7
2015-11-11 12:04:18 +11:00
Richard Theis 7e55068297 doc: Update LBaaS v2 setup for Liberty
- Updated LBaaS v2 setup to use Octavia.
- Removed the old cirros image URL, the default should be sufficient.
- Fixed nova boot commands based on Liberty DevStack.
- Added sleeps to LBaaS v2 commands since most commands
  can take a few seconds to complete.
- Added wait to load balancer creation since it can take
  a few minutes to complete.
- Wrapped long lines in the descriptions.

Change-Id: Ib4a3f02ebc2606e3e16591ae3a23676cb0a6cd64
2015-11-10 16:37:32 -06:00
Jenkins 6a9641753c Merge "Add check for get_packages argument" 2015-11-10 22:04:51 +00:00
Sean Dague 90dd262c19 fail if devstack attempts to be run under virtualenv
This has come up on the mailing list recently, we should just fail
early and explicitly so that people don't get way down this path and
not realize it's never going to work.

Change-Id: I8a7f001adf3a5244b8655858ebd5fc7014a4af55
2015-11-11 08:21:41 +11:00
Sean M. Collins 1650166c25 docs: Add more networking details to single interface section
Add complete localrcs, and also add a section for additional compute
nodes, to help demonstrate the OVS layout and how traffic flows over
VXLAN tunnels from compute nodes, to the L3 node, and out onto the
wire.

Closes-Bug: #1506733

Change-Id: Ibb5fd454bdcb8c13400c1e11f640c2aafc0f73ca
2015-11-10 15:09:35 -05:00
Sean M. Collins 9af81997b5 Only take the first global, non temporary ipv6 address
Taking a temporary IPv6 address created through the OS' support for
Privacy Extensions (RFC 4941) is not very useful. It would occur because
it happened to be the first in the list returned from ip(8). Instead,
grab the first IPv6 address that is not a temporary address.

Related-Bug: #1488691

Change-Id: I7f455572241e7d0c7406f173239a2270a4d8926a
2015-11-10 15:00:20 -05:00
Sean M. Collins 59e86a3aae Replace default route for inet6
When taking the IPv6 addresses from an interface, also update any routing
table entries.

Change-Id: I0424de6c5c1b0fcb7a9bc3fc1475036668cab09d
Closes-Bug: 1514494
2015-11-10 14:57:03 -05:00
Attila Fazekas f6cee0fa20 Install kernel-modules package on fedora
Since f21 the kernel modules are split to multiple packages
and by default just the core modules gets installed.

nova requires iscsi_tcp module for attaching a volume
from any iscsi source (default cinder lvm setup).

On el7 it is not required.

Change-Id: I31705720ade5defd1b6d4b95bc51c2a11a5f0364
Related-Bug: #1429504
2015-11-11 06:38:22 +11:00
Tony Breeds 536b8c1d2c Allow screen without logging to disk
In some niche setups it is desirable to run OpenStack services under
screen, but undesirable to automatically keep a persistent log from
each service.

Add a new variable SCREEN_IS_LOGGING that controls if screen logs each
window to disk automatically.

Ideally screen itself would be configured to log but just not activate.
This isn't possible with the screerc syntax.  Temporary logging can still
be used by a developer with:
    C-a : logfile foo
    C-a : log on

Change-Id: I2a3abf15dea95ae99ddbdfe1309382df601b7d93
2015-11-11 06:21:45 +11:00
Jordan Pittier 04e73e17e8 On Ubuntu: don't start Zookeeper twice
On Ubuntu, if the Zookeeper service is already running, attempting
to start it again fails with non-zero exit code. This patch detects
whether ZK is already started before trying to start it.

Change-Id: If1257152de01fe5fe0351fdbb538bce083edbec0
Closes-Bug: #1513741
2015-11-10 19:01:28 +01:00
Jenkins ef0d320981 Merge "Clear out some duplicate package dependencies" 2015-11-10 14:53:39 +00:00
John Davidge 8a3b7d424d Fix stack failure when default subnetpool is set
Currently stack.sh will fail if a value is set for
default_ipv4_subnet_pool and/or default_ipv6_subnet_pool in
neutron.conf. This is because setting either of these values
overrides the default behaviour of using the implicit (none)
subnetpool for subnet creation, and the subnetpools
specified in neutron.conf have not been created at the time
of the devstack calls to subnet-create.

This patch fixes the failure by specifying subnetpool = None
in calls to subnet-create, so that neutron will behave as
devstack expects. This parameter will no longer be required
once these configuration options are removed in the OpenStack
N release, but will be required for compatibility with Kilo,
Liberty, and Mitaka.

Change-Id: I29b2d62a022b43f6623b127af2ca303f9de847b0
Closes-Bug: #1472200
2015-11-10 14:51:19 +00:00
Jenkins 5c9e6e28be Merge "loop all ebtables tables" 2015-11-10 11:05:51 +00:00
Jenkins 390e2b9544 Merge "Move devlib packages into "general"" 2015-11-09 19:37:59 +00:00
Sean Dague 5c5e08669c loop all ebtables tables
ebtables has 3 built in tables, if we don't call them out we only get
'filter' (per man page).

Change-Id: I52360cbb3b910cb492b61e2314848cc29dcd8266
2015-11-09 14:08:15 -05:00
Jenkins fff4d8ef9d Merge "Write clouds.yaml to only /etc" 2015-11-09 18:37:15 +00:00
Jenkins 70db365592 Merge "Really get the "general" packages" 2015-11-09 13:43:48 +00:00
Sean M. Collins 7ddf6741d2 Neutron-legacy: Remove LINUXNET_VIF_DRIVER option
A value is never assigned, and it ends up in the nova.conf file as:

linuxnet_interface_driver =

So, let's delete it.

Change-Id: Ibc270ce6ee622eee871df1f8c11f21e8be8280ee
2015-11-09 08:08:53 -05:00
Jenkins c2a25a2c8e Merge "Enable devstack for Ubuntu 15.10 Wily" 2015-11-09 10:46:15 +00:00
Ian Wienand 3dac869f80 Cleanup some of the deb/rpm installs
python-devel and the mysql/postgresql client dev-libs should all be
installed globally via the "general" installs; no need to installs
them separately

Change-Id: I91a9ace2e62a891634dbb4635ab2ad8c8dc59f91
2015-11-09 17:27:26 +11:00
Ian Wienand c416d8b94f Sort rpm/deb files alphabetically
This is rather trivial, but it makes comparing the files much easier

Change-Id: I01e42defbf778626afd8dd457f93f0b02dd1a19d
2015-11-09 15:20:22 +11:00
Ian Wienand 7d515b5db8 Add check for get_packages argument
Add a quick check so we don't reintroduce bad arguments as in
Ie1b8d09369281059d21da61b2725a457f708ae9e

Change-Id: Ibebc71791f2743eef64d6f7c2596d54a73ea92aa
2015-11-09 15:04:32 +11:00
Jenkins e5787cb6e9 Merge "Fix two typos on faq.rst" 2015-11-09 02:53:37 +00:00
Sirushti Murugesan c00df207ee Add a more accurate expression for obtaining (IPV6_)ROUTER_GW_IP
neutron port-list returns a dictionary that's of random order in python 3.
This expression sometimes returns a NULL value thus failing devstack.
Add an expression that always returns a consistent ROUTER_GW_IP.

Change-Id: Id23d9afda275051ca68bcba2dfd1b6e30f02c628
2015-11-08 20:55:38 -05:00
Ian Wienand a5e4c0f279 Clear out some duplicate package dependencies
I think these duplicate dependencies came in because we were not
correctly always installing "general" packages (see
Ie1b8d09369281059d21da61b2725a457f708ae9e)

Most of these are just extras for the lxml dependencies; I added zlib
devel to general for glance (seems pretty generic), and then that can
go too, as all other packages are specified.

Change-Id: I44b14ca15c64fad9daf1ac8d851704b02ea2eae0
2015-11-09 12:21:10 +11:00
Ian Wienand a7e0b39a64 Move devlib packages into "general"
The removal of the wheel caching code
(Ia140dc34638d893b92f66d1ba20efd9522c5923b) removed the install of the
"devlib" packages, which was being done with a call in
tools/build_wheels.sh

The idea of "devlibs" and "general" seems to be pretty much the same
thing -- global build requirements.  I have removed the unused devlibs
files, and moved any missing packages into the "general" package
install file.

Change-Id: I8f34a164d6785a122394b42387d4221a7b447ae1
2015-11-09 12:06:18 +11:00
Ian Wienand b8509f09d6 Really get the "general" packages
We are specifying the argument to get_packages incorrectly, so we are
not actually adding the packages in "general" to the list of packages.

In most cases, this is hidden as other more specific plugins/services
request their packages.  However, as
I2dafd32f211fcbc9fff53030d736d97a5f1bb2df shows, not always.  I think
this was uncovered by 5f8133caac

Change-Id: Ie1b8d09369281059d21da61b2725a457f708ae9e
2015-11-09 11:55:56 +11:00
Jim Rollenhagen 63cac536ef Ironic: Explicitly allow DHCP ports
This adds an iptables rule to allow ports 67 and 68. We see
occassionally dropped DHCP packets, which may be causing PXE failures in
ironic jobs.

I'm not 100% confident this fixes the issue, however I don't think it
can break anything and it rules out one theory.

Change-Id: I4630afb6f010a4c2cb146a79264c480c64c6e4b7
Related-Bug: #1393099
2015-11-06 12:37:32 -08:00
Matt Riedemann 6cd616a9ed Disable resize tests in Tempest if using cells with custom flavors
By default, devstack creates it's own test flavors for Tempest runs.

These are not in the cells API database since they are non-default
for nova so any resize tests in Tempest with cells and these custom
flavors fail.

Configure Tempest to not run resize tests if using cells and custom
flavors.

This allows us to also clean up a bunch of the resize skips found
in nova/devstack/tempest-dsvm-cells-rc.

Change-Id: I20f46024e45e32c60275703a193a56ae8cfe7eca
Closes-Bug: #1513925
2015-11-06 10:26:14 -08:00
Sean Dague 5f8133caac remove gratuitous python packages
With pip + upper-constraints we're nearly always over installing all
python packages because we no longer support a range, we support
*exactly* one version.

This removes a bunch of the gratuitous package installs which we're
going to install over, lxml, numpy, libvirt. All of these we had
coming from packages in the past for speed concerns, but upper
constraints removes that.

It also ensures that all the headers to build all those are in
general, so they are guarunteed available at all times.

Change-Id: Ia76de730d65c84d81c4fb2c980ae1b4d595f9f5b
2015-11-06 11:48:19 -05:00
Atsushi SAKAI e9ef0fefa5 Remove lib/neutron_plugins/ibm
SDN-VE on neutron is already removed.
This patch removes SDN-VE from devstack.

Ref.
  Removing the SDN-VE monolithic plugin
  https://review.openstack.org/#/c/217703/
  Remove IBM SDN-VE left-overs
  https://review.openstack.org/#/c/237716/

Change-Id: Ie1b531153d1632798235b1100cdf9b068edcce26
2015-11-06 14:34:42 +09:00
Atsushi SAKAI ec7f490a68 Remove 'enable_service tempest' from sample/local.conf
tempest is already defined in stackrc as default.
Without this definition in local.conf,
tempest is installed successfully.

If it still needs "enable_service tempest" definition
on local.conf,
devstack itself has some problem.
In my environment, tempest installation works
without this definition on local.conf.

Change-Id: I25cda0142538d21bb9656b471e65ca5b018e8378
2015-11-06 13:46:57 +09:00
Atsushi SAKAI e3c2673ae4 Fix two typos on faq.rst
guarunteed => guaranteed
Centos     => CentOS

Change-Id: Id356443fcdc4128ff20d7a89158265aa16c105b2
2015-11-06 13:28:17 +09:00
Jenkins 988389a45a Merge "Zookeeper for DLM scenarios" 2015-11-05 22:21:18 +00:00
Jenkins 1a2f86b3be Merge "Correct Cinder protocol for connections on Ironic" 2015-11-05 22:21:05 +00:00
Jenkins afc9992b0b Merge "keystone: fix prefixed URL" 2015-11-05 22:21:01 +00:00
Jenkins efd86cd6e8 Merge "Remove wrong paramter COMPUTE_API_VERSION" 2015-11-05 22:04:12 +00:00
Jenkins 6b0a3c6745 Merge "Turn off tracing for service functions" 2015-11-05 21:46:38 +00:00
Attila Fazekas 9127c1a56b Do not remove python-pip package on Fedora-23
python on fedora 23 compiled with rewheel support,
in this case the python-pip is a required package, and cannot be
removed.

[1] http://pkgs.fedoraproject.org/cgit/python.git/tree/python.spec?id=3b6fac0339bab69ca5fbf2881568f0565ab0e252#n174

Change-Id: I499b7bec97c4360b32d156079f2b7f3923e3888a
2015-11-05 10:16:52 +01:00
Sean Dague 9013bb0c24 remove wheel cache code
Thanks to lifeless, pip now implicitly has a wheel cache so that it
builds a wheel before every install, and uses that cache. All our
clever attempts at manually doing wheelhouse things is actually
bypassing the existing cache and making things take longer.

We should remove all of this code and just let pip do this thing,
which is does very well, and get out of the way.

Change-Id: Ia140dc34638d893b92f66d1ba20efd9522c5923b
2015-11-04 12:31:39 -05:00
Jenkins 73de4a42d9 Merge "Provide an error message on bogus config file spec" 2015-11-04 15:39:03 +00:00
Davanum Srinivas 33a96ffc26 Zookeeper for DLM scenarios
In Tokyo, there was a cross project session on distributed
key locking:
https://etherpad.openstack.org/p/mitaka-cross-project-dlm

In support of the discussion there, we'll need support for
a zookeeper service in Devstack and ability to use libraries
like Tooz for DLM functionality.

In this review, we pick up some configuration files from
monasca-api and copy the lib/template to implement the
zookeeper lifecycle. Those services that need zookeeper
need to add "zookeeper" in ENABLED_SERVICES.

Change-Id: Icef26e5cdaa930a581e27d330e47706776a7f98f
2015-11-03 12:13:50 -05:00
Davanum Srinivas 0c96c37b5d Enable devstack for Ubuntu 15.10 Wily
Change-Id: I2056fd26d42f29ececc4c38fdd791589ec7037a0
2015-11-03 12:05:13 -05:00
Jenkins c9f6f11265 Merge "Remove Ubuntu 14.10 as supported distribution" 2015-11-03 15:16:04 +00:00
Jenkins 22c9023494 Merge "Use stevedore aliases for interface_driver configuration" 2015-11-03 15:13:25 +00:00
Steve Martinelli a91d455e23 change swift post to openstackclient cli command
with the release of osc 1.8.0, modifying object store account
properties is now available. use this mechanism and avoid setting
environment variable that are only helpful for swift CLI.

Change-Id: Ie51e3e2bb86162763f23d0a6bed36208811f89fc
2015-11-03 20:07:58 +11:00
Jenkins a9b9fca5ef Merge "lib/nova: Remove 'DEFAULT/verbose'" 2015-11-02 20:44:59 +00:00
Jenkins 82fbf336a2 Merge "Remove CINDER_VOLUME_CLEAR value validation" 2015-11-02 20:41:50 +00:00
Martin Hickey dca49de22f Use stevedore aliases for interface_driver configuration
interface_driver configuration was updated to use stevedore aliases.
This patch is to change devstack scripts to now use the aliases
instead of the previous class imports.

Closes-Bug: #1504536

Change-Id: Ic56bfcc1f9da05a999e6fd328e4dd6617e9470ff
2015-11-02 20:33:20 +00:00
Thomas Morin 85f42f698c Provide an error message on bogus config file spec
If local.conf specifies a config file addition in the following way...

[[post-config|$MY_CONF_FILE]]
[xyz]
foo=bar

...and $MY_CONF_FILE points to a file whose directory is not writable by
the user running the script, then stack.sh aborts with the following
obscure message:

  2015-09-01 08:20:08.113 | touch: setting times of '/': Permission denied

This patch modifies inc/meta-config to provide a useful error message,
such as:

  2015-09-01 08:20:08.114 | could not create config file / ($MY_CONF_FILE)

This patch also modifies inc/meta-config so that it provides an error
message if $MY_CONF_FILE is empty (instead of silently ignoring this local.conf
statement):

  2015-09-01 09:38:53.406 | bogus config file specification: $MY_CONF_FILE
  is undefined

Change-Id: I9b78407420318548561012a8672762bc7fdd6db6
Closes-Bug: 1490881
2015-11-02 15:35:01 +01:00
Markus Zoeller c30657d7de Cleanup ReST format issues
* ReST doesn't allow monospace in italic sections.
      bash$ grep -R \`\` doc/build/html/ --include "*.html"
* The code-block section "::" needed an empty line before the code,
  otherwise it gets shown in the HTML output.
      bash$ egrep -R "<dt>::" doc/build/html/ --include "*.html"
* Monospaced font incorrectly marked with a single back tick
      bash$ egrep -nR '\w`(\s|[\.,;:])' doc/source/ --include "*.rst"

Change-Id: I66c3f685f33851c3f3f0f859996037fc24930246
2015-11-02 11:27:46 +01:00
Hirofumi Ichihara 508931ff36 Remove Ubuntu 14.10 as supported distribution
Ubuntu 14.10(utopic) reached end of life[1].

[1]: https://lists.ubuntu.com/archives/ubuntu-announce/2015-July/000197.html

Change-Id: Iab13ca797bda56462d9d117aa500d3ba0d9bebcb
2015-11-02 17:50:31 +09:00
keiji niwa 463a0e6d98 Replace hard-coded --ipv6-address-mode
Looks like this was just a typo in the original
d1498d74db816b3edbb8376ca5acb7cc5792ea5c ; replace with
environment variable

Change-Id: I877c1a570a68e926c91fc8a393217e6b18245f82
2015-11-02 05:04:25 +00:00
Marian Horban 08abba008e Add ability to run Nova metadata under Apache2
This patch allows to run Nova metadata service using Apache
on port 80 under /metadata URL.

Change-Id: I18f3399738c31166eac884a9b0d5c4045d3f445c
2015-11-01 07:47:47 -05:00
Einst Crazy f54f60a63e Delete some comment or messages of keystone_data.sh(removed)
As files/keystone_data.sh has been removed in the commit
https://review.openstack.org/#/c/79366/, we should remove some
related documations and comments.

Change-Id: I7802d0052fa28d8debb7f361d36a4f108869554c
2015-10-30 23:00:57 +08:00
Andrey Kurilin 55a1bca282 Remove wrong paramter COMPUTE_API_VERSION
Since:
 - novaclient doesn't require specify the *compute api* version
  (default is 2.latest now)
 - novaclient doesn't use COMPUTE_API_VERSION, since it's wrong name(
   OS_COMPUTE_API_VERSION is a correct name)

we can remove COMPUTE_API_VERSION and NOVA_VERSION vars

Change-Id: I47856863e9403870b8d60c778b97d3de1a212ae1
2015-10-30 16:36:32 +02:00
Daniel Gonzalez 0ec8080273 Remove multi-region workaround
When keystone API v3 was introduced, filtering regions when listing
endpoints was not supported (see [1]). This caused multi-region devstack
deployments to fail (see [2]). A workaround was introduced to devstack
to enable for multi-region deployments until region filtering would work
in keystone API v3.
Now that the bug related to region filtering in keystone is resolved,
the workaround should be removed.

[1]: https://bugs.launchpad.net/keystone/+bug/1482772
[2]: https://bugs.launchpad.net/devstack/+bug/1483784

Closes-Bug: #1511745
Related-Bug: #1483784
Related-Bug: #1482772
Change-Id: I52d13c3f5e7b77a7f8fb1be4dcea437988ebddfe
2015-10-30 15:01:46 +01:00
Jenkins a9e92c225c Merge "Add the ability to install/enable Heat plugins" 2015-10-30 01:19:46 +00:00
Stephen Finucane 5ea1e16d83 lib/nova: Remove 'DEFAULT/verbose'
The 'verbose' option has been deprecated by oslo_log. Using it
results in a warning for the 'nova-manage' command and likely
many other OpenStack commands.

Change-Id: Icc11b25f56ebc62443c6afa90b9572d5c63b3882
Partial-bug: #1511505
2015-10-29 20:15:29 +00:00
Matt Riedemann cdcdeb6460 Remove CINDER_VOLUME_CLEAR value validation
132fbcd38ebae52bdd20da54905131b75581520f in cinder changed the
volume_clear StrOpt to use the choices kwarg which enforces the value
specified and raises a ValueError if an invalid value is set for the
option in cinder.conf.

This lets us remove the validation that devstack was doing.

Change-Id: Ia7eead6297ed0f3a972de2021170fe9c7225e856
2015-10-29 09:48:17 -07:00
Marian Horban 7159b4ba59 Config graceful_shutdown_timeout option for services
To avoid hanging services during gracefull shutdown option
graceful_shutdown_timeout should be configured.

Closes-Bug: #1446583

Change-Id: I2b7f0df831d65c55ae8cae241478f49c9641d99f
2015-10-29 11:44:12 -04:00
Thiago Paiva abb40f6193 Correct Cinder protocol for connections on Ironic
The protocol for connections with Cinder is wrong for the Ironic script. This
patch changes the script to use $GLANCE_SERVICE_PROTOCOL, which is https when
USE_SSL=true or tls-proxy is on ENABLED_SERVICES.

Change-Id: I4d4c6f9dc6f6ee53166db109848dca64334b8748
2015-10-29 11:38:24 -03:00
Jenkins b37ca0f7b4 Merge "Format of nova-api log files was corrected" 2015-10-29 11:35:29 +00:00
Nicolas Simonds 347dbac04e Add the ability to install/enable Heat plugins
Adds the $ENABLE_HEAT_PLUGINS variable, which should be a list of
the names of the plugins the user wishes to install.

Change-Id: I2ba90002a8fad1cdce6543c89dc37c5912fe133e
2015-10-29 16:12:36 +09:00
Jenkins fd97214a0e Merge "Ensure we disable tenant isolation without admin" 2015-10-29 06:18:03 +00:00
Jenkins ff113c01dd Merge "Disable shelve/snapshot/cinder when running Tempest with libvirt+lxc" 2015-10-29 05:09:35 +00:00
Jenkins 2cee71865f Merge "Remove sudo from mkdir in $STACK_USER folder" 2015-10-29 05:04:55 +00:00
Jenkins f1d34ec8c0 Merge "Prepare neutron "use_namespaces" option removal" 2015-10-29 04:57:27 +00:00
Jenkins 310cedf677 Merge "Use swift port variable in keystone and cinder" 2015-10-29 04:57:22 +00:00
Jenkins c77fc2e196 Merge "Add new oslo.privsep library to oslo repos" 2015-10-29 03:00:30 +00:00
Jenkins fd3af1d8e2 Merge "Update to bashate 0.3.2" 2015-10-29 02:55:48 +00:00
Jenkins 5c38750db0 Merge "Added processing /ec2 URL" 2015-10-29 02:16:50 +00:00
Jenkins 83a2a42ac0 Merge "Add export_proxy_variables() tests to test_functions.sh" 2015-10-29 00:44:54 +00:00
Ian Wienand 5cdee8dd33 Update to bashate 0.3.2
Bashate 0.3.2 has a few new checks -- firstly make sure some of the
plugins have #!/bin/bash, and fix up a couple of "local" changes that
were missed by I9c8912a8fd596535589b207d7fc553b9d951d3fe

Change-Id: I9e4b1c0dc9e0f709d8e76f9c9bf1c9478b2605ed
2015-10-29 11:30:20 +11:00
Matt Riedemann cf94edcbbd Disable shelve/snapshot/cinder when running Tempest with libvirt+lxc
The libvirt+lxc backend in nova does not support shelve, image snapshot
or any volume-related actions (so pretty much anything to do with
cinder), so we need to configure tempest to not run tests that hit those
operations/service when using libvirt/lxc.

This is part of an overall effort to get a CI job running for nova with
the libvirt+lxc configuration per:

Ic07c39e219121ba6b8b20de2b83a193bb735133d

Change-Id: I4decfcc5a5dfbabdecb3eb9fc93f1d1d6c2af805
2015-10-28 13:22:19 -07:00
Oleksii Chuprykov a692810ef0 Add toggle to run Heat API services via Apache2
Add templates for running Heat API services via
apache mod_wsgi. Also add appropriate functions to
lib/heat for configuring Heat.

Change-Id: I1bdd678c44ddfa616a9db7db85ff6f490ff08947
2015-10-28 15:25:17 +00:00
Monty Taylor ee9bb76647 Write clouds.yaml to only /etc
After having migrated the copies of clouds.yaml to just consume from
/etc, remove the duplicate copy.

Change-Id: I036704734785958c95d2234917d7b40bd797a375
2015-10-28 14:28:28 +11:00
Lenny Verkhovsky 313ddaee61 Remove sudo from mkdir in $STACK_USER folder
This fails in the environment where sudo does not have permissions to
write in /home/$USER folder, e.g. [1]

Also clean-up the comment/variable usage a bit; the location isn't
actually variable at all (and that's fine, but we don't need a global
here)

[1] http://144.76.193.39/ci-artifacts/228979/10/Nova-ML2-Sriov/console.html.gz

Change-Id: I6807eae9d1c27219aa7c19de29f24fa851aa787c
2015-10-28 12:18:24 +11:00
Marian Horban 4abb31d9d8 Format of nova-api log files was corrected
When nova-api and nova-ec2-api services are started by Apache
(it can be done with devstack config option NOVA_USE_MOD_WSGI=True)
log files contained duplication of timestamp value.

Change-Id: I5439ea8f89ca3073600456f67220e9d3f5257d97
Closes-Bug: #1510517
2015-10-27 14:41:51 +00:00
Cedric Brandily b814b536c5 Prepare neutron "use_namespaces" option removal
The neutron use_namespaces option is deprecated since Kilo, it's time
remove it from neutron and devstack.

Related-bug: #1508188
Change-Id: I4feb2a15c7e1e4bfdbed2531b18b8e7d798ab3cc
2015-10-27 09:25:42 +09:00
Tony Breeds 7792bc39d4 Add new oslo.privsep library to oslo repos
A new project olos.privsep has been created but failes sdvm testing as
even though the library is added ro PROJECTS and LIBS_FROM_GIT it isn't
installed by devstack.

Add oslo.privsep to the install_oslo function

Change-Id: Ia4d56747d56dcfe50889ebbdf9d553df13e1b950
2015-10-25 17:39:37 +11:00
Falk Reimann 22f747b8df Use swift port variable in keystone and cinder
This patch alows specifiying a deviation of the swift default port 8080 with
variable SWIFT_DEFAULT_BIND_PORT. The created endpoints in keystone for
object-store and the backup_swift_url in cinder.conf will use variable
SWIFT_DEFAULT_BIND_PORT instead of the fixed port 8080.

Change-Id: I47bbcf77368c430718fb8f29b7de1ff305e64422
Closes-Bug: #1489767
2015-10-23 09:19:32 +02:00
Jenkins 0afcac2e01 Merge "XenServer: the cron job shouldn't print debug text into stderr" 2015-10-22 16:44:28 +00:00
Matthew Treinish c148b13c60 Ensure we disable tenant isolation without admin
This commit fixes an issue with the tempest configuration when
TEMPEST_HAS_ADMIN is disabled. Without admin credentials tempest
is unable to create credentials at all so enabling tenant isolation
is not going to work. Previously devstack wasn't setting it one way
or the other when TEMPEST_HAS_ADMIN was set, which results in the
default of being enabled. So jobs that try to run tempest without
admin were failing.

Change-Id: Iff496cb5cbf29f17c130cfad746b48d8547ca965
2015-10-22 10:05:00 -04:00
Marian Horban c49917250f Removed starting of nova-ec2-api service
Since nova-ec2-api service was removed from nova it is not
needed in devstack.

Change-Id: I91d4be02a1a9c2ca4d18256d9a37a5c2559f53b7
Closes-Bug: #1530798
2015-10-22 04:27:17 -04:00
Jenkins 1d7a427029 Merge "modify stackforge/swift3 to openstack/swift3" 2015-10-20 04:29:28 +00:00
Jenkins 4c73964eb5 Merge "Modify the build-wheels.sh to build_wheels.sh" 2015-10-20 04:28:49 +00:00
Jenkins b10c6205d2 Merge "Write clouds.yaml to /etc as well" 2015-10-20 04:02:04 +00:00
Monty Taylor 8f385dde22 Write clouds.yaml to /etc as well
There are more than one user that need to access clouds.yaml values
in tests. Rather than copying the file everywhere, simply output
it to /etc/openstack.

However, we have things copying it at the moment, so output to
both places. A follow up patch will remove the homedir version.

Change-Id: I21d3c2ad7a020a5ab02dc1ab532feae70b718892
2015-10-20 11:54:00 +11:00
Zhang Jinnan 9f6b542a25 change stackforge url to openstack url
beacuse of the stackforge project move to openstack project,
so change the document url to git://git.openstack.org/openstack/.

Change-Id: I1628c0aeb62ee519867fdaee56386e22978c4271
2015-10-20 11:49:18 +11:00
Einst Crazy e3a239b299 Modify the build-wheels.sh to build_wheels.sh
The path is tools/build_wheels.sh, but in the Makefile which is
tools/build-wheels.sh. Modify it to the correct one.

Change-Id: If297b65b539403af10a73adbbadfcd8281d40009
Closes-Bug: #1507699
2015-10-20 01:34:05 +08:00
Einst Crazy cc481740a0 modify stackforge/swift3 to openstack/swift3
As swift3.git has move from stackforge/swift3 to openstack/swift3,
so modify it.

Change-Id: Ieaff4c93889c46c7d4b8ecada1a5d7cf3c775965
2015-10-20 01:19:18 +08:00
Jenkins 80fcf354ed Merge "Restrict requests to fedora" 2015-10-19 16:08:54 +00:00
Jenkins 1c2912d91f Merge "Always use v3 nova/neutron authentication" 2015-10-19 15:48:39 +00:00
Jenkins 0ee76fd661 Merge "Save interactive passwords to separate file" 2015-10-19 15:48:05 +00:00
Jenkins 254264301b Merge "Disable compute interface attach Tempest tests if using cells" 2015-10-19 15:33:59 +00:00
ZhiQiang Fan c581c78c92 add file userrc_early to .gitignore list
After devstack runs ./stack.sh, there is a file named userrc_early
which contains sensitive information is created, we should add it
to ignore list, because it is only for end user debugging.

Change-Id: Ic99c279ec6a3606dc6f6ba9a7612b5ca7a2b6b10
2015-10-18 06:28:25 -06:00
Jenkins 0ba1848167 Merge "Pin bashate and allow for substitution" 2015-10-16 14:00:02 +00:00
Ian Wienand b14f96fb7a Pin bashate and allow for substitution
I want to release a new bashate, but I also don't want to risk
consuming it before fully testing it.  By pinning here, we can run all
our usual CI on new versions before accepting them.

Additionally, allow substitution of the bashate dependency via an
environment variable.  We can use this in a bashate test to substitute
a path to a checkout with any changes applied.

Change-Id: I165c4d66db8b7bdcff235ef7d8c99029637bb76a
2015-10-16 11:47:58 +11:00
Matt Riedemann c94403d8e6 Disable compute interface attach Tempest tests if using cells
Cells doesn't support the os-attach-interfaces API so disable those
tests in Tempest if running with Cells.

Change-Id: I5c7884407868eae70ea125f3f893c73214c04c75
2015-10-15 12:51:13 -07:00
Dmitry Tantsur 5ed8af6713 Fix devstack failure due to incorrect variable assignment
After I9c8912a8fd596535589b207d7fc553b9d951d3fe this approach leads
to a failure and breaks (at least) ironic-inspector gate.

Change-Id: I19bb8ada9a6f42d375838cc88a376715918c2a3e
2015-10-15 16:16:26 +02:00
Jenkins 8ce00acf8a Merge "Simplify RDO install" 2015-10-15 04:17:49 +00:00
Jenkins 48dbc313eb Merge "Improve PLUMgrid Install Endpoints" 2015-10-15 03:02:58 +00:00
Jenkins 7991780098 Merge "Add verification of OVS_PHYSICAL_BRIDGE" 2015-10-15 03:02:53 +00:00
Jenkins 6e9bee1ae5 Merge "Detect blank variable in trueorfalse" 2015-10-15 02:56:19 +00:00
Jamie Lennox 394968fa3d Always use v3 nova/neutron authentication
There is no need to test here whether v2 is disabled or not. V3
Authentication will always be available and we should just use that.

Change-Id: I0d2d76ebdf261917f1a2b23c65f0f843ae50f49a
2015-10-15 00:14:28 +00:00
Ian Wienand 975f4209d0 Save interactive passwords to separate file
The interactive password prompt currently saves to .localrc.auto

However, this is removed when you re-run stack; that is required as it
is how we source the localrc bits of local.conf, and we want the
users' changes to be picked up.

The passwords, however, should remain constant, because everything has
already been setup with them.  So write them to a separate file.  Note
we source before localrc so it can still overwrite them.

Some minor flow-changes too

Change-Id: I9871c8b8c7569626faf552628de69b811ba4dac0
Closes-Bug: #1505872
2015-10-15 10:51:05 +11:00
Mark Hamzy 746e72d4c3 Restrict requests to fedora
The os_RELEASE for RHEL is 7.1 (for example). Which does not work for comparisons
to an integer.  And, while I am at it, change base_path to not use a hard-coded
directory.

Change-Id: I64a04810cc7ba4668c2cb7a8df79c206301e9e16
2015-10-14 13:48:15 -05:00
Jenkins 188b38fc80 Merge "lib/tempest: remove duplicate iniset calls" 2015-10-14 18:36:06 +00:00
Jenkins e67530f846 Merge "HOST_IP should not be used in moving address to route" 2015-10-14 18:32:51 +00:00
Jenkins 6f991a8523 Merge "Revert "Install g-r version of OSC in configure_tempest"" 2015-10-14 12:36:11 +00:00
Yalei Wang 316b348ad6 Add verification of OVS_PHYSICAL_BRIDGE
OVS_PHYSICAL_BRIDGE is not always set, like when you don't need specify the
bridge mapping, and also it has no default value. So we need to add
verification of OVS_PHYSICAL_BRIDGE in cleanup_neutron function where we refer
to it.

Change-Id: I69d113a7f3f7e67b09cb72fa0b0d3bba188e783a
Close-Bug: #1474634
2015-10-14 17:07:58 +08:00
Ian Wienand 8043bfaf5e Turn off tracing for service functions
These functions commonly externally called (as part of stackrc
inclusion, even) and do a fair bit of iteration over long
service-lists, which really fills up the logs of devstack and grenade
with unnecessary details.

The functions are well tested by unit-tests, so we are very unlikely
to need to debug internal issues with them in a hurry.  Thus turn
logging down for them.

Change-Id: I63b9a05a0678c7e0c7012f6d768c29fd67f090d2
2015-10-14 16:36:08 +11:00
Jenkins 46d50a6b8e Merge "Add a debugging userrc after keystone is up" 2015-10-14 03:05:44 +00:00
Jenkins d111182f21 Merge "Don't mix declaration and set of locals" 2015-10-14 02:43:52 +00:00
Jordan Pittier 108b75d7a1 lib/tempest: remove duplicate iniset calls
In Tempest config, `image-feature-enabled deactivate_image` is
enabled twice. This patch removes one of the redundant call to iniset.

Change-Id: Idbfcd6d6ee171c2c83736e17bbaf3d7a32c738b1
2015-10-13 15:51:43 +02:00
Marian Horban 085855479f Added processing /ec2 URL
With config option NOVA_USE_MOD_WSGI=True nova-ec2-api handles
requests on /ec2 URL.

Change-Id: I0c2e99bf8b5e5cf53cd176685b206038a4b0f78b
2015-10-13 04:04:21 -04:00
Tong Li 1d662e86bb HOST_IP should not be used in moving address to route
In neutron-legacy function _move_neutron_addresses_route, there are
few lines trying to figure out the bridge IP by assuming that the
bridge IP will be always same as the HOST_IP, this is not always true.
When the nic bears the HOST_IP and the nic which will be used as the
public network are different nics, the code in that method fails.
Eventually the function fails with network unreachable error.

This patch set fixes the problem, so that when HOST_IP and the IP for
the bridge are different, devstack will still be setup correctly.

Change-Id: I4d67f61c2ffd93f1e8ea2f8fe3b551044fab294e
Closes-bug: #1498538
2015-10-13 07:48:04 +00:00
Jenkins 5a98d4f7d0 Merge "make i local" 2015-10-13 02:12:45 +00:00
Jenkins 9e00fef424 Merge "add pip install timing" 2015-10-13 02:12:33 +00:00
Jenkins aff4606564 Merge "add timing infrastructure to devstack" 2015-10-13 01:58:24 +00:00
Jenkins cae860c9f8 Merge "docs: merge multiple interface sections with provider network section" 2015-10-13 00:03:53 +00:00
Sean Dague cb658fab15 add pip install timing
Change-Id: I368fec44858bd97fc6a314fb20eed2b10932cbb1
2015-10-12 23:10:09 +00:00
Sean Dague 95c33d532f add timing infrastructure to devstack
this adds a timing infrastructure to devstack to account for time
taken up by set of operations. The first instance of this is
accounting the time taken up by doing apt_get calls.

Change-Id: I855ffe9c7a75e9943106af0f70cf715c34ae25c5
2015-10-12 23:08:56 +00:00
Sean M. Collins 887f182fa1 docs: merge multiple interface sections with provider network section
In this guide, multiple interfaces in DevStack is only used when doing
provider networking, so let's go ahead and just put the information
inside the provider network section. That way it won't be confusing.

Change-Id: I66f58ffb936230e72ac4cf8c04668e25dac5b17a
2015-10-12 16:57:13 +00:00
Sean Dague 95d4226c4c make i local
This prevents bleed out of the i variable to other functions that
might call this inside their own iteration loop.

Change-Id: I42d0c287a6f4bb24ae3871de9abb7e0de98a8462
2015-10-12 07:40:04 -04:00
Dmitry Tantsur 64be3210e6 Don't assume that $i variable won't be overriden in extras.d plugins
This causes an incorrect warning about ironic jobs putting an unexpected
file in extras.d.

Change-Id: I57acf91fba3fe13b3cc8dd739034e146a0b237c4
2015-10-12 13:36:30 +02:00
Jenkins 0914d04343 Merge "docs: Move tip about Extension Drivers into misc section" 2015-10-12 03:04:02 +00:00
Jenkins fd1050f2b2 Merge "Perform additional disable_service checks" 2015-10-12 03:03:53 +00:00
Sean M. Collins 611cab4b48 docs: Add IPs to provider net node configurations
Also remove variable definitions from compute node localrc that is only
applicable on the control node.

Change-Id: I37b00611ff08d8973f21af7db340d287b1deb4af
2015-10-09 16:17:18 -04:00
Sean M. Collins 4696db94a9 docs: Add network diagram for provider net section
Change-Id: Id39aaab5a7eadfa3fc09ba3d30c48b452d685904
2015-10-09 16:38:48 +00:00
Chris Dent c6d470142e Perform additional disable_service checks
With the advent of plugins and their settings files it has become
possible to disable_service in local.conf only to have the service
re-enabled in a plugin settings file. This happens because of
processing order.

To get around this the disable_service function now aggregates
service names into a DISABLED_SERVICES variable which is then checked
during enable_service. If something tries to enable something that
was previously disabled, a warning is produced in the log and the
service is not enabled.

Then after all configuration has been sourced a final check is to
done by verify_disabled_services to confirm that something has not
manually adjusted ENABLED_SERVICES to overcome a previously called
disable_service. If something has, the stack dies with an error.

Change-Id: I0f9403f44ed2fe693a46cd02486bd94043ce6b1a
Closes-Bug: #1504304
2015-10-09 16:34:32 +00:00
Sean M. Collins d8aa10e583 docs: Move tip about Extension Drivers into misc section
Change-Id: Ifd458495992a0fd1b7437c315b4fe45906830cb1
2015-10-09 12:21:30 -04:00
Jenkins b2b82a0f34 Merge "Move $DEST creation after logging setup" 2015-10-09 13:58:23 +00:00
Sean Dague 022c6672ce Revert "Install g-r version of OSC in configure_tempest"
This reverts commit 1fa82aab66.

Change-Id: I931756e6d534839a6c9fb3cc6f5dc32c9a1e6436
2015-10-09 11:20:49 +00:00
Jenkins 434d1b6e18 Merge "don't install root filters when Q_USE_ROOTWRAP is false" 2015-10-09 11:13:47 +00:00
Jenkins 19b09e6d37 Merge "Updated configuration and docs for MYSQL_PASSWORD" 2015-10-09 11:13:38 +00:00
Jenkins 8b0f5428f0 Merge "provide devstack lockout with .no-devstack file." 2015-10-09 11:03:44 +00:00
Ian Wienand e82bac0498 Detect blank variable in trueorfalse
As a follow-on to I8cefb58f49dcd2cb2def8a5071d0892af520e7f7, put in
some detection around missing variable-to-test arguments in
trueorfalse.

Correct a couple of places where we were passing in blank strings,
resulting in the default always being applied.

Add test-cases and enhance the documentation a little.

Depends-On: I8cefb58f49dcd2cb2def8a5071d0892af520e7f7
Change-Id: Icc0eb3808a2b6583828d8c47f0af4181e7e2c75a
2015-10-09 19:07:50 +11:00
Jenkins c1561f84fb Merge "make curl fail on pypi errors" 2015-10-08 18:04:31 +00:00
Sean Dague 56037e9a6e provide devstack lockout with .no-devstack file.
This lets you specify that devstack should not be run by the user on
the box that you are on. Helps with running commands in the wrong
window.

Change-Id: I7aa26df1a2e02331d596bbfefb0697937787252f
2015-10-08 12:27:07 -04:00
Jenkins 78bbc5df35 Merge "Ignore bashate long-line warnings (E006)" 2015-10-08 16:12:37 +00:00
Jenkins e148587c35 Merge "remove corrupt get-pip.py" 2015-10-08 13:16:45 +00:00
Jenkins e3fe3fd838 Merge "Don't set xtrace directly in local call" 2015-10-08 11:45:17 +00:00
Sean Dague fa41b5b47e make curl fail on pypi errors
This will make curl fail on pypi errors, and should prevent corrupt
images from pypi going offline for a few hours randomly, which it does
from time to time.

Closes-Bug: #1503909

Change-Id: Ib4a740b7d1772e1e36aa701e42d3ac0f0ee12883
2015-10-08 06:06:34 -04:00
gong yong sheng 3d6eaae21c don't install root filters when Q_USE_ROOTWRAP is false
Change-Id: I2f6edfcfb3789310fbeea8a509e0d9a13428becc
Closes-bug: #1495822
2015-10-08 18:03:18 +08:00
Sean Dague 0280f6f6c8 remove corrupt get-pip.py
If get-pip servers fall over and return 503 for a few hours (which
they do medium regularly) we'll cache crud html, and everything will
suck. We know this script should be python, so if it isn't, delete it.

Change-Id: Ia9f6f7c7217939bc1ab5745f4a9d568acfbf04c8
2015-10-08 05:56:14 -04:00
Einst Crazy 9e11e098c3 Move $DEST creation after logging setup
Setup the log output before calling functions like
check_path_perm_sanity that want to write out to
the error log.

Change-Id: I9815965257c399a48f8cf0f344814d954137aecb
Closes-Bug: #1500834
2015-10-08 17:00:59 +08:00
Swapnil (coolsvap) Kulkarni c988bf6fde Updated configuration and docs for MYSQL_PASSWORD
Updated MYSQL_PASSWORD to DATABASE_PASSWORD in sample
configuration and existing docs

Change-Id: Iafb295a0b7707e08a81e6528620db8543d40f7ae
2015-10-08 14:21:58 +05:30
Jenkins c756b5b5d4 Merge "Remove explicit support for OneConvergence plugin" 2015-10-08 06:05:32 +00:00
Jenkins 40643a52f0 Merge "build_docs: do not handle md and conf files with shocco" 2015-10-08 06:05:08 +00:00
Jenkins ee2b5d0c62 Merge "fix warning in install_get_pip" 2015-10-08 06:04:59 +00:00
Jenkins 0d7343107a Merge "use deprecated function instead of modifying global" 2015-10-08 06:04:54 +00:00
jianghua wang 797668ba77 XenServer: the cron job shouldn't print debug text into stderr
one cron job attempts to print debug text into stderr; so the file
of /root/dead.letter gets created and its size grows continuously.
It could eventually threaten dom0 disk space. Maybe there are two
solutions: one is to redirect the output to a specific log file;
and rotate log files in the script. And the other one is simply
to redirect the output /dev/null. By considering the function of
this cron job and the printed contents are straight and simple,
this patch set goes with the later solution.

Change-Id: I4875e5e3837e6f0249e314c6c5f408c79145c6c1
Closes-Bug: 1503966
2015-10-08 06:56:25 +01:00
Jenkins d111c2174e Merge "add big warning for extras.d usage" 2015-10-08 05:42:48 +00:00
Jenkins ca9f00874a Merge "Add Barbican to plugin registry list" 2015-10-08 05:38:00 +00:00
Ian Wienand 7adf15df5c Add a debugging userrc after keystone is up
As a follow-on to the issues raised by
I069f46f95656655ae7ba8f3dd929f47eae594b68, rather than a re-write of
create_userrc.sh logic, create a temporary userrc that can be helpful
for debugging until we have the whole system bootstrapped

Change-Id: I3325acffd259cf7f6f4a153c88037cfe8405ca50
2015-10-08 10:12:34 +11:00
Jenkins d1ddc5396a Merge "Enable CSV logging output for DStat." 2015-10-07 23:11:57 +00:00
Dave McCowan 33e3969081 Add Barbican to plugin registry list
Barbican can now be installed with devstack via:

enable_plugin barbican https://git.openstack.org/openstack/barbican

Change-Id: I81af04bb6600d1e58590c39efdc2c0c91563321d
2015-10-07 17:07:52 -04:00
Jenkins 17491f37d7 Merge "Revert "Revert "Convert identity defaults to keystone v3 api""" 2015-10-07 19:30:18 +00:00
Sean Dague a0cc2918ad fix warning in install_get_pip
we were unconditionally adding -z to the curl command even if the file
doesn't exist that we are referencing. That produces a scary warning
for users. Lets not do that.

Change-Id: Id2860c1c702510b0f8fd496abce579d0fa3ff867
2015-10-07 15:15:16 -04:00
Sean Dague 72ad942796 use deprecated function instead of modifying global
It's safer to run this through a common function to let us make
changes later.

Change-Id: Ic661824027577e1946726c1843a29ac8325915bf
2015-10-07 15:15:16 -04:00
Sean Dague 1de9e330de add big warning for extras.d usage
This adds a warning for extras.d usage. This will give us something to
keep an eye on in logstash to build up the list of projects that will
break at Mitaka-1.

This also makes the deprecated handling done through a function, which
will hopefully make it more consistent in the future.

Change-Id: Icd393bc3e7095fe58be0fd13ef74fece3aa5c5f1
2015-10-07 15:15:16 -04:00
Jenkins 0989cf9512 Merge "Nano and Micro flavors should run really small cirros only" 2015-10-07 16:44:16 +00:00
Christian Berendt 056a0c6bbc build_docs: do not handle md and conf files with shocco
At the moment the following md and conf files are handled with shocco.
This should not be the case.

* samples/local.conf
* lib/neutron_thirdparty/README.md
* lib/neutron_plugins/README.md

Change-Id: I11ea5ebda111e6cdab71d3cffaeb4f16443bfd3c
2015-10-07 18:11:46 +02:00
Ian Wienand ada886dd43 Don't mix declaration and set of locals
Ia0957b47187c3dcadd46154b17022c4213781112 proposes to have bashate
find instances of setting a local value.  The issue is that "local"
always returns 0, thus hiding any failure in the commands running to
set the variable.

This is an automated replacement of such instances

Depends-On: I676c805e8f0401f75cc5367eee83b3d880cdef81
Change-Id: I9c8912a8fd596535589b207d7fc553b9d951d3fe
2015-10-07 17:03:32 +11:00
Ian Wienand 433a9b10dd Don't set xtrace directly in local call
Ia0957b47187c3dcadd46154b17022c4213781112 detects setting local
variables with subshell commands.

Although this is a particuarly benign case, it trips the test.  Rather
than putting in an ignore for this, we can easily change it to make
the test pass.  This seems better than putting in special work-arounds
to bashate, etc.

Change-Id: I37c3967c0f2d780a636a7d26cda83755085c5c69
2015-10-07 16:54:29 +11:00
Jenkins 1e7be9f9ea Merge "Change the default bind_port for swift" 2015-10-07 03:23:46 +00:00
Jenkins 286cc05973 Merge "Move the firewall disable section into a misc section" 2015-10-07 03:23:40 +00:00
Jenkins 561137e88a Merge "update faq entry about running other branches" 2015-10-06 20:42:55 +00:00
Sean M. Collins 872a2622b9 Move the firewall disable section into a misc section
It broke the flow of the section it was in.

Change-Id: I4c6ec7ccbe7e856600037eb5a3a73863319aa232
2015-10-06 12:45:44 -04:00
Ihar Hrachyshka bb4654b869 Don't configure neutron metadata agent for neutron API access
Metadata agent now talks to neutron-server thru AMQP, so there is no use
for API access configuration.

Change-Id: I8f81eea91fe3448d5098e77312f64f2eaba68a68
Depends-On: I254c575c66214f50fb93a94c46c4c9caebfc2937
Closes-Bug: #1502947
2015-10-06 18:26:53 +02:00
Jenkins b041819856 Merge "Workaround potential failure to shutdown services" 2015-10-06 13:57:12 +00:00
Rafael Folco f0131e14b8 Nano and Micro flavors should run really small cirros only
Guests with large memory requirements can use default flavors, so
removing the special flavor for ppc64 since new qemu requires more
memory - http://wiki.qemu.org/ChangeLog/2.4 - PowerPC.
Users should set DEFAULT_INSTANCE_TYPE to one of the default
flavors available in local.conf, as m1.tiny.

DocImpact

Change-Id: I0fd275dc7342cc2daa83e9a2bd79d30e7defa3e4
2015-10-06 08:52:13 -05:00
Ian Wienand f80c37dd47 Ignore bashate long-line warnings (E006)
Since Ic2532676e46e93f129d590d1fa7a044ef65f50fb bashate warns on
long-lines.  Traditionally, for whatever reason, devstack hasn't cared
too much about long lines unless it really damages readability.

So ignore this to avoid thousands of warnings on the long lines.  Note
even though released bashate doesn't have this, ignoring a missing
test doesn't matter.

Change-Id: I16aeaa3b334fac1eec5085f2cfe26c81c53023a8
2015-10-06 20:19:38 +11:00
armando-migliaccio c961e791c1 Remove explicit support for OneConvergence plugin
This is being removed from the Neutron tree, so there is
no need to keep it here anymore.

Change-Id: Ice869bc445cb9dab6f227c30d38fb9b7ba04442b
Depends-on: I949a51873ee5af654b577952d423dd29a6ced8e7
2015-10-05 16:51:33 -07:00
Sean Dague 1759618adb update faq entry about running other branches
Change-Id: I4f982f9050024245c4a656e9535d4fdfb4413f36
2015-10-05 15:26:43 -04:00
Jenkins c4564dfbe6 Merge "Install python db client if a db backend is configured" 2015-10-03 22:58:35 +00:00
Denis Afonso dbe0868d11 Change the default bind_port for swift
The default bind_port (6011-6013) in the sample config files for swift
use port numbers that are in the range registered by X11 (6000-6063) and
can prevent swift from starting if the ports are in use.

We should use an unregistered range (6611-6613).

Change-Id: Ifd95b99004aead5ddc8ae1a8dd3ccd9c4f2abe91
Closes-Bug: #1254328
2015-10-02 23:51:41 -04:00
Dan Smith ce7246a34b Workaround potential failure to shutdown services
Kill them twice to make sure they're good'n'dead. There is a supposed
fix to oslo-incubator code, but we're working around that here in the
meantime with this change.

This returned in Liberty.

Change-Id: I02a7af995dc7de857c4efcf2cef2f95d357c007a
Related-Bug: #1446583
(cherry picked from commit 953baa7998f253681ed31013fd18bd8aa8098b34)
2015-10-02 06:27:43 -04:00
Aaron Rosen bd5e6b1659 Remove unnecessary execute permissions
These files have acquired execute permissions that
are not strictly necessary because they are being 
sourced, and not intended to be run separately.

Restore to 644

Change-Id: I0b8654123416a07521502b61610ca45c94494a07
2015-10-01 21:01:35 +00:00
Jenkins f4485bae9c Merge "Cleanup nova v2.1 API testing options" 2015-10-01 07:14:41 +00:00
Jenkins ace1e8f9b4 Merge "Fix tunneling support for linuxbridge-agent" 2015-10-01 01:28:01 +00:00
Jenkins 449c467135 Merge "Add toggle to run Cinder API under Apache" 2015-09-30 21:24:38 +00:00
Jenkins 97946a313f Merge "Additionally install test-requirements with pip_install" 2015-09-30 16:18:03 +00:00
Jenkins afe5074cdd Merge "use nproc/2 workers for large ops job" 2015-09-30 15:17:41 +00:00
Jenkins 0a4cbde358 Merge "Revert "Disable Cinder v1 API support by default"" 2015-09-30 13:22:23 +00:00
Sean Dague 36218e6c50 Revert "Disable Cinder v1 API support by default"
There has been a ton of fall out from this change, and I 
think it's been premature. We should revert and try again
when more of the client space supports this.

This reverts commit a29434460e.

Change-Id: I1658dc48a024627be0fdb39c46137aaa3d9b911a
2015-09-30 10:34:09 +00:00
Sirushti Murugesan 713fd2f6c6 Additionally install test-requirements with pip_install
When moving to Python 3, we also need to install test-requriements
to allow projects to install any python 3 test dependencies they
might be missing otherwise.

Change-Id: I2d19aa2f7ec8de869a82aa7764ab72cc8693101f
2015-09-30 15:24:59 +05:30
Nick c295bca61f Fix tunneling support for linuxbridge-agent
When I deploy linuxbridge-agent and enable tunneling,
the configuration of neutron isn't right. It lacks
the whole section [vxlan] to be properly configured.

Change-Id: Ib3bfe0f3445f466f4dbb36f7f0cb0d940114e7f6
Closes-Bug: #1481126
2015-09-30 10:33:43 +10:00
Steve Martinelli 050a0d5b30 Revert "Revert "Convert identity defaults to keystone v3 api""
This reverts commit f768787bdd.
And sets OS_AUTH_VERSION so swift CLI doesn't fall flat when
not using v2 keystone

Change-Id: If44a7e0d85e48020a3c90d8c5c027513129f0f3b
2015-09-29 19:52:28 +00:00
Olivier Lemasle 7dd890d6e1 Install python db client if a db backend is configured
If `DATABASE_TYPE` is configured in `local.conf`, the database backend
is currently configured with `initialize_database_backends` even if no
database backend is enabled.

On a multi-nodes Devstack environment, such as devstack-vagrant, the
compute node currently fails because it does not have PyMysql. This
compute node has no database backend enabled, but has to connect to
the database on another node.

We should install the python client if DATABASE_TYPE is set, even
if no database backend is enabled.

Closes-Bug: 1501001
Change-Id: Iffd5f7243a0dfdbe56cf6b9a87b96ed7678c81dd
2015-09-29 21:05:20 +02:00
Matt Riedemann c35eee5dbb use nproc/2 workers for large ops job
Commit 1ce19ab76d dropped API_WORKERS from
nproc/2 to nproc/4 and also started using API_WORKERS for the number of
conductor workers, so in gate runs that dropped conductor workers from 8
to 2.  We're now seeing instance build timeouts in the large ops job.

This change goes back to nproc/2 for the large ops job (VIRT_DRIVER=='fake').

Closes-Bug: #1500615

Change-Id: Ie6ef855fce0a99c930d479b7459c15b69e8de499
2015-09-29 06:45:29 -07:00
Anton Arefiev 651cb1ad75 Add toggle to run Cinder API under Apache
This change adds apache templates for Cinder API services.
Also add possibility to switch between the old and new ways
to setup Cinder API.

Related Cinder blueprint:
 https://blueprints.launchpad.net/cinder/+spec/non-eventlet-wsgi-app

Change-Id: Icfad40ee6998296727a95613199e5c2d87bd0a45
Depends-On: Ifbab059001d1567b1f7b394c0411a9ca4629f846
Co-Authored-By: Ivan Kolodyazhny <e0ne@e0ne.info>
2015-09-28 15:01:03 +00:00
Ian Wienand 1eca508c57 Simplify RDO install
We can just directly install the latest RDO repo rather than having to
keep this up-to-date.  I don't think there is actually much there we
need any more; there was a lot more coming from RDO in the centos6
days.  openvswitch is one big one, however.

Change-Id: I42b8bc1aea8ff61770987eecd5fc3b8309c1e210
2015-09-25 13:28:58 +10:00
Kashyap Chamarthy 8872545a0f worlddump: Use SIGUSR2 instead of SIGUSR1
The function guru_meditation_report() currently uses the User-defined
signal SIGUSR1 to kill a Nova Compute process so that a Guru Meditation
Report is generated.

Testing locally, in a DevStack instance, manually attempting to kill a
Nova compute process [kill -s USR1 `pgrep nova-compute`] does not result
in process being terminated, and no error report generated.

It turns out[1] that SIGUSR1 is used by Apache 'mod_wsgi'.

Using the signal SIGUSR2 resolves this issue (i.e. 'nova-compute'
process is terminated, and the Guru Meditation Report is generated).

So, use USR2, instead of USR1.

Corresponding oslo.reports related commit[2].

[1] https://code.google.com/p/modwsgi/wiki/ConfigurationDirectives#WSGIRestrictSignal
[2] 45b1c02d113051d147e54ef921ce8e94135542d8 -- guru_meditation_report:
    Use SIGUSR2 instead of SIGUSR1
[3] Original DevStack commit that brought in this change --
    2ebe993b25

Change-Id: I8a7eaf71b83edca3c80074d6bf2d471e3db6142b
2015-09-24 18:41:15 +02:00
Roxana Gherle 59c6377ae5 Assign admin role for admin user on default domain
This patch adds an admin role assignment for the admin user on
the default domain as part of the Keystone configuration stage.

Closes-Bug: #1494081
Change-Id: I91c88917bd51be4572e4970c94e65d866798df26
2015-09-22 10:15:28 -07:00
Julien Danjou 382f982e51 keystone: fix prefixed URL
Commit 2ad1a42ca6 broke entirely the
Apache configuration for Keystone when used without a port on the
/identity URL. This patch fixes that.

Change-Id: I47805138c66456c9c5fa9af1f4ac33b03d0ce5b9
2015-09-22 07:04:18 +00:00
Fawad Khaliq 193d8a6e7c Improve PLUMgrid Install Endpoints
PLUMgrid Plugin has moved out of Neutron tree and it's new
home is openstack/networking-plumgrid[1]. With core vendor
decomposition reaching completion, this change moves
PLUMgrid Plugin install to an external DevStack plugin
for better integration.

[1] https://github.com/openstack/networking-plumgrid
[2] http://docs.openstack.org/developer/neutron/devref/contribute.html

Change-Id: I5bd6d8f611c2a134f2e8f14c074c1a4185d9c522
2015-09-17 01:20:35 -07:00
ghanshyam e5a6f82e43 Cleanup nova v2.1 API testing options
Now gate will tests Nova v2.1 as default and separate jobs
for v2 legacy and v2 compatible APIs -
 I86a627b8ec7b1246452a16c10dcfb1ad5f83bdef

This commit cleanup the options used for old v2.1 jobs.

Separate options are provided for Nova APIs testing-
 Ie6b7e4290d9a1d9789d04099b3b31c9a557bc22b

Depends-On: Ie0430cedb7a8136c04b9fb7d08746293aab79f42
To remove old V2.1 jobs.

Change-Id: Ibbed44e1c41ec1e6b3675317f08061810762796c
2015-09-02 13:19:48 +09:00
Jamie Lennox 05076fb7ea Configure horizon with identity v3
Currently horizon configures keystone using v3 only if v2 is not
available. Really we should just always be using v3.

Change-Id: Icac4d90b617209da75abf33f8e25ffc021c45fdb
2015-08-15 19:01:59 +10:00
Tim Buckley a83e90b560 Enable CSV logging output for DStat.
Future work toward visualization of DevStack and devstack-gate performance
would benefit greatly from the availability of machine-parsable DStat output.
This patch outputs an additional logfile to $LOGDIR, `dstat-csv.log`, using
DStat's built-in CSV logging functionality.

An additional instance of DStat is started during start_dstat that outputs
to CSV-formatted text without `--top-cpu-adv` and `-top-io-adv` enabled, as
these plugins are currently incompatible with CSV output. To facilitate this,
a new `dstat.sh` script is added to $TOP_DIR/tools/ to act as a daemon to
manage the two processes.

Change-Id: I826c94c35b6a109308b4f132c181ff7a1f63bc7b
Depends-On: I534fb1f9356a7948d2fec0aecc7f275e47362a11
2015-08-14 09:51:09 -06:00
YAMAMOTO Takashi 961643e404 configuration.rst: Document post-extra meta section phase
Change-Id: I81d121424057fd79c1a0a65d420df3ee1badb6f3
2015-07-31 13:45:27 +09:00
Jens Rosenboom ff70dad892 Make image_list.sh independent of host IP address
We do not need the HOST_IP to be detected in order to be able to list
our images. So just set that to some dummy value before sourcing
functions.

This will allow tools like disk-image-builder to work regardless of
whether get_default_host_ip succeeds or not.

Change-Id: I9c22d2066e34309e70e56076e3d17c5db6ecee06
2015-07-23 10:34:58 +02:00
Mahito OGURA 54dc19ecad Add export_proxy_variables() tests to test_functions.sh
In test_functions.sh, There aren't export_proxy_variables() tests.
This patch add test of export_proxy_variables to test_funstions.sh.

Change-Id: I76f2bab84f4019961e612b0bff0ab66646b6e160
2015-07-15 23:31:51 +09:00
335 changed files with 12896 additions and 8553 deletions
+12
View File
@@ -3,7 +3,9 @@
*.log
*.log.[1-9]
*.pem
*.pyc
.localrc.auto
.localrc.password
.prereqs
.tox
.stackenv
@@ -11,12 +13,19 @@ accrc
doc/files
doc/build
files/*.gz
files/*.vmdk
files/*.rpm
files/*.rpm.*
files/*.deb
files/*.deb.*
files/*.qcow2
files/*.img
files/images
files/pip-*
files/get-pip.py*
files/ir-deploy*
files/ironic-inspector*
files/etcd*
local.conf
local.sh
localrc
@@ -24,3 +33,6 @@ proto
shocco
src
stack-screenrc
userrc_early
AUTHORS
ChangeLog
+3 -2
View File
@@ -1,4 +1,5 @@
[gerrit]
host=review.openstack.org
host=review.opendev.org
port=29418
project=openstack-dev/devstack.git
project=openstack/devstack.git
defaultbranch=stable/pike
+450
View File
@@ -0,0 +1,450 @@
- nodeset:
name: openstack-single-node
nodes:
- name: controller
label: ubuntu-xenial
groups:
- name: tempest
nodes:
- controller
- nodeset:
name: openstack-two-node
nodes:
- name: controller
label: ubuntu-xenial
- name: compute1
label: ubuntu-xenial
groups:
# Node where tests are executed and test results collected
- name: tempest
nodes:
- controller
# Nodes running the compute service
- name: compute
nodes:
- controller
- compute1
# Nodes that are not the controller
- name: subnode
nodes:
- compute1
# Switch node for multinode networking setup
- name: switch
nodes:
- controller
# Peer nodes for multinode networking setup
- name: peers
nodes:
- compute1
- job:
name: devstack-base
parent: multinode
abstract: true
description: |
Base abstract Devstack job.
Defines plays and base variables, but it does not include any project
and it does not run any service by default. This is a common base for
all single Devstack jobs, single or multinode.
Variables are defined in job.vars, which is what is then used by single
node jobs and by multi node jobs for the controller, as well as in
job.group-vars.peers, which is what is used by multi node jobs for subnode
nodes (everything but the controller).
required-projects:
- opendev.org/openstack/devstack
roles:
- zuul: opendev.org/openstack/devstack-gate
- zuul: opendev.org/openstack/openstack-zuul-jobs
vars:
devstack_localrc:
DATABASE_PASSWORD: secretdatabase
RABBIT_PASSWORD: secretrabbit
ADMIN_PASSWORD: secretadmin
SERVICE_PASSWORD: secretservice
NETWORK_GATEWAY: 10.1.0.1
FIXED_RANGE: 10.1.0.0/20
IPV4_ADDRS_SAFE_TO_USE: 10.1.0.0/20
FLOATING_RANGE: 172.24.5.0/24
PUBLIC_NETWORK_GATEWAY: 172.24.5.1
LOGFILE: /opt/stack/logs/devstacklog.txt
LOG_COLOR: false
VERBOSE: true
NOVNC_FROM_PACKAGE: true
ERROR_ON_CLONE: true
# Gate jobs can't deal with nested virt. Disable it.
LIBVIRT_TYPE: qemu
# NOTE(dims): etcd 3.x is not available in debian/ubuntu
# etc. As a stop gap measure, devstack uses wget to download
# from the location below for all the CI jobs.
ETCD_DOWNLOAD_URL: http://tarballs.openstack.org/etcd/
devstack_services:
# Ignore any default set by devstack. Emit a "disable_all_services".
base: false
zuul_copy_output:
'{{ devstack_conf_dir }}/local.conf': logs
'{{ devstack_conf_dir }}/localrc': logs
'{{ devstack_conf_dir }}/.localrc.auto': logs
'{{ devstack_conf_dir }}/.stackenv': logs
'{{ devstack_log_dir }}/dstat-csv.log': logs
'{{ devstack_log_dir }}/devstacklog.txt': logs
'{{ devstack_log_dir }}/devstacklog.txt.summary': logs
'{{ devstack_full_log}}': logs
'{{ stage_dir }}/verify_tempest_conf.log': logs
'{{ stage_dir }}/apache': logs
'{{ stage_dir }}/apache_config': logs
'{{ stage_dir }}/etc': logs
/var/log/rabbitmq: logs
/var/log/postgresql: logs
/var/log/mysql.err: logs
/var/log/mysql.log: logs
/var/log/libvirt: logs
/etc/sudoers: logs
/etc/sudoers.d: logs
'{{ stage_dir }}/iptables.txt': logs
'{{ stage_dir }}/df.txt': logs
'{{ stage_dir }}/pip2-freeze.txt': logs
'{{ stage_dir }}/pip3-freeze.txt': logs
'{{ stage_dir }}/dpkg-l.txt': logs
'{{ stage_dir }}/rpm-qa.txt': logs
'{{ stage_dir }}/core': logs
'{{ stage_dir }}/listen53.txt': logs
'{{ stage_dir }}/deprecations.log': logs
/var/log/ceph: logs
/var/log/openvswitch: logs
/var/log/glusterfs: logs
/etc/glusterfs/glusterd.vol: logs
/etc/resolv.conf: logs
/var/log/unbound.log: logs
extensions_to_txt:
conf: true
log: true
localrc: true
stackenv: true
auto: true
group-vars:
subnode:
test_matrix_role: subnode
devstack_localrc:
DATABASE_PASSWORD: secretdatabase
RABBIT_PASSWORD: secretrabbit
ADMIN_PASSWORD: secretadmin
SERVICE_PASSWORD: secretservice
NETWORK_GATEWAY: 10.1.0.1
FIXED_RANGE: 10.1.0.0/20
IPV4_ADDRS_SAFE_TO_USE: 10.1.0.0/20
FLOATING_RANGE: 172.24.5.0/24
PUBLIC_NETWORK_GATEWAY: 172.24.5.1
LOGFILE: /opt/stack/logs/devstacklog.txt
LOG_COLOR: false
VERBOSE: true
VERBOSE_NO_TIMESTAMP: true
NOVNC_FROM_PACKAGE: true
ERROR_ON_CLONE: true
LIBVIRT_TYPE: qemu
ETCD_DOWNLOAD_URL: http://tarballs.openstack.org/etcd/
devstack_services:
base: false
pre-run: playbooks/pre.yaml
run: playbooks/devstack.yaml
post-run: playbooks/post.yaml
irrelevant-files:
# Documentation related
- ^.*\.rst$
- ^api-ref/.*$
- ^doc/.*$
- ^releasenotes/.*$
# Translations
- ^.*/locale/.*po$
- job:
name: devstack-minimal
parent: devstack-base
description: |
Minimal devstack base job, intended for use by jobs that need
less than the normal minimum set of required-projects.
nodeset: openstack-single-node
required-projects:
- opendev.org/openstack/requirements
vars:
devstack_localrc:
# Multinode specific settings
SERVICE_HOST: "{{ hostvars['controller']['nodepool']['private_ipv4'] }}"
HOST_IP: "{{ hostvars['controller']['nodepool']['private_ipv4'] }}"
PUBLIC_BRIDGE_MTU: "{{ external_bridge_mtu }}"
devstack_services:
# Shared services
dstat: true
etcd3: false
mysql: true
peakmem_tracker: true
rabbit: true
group-vars:
subnode:
devstack_services:
# Shared services
dstat: true
peakmem_tracker: true
devstack_localrc:
# Multinode specific settings
HOST_IP: "{{ hostvars[inventory_hostname]['nodepool']['private_ipv4'] }}"
SERVICE_HOST: "{{ hostvars['controller']['nodepool']['private_ipv4'] }}"
PUBLIC_BRIDGE_MTU: "{{ external_bridge_mtu }}"
# Subnode specific settings
DATABASE_TYPE: mysql
RABBIT_HOST: "{{ hostvars['controller']['nodepool']['private_ipv4'] }}"
DATABASE_HOST: "{{ hostvars['controller']['nodepool']['private_ipv4'] }}"
- job:
name: devstack
parent: devstack-minimal
description: |
Base devstack job for integration gate.
This base job can be used for single node and multinode devstack jobs.
nodeset: openstack-single-node
required-projects:
- opendev.org/openstack/cinder
- opendev.org/openstack/glance
- opendev.org/openstack/keystone
- opendev.org/openstack/neutron
- opendev.org/openstack/nova
- opendev.org/openstack/requirements
- opendev.org/openstack/swift
timeout: 7200
vars:
test_matrix_configs: [neutron, tlsproxy]
devstack_localrc:
# Common OpenStack services settings
SWIFT_REPLICAS: 1
SWIFT_START_ALL_SERVICES: false
SWIFT_HASH: 1234123412341234
CINDER_PERIODIC_INTERVAL: 10
DEBUG_LIBVIRT_COREDUMPS: true
NOVA_VNC_ENABLED: true
VNCSERVER_LISTEN: 0.0.0.0
VNCSERVER_PROXYCLIENT_ADDRESS: $HOST_IP
devstack_local_conf:
post-config:
$NEUTRON_CONF:
DEFAULT:
global_physnet_mtu: '{{ external_bridge_mtu }}'
devstack_services:
base: true
# We need this explicitly here to trigger the sync of the CA data
tls-proxy: true
horizon: false
tempest: false
# Test matrix emits ceilometer but ceilomenter is not installed in the
# integrated gate, so specifying the services has not effect.
# ceilometer-*: false
group-vars:
subnode:
devstack_services:
base: true
# We need this explicitly here to trigger the sync of the CA data
tls-proxy: true
devstack_localrc:
# Subnode specific settings
GLANCE_HOSTPORT: "{{ hostvars['controller']['nodepool']['private_ipv4'] }}:9292"
Q_HOST: "{{ hostvars['controller']['nodepool']['private_ipv4'] }}"
NOVA_VNC_ENABLED: true
VNCSERVER_LISTEN: 0.0.0.0
VNCSERVER_PROXYCLIENT_ADDRESS: $HOST_IP
- job:
name: devstack-multinode
parent: devstack
nodeset: openstack-two-node
description: |
Simple multinode test to verify multinode functionality on devstack side.
This is not meant to be used as a parent job.
- job:
name: devstack-tox-base
parent: devstack
description: |
Base job for devstack-based functional tests that use tox.
This job is not intended to be run directly. It's just here
for organizational purposes for devstack-tox-functional and
devstack-tox-functional-consumer.
post-run: playbooks/tox/post.yaml
vars:
tox_envlist: functional
tox_install_siblings: false
- job:
name: devstack-tox-functional
parent: devstack-tox-base
description: |
Base job for devstack-based functional tests that use tox.
Runs devstack, then runs the tox ``functional`` environment,
then collects tox/testr build output like normal tox jobs.
Turns off tox sibling installation. Projects may be involved
in the devstack deployment and so may be in the required-projects
list, but may not want to test against master of the other
projects in their tox env. Child jobs can set tox_install_siblings
to True to re-enable sibling processing.
run: playbooks/tox/run-both.yaml
- job:
name: devstack-tox-functional-consumer
parent: devstack
description: |
Base job for devstack-based functional tests for projects that
consume the devstack cloud.
This base job should only be used by projects that are not involved
in the devstack deployment step, but are instead projects that are using
devstack to get a cloud against which they can test things.
Runs devstack in pre-run, then runs the tox ``functional`` environment,
then collects tox/testr build output like normal tox jobs.
Turns off tox sibling installation. Projects may be involved
in the devstack deployment and so may be in the required-projects
list, but may not want to test against master of the other
projects in their tox env. Child jobs can set tox_install_siblings
to True to re-enable sibling processing.
pre-run:
- playbooks/devstack.yaml
- playbooks/tox/pre.yaml
run: playbooks/tox/run.yaml
- job:
name: devstack-tox-base
parent: devstack
description: |
Base job for devstack-based functional tests that use tox.
This job is not intended to be run directly. It's just here
for organizational purposes for devstack-tox-functional and
devstack-tox-functional-consumer.
post-run: playbooks/tox/post.yaml
vars:
tox_envlist: functional
tox_install_siblings: false
- job:
name: devstack-tox-functional
parent: devstack-tox-base
description: |
Base job for devstack-based functional tests that use tox.
Runs devstack, then runs the tox ``functional`` environment,
then collects tox/testr build output like normal tox jobs.
Turns off tox sibling installation. Projects may be involved
in the devstack deployment and so may be in the required-projects
list, but may not want to test against master of the other
projects in their tox env. Child jobs can set tox_install_siblings
to True to re-enable sibling processing.
run: playbooks/tox/run-both.yaml
- job:
name: devstack-tox-functional-consumer
parent: devstack
description: |
Base job for devstack-based functional tests for projects that
consume the devstack cloud.
This base job should only be used by projects that are not involved
in the devstack deployment step, but are instead projects that are using
devstack to get a cloud against which they can test things.
Runs devstack in pre-run, then runs the tox ``functional`` environment,
then collects tox/testr build output like normal tox jobs.
Turns off tox sibling installation. Projects may be involved
in the devstack deployment and so may be in the required-projects
list, but may not want to test against master of the other
projects in their tox env. Child jobs can set tox_install_siblings
to True to re-enable sibling processing.
pre-run:
- playbooks/devstack.yaml
- playbooks/tox/pre.yaml
run: playbooks/tox/run.yaml
- job:
name: devstack-unit-tests
nodeset: ubuntu-xenial
description: |
Runs unit tests on devstack project.
It runs ``run_tests.sh``.
pre-run: playbooks/unit-tests/pre.yaml
run: playbooks/unit-tests/run.yaml
- project:
templates:
- integrated-gate
- integrated-gate-py35
- publish-openstack-sphinx-docs
check:
jobs:
- devstack
- devstack-multinode
- devstack-unit-tests
- openstack-tox-bashate
- ironic-tempest-dsvm-ipa-wholedisk-bios-agent_ipmitool-tinyipa:
voting: false
- swift-dsvm-functional:
voting: false
irrelevant-files:
- ^.*\.rst$
- ^doc/.*$
- neutron-tempest-linuxbridge:
irrelevant-files:
- ^.*\.rst$
- ^doc/.*$
- tempest-multinode-full:
voting: false
irrelevant-files:
- ^.*\.rst$
- ^doc/.*$
gate:
jobs:
- devstack
- devstack-unit-tests
- openstack-tox-bashate
- neutron-tempest-linuxbridge:
irrelevant-files:
- ^.*\.rst$
- ^doc/.*$
experimental:
jobs:
- devstack-plugin-ceph-tempest:
irrelevant-files:
- ^.*\.rst$
- ^doc/.*$
- devstack-plugin-ceph-tempest-py3:
irrelevant-files:
- ^.*\.rst$
- ^doc/.*$
- neutron-tempest-dvr:
irrelevant-files:
- ^.*\.rst$
- ^doc/.*$
- legacy-tempest-dsvm-neutron-dvr-multinode-full:
irrelevant-files:
- ^.*\.rst$
- ^doc/.*$
- neutron-tempest-dvr-ha-multinode-full:
irrelevant-files:
- ^.*\.rst$
- ^doc/.*$
- legacy-tempest-dsvm-lvm-multibackend:
irrelevant-files:
- ^.*\.rst$
- ^doc/.*$
- legacy-tempest-dsvm-neutron-pg-full:
irrelevant-files:
- ^.*\.rst$
- ^doc/.*$
+27 -5
View File
@@ -219,7 +219,7 @@ These scripts are executed serially by ``exercise.sh`` in testing situations.
set -o errexit
# Print the commands being run so that we can see the command that triggers
# an error. It is also useful for following allowing as the install occurs.
# an error. It is also useful for following as the install occurs.
set -o xtrace
* Settings and configuration are stored in ``exerciserc``, which must be
@@ -250,8 +250,7 @@ These scripts are executed serially by ``exercise.sh`` in testing situations.
database access from the exercise itself.
* If specific configuration needs to be present for the exercise to complete,
it should be staged in ``stack.sh``, or called from ``stack.sh`` (see
``files/keystone_data.sh`` for an example of this).
it should be staged in ``stack.sh``, or called from ``stack.sh``.
* The ``OS_*`` environment variables should be the only ones used for all
authentication to OpenStack clients as documented in the CLIAuth_ wiki page.
@@ -323,13 +322,13 @@ Variables and Functions
Review Criteria
===============
---------------
There are some broad criteria that will be followed when reviewing
your change
* **Is it passing tests** -- your change will not be reviewed
throughly unless the official CI has run successfully against it.
thoroughly unless the official CI has run successfully against it.
* **Does this belong in DevStack** -- DevStack reviewers have a
default position of "no" but are ready to be convinced by your
@@ -365,3 +364,26 @@ your change
* **Reviewers** -- please see ``MAINTAINERS.rst`` for a list of people
that should be added to reviews of various sub-systems.
Making Changes, Testing, and CI
-------------------------------
Changes to Devstack are tested by automated continuous integration jobs
that run on a variety of Linux Distros using a handful of common
configurations. What this means is that every change to Devstack is
self testing. One major benefit of this is that developers do not
typically need to add new non voting test jobs to add features to
Devstack. Instead the features can be added, then if testing passes
with the feature enabled the change is ready to merge (pending code
review).
A concrete example of this was the switch from screen based service
management to systemd based service management. No new jobs were
created for this. Instead the features were added to devstack, tested
locally and in CI using a change that enabled the feature, then once
the enabling change was passing and the new behavior communicated and
documented it was merged.
Using this process has been proven to be effective and leads to
quicker implementation of desired features.
+2 -6
View File
@@ -13,10 +13,9 @@
# Duplicated from stackrc for now
DEST=/opt/stack
WHEELHOUSE=$(DEST)/.wheelhouse
all:
echo "This just saved you from a terrible mistake!"
@echo "This just saved you from a terrible mistake!"
# Do Some Work
stack:
@@ -25,9 +24,6 @@ stack:
unstack:
./unstack.sh
wheels:
WHEELHOUSE=$(WHEELHOUSE) tools/build-wheels.sh
docs:
tox -edocs
@@ -57,7 +53,7 @@ clean:
# Clean out the cache too
realclean: clean
rm -rf files/cirros*.tar.gz files/Fedora*.qcow2 $(WHEELHOUSE)
rm -rf files/cirros*.tar.gz files/Fedora*.qcow2
# Repo stuffs
+19 -20
View File
@@ -1,6 +1,7 @@
DevStack is a set of scripts and utilities to quickly deploy an OpenStack cloud.
# Goals
Goals
=====
* To quickly build dev OpenStack environments in a clean Ubuntu or Fedora
environment
@@ -13,21 +14,22 @@ DevStack is a set of scripts and utilities to quickly deploy an OpenStack cloud.
* To provide an environment for the OpenStack CI testing on every commit
to the projects
Read more at http://docs.openstack.org/developer/devstack
Read more at https://docs.openstack.org/devstack/latest
IMPORTANT: Be sure to carefully read `stack.sh` and any other scripts you
execute before you run them, as they install software and will alter your
networking configuration. We strongly recommend that you run `stack.sh`
in a clean and disposable vm when you are first getting started.
# Versions
Versions
========
The DevStack master branch generally points to trunk versions of OpenStack
components. For older, stable versions, look for branches named
stable/[release] in the DevStack repo. For example, you can do the
following to create a juno OpenStack cloud:
following to create a Newton OpenStack cloud::
git checkout stable/juno
git checkout stable/newton
./stack.sh
You can also pick specific OpenStack project releases by setting the appropriate
@@ -35,10 +37,11 @@ You can also pick specific OpenStack project releases by setting the appropriate
`stackrc` for the default set). Usually just before a release there will be
milestone-proposed branches that need to be tested::
GLANCE_REPO=git://git.openstack.org/openstack/glance.git
GLANCE_REPO=https://git.openstack.org/openstack/glance.git
GLANCE_BRANCH=milestone-proposed
# Start A Dev Cloud
Start A Dev Cloud
=================
Installing in a dedicated disposable VM is safer than installing on your
dev machine! Plus you can pick one of the supported Linux distros for
@@ -54,21 +57,15 @@ endpoints, like so:
* Keystone: http://myhost:5000/v2.0/
We also provide an environment file that you can use to interact with your
cloud via CLI:
cloud via CLI::
# source openrc file to load your environment with OpenStack CLI creds
. openrc
# list instances
nova list
openstack server list
If the EC2 API is your cup-o-tea, you can create credentials and use euca2ools:
# source eucarc to generate EC2 credentials and set up the environment
. eucarc
# list instances using ec2 api
euca-describe-instances
# DevStack Execution Environment
DevStack Execution Environment
==============================
DevStack runs rampant over the system it runs on, installing things and
uninstalling other things. Running this on a system you care about is a recipe
@@ -88,10 +85,12 @@ check it out to see what DevStack's expectations are for the account
it runs under. Many people simply use their usual login (the default
'ubuntu' login on a UEC image for example).
# Customizing
Customizing
===========
DevStack can be extensively configured via the configuration file
`local.conf`. It is likely that you will need to provide and modify
this file if you want anything other than the most basic setup. Start
by reading the [configuration guide](doc/source/configuration.rst) for
details of the configuration file and the many available options.
by reading the `configuration guide
<https://docs.openstack.org/devstack/latest/configuration.html>`_
for details of the configuration file and the many available options.
+31 -12
View File
@@ -26,7 +26,7 @@ if [[ -r $TOP_DIR/.stackenv ]]; then
fi
# Determine what system we are running on. This provides ``os_VENDOR``,
# ``os_RELEASE``, ``os_UPDATE``, ``os_PACKAGE``, ``os_CODENAME``
# ``os_RELEASE``, ``os_PACKAGE``, ``os_CODENAME``
# and ``DISTRO``
GetDistro
@@ -46,12 +46,13 @@ source $TOP_DIR/lib/horizon
source $TOP_DIR/lib/keystone
source $TOP_DIR/lib/glance
source $TOP_DIR/lib/nova
source $TOP_DIR/lib/placement
source $TOP_DIR/lib/cinder
source $TOP_DIR/lib/swift
source $TOP_DIR/lib/heat
source $TOP_DIR/lib/neutron
source $TOP_DIR/lib/neutron-legacy
source $TOP_DIR/lib/ironic
set -o xtrace
# Extras Source
# --------------
@@ -63,13 +64,8 @@ if [[ -d $TOP_DIR/extras.d ]]; then
done
fi
# See if there is anything running...
# need to adapt when run_service is merged
SESSION=$(screen -ls | awk '/[0-9].stack/ { print $1 }')
if [[ -n "$SESSION" ]]; then
# Let unstack.sh do its thing first
$TOP_DIR/unstack.sh --all
fi
# Let unstack.sh do its thing first
$TOP_DIR/unstack.sh --all
# Run extras
# ==========
@@ -92,8 +88,10 @@ cleanup_cinder || /bin/true
cleanup_glance
cleanup_keystone
cleanup_nova
cleanup_placement
cleanup_neutron
cleanup_swift
cleanup_horizon
if is_service_enabled ldap; then
cleanup_ldap
@@ -105,7 +103,7 @@ if is_service_enabled nova && [[ -r $NOVA_PLUGINS/hypervisor-$VIRT_DRIVER ]]; th
fi
# Clean out /etc
sudo rm -rf /etc/keystone /etc/glance /etc/nova /etc/cinder /etc/swift /etc/heat /etc/neutron
sudo rm -rf /etc/keystone /etc/glance /etc/nova /etc/cinder /etc/swift /etc/neutron /etc/openstack/
# Clean out tgt
sudo rm -f /etc/tgt/conf.d/*
@@ -128,15 +126,36 @@ if [[ -n "$SCREEN_LOGDIR" ]] && [[ -d "$SCREEN_LOGDIR" ]]; then
sudo rm -rf $SCREEN_LOGDIR
fi
# Clean out the sytemd user unit files if systemd was used.
if [[ "$USE_SYSTEMD" = "True" ]]; then
sudo find $SYSTEMD_DIR -type f -name '*devstack@*service' -delete
# Make systemd aware of the deletion.
$SYSTEMCTL daemon-reload
fi
# Clean up venvs
DIRS_TO_CLEAN="$WHEELHOUSE ${PROJECT_VENV[@]} .config/openstack"
rm -rf $DIRS_TO_CLEAN
# Clean up files
FILES_TO_CLEAN=".localrc.auto docs/files docs/html shocco/ stack-screenrc test*.conf* test.ini*"
FILES_TO_CLEAN=".localrc.auto .localrc.password "
FILES_TO_CLEAN+="docs/files docs/html shocco/ "
FILES_TO_CLEAN+="stack-screenrc test*.conf* test.ini* "
FILES_TO_CLEAN+=".stackenv .prereqs"
for file in $FILES_TO_CLEAN; do
rm -rf $TOP_DIR/$file
done
rm -rf ~/.config/openstack
# Clean up all *.pyc files
if [[ -n "$DEST" ]] && [[ -d "$DEST" ]]; then
find_version=`find --version | awk '{ print $NF; exit}'`
if vercmp "$find_version" "<" "4.2.3" ; then
sudo find $DEST -name "*.pyc" -print0 | xargs -0 rm
else
sudo find $DEST -name "*.pyc" -delete
fi
fi
+21
View File
@@ -0,0 +1,21 @@
.. Note to patch submitters:
# ============================= #
# THIS FILE IS AUTOGENERATED ! #
# ============================= #
** Plugins are found automatically and added to this list **
This file is created by a periodic proposal job. You should not
edit this file.
You should edit the files data/devstack-plugins-registry.footer
data/devstack-plugins-registry.header to modify this text.
==========================
DevStack Plugin Registry
==========================
The following list is an automatically-generated collection of
available DevStack plugins. This includes, but is not limited to,
official OpenStack projects.
+10
View File
@@ -0,0 +1,10 @@
pbr>=2.0.0,!=2.1.0
Pygments
docutils
sphinx>=1.6.2
openstackdocstheme>=1.11.0
nwdiag
blockdiag
sphinxcontrib-blockdiag
sphinxcontrib-nwdiag
Binary file not shown.

After

Width:  |  Height:  |  Size: 378 KiB

-12
View File
@@ -1,12 +0,0 @@
=======
Changes
=======
Recent Changes What's been happening?
=====================================
These are the commits to DevStack for the last six months. For the
complete list see `the DevStack project in
Gerrit <https://review.openstack.org/#/q/status:merged+project:openstack-dev/devstack,n,z>`__.
%GIT_LOG%
+8 -2
View File
@@ -26,7 +26,13 @@ import os
# Add any Sphinx extension module names here, as strings. They can be extensions
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
extensions = [ 'oslosphinx', 'sphinxcontrib.blockdiag', 'sphinxcontrib.nwdiag' ]
extensions = [ 'openstackdocstheme', 'sphinxcontrib.blockdiag', 'sphinxcontrib.nwdiag' ]
# openstackdocstheme options
repository_name = 'openstack-dev/devstack'
bug_project = 'devstack'
bug_tag = ''
html_last_updated_fmt = '%Y-%m-%d %H:%M'
todo_include_todos = True
@@ -87,7 +93,7 @@ man_pages = []
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
html_theme = 'nature'
html_theme = 'openstackdocs'
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
+310 -121
View File
@@ -36,14 +36,11 @@ The defined phases are:
- **local** - extracts ``localrc`` from ``local.conf`` before
``stackrc`` is sourced
- **pre-install** - runs after the system packages are installed but
before any of the source repositories are installed
- **install** - runs immediately after the repo installations are
complete
- **post-config** - runs after the layer 2 services are configured and
before they are started
- **extra** - runs after services are started and before any files in
``extra.d`` are executed
- **post-extra** - runs after files in ``extra.d`` are executed
The file is processed strictly in sequence; meta-sections may be
specified more than once but if any settings are duplicated the last to
@@ -61,13 +58,12 @@ appear in the file will be used.
A specific meta-section ``local|localrc`` is used to provide a default
``localrc`` file (actually ``.localrc.auto``). This allows all custom
settings for DevStack to be contained in a single file. If ``localrc``
exists it will be used instead to preserve backward-compatibility. More
details on the :doc:`contents of local.conf <local.conf>` are available.
exists it will be used instead to preserve backward-compatibility.
::
[[local|localrc]]
FIXED_RANGE=10.254.1.0/24
IPV4_ADDRS_SAFE_TO_USE=10.254.1.0/24
ADMIN_PASSWORD=speciale
LOGFILE=$DEST/logs/stack.sh.log
@@ -83,6 +79,76 @@ Also note that the ``localrc`` section is sourced as a shell script
fragment and MUST conform to the shell requirements, specifically no
whitespace around ``=`` (equals).
openrc
======
``openrc`` configures login credentials suitable for use with the
OpenStack command-line tools. ``openrc`` sources ``stackrc`` at the
beginning (which in turn sources the ``localrc`` section of
``local.conf``) in order to pick up ``HOST_IP`` and/or ``SERVICE_HOST``
to use in the endpoints. The values shown below are the default values.
OS\_PROJECT\_NAME (OS\_TENANT\_NAME)
Keystone has
standardized the term *project* as the entity that owns resources. In
some places references still exist to the previous term
*tenant* for this use. Also, *project\_name* is preferred to
*project\_id*. OS\_TENANT\_NAME remains supported for compatibility
with older tools.
::
OS_PROJECT_NAME=demo
OS\_USERNAME
In addition to the owning entity (project), OpenStack calls the entity
performing the action *user*.
::
OS_USERNAME=demo
OS\_PASSWORD
Keystone's default authentication requires a password be provided.
The usual cautions about putting passwords in environment variables
apply, for most DevStack uses this may be an acceptable tradeoff.
::
OS_PASSWORD=secret
HOST\_IP, SERVICE\_HOST
Set API endpoint host using ``HOST_IP``. ``SERVICE_HOST`` may also
be used to specify the endpoint, which is convenient for some
``local.conf`` configurations. Typically, ``HOST_IP`` is set in the
``localrc`` section.
::
HOST_IP=127.0.0.1
SERVICE_HOST=$HOST_IP
OS\_AUTH\_URL
Authenticating against an OpenStack cloud using Keystone returns a
*Token* and *Service Catalog*. The catalog contains the endpoints
for all services the user/tenant has access to - including Nova,
Glance, Keystone and Swift.
::
OS_AUTH_URL=http://$SERVICE_HOST:5000/v2.0
KEYSTONECLIENT\_DEBUG, NOVACLIENT\_DEBUG
Set command-line client log level to ``DEBUG``. These are commented
out by default.
::
# export KEYSTONECLIENT_DEBUG=1
# export NOVACLIENT_DEBUG=1
.. _minimal-configuration:
Minimal Configuration
@@ -95,20 +161,19 @@ values that most often need to be set.
- no logging
- pre-set the passwords to prevent interactive prompts
- move network ranges away from the local network (``FIXED_RANGE`` and
``FLOATING_RANGE``, commented out below)
- move network ranges away from the local network (``IPV4_ADDRS_SAFE_TO_USE``
and ``FLOATING_RANGE``, commented out below)
- set the host IP if detection is unreliable (``HOST_IP``, commented
out below)
::
[[local|localrc]]
ADMIN_PASSWORD=secrete
ADMIN_PASSWORD=secret
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD
SERVICE_TOKEN=a682f596-76f3-11e3-b3b2-e716f9080d50
#FIXED_RANGE=172.31.1.0/24
#IPV4_ADDRS_SAFE_TO_USE=172.31.1.0/24
#FLOATING_RANGE=192.168.20.0/25
#HOST_IP=10.3.4.5
@@ -130,6 +195,9 @@ will not be set if there is no IPv6 address on the default Ethernet interface.
Setting it here also makes it available for ``openrc`` to set ``OS_AUTH_URL``.
``HOST_IPV6`` is not set by default.
For architecture specific configurations which differ from the x86 default
here, see `arch-configuration`_.
Historical Notes
================
@@ -145,6 +213,37 @@ Configuration Notes
.. contents::
:local:
Service Repos
-------------
The Git repositories used to check out the source for each service are
controlled by a pair of variables set for each service. ``*_REPO``
points to the repository and ``*_BRANCH`` selects which branch to
check out. These may be overridden in ``local.conf`` to pull source
from a different repo for testing, such as a Gerrit branch
proposal. ``GIT_BASE`` points to the primary repository server.
::
NOVA_REPO=$GIT_BASE/openstack/nova.git
NOVA_BRANCH=master
To pull a branch directly from Gerrit, get the repo and branch from
the Gerrit review page:
::
git fetch https://review.openstack.org/p/openstack/nova refs/changes/50/5050/1 && git checkout FETCH_HEAD
The repo is the stanza following ``fetch`` and the branch is the
stanza following that:
::
NOVA_REPO=https://review.openstack.org/p/openstack/nova
NOVA_BRANCH=refs/changes/50/5050/1
Installation Directory
----------------------
@@ -182,43 +281,22 @@ number of days of old log files to keep.
LOGDAYS=1
The some of the project logs (Nova, Cinder, etc) will be colorized by
default (if ``SYSLOG`` is not set below); this can be turned off by
setting ``LOG_COLOR`` to ``False``.
::
Some coloring is used during the DevStack runs to make it easier to
see what is going on. This can be disabled with::
LOG_COLOR=False
Logging the Service Output
~~~~~~~~~~~~~~~~~~~~~~~~~~
DevStack will log the ``stdout`` output of the services it starts.
When using ``screen`` this logs the output in the screen windows to a
file. Without ``screen`` this simply redirects stdout of the service
process to a file in ``LOGDIR``.
By default, services run under ``systemd`` and are natively logging to
the systemd journal.
::
To query the logs use the ``journalctl`` command, such as::
LOGDIR=$DEST/logs
*Note the use of ``DEST`` to locate the main install directory; this
is why we suggest setting it in ``local.conf``.*
Enabling Syslog
~~~~~~~~~~~~~~~
Logging all services to a single syslog can be convenient. Enable
syslogging by setting ``SYSLOG`` to ``True``. If the destination log
host is not localhost ``SYSLOG_HOST`` and ``SYSLOG_PORT`` can be used
to direct the message stream to the log host. |
::
SYSLOG=True
SYSLOG_HOST=$HOST_IP
SYSLOG_PORT=516
journalctl --unit devstack@*
More examples can be found in :ref:`journalctl-examples`.
Example Logging Configuration
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -230,7 +308,6 @@ a file, keep service logs and disable color in the stored files.
[[local|localrc]]
DEST=/opt/stack/
LOGDIR=$DEST/logs
LOGFILE=$LOGDIR/stack.sh.log
LOG_COLOR=False
@@ -239,15 +316,15 @@ Database Backend
Multiple database backends are available. The available databases are defined
in the lib/databases directory.
`mysql` is the default database, choose a different one by putting the
following in the `localrc` section:
``mysql`` is the default database, choose a different one by putting the
following in the ``localrc`` section:
::
disable_service mysql
enable_service postgresql
`mysql` is the default database.
``mysql`` is the default database.
RPC Backend
-----------
@@ -260,6 +337,7 @@ RabbitMQ is handled via the usual service functions and
Example disabling RabbitMQ in ``local.conf``:
::
disable_service rabbit
@@ -297,6 +375,18 @@ Example (Swift):
SWIFT_USE_MOD_WSGI="True"
Example (Heat):
::
HEAT_USE_MOD_WSGI="True"
Example (Cinder):
::
CINDER_USE_MOD_WSGI="True"
Libraries from Git
@@ -314,6 +404,9 @@ can be specified as a comma separated list.
LIBS_FROM_GIT=python-keystoneclient,oslo.config
Setting the variable to ``ALL`` will activate the download for all
libraries.
Virtual Environments
--------------------
@@ -366,24 +459,6 @@ that matches requirements.
PIP_UPGRADE=True
Service Catalog Backend
-----------------------
By default DevStack uses Keystone's ``sql`` service catalog backend.
An alternate ``template`` backend is also available, however, it does
not support the ``service-*`` and ``endpoint-*`` commands of the
``keystone`` CLI. To do so requires the ``sql`` backend be enabled
with ``KEYSTONE_CATALOG_BACKEND``:
::
KEYSTONE_CATALOG_BACKEND=template
DevStack's default configuration in ``sql`` mode is set in
``files/keystone_data.sh``
Guest Images
------------
@@ -402,19 +477,39 @@ these default images; in that case, you will want to populate
IMAGE_URLS="http://foo.bar.com/image.qcow,"
IMAGE_URLS+="http://foo.bar.com/image2.qcow"
IP Version
----------
``IP_VERSION`` can be used to configure DevStack to create either an
IPv4, IPv6, or dual-stack tenant data-network by with either
``IP_VERSION=4``, ``IP_VERSION=6``, or ``IP_VERSION=4+6``
respectively. This functionality requires that the Neutron networking
service is enabled by setting the following options:
Instance Type
-------------
``DEFAULT_INSTANCE_TYPE`` can be used to configure the default instance
type. When this parameter is not specified, Devstack creates additional
micro & nano flavors for really small instances to run Tempest tests.
For guests with larger memory requirements, ``DEFAULT_INSTANCE_TYPE``
should be specified in the configuration file so Tempest selects the
default flavors instead.
KVM on Power with QEMU 2.4 requires 512 MB to load the firmware -
`QEMU 2.4 - PowerPC <http://wiki.qemu.org/ChangeLog/2.4>`__ so users
running instances on ppc64/ppc64le can choose one of the default
created flavors as follows:
::
disable_service n-net
enable_service q-svc q-agt q-dhcp q-l3
DEFAULT_INSTANCE_TYPE=m1.tiny
IP Version
----------
``IP_VERSION`` can be used to configure Neutron to create either an
IPv4, IPv6, or dual-stack self-service project data-network by with
either ``IP_VERSION=4``, ``IP_VERSION=6``, or ``IP_VERSION=4+6``
respectively.
::
IP_VERSION=4+6
The following optional variables can be used to alter the default IPv6
behavior:
@@ -423,12 +518,12 @@ behavior:
IPV6_RA_MODE=slaac
IPV6_ADDRESS_MODE=slaac
FIXED_RANGE_V6=fd$IPV6_GLOBAL_ID::/64
IPV6_ADDRS_SAFE_TO_USE=fd$IPV6_GLOBAL_ID::/56
IPV6_PRIVATE_NETWORK_GATEWAY=fd$IPV6_GLOBAL_ID::1
*Note*: ``FIXED_RANGE_V6`` and ``IPV6_PRIVATE_NETWORK_GATEWAY`` can be
configured with any valid IPv6 prefix. The default values make use of
an auto-generated ``IPV6_GLOBAL_ID`` to comply with RFC4193.
*Note*: ``IPV6_ADDRS_SAFE_TO_USE`` and ``IPV6_PRIVATE_NETWORK_GATEWAY``
can be configured with any valid IPv6 prefix. The default values make
use of an auto-generated ``IPV6_GLOBAL_ID`` to comply with RFC4193.
Service Version
~~~~~~~~~~~~~~~
@@ -473,11 +568,9 @@ Swift
Swift is disabled by default. When enabled, it is configured with
only one replica to avoid being IO/memory intensive on a small
VM. When running with only one replica the account, container and
object services will run directly in screen. The others services like
replicator, updaters or auditor runs in background.
VM.
If you would like to enable Swift you can add this to your `localrc`
If you would like to enable Swift you can add this to your ``localrc``
section:
::
@@ -485,7 +578,7 @@ section:
enable_service s-proxy s-object s-container s-account
If you want a minimal Swift install with only Swift and Keystone you
can have this instead in your `localrc` section:
can have this instead in your ``localrc`` section:
::
@@ -494,41 +587,30 @@ can have this instead in your `localrc` section:
If you only want to do some testing of a real normal swift cluster
with multiple replicas you can do so by customizing the variable
`SWIFT_REPLICAS` in your `localrc` section (usually to 3).
``SWIFT_REPLICAS`` in your ``localrc`` section (usually to 3).
You can manually override the ring building to use specific storage
nodes, for example when you want to test a multinode environment. In
this case you have to set a space-separated list of IPs in
``SWIFT_STORAGE_IPS`` in your ``localrc`` section that should be used
as Swift storage nodes.
Please note that this does not create a multinode setup, it is only
used when adding nodes to the Swift rings.
::
SWIFT_STORAGE_IPS="192.168.1.10 192.168.1.11 192.168.1.12"
Swift S3
++++++++
If you are enabling `swift3` in `ENABLED_SERVICES` DevStack will
If you are enabling ``swift3`` in ``ENABLED_SERVICES`` DevStack will
install the swift3 middleware emulation. Swift will be configured to
act as a S3 endpoint for Keystone so effectively replacing the
`nova-objectstore`.
``nova-objectstore``.
Only Swift proxy server is launched in the screen session all other
services are started in background and managed by `swift-init` tool.
Heat
~~~~
Heat is disabled by default (see `stackrc` file). To enable it
explicitly you'll need the following settings in your `localrc`
section
::
enable_service heat h-api h-api-cfn h-api-cw h-eng
Heat can also run in standalone mode, and be configured to orchestrate
on an external OpenStack cloud. To launch only Heat in standalone mode
you'll need the following settings in your `localrc` section
::
disable_all_services
enable_service rabbit mysql heat h-api h-api-cfn h-api-cw h-eng
HEAT_STANDALONE=True
KEYSTONE_SERVICE_HOST=...
KEYSTONE_AUTH_HOST=...
Only Swift proxy server is launched in the systemd system all other
services are started in background and managed by ``swift-init`` tool.
Tempest
~~~~~~~
@@ -556,14 +638,14 @@ Xenserver
~~~~~~~~~
If you would like to use Xenserver as the hypervisor, please refer to
the instructions in `./tools/xen/README.md`.
the instructions in ``./tools/xen/README.md``.
Cells
~~~~~
`Cells <http://wiki.openstack.org/blueprint-nova-compute-cells>`__ is
an alternative scaling option. To setup a cells environment add the
following to your `localrc` section:
following to your ``localrc`` section:
::
@@ -577,22 +659,15 @@ Cinder
~~~~~~
The logical volume group used to hold the Cinder-managed volumes is
set by ``VOLUME_GROUP``, the logical volume name prefix is set with
set by ``VOLUME_GROUP_NAME``, the logical volume name prefix is set with
``VOLUME_NAME_PREFIX`` and the size of the volume backing file is set
with ``VOLUME_BACKING_FILE_SIZE``.
::
VOLUME_GROUP="stack-volumes"
VOLUME_GROUP_NAME="stack-volumes"
VOLUME_NAME_PREFIX="volume-"
VOLUME_BACKING_FILE_SIZE=10250M
Cinder v1 API is depricated and disabled by default. You can enable v1 API by
setting ``CINDER_ENABLE_V1_API`` to ``True``.
::
CINDER_ENABLE_V1_API=True
VOLUME_BACKING_FILE_SIZE=24G
Keystone
@@ -615,8 +690,122 @@ In RegionOne:
In RegionTwo:
::
disable_service horizon
KEYSTONE_SERVICE_HOST=<KEYSTONE_IP_ADDRESS_FROM_REGION_ONE>
KEYSTONE_AUTH_HOST=<KEYSTONE_IP_ADDRESS_FROM_REGION_ONE>
REGION_NAME=RegionTwo
KEYSTONE_REGION_NAME=RegionOne
In the devstack for RegionOne, we set REGION_NAME as RegionOne, so region of
the services started in this devstack are registered as RegionOne. In devstack
for RegionTwo, similarly, we set REGION_NAME as RegionTwo since we want
services started in this devstack to be registered in RegionTwo. But Keystone
service is started and registered in RegionOne, not RegionTwo, so we use
KEYSTONE_REGION_NAME to specify the region of Keystone service.
KEYSTONE_REGION_NAME has a default value the same as REGION_NAME thus we omit
it in the configuration of RegionOne.
Disabling Identity API v2
+++++++++++++++++++++++++
The Identity API v2 is deprecated as of Mitaka and it is recommended to only
use the v3 API. It is possible to setup keystone without v2 API, by doing:
::
ENABLE_IDENTITY_V2=False
Exercises
~~~~~~~~~
``exerciserc`` is used to configure settings for the exercise scripts.
The values shown below are the default values. These can all be
overridden by setting them in the ``localrc`` section.
* Max time to wait while vm goes from build to active state
::
ACTIVE_TIMEOUT==30
* Max time to wait for proper IP association and dis-association.
::
ASSOCIATE_TIMEOUT=15
* Max time till the vm is bootable
::
BOOT_TIMEOUT=30
* Max time from run instance command until it is running
::
RUNNING_TIMEOUT=$(($BOOT_TIMEOUT + $ACTIVE_TIMEOUT))
* Max time to wait for a vm to terminate
::
TERMINATE_TIMEOUT=30
.. _arch-configuration:
Architectures
-------------
The upstream CI runs exclusively on nodes with x86 architectures, but
OpenStack supports even more architectures. Some of them need to configure
Devstack in a certain way.
KVM on s390x (IBM z Systems)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
KVM on s390x (IBM z Systems) is supported since the *Kilo* release. For
an all-in-one setup, these minimal settings in the ``local.conf`` file
are needed::
[[local|localrc]]
ADMIN_PASSWORD=secret
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD
DOWNLOAD_DEFAULT_IMAGES=False
IMAGE_URLS="https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-s390x-disk1.img"
enable_service n-sproxy
disable_service n-novnc
disable_service etcd3 # https://bugs.launchpad.net/devstack/+bug/1693192
[[post-config|$NOVA_CONF]]
[serial_console]
base_url=ws://$HOST_IP:6083/ # optional
Reasoning:
* The default image of Devstack is x86 only, so we deactivate the download
with ``DOWNLOAD_DEFAULT_IMAGES``. The referenced guest image
in the code above (``IMAGE_URLS``) serves as an example. The list of
possible s390x guest images is not limited to that.
* This platform doesn't support a graphical console like VNC or SPICE.
The technical reason is the missing framebuffer on the platform. This
means we rely on the substitute feature *serial console* which needs the
proxy service ``n-sproxy``. We also disable VNC's proxy ``n-novnc`` for
that reason . The configuration in the ``post-config`` section is only
needed if you want to use the *serial console* outside of the all-in-one
setup.
* The service ``etcd3`` needs to be disabled as long as bug report
https://bugs.launchpad.net/devstack/+bug/1693192 is not resolved.
.. note:: To run *Tempest* against this *Devstack* all-in-one, you'll need
to use a guest image which is smaller than 1GB when uncompressed.
The example image from above is bigger than that!
+117
View File
@@ -0,0 +1,117 @@
==========================
Developing with Devstack
==========================
Now that you have your nifty DevStack up and running, what can you do
with it?
Inspecting Services
===================
By default most services in DevStack are running as `systemd` units
named `devstack@$servicename.service`. You can see running services
with.
.. code-block:: bash
sudo systemctl status "devstack@*"
To learn more about the basics of systemd, see :doc:`/systemd`
Patching a Service
==================
If you want to make a quick change to a running service the easiest
way to do that is to change the code directly in /opt/stack/$service
and then restart the affected daemons.
.. code-block:: bash
sudo systemctl restart devstack@n-cpu.service
If your change impacts more than one daemon you can restart by
wildcard as well.
.. code-block:: bash
sudo systemctl restart "devstack@n-*"
.. warning::
All changes you are making are in checked out git trees that
DevStack thinks it has full control over. Uncommitted work, or
work committed to the master branch, may be overwritten during
subsequent DevStack runs.
Testing a Patch Series
======================
When testing a larger set of patches, or patches that will impact more
than one service within a project, it is often less confusing to use
custom git locations, and make all your changes in a dedicated git
tree.
In your ``local.conf`` you can add ``**_REPO``, ``**_BRANCH`` for most projects
to use a custom git tree instead of the default upstream ones.
For instance:
.. code-block:: bash
[[local|localrc]]
NOVA_REPO=/home/sdague/nova
NOVA_BRANCH=fold_disk_config
Will use a custom git tree and branch when doing any devstack
operations, such as ``stack.sh``.
When testing complicated changes committing to these trees, then doing
``./unstack.sh && ./stack.sh`` is often a valuable way to
iterate. This does take longer per iteration than direct patching, as
the whole devstack needs to rebuild.
You can use this same approach to test patches that are up for review
in gerrit by using the ref name that gerrit assigns to each change.
.. code-block:: bash
[[local|localrc]]
NOVA_BRANCH=refs/changes/10/353710/1
Testing Changes to Libraries
============================
When testing changes to libraries consumed by OpenStack services (such
as oslo or any of the python-fooclient libraries) things are a little
more complicated. By default we only test with released versions of
these libraries that are on pypi.
You must first override this with the setting ``LIBS_FROM_GIT``. This
will enable your DevStack with the git version of that library instead
of the released version.
After that point you can also specify ``**_REPO``, ``**_BRANCH`` to use
your changes instead of just upstream master.
.. code-block:: bash
[[local|localrc]]
LIBS_FROM_GIT=oslo.policy
OSLOPOLICY_REPO=/home/sdague/oslo.policy
OSLOPOLICY_BRANCH=better_exception
As libraries are not installed `editable` by pip, after you make any
local changes you will need to:
* cd to top of library path
* sudo pip install -U .
* restart all services you want to use the new library
You can do that with wildcards such as
.. code-block:: bash
sudo systemctl restart "devstack@n-*"
which will restart all nova services.
-45
View File
@@ -1,45 +0,0 @@
=====================
eucarc - EC2 Settings
=====================
``eucarc`` creates EC2 credentials for the current user as defined by
``OS_TENANT_NAME:OS_USERNAME``. ``eucarc`` sources ``openrc`` at the
beginning (which in turn sources ``stackrc`` and ``localrc``) in order
to set credentials to create EC2 credentials in Keystone.
EC2\_URL
Set the EC2 url for euca2ools. The endpoint is extracted from the
service catalog for ``OS_TENANT_NAME:OS_USERNAME``.
::
EC2_URL=$(openstack catalog show ec2 | awk '/ publicURL: / { print $4 }')
S3\_URL
Set the S3 endpoint for euca2ools. The endpoint is extracted from
the service catalog for ``OS_TENANT_NAME:OS_USERNAME``.
::
export S3_URL=$(openstack catalog show s3 | awk '/ publicURL: / { print $4 }')
EC2\_ACCESS\_KEY, EC2\_SECRET\_KEY
Create EC2 credentials for the current tenant:user in Keystone.
::
CREDS=$(openstack ec2 credentials create)
export EC2_ACCESS_KEY=$(echo "$CREDS" | awk '/ access / { print $4 }')
export EC2_SECRET_KEY=$(echo "$CREDS" | awk '/ secret / { print $4 }')
Certificates for Bundling
Euca2ools requires certificate files to enable bundle uploading. The
exercise script ``exercises/bundle.sh`` demonstrated retrieving
certificates using the Nova CLI.
::
EC2_PRIVATE_KEY=pk.pem
EC2_CERT=cert.pem
NOVA_CERT=cacert.pem
EUCALYPTUS_CERT=${NOVA_CERT}
-42
View File
@@ -1,42 +0,0 @@
==============================
exerciserc - Exercise Settings
==============================
``exerciserc`` is used to configure settings for the exercise scripts.
The values shown below are the default values. These can all be
overridden by setting them in the ``localrc`` section.
ACTIVE\_TIMEOUT
Max time to wait while vm goes from build to active state
::
ACTIVE_TIMEOUT==30
ASSOCIATE\_TIMEOUT
Max time to wait for proper IP association and dis-association.
::
ASSOCIATE_TIMEOUT=15
BOOT\_TIMEOUT
Max time till the vm is bootable
::
BOOT_TIMEOUT=30
RUNNING\_TIMEOUT
Max time from run instance command until it is running
::
RUNNING_TIMEOUT=$(($BOOT_TIMEOUT + $ACTIVE_TIMEOUT))
TERMINATE\_TIMEOUT
Max time to wait for a vm to terminate
::
TERMINATE_TIMEOUT=30
+26 -29
View File
@@ -41,8 +41,9 @@ Why not use packages?
~~~~~~~~~~~~~~~~~~~~~
Unlike packages, DevStack leaves your cloud ready to develop -
checkouts of the code and services running in screen. However, many
people are doing the hard work of packaging and recipes for production
checkouts of the code and services running locally under systemd,
making it easy to hack on and test new patches. However, many people
are doing the hard work of packaging and recipes for production
deployments.
Why isn't $MY\_FAVORITE\_DISTRO supported?
@@ -54,7 +55,7 @@ combinations listed in ``README.md``. DevStack is only supported on
releases other than those documented in ``README.md`` on a best-effort
basis.
Are there any differences between Ubuntu and Centos/Fedora support?
Are there any differences between Ubuntu and CentOS/Fedora support?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Both should work well and are tested by DevStack CI.
@@ -85,7 +86,7 @@ through bash for this
function sourceopenrc {
pushd ~/devstack >/dev/null
eval $(bash -c ". openrc $1 $2;env|sed -n '/OS_/ { s/^/export /;p}'")
eval $(bash -c ". openrc $1 $2 >/dev/null;env|sed -n '/OS_/ { s/^/export /;p}'")
popd >/dev/null
}
@@ -110,11 +111,11 @@ How do I turn off a service that is enabled by default?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Services can be turned off by adding ``disable_service xxx`` to
``local.conf`` (using ``n-vol`` in this example):
``local.conf`` (using ``c-vol`` in this example):
::
disable_service n-vol
disable_service c-vol
Is enabling a service that defaults to off done with the reverse of the above?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -124,24 +125,30 @@ Of course!
enable_service q-svc
How do I run a specific OpenStack milestone?
How do I run a specific OpenStack release?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
OpenStack milestones have tags set in the git repo. Set the
appropriate tag in the ``*_BRANCH`` variables in ``local.conf``.
Swift is on its own release schedule so pick a tag in the Swift repo
that is just before the milestone release. For example:
DevStack master tracks the upstream master of all the projects. If you
would like to run a stable branch of OpenStack, you should use the
corresponding stable branch of DevStack as well. For instance the
``stable/ocata`` version of DevStack will already default to all the
projects running at ``stable/ocata`` levels.
::
Note: it's also possible to manually adjust the ``*_BRANCH`` variables
further if you would like to test specific milestones, or even custom
out of tree branches. This is done with entries like the following in
your ``local.conf``
::
[[local|localrc]]
GLANCE_BRANCH=stable/kilo
HORIZON_BRANCH=stable/kilo
KEYSTONE_BRANCH=stable/kilo
NOVA_BRANCH=stable/kilo
GLANCE_BRANCH=stable/kilo
NEUTRON_BRANCH=stable/kilo
SWIFT_BRANCH=2.3.0
GLANCE_BRANCH=11.0.0.0rc1
NOVA_BRANCH=12.0.0.0.rc1
Upstream DevStack is only tested with master and stable
branches. Setting custom BRANCH definitions is not guaranteed to
produce working results.
What can I do about RabbitMQ not wanting to start on my fresh new VM?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -152,16 +159,6 @@ to a working IP address; setting it to 127.0.0.1 in ``/etc/hosts`` is
often good enough for a single-node installation. And in an extreme
case, use ``clean.sh`` to eradicate it and try again.
Configure ``local.conf`` thusly:
::
[[local|localrc]]
HEAT_STANDALONE=True
ENABLED_SERVICES=rabbit,mysql,heat,h-api,h-api-cfn,h-api-cw,h-eng
KEYSTONE_SERVICE_HOST=<keystone-host>
KEYSTONE_AUTH_HOST=<keystone-host>
Why are my configuration changes ignored?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+68
View File
@@ -0,0 +1,68 @@
Guides
======
.. warning::
The guides are point in time contributions, and may not always be
up to date with the latest work in devstack.
Walk through various setups used by stackers
.. toctree::
:glob:
:maxdepth: 1
guides/single-vm
guides/single-machine
guides/lxc
guides/multinode-lab
guides/neutron
guides/devstack-with-nested-kvm
guides/nova
guides/devstack-with-lbaas-v2
All-In-One Single VM
--------------------
Run :doc:`OpenStack in a VM <guides/single-vm>`. The VMs launched in your cloud will be slow as
they are running in QEMU (emulation), but it is useful if you don't have
spare hardware laying around. :doc:`[Read] <guides/single-vm>`
All-In-One Single Machine
-------------------------
Run :doc:`OpenStack on dedicated hardware <guides/single-machine>` This can include a
server-class machine or a laptop at home.
:doc:`[Read] <guides/single-machine>`
All-In-One LXC Container
-------------------------
Run :doc:`OpenStack in a LXC container <guides/lxc>`. Beneficial for intermediate
and advanced users. The VMs launched in this cloud will be fully accelerated but
not all OpenStack features are supported. :doc:`[Read] <guides/lxc>`
Multi-Node Lab
--------------
Setup a :doc:`multi-node cluster <guides/multinode-lab>` with dedicated VLANs for VMs & Management.
:doc:`[Read] <guides/multinode-lab>`
DevStack with Neutron Networking
--------------------------------
Building a DevStack cluster with :doc:`Neutron Networking <guides/neutron>`.
This guide is meant for building lab environments with a dedicated
control node and multiple compute nodes.
DevStack with KVM-based Nested Virtualization
---------------------------------------------
Procedure to setup :doc:`DevStack with KVM-based Nested Virtualization
<guides/devstack-with-nested-kvm>`. With this setup, Nova instances
will be more performant than with plain QEMU emulation.
Nova and devstack
--------------------------------
Guide to working with nova features :doc:`Nova and devstack <guides/nova>`.
+27 -16
View File
@@ -1,13 +1,17 @@
Configure Load-Balancer in Kilo
Configure Load-Balancer Version 2
=================================
The Kilo release of OpenStack will support Version 2 of the neutron load balancer. Until now, using OpenStack `LBaaS V2 <http://docs.openstack.org/api/openstack-network/2.0/content/lbaas_ext.html>`_ has required a good understanding of neutron and LBaaS architecture and several manual steps.
Starting in the OpenStack Liberty release, the
`neutron LBaaS v2 API <http://developer.openstack.org/api-ref-networking-v2-ext.html>`_
is now stable while the LBaaS v1 API has been deprecated. The LBaaS v2 reference
driver is based on Octavia.
Phase 1: Create DevStack + 2 nova instances
--------------------------------------------
First, set up a vm of your choice with at least 8 GB RAM and 16 GB disk space, make sure it is updated. Install git and any other developer tools you find useful.
First, set up a vm of your choice with at least 8 GB RAM and 16 GB disk space,
make sure it is updated. Install git and any other developer tools you find useful.
Install devstack
@@ -17,19 +21,19 @@ Install devstack
cd devstack
Edit your `local.conf` to look like
Edit your ``local.conf`` to look like
::
[[local|localrc]]
# Load the external LBaaS plugin.
enable_plugin neutron-lbaas https://git.openstack.org/openstack/neutron-lbaas
enable_plugin octavia https://git.openstack.org/openstack/octavia
# ===== BEGIN localrc =====
DATABASE_PASSWORD=password
ADMIN_PASSWORD=password
SERVICE_PASSWORD=password
SERVICE_TOKEN=password
RABBIT_PASSWORD=password
# Enable Logging
LOGFILE=$DEST/logs/stack.sh.log
@@ -41,14 +45,14 @@ Edit your `local.conf` to look like
# Horizon
ENABLED_SERVICES+=,horizon
# Nova
ENABLED_SERVICES+=,n-api,n-crt,n-obj,n-cpu,n-cond,n-sch
IMAGE_URLS+=",https://launchpad.net/cirros/trunk/0.3.0/+download/cirros-0.3.0-x86_64-disk.img"
ENABLED_SERVICES+=,n-api,n-cpu,n-cond,n-sch
# Glance
ENABLED_SERVICES+=,g-api,g-reg
# Neutron
ENABLED_SERVICES+=,q-svc,q-agt,q-dhcp,q-l3,q-meta
# Enable LBaaS V2
# Enable LBaaS v2
ENABLED_SERVICES+=,q-lbaasv2
ENABLED_SERVICES+=,octavia,o-cw,o-hk,o-hm,o-api
# Cinder
ENABLED_SERVICES+=,c-api,c-vol,c-sch
# Tempest
@@ -62,21 +66,21 @@ Run stack.sh and do some sanity checks
./stack.sh
. ./openrc
neutron net-list # should show public and private networks
openstack network list # should show public and private networks
Create two nova instances that we can use as test http servers:
::
#create nova instances on private network
nova boot --image $(nova image-list | awk '/ cirros-0.3.0-x86_64-disk / {print $2}') --flavor 1 --nic net-id=$(neutron net-list | awk '/ private / {print $2}') node1
nova boot --image $(nova image-list | awk '/ cirros-0.3.0-x86_64-disk / {print $2}') --flavor 1 --nic net-id=$(neutron net-list | awk '/ private / {print $2}') node2
nova boot --image $(nova image-list | awk '/ cirros-.*-x86_64-uec / {print $2}') --flavor 1 --nic net-id=$(openstack network list | awk '/ private / {print $2}') node1
nova boot --image $(nova image-list | awk '/ cirros-.*-x86_64-uec / {print $2}') --flavor 1 --nic net-id=$(openstack network list | awk '/ private / {print $2}') node2
nova list # should show the nova instances just created
#add secgroup rule to allow ssh etc..
neutron security-group-rule-create default --protocol icmp
neutron security-group-rule-create default --protocol tcp --port-range-min 22 --port-range-max 22
neutron security-group-rule-create default --protocol tcp --port-range-min 80 --port-range-max 80
#add secgroup rules to allow ssh etc..
openstack security group rule create default --protocol icmp
openstack security group rule create default --protocol tcp --dst-port 22:22
openstack security group rule create default --protocol tcp --dst-port 80:80
Set up a simple web server on each of these instances. ssh into each instance (username 'cirros', password 'cubswin:)') and run
@@ -91,9 +95,16 @@ Phase 2: Create your load balancers
::
neutron lbaas-loadbalancer-create --name lb1 private-subnet
neutron lbaas-loadbalancer-show lb1 # Wait for the provisioning_status to be ACTIVE.
neutron lbaas-listener-create --loadbalancer lb1 --protocol HTTP --protocol-port 80 --name listener1
sleep 10 # Sleep since LBaaS actions can take a few seconds depending on the environment.
neutron lbaas-pool-create --lb-algorithm ROUND_ROBIN --listener listener1 --protocol HTTP --name pool1
sleep 10
neutron lbaas-member-create --subnet private-subnet --address 10.0.0.3 --protocol-port 80 pool1
sleep 10
neutron lbaas-member-create --subnet private-subnet --address 10.0.0.5 --protocol-port 80 pool1
Please note here that the "10.0.0.3" and "10.0.0.5" in the above commands are the IPs of the nodes (in my test run-thru, they were actually 10.2 and 10.4), and the address of the created LB will be reported as "vip_address" from the lbaas-loadbalancer-create, and a quick test of that LB is "curl that-lb-ip", which should alternate between showing the IPs of the two nodes.
Please note here that the "10.0.0.3" and "10.0.0.5" in the above commands are the IPs of the nodes
(in my test run-thru, they were actually 10.2 and 10.4), and the address of the created LB will be
reported as "vip_address" from the lbaas-loadbalancer-create, and a quick test of that LB is
"curl that-lb-ip", which should alternate between showing the IPs of the two nodes.
@@ -50,7 +50,7 @@ the host:
parm: nested:bool
Start your VM, now it should have KVM capabilities -- you can verify
that by ensuring `/dev/kvm` character device is present.
that by ensuring ``/dev/kvm`` character device is present.
Configure Nested KVM for AMD-based Machines
@@ -73,7 +73,7 @@ back:
::
sudo rmmod kvm-amd
sudo sh -c "echo 'options amd nested=1' >> /etc/modprobe.d/dist.conf"
sudo sh -c "echo 'options kvm-amd nested=1' >> /etc/modprobe.d/dist.conf"
sudo modprobe kvm-amd
Ensure the Nested KVM Kernel module parameter for AMD is enabled on the
@@ -97,7 +97,7 @@ To make the above value persistent across reboots, add an entry in
Expose Virtualization Extensions to DevStack VM
-----------------------------------------------
Edit the VM's libvirt XML configuration via `virsh` utility:
Edit the VM's libvirt XML configuration via ``virsh`` utility:
::
@@ -115,10 +115,10 @@ Ensure DevStack VM is Using KVM
-------------------------------
Before invoking ``stack.sh`` in the VM, ensure that KVM is enabled. This
can be verified by checking for the presence of the file `/dev/kvm` in
can be verified by checking for the presence of the file ``/dev/kvm`` in
your VM. If it is present, DevStack will default to using the config
attribute `virt_type = kvm` in `/etc/nova.conf`; otherwise, it'll fall
back to `virt_type=qemu`, i.e. plain QEMU emulation.
attribute ``virt_type = kvm`` in ``/etc/nova.conf``; otherwise, it'll fall
back to ``virt_type=qemu``, i.e. plain QEMU emulation.
Optionally, to explicitly set the type of virtualization, to KVM, by the
libvirt driver in nova, the below config attribute can be used in
@@ -131,7 +131,7 @@ DevStack's ``local.conf``:
Once DevStack is configured successfully, verify if the Nova instances
are using KVM by noticing the QEMU CLI invoked by Nova is using the
parameter `accel=kvm`, e.g.:
parameter ``accel=kvm``, e.g.:
::
+164
View File
@@ -0,0 +1,164 @@
================================
All-In-One Single LXC Container
================================
This guide walks you through the process of deploying OpenStack using devstack
in an LXC container instead of a VM.
The primary benefits to running devstack inside a container instead of a VM is
faster performance and lower memory overhead while still providing a suitable
level of isolation. This can be particularly useful when you want to simulate
running OpenStack on multiple nodes.
.. Warning:: Containers do not provide the same level of isolation as a virtual
machine.
.. Note:: Not all OpenStack features support running inside of a container. See
`Limitations`_ section below for details. :doc:`OpenStack in a VM <single-vm>`
is recommended for beginners.
Prerequisites
==============
This guide is written for Ubuntu 14.04 but should be adaptable for any modern
Linux distribution.
Install the LXC package::
sudo apt-get install lxc
You can verify support for containerization features in your currently running
kernel using the ``lxc-checkconfig`` command.
Container Setup
===============
Configuration
---------------
For a successful run of ``stack.sh`` and to permit use of KVM to run the VMs you
launch inside your container, we need to use the following additional
configuration options. Place the following in a file called
``devstack-lxc.conf``::
# Permit access to /dev/loop*
lxc.cgroup.devices.allow = b 7:* rwm
# Setup access to /dev/net/tun and /dev/kvm
lxc.mount.entry = /dev/net/tun dev/net/tun none bind,create=file 0 0
lxc.mount.entry = /dev/kvm dev/kvm none bind,create=file 0 0
# Networking
lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = lxcbr0
Create Container
-------------------
The configuration and rootfs for LXC containers are created using the
``lxc-create`` command.
We will name our container ``devstack`` and use the ``ubuntu`` template which
will use ``debootstrap`` to build a Ubuntu rootfs. It will default to the same
release and architecture as the host system. We also install the additional
packages ``bsdmainutils`` and ``git`` as we'll need them to run devstack::
sudo lxc-create -n devstack -t ubuntu -f devstack-lxc.conf -- --packages=bsdmainutils,git
The first time it builds the rootfs will take a few minutes to download, unpack,
and configure all the necessary packages for a minimal installation of Ubuntu.
LXC will cache this and subsequent containers will only take seconds to create.
.. Note:: To speed up the initial rootfs creation, you can specify a mirror to
download the Ubuntu packages from by appending ``--mirror=`` and then the URL
of a Ubuntu mirror. To see other other template options, you can run
``lxc-create -t ubuntu -h``.
Start Container
----------------
To start the container, run::
sudo lxc-start -n devstack
A moment later you should be presented with the login prompt for your container.
You can login using the username ``ubuntu`` and password ``ubuntu``.
You can also ssh into your container. On your host, run
``sudo lxc-info -n devstack`` to get the IP address (e.g.
``ssh ubuntu@$(sudo lxc-info -n devstack | awk '/IP/ { print $2 }')``).
Run Devstack
-------------
You should now be logged into your container and almost ready to run devstack.
The commands in this section should all be run inside your container.
.. Tip:: You can greatly reduce the runtime of your initial devstack setup by
ensuring you have your apt sources.list configured to use a fast mirror.
Check and update ``/etc/apt/sources.list`` if necessary and then run
``apt-get update``.
#. Download DevStack
::
git clone https://git.openstack.org/openstack-dev/devstack
#. Configure
Refer to :ref:`minimal-configuration` if you wish to configure the behaviour
of devstack.
#. Start the install
::
cd devstack
./stack.sh
Cleanup
-------
To stop the container::
lxc-stop -n devstack
To delete the container::
lxc-destroy -n devstack
Limitations
============
Not all OpenStack features may function correctly or at all when ran from within
a container.
Cinder
-------
Unable to create LVM backed volume
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
In our configuration, we have not whitelisted access to device-mapper or LVM
devices. Doing so will permit your container to have access and control of LVM
on the host system. To enable, add the following to your
``devstack-lxc.conf`` before running ``lxc-create``::
lxc.cgroup.devices.allow = c 10:236 rwm
lxc.cgroup.devices.allow = b 252:* rwm
Additionally you'll need to set ``udev_rules = 0`` in the ``activation``
section of ``/etc/lvm/lvm.conf`` unless you mount devtmpfs in your container.
Unable to attach volume to instance
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
It is not possible to attach cinder volumes to nova instances due to parts of
the Linux iSCSI implementation not being network namespace aware. This can be
worked around by using network pass-through instead of a separate network
namespace but such a setup significantly reduces the isolation of the
container (e.g. a ``halt`` command issued in the container will cause the host
system to shutdown).
+73 -16
View File
@@ -73,8 +73,7 @@ Otherwise create the stack user:
::
groupadd stack
useradd -g stack -s /bin/bash -d /opt/stack -m stack
useradd -s /bin/bash -d /opt/stack -m stack
This user will be making many changes to your system during installation
and operation so it needs to have sudo privileges to root without a
@@ -128,10 +127,9 @@ cluster controller's DevStack in ``local.conf``:
MULTI_HOST=1
LOGFILE=/opt/stack/logs/stack.sh.log
ADMIN_PASSWORD=labstack
MYSQL_PASSWORD=supersecret
RABBIT_PASSWORD=supersecrete
SERVICE_PASSWORD=supersecrete
SERVICE_TOKEN=xyzpdqlazydog
DATABASE_PASSWORD=supersecret
RABBIT_PASSWORD=supersecret
SERVICE_PASSWORD=supersecret
In the multi-node configuration the first 10 or so IPs in the private
subnet are usually reserved. Add this to ``local.sh`` to have it run
@@ -169,16 +167,15 @@ machines, create a ``local.conf`` with:
MULTI_HOST=1
LOGFILE=/opt/stack/logs/stack.sh.log
ADMIN_PASSWORD=labstack
MYSQL_PASSWORD=supersecret
RABBIT_PASSWORD=supersecrete
SERVICE_PASSWORD=supersecrete
SERVICE_TOKEN=xyzpdqlazydog
DATABASE_PASSWORD=supersecret
RABBIT_PASSWORD=supersecret
SERVICE_PASSWORD=supersecret
DATABASE_TYPE=mysql
SERVICE_HOST=192.168.42.11
MYSQL_HOST=$SERVICE_HOST
RABBIT_HOST=$SERVICE_HOST
GLANCE_HOSTPORT=$SERVICE_HOST:9292
ENABLED_SERVICES=n-cpu,n-net,n-api-meta,c-vol
ENABLED_SERVICES=n-cpu,q-agt,n-api-meta,c-vol,placement-client
NOVA_VNC_ENABLED=True
NOVNCPROXY_URL="http://$SERVICE_HOST:6080/vnc_auto.html"
VNCSERVER_LISTEN=$HOST_IP
@@ -200,6 +197,22 @@ A stream of activity ensues. When complete you will see a summary of
to poke at your shiny new OpenStack. The most recent log file is
available in ``stack.sh.log``.
Starting in the Ocata release, Nova requires a `Cells v2`_ deployment. Compute
node services must be mapped to a cell before they can be used.
After each compute node is stacked, verify it shows up in the
``nova service-list --binary nova-compute`` output. The compute service is
registered in the cell database asynchronously so this may require polling.
Once the compute node services shows up, run the ``./tools/discover_hosts.sh``
script from the control node to map compute hosts to the single cell.
The compute service running on the primary control node will be
discovered automatically when the control node is stacked so this really
only needs to be performed for subnodes.
.. _Cells v2: https://docs.openstack.org/nova/latest/user/cells.html
Cleaning Up After DevStack
--------------------------
@@ -256,13 +269,13 @@ for scripting:
# Add a user and project
NAME=bob
PASSWORD=BigSecrete
PASSWORD=BigSecret
PROJECT=$NAME
openstack project create $PROJECT
openstack user create $NAME --password=$PASSWORD --project $PROJECT
openstack role add Member --user $NAME --project $PROJECT
# The Member role is created by stack.sh
# openstack role list
# openstack role assignment list
Swift
-----
@@ -296,10 +309,10 @@ created inside OpenStack. The size can be overridden by setting
``stack-volumes`` can be pre-created on any physical volume supported by
Linux's LVM. The name of the volume group can be changed by setting
``VOLUME_GROUP`` in ``localrc``. ``stack.sh`` deletes all logical
volumes in ``VOLUME_GROUP`` that begin with ``VOLUME_NAME_PREFIX`` as
``VOLUME_GROUP_NAME`` in ``localrc``. ``stack.sh`` deletes all logical
volumes in ``VOLUME_GROUP_NAME`` that begin with ``VOLUME_NAME_PREFIX`` as
part of cleaning up from previous runs. It is recommended to not use the
root volume group as ``VOLUME_GROUP``.
root volume group as ``VOLUME_GROUP_NAME``.
The details of creating the volume group depends on the server hardware
involved but looks something like this:
@@ -375,3 +388,47 @@ If you forgot to set the root password you can do this:
::
mysqladmin -u root -pnova password 'supersecret'
Live Migration
--------------
In order for live migration to work with the default live migration URI::
[libvirt]
live_migration_uri = qemu+ssh://stack@%s/system
SSH keys need to be exchanged between each compute node:
1. The SOURCE root user's public RSA key (likely in /root/.ssh/id_rsa.pub)
needs to be in the DESTINATION stack user's authorized_keys file
(~stack/.ssh/authorized_keys). This can be accomplished by manually
copying the contents from the file on the SOURCE to the DESTINATION. If
you have a password configured for the stack user, then you can use the
following command to accomplish the same thing::
ssh-copy-id -i /root/.ssh/id_rsa.pub stack@DESTINATION
2. The DESTINATION host's public ECDSA key (/etc/ssh/ssh_host_ecdsa_key.pub)
needs to be in the SOURCE root user's known_hosts file
(/root/.ssh/known_hosts). This can be accomplished by running the
following on the SOURCE machine (hostname must be used)::
ssh-keyscan -H DEST_HOSTNAME | sudo tee -a /root/.ssh/known_hosts
3. Verify that login via ssh works without a password::
ssh -i /root/.ssh/id_rsa.pub stack@DESTINATION
In essence, this means that every compute node's root user's public RSA key
must exist in every other compute node's stack user's authorized_keys file and
every compute node's public ECDSA key needs to be in every other compute
node's root user's known_hosts file. Please note that if the root or stack
user does not have a SSH key, one can be generated using::
ssh-keygen -t rsa
The above steps are necessary because libvirtd runs as root when the
live_migration_uri uses the "qemu:///system" family of URIs. For more
information, see the `libvirt documentation`_.
.. _libvirt documentation: https://libvirt.org/drvqemu.html#securitydriver
+465 -134
View File
@@ -6,6 +6,8 @@ This guide will walk you through using OpenStack neutron with the ML2
plugin and the Open vSwitch mechanism driver.
.. _single-interface-ovs:
Using Neutron with a Single Interface
=====================================
@@ -13,8 +15,20 @@ In some instances, like on a developer laptop, there is only one
network interface that is available. In this scenario, the physical
interface is added to the Open vSwitch bridge, and the IP address of
the laptop is migrated onto the bridge interface. That way, the
physical interface can be used to transmit tenant network traffic,
the OpenStack API traffic, and management traffic.
physical interface can be used to transmit self service project
network traffic, the OpenStack API traffic, and management traffic.
.. warning::
When using a single interface networking setup, there will be a
temporary network outage as your IP address is moved from the
physical NIC of your machine, to the OVS bridge. If you are SSH'd
into the machine from another computer, there is a risk of being
disconnected from your ssh session (due to arp cache
invalidation), which would stop the stack.sh or leave it in an
unfinished state. In these cases, start stack.sh inside its own
screen session so it can continue to run.
Physical Network Setup
@@ -23,7 +37,9 @@ Physical Network Setup
In most cases where DevStack is being deployed with a single
interface, there is a hardware router that is being used for external
connectivity and DHCP. The developer machine is connected to this
network and is on a shared subnet with other machines.
network and is on a shared subnet with other machines. The
`local.conf` exhibited here assumes that 1500 is a reasonable MTU to
use on that network.
.. nwdiag::
@@ -35,7 +51,7 @@ network and is on a shared subnet with other machines.
network hardware_network {
address = "172.18.161.0/24"
router [ address = "172.18.161.1" ];
devstack_laptop [ address = "172.18.161.6" ];
devstack-1 [ address = "172.18.161.6" ];
}
}
@@ -43,49 +59,249 @@ network and is on a shared subnet with other machines.
DevStack Configuration
----------------------
The following is a complete `local.conf` for the host named
`devstack-1`. It will run all the API and services, as well as
serving as a hypervisor for guest instances.
::
[[local|localrc]]
HOST_IP=172.18.161.6
SERVICE_HOST=172.18.161.6
MYSQL_HOST=172.18.161.6
RABBIT_HOST=172.18.161.6
GLANCE_HOSTPORT=172.18.161.6:9292
ADMIN_PASSWORD=secrete
MYSQL_PASSWORD=secrete
RABBIT_PASSWORD=secrete
SERVICE_PASSWORD=secrete
SERVICE_TOKEN=secrete
ADMIN_PASSWORD=secret
DATABASE_PASSWORD=secret
RABBIT_PASSWORD=secret
SERVICE_PASSWORD=secret
## Neutron options
Q_USE_SECGROUP=True
FLOATING_RANGE="172.18.161.0/24"
FIXED_RANGE="10.0.0.0/24"
IPV4_ADDRS_SAFE_TO_USE="10.0.0.0/22"
Q_FLOATING_ALLOCATION_POOL=start=172.18.161.250,end=172.18.161.254
PUBLIC_NETWORK_GATEWAY="172.18.161.1"
Q_L3_ENABLED=True
PUBLIC_INTERFACE=eth0
# Open vSwitch provider networking configuration
Q_USE_PROVIDERNET_FOR_PUBLIC=True
OVS_PHYSICAL_BRIDGE=br-ex
PUBLIC_BRIDGE=br-ex
OVS_BRIDGE_MAPPINGS=public:br-ex
Adding Additional Compute Nodes
-------------------------------
Let's suppose that after installing DevStack on the first host, you
also want to do multinode testing and networking.
Physical Network Setup
~~~~~~~~~~~~~~~~~~~~~~
.. nwdiag::
nwdiag {
inet [ shape = cloud ];
router;
inet -- router;
network hardware_network {
address = "172.18.161.0/24"
router [ address = "172.18.161.1" ];
devstack-1 [ address = "172.18.161.6" ];
devstack-2 [ address = "172.18.161.7" ];
}
}
After DevStack installs and configures Neutron, traffic from guest VMs
flows out of `devstack-2` (the compute node) and is encapsulated in a
VXLAN tunnel back to `devstack-1` (the control node) where the L3
agent is running.
::
stack@devstack-2:~/devstack$ sudo ovs-vsctl show
8992d965-0ba0-42fd-90e9-20ecc528bc29
Bridge br-int
fail_mode: secure
Port br-int
Interface br-int
type: internal
Port patch-tun
Interface patch-tun
type: patch
options: {peer=patch-int}
Bridge br-tun
fail_mode: secure
Port "vxlan-c0a801f6"
Interface "vxlan-c0a801f6"
type: vxlan
options: {df_default="true", in_key=flow, local_ip="172.18.161.7", out_key=flow, remote_ip="172.18.161.6"}
Port patch-int
Interface patch-int
type: patch
options: {peer=patch-tun}
Port br-tun
Interface br-tun
type: internal
ovs_version: "2.0.2"
Open vSwitch on the control node, where the L3 agent runs, is
configured to de-encapsulate traffic from compute nodes, then forward
it over the `br-ex` bridge, where `eth0` is attached.
::
stack@devstack-1:~/devstack$ sudo ovs-vsctl show
422adeea-48d1-4a1f-98b1-8e7239077964
Bridge br-tun
fail_mode: secure
Port br-tun
Interface br-tun
type: internal
Port patch-int
Interface patch-int
type: patch
options: {peer=patch-tun}
Port "vxlan-c0a801d8"
Interface "vxlan-c0a801d8"
type: vxlan
options: {df_default="true", in_key=flow, local_ip="172.18.161.6", out_key=flow, remote_ip="172.18.161.7"}
Bridge br-ex
Port phy-br-ex
Interface phy-br-ex
type: patch
options: {peer=int-br-ex}
Port "eth0"
Interface "eth0"
Port br-ex
Interface br-ex
type: internal
Bridge br-int
fail_mode: secure
Port "tapce66332d-ea"
tag: 1
Interface "tapce66332d-ea"
type: internal
Port "qg-65e5a4b9-15"
tag: 2
Interface "qg-65e5a4b9-15"
type: internal
Port "qr-33e5e471-88"
tag: 1
Interface "qr-33e5e471-88"
type: internal
Port "qr-acbe9951-70"
tag: 1
Interface "qr-acbe9951-70"
type: internal
Port br-int
Interface br-int
type: internal
Port patch-tun
Interface patch-tun
type: patch
options: {peer=patch-int}
Port int-br-ex
Interface int-br-ex
type: patch
options: {peer=phy-br-ex}
ovs_version: "2.0.2"
`br-int` is a bridge that the Open vSwitch mechanism driver creates,
which is used as the "integration bridge" where ports are created, and
plugged into the virtual switching fabric. `br-ex` is an OVS bridge
that is used to connect physical ports (like `eth0`), so that floating
IP traffic for project networks can be received from the physical
network infrastructure (and the internet), and routed to self service
project network ports. `br-tun` is a tunnel bridge that is used to
connect OpenStack nodes (like `devstack-2`) together. This bridge is
used so that project network traffic, using the VXLAN tunneling
protocol, flows between each compute node where project instances run.
Using Neutron with Multiple Interfaces
======================================
DevStack Compute Configuration
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The first interface, eth0 is used for the OpenStack management (API,
message bus, etc) as well as for ssh for an administrator to access
the machine.
The host `devstack-2` has a very minimal `local.conf`.
::
[[local|localrc]]
HOST_IP=172.18.161.7
SERVICE_HOST=172.18.161.6
MYSQL_HOST=172.18.161.6
RABBIT_HOST=172.18.161.6
GLANCE_HOSTPORT=172.18.161.6:9292
ADMIN_PASSWORD=secret
MYSQL_PASSWORD=secret
RABBIT_PASSWORD=secret
SERVICE_PASSWORD=secret
## Neutron options
PUBLIC_INTERFACE=eth0
ENABLED_SERVICES=n-cpu,rabbit,q-agt
Network traffic from `eth0` on the compute nodes is then NAT'd by the
controller node that runs Neutron's `neutron-l3-agent` and provides L3
connectivity.
Neutron Networking with Open vSwitch and Provider Networks
==========================================================
In some instances, it is desirable to use neutron's provider
networking extension, so that networks that are configured on an
external router can be utilized by neutron, and instances created via
Nova can attach to the network managed by the external router.
For example, in some lab environments, a hardware router has been
pre-configured by another party, and an OpenStack developer has been
given a VLAN tag and IP address range, so that instances created via
DevStack will use the external router for L3 connectivity, as opposed
to the neutron L3 service.
Physical Network Setup
----------------------
.. nwdiag::
nwdiag {
inet [ shape = cloud ];
router;
inet -- router;
network provider_net {
address = "203.0.113.0/24"
router [ address = "203.0.113.1" ];
controller;
compute1;
compute2;
}
network control_plane {
router [ address = "10.0.0.1" ]
address = "10.0.0.0/24"
controller [ address = "10.0.0.2" ]
compute1 [ address = "10.0.0.3" ]
compute2 [ address = "10.0.0.4" ]
}
}
On a compute node, the first interface, eth0 is used for the OpenStack
management (API, message bus, etc) as well as for ssh for an
administrator to access the machine.
::
stack@compute:~$ ifconfig eth0
eth0 Link encap:Ethernet HWaddr bc:16:65:20:af:fc
inet addr:192.168.1.18
inet addr:10.0.0.3
eth1 is manually configured at boot to not have an IP address.
Consult your operating system documentation for the appropriate
@@ -101,9 +317,6 @@ contains:
The second physical interface, eth1 is added to a bridge (in this case
named br-ex), which is used to forward network traffic from guest VMs.
Network traffic from eth1 on the compute nodes is then NAT'd by the
controller node that runs Neutron's `neutron-l3-agent` and provides L3
connectivity.
::
@@ -123,10 +336,131 @@ connectivity.
Interface "eth1"
Service Configuration
---------------------
**Control Node**
In this example, the control node will run the majority of the
OpenStack API and management services (keystone, glance,
nova, neutron)
**Compute Nodes**
In this example, the nodes that will host guest instances will run
the ``neutron-openvswitch-agent`` for network connectivity, as well as
the compute service ``nova-compute``.
DevStack Configuration
----------------------
.. _ovs-provider-network-controller:
The following is a snippet of the DevStack configuration on the
controller node.
::
HOST_IP=10.0.0.2
SERVICE_HOST=10.0.0.2
MYSQL_HOST=10.0.0.2
RABBIT_HOST=10.0.0.2
GLANCE_HOSTPORT=10.0.0.2:9292
PUBLIC_INTERFACE=eth1
ADMIN_PASSWORD=secret
MYSQL_PASSWORD=secret
RABBIT_PASSWORD=secret
SERVICE_PASSWORD=secret
## Neutron options
Q_USE_SECGROUP=True
ENABLE_PROJECT_VLANS=True
PROJECT_VLAN_RANGE=3001:4000
PHYSICAL_NETWORK=default
OVS_PHYSICAL_BRIDGE=br-ex
Q_USE_PROVIDER_NETWORKING=True
disable_service q-l3
## Neutron Networking options used to create Neutron Subnets
IPV4_ADDRS_SAFE_TO_USE="203.0.113.0/24"
NETWORK_GATEWAY=203.0.113.1
PROVIDER_SUBNET_NAME="provider_net"
PROVIDER_NETWORK_TYPE="vlan"
SEGMENTATION_ID=2010
USE_SUBNETPOOL=False
In this configuration we are defining IPV4_ADDRS_SAFE_TO_USE to be a
publicly routed IPv4 subnet. In this specific instance we are using
the special TEST-NET-3 subnet defined in `RFC 5737 <http://tools.ietf.org/html/rfc5737>`_,
which is used for documentation. In your DevStack setup, IPV4_ADDRS_SAFE_TO_USE
would be a public IP address range that you or your organization has
allocated to you, so that you could access your instances from the
public internet.
The following is the DevStack configuration on
compute node 1.
::
HOST_IP=10.0.0.3
SERVICE_HOST=10.0.0.2
MYSQL_HOST=10.0.0.2
RABBIT_HOST=10.0.0.2
GLANCE_HOSTPORT=10.0.0.2:9292
ADMIN_PASSWORD=secret
MYSQL_PASSWORD=secret
RABBIT_PASSWORD=secret
SERVICE_PASSWORD=secret
# Services that a compute node runs
ENABLED_SERVICES=n-cpu,rabbit,q-agt
## Open vSwitch provider networking options
PHYSICAL_NETWORK=default
OVS_PHYSICAL_BRIDGE=br-ex
PUBLIC_INTERFACE=eth1
Q_USE_PROVIDER_NETWORKING=True
Compute node 2's configuration will be exactly the same, except
``HOST_IP`` will be ``10.0.0.4``
When DevStack is configured to use provider networking (via
``Q_USE_PROVIDER_NETWORKING`` is True) -
DevStack will automatically add the network interface defined in
``PUBLIC_INTERFACE`` to the ``OVS_PHYSICAL_BRIDGE``
For example, with the above configuration, a bridge is
created, named ``br-ex`` which is managed by Open vSwitch, and the
second interface on the compute node, ``eth1`` is attached to the
bridge, to forward traffic sent by guest VMs.
Miscellaneous Tips
==================
Non-Standard MTU on the Physical Network
----------------------------------------
Neutron by default uses a MTU of 1500 bytes, which is
the standard MTU for Ethernet.
A different MTU can be specified by adding the following to
the Neutron section of `local.conf`. For example,
if you have network equipment that supports jumbo frames, you could
set the MTU to 9000 bytes by adding the following
::
[[post-config|/$Q_PLUGIN_CONF_FILE]]
global_physnet_mtu = 9000
Disabling Next Generation Firewall Tools
========================================
----------------------------------------
DevStack does not properly operate with modern firewall tools. Specifically
it will appear as if the guest VM can access the external network via ICMP,
@@ -156,148 +490,145 @@ disable ufw if it was enabled, do the following:
sudo service iptables save
sudo ufw disable
Configuring Extension Drivers for the ML2 Plugin
------------------------------------------------
Extension drivers for the ML2 plugin are set with the variable
``Q_ML2_PLUGIN_EXT_DRIVERS``, and includes the 'port_security' extension
by default. If you want to remove all the extension drivers (even
'port_security'), set ``Q_ML2_PLUGIN_EXT_DRIVERS`` to blank.
Using Linux Bridge instead of Open vSwitch
------------------------------------------
Neutron Networking with Open vSwitch
====================================
The configuration for using the Linux Bridge ML2 driver is fairly
straight forward. The Linux Bridge configuration for DevStack is similar
to the :ref:`Open vSwitch based single interface <single-interface-ovs>`
setup, with small modifications for the interface mappings.
Configuring neutron, OpenStack Networking in DevStack is very similar to
configuring `nova-network` - many of the same configuration variables
(like `FIXED_RANGE` and `FLOATING_RANGE`) used by `nova-network` are
used by neutron, which is intentional.
The only difference is the disabling of `nova-network` in your
local.conf, and the enabling of the neutron components.
Configuration
-------------
::
FIXED_RANGE=10.0.0.0/24
FLOATING_RANGE=192.168.27.0/24
PUBLIC_NETWORK_GATEWAY=192.168.27.2
[[local|localrc]]
HOST_IP=172.18.161.6
SERVICE_HOST=172.18.161.6
MYSQL_HOST=172.18.161.6
RABBIT_HOST=172.18.161.6
GLANCE_HOSTPORT=172.18.161.6:9292
ADMIN_PASSWORD=secret
DATABASE_PASSWORD=secret
RABBIT_PASSWORD=secret
SERVICE_PASSWORD=secret
disable_service n-net
enable_service q-svc
enable_service q-agt
enable_service q-dhcp
enable_service q-meta
enable_service q-l3
## Neutron options
Q_USE_SECGROUP=True
FLOATING_RANGE="172.18.161.0/24"
IPV4_ADDRS_SAFE_TO_USE="10.0.0.0/24"
Q_FLOATING_ALLOCATION_POOL=start=172.18.161.250,end=172.18.161.254
PUBLIC_NETWORK_GATEWAY="172.18.161.1"
PUBLIC_INTERFACE=eth0
Q_USE_SECGROUP=True
ENABLE_TENANT_VLANS=True
TENANT_VLAN_RANGE=1000:1999
PHYSICAL_NETWORK=default
OVS_PHYSICAL_BRIDGE=br-ex
Q_USE_PROVIDERNET_FOR_PUBLIC=True
In this configuration we are defining FLOATING_RANGE to be a
subnet that exists in the private RFC1918 address space - however in
in a real setup FLOATING_RANGE would be a public IP address range.
# Linuxbridge Settings
Q_AGENT=linuxbridge
LB_PHYSICAL_INTERFACE=eth0
PUBLIC_PHYSICAL_NETWORK=default
LB_INTERFACE_MAPPINGS=default:eth0
Note that extension drivers for the ML2 plugin is set by
`Q_ML2_PLUGIN_EXT_DRIVERS`, and it includes 'port_security' by default. If you
want to remove all the extension drivers (even 'port_security'), set
`Q_ML2_PLUGIN_EXT_DRIVERS` to blank.
Using MacVTap instead of Open vSwitch
------------------------------------------
Neutron Networking with Open vSwitch and Provider Networks
==========================================================
Security groups are not supported by the MacVTap agent. Due to that, devstack
configures the NoopFirewall driver on the compute node.
In some instances, it is desirable to use neutron's provider
networking extension, so that networks that are configured on an
external router can be utilized by neutron, and instances created via
Nova can attach to the network managed by the external router.
MacVTap agent does not support l3, dhcp and metadata agent. Due to that you can
chose between the following deployment scenarios:
For example, in some lab environments, a hardware router has been
pre-configured by another party, and an OpenStack developer has been
given a VLAN tag and IP address range, so that instances created via
DevStack will use the external router for L3 connectivity, as opposed
to the neutron L3 service.
Single node with provider networks using config drive and external l3, dhcp
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This scenario applies, if l3 and dhcp services are provided externally, or if
you do not require them.
Service Configuration
---------------------
**Control Node**
In this example, the control node will run the majority of the
OpenStack API and management services (keystone, glance,
nova, neutron)
**Compute Nodes**
In this example, the nodes that will host guest instances will run
the `neutron-openvswitch-agent` for network connectivity, as well as
the compute service `nova-compute`.
DevStack Configuration
----------------------
The following is a snippet of the DevStack configuration on the
controller node.
::
PUBLIC_INTERFACE=eth1
[[local|localrc]]
HOST_IP=10.0.0.2
SERVICE_HOST=10.0.0.2
MYSQL_HOST=10.0.0.2
RABBIT_HOST=10.0.0.2
ADMIN_PASSWORD=secret
MYSQL_PASSWORD=secret
RABBIT_PASSWORD=secret
SERVICE_PASSWORD=secret
## Neutron options
Q_USE_SECGROUP=True
ENABLE_TENANT_VLANS=True
TENANT_VLAN_RANGE=3001:4000
PHYSICAL_NETWORK=default
OVS_PHYSICAL_BRIDGE=br-ex
Q_ML2_PLUGIN_MECHANISM_DRIVERS=macvtap
Q_USE_PROVIDER_NETWORKING=True
Q_USE_PROVIDER_NETWORKING=True
Q_L3_ENABLED=False
enable_plugin neutron https://git.openstack.org/openstack/neutron
# Do not use Nova-Network
disable_service n-net
## MacVTap agent options
Q_AGENT=macvtap
PHYSICAL_NETWORK=default
# Neutron
ENABLED_SERVICES+=,q-svc,q-dhcp,q-meta,q-agt
IPV4_ADDRS_SAFE_TO_USE="203.0.113.0/24"
NETWORK_GATEWAY=203.0.113.1
PROVIDER_SUBNET_NAME="provider_net"
PROVIDER_NETWORK_TYPE="vlan"
SEGMENTATION_ID=2010
USE_SUBNETPOOL=False
## Neutron Networking options used to create Neutron Subnets
[[post-config|/$Q_PLUGIN_CONF_FILE]]
[macvtap]
physical_interface_mappings = $PHYSICAL_NETWORK:eth1
FIXED_RANGE="203.0.113.0/24"
PROVIDER_SUBNET_NAME="provider_net"
PROVIDER_NETWORK_TYPE="vlan"
SEGMENTATION_ID=2010
[[post-config|$NOVA_CONF]]
force_config_drive = True
In this configuration we are defining FIXED_RANGE to be a
publicly routed IPv4 subnet. In this specific instance we are using
the special TEST-NET-3 subnet defined in `RFC 5737 <http://tools.ietf.org/html/rfc5737>`_,
which is used for documentation. In your DevStack setup, FIXED_RANGE
would be a public IP address range that you or your organization has
allocated to you, so that you could access your instances from the
public internet.
The following is a snippet of the DevStack configuration on the
compute node.
Multi node with MacVTap compute node
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This scenario applies, if you require OpenStack provided l3, dhcp or metadata
services. Those are hosted on a separate controller and network node, running
some other l2 agent technology (in this example Open vSwitch). This node needs
to be configured for VLAN tenant networks.
For OVS, a similar configuration like described in the
:ref:`OVS Provider Network <ovs-provider-network-controller>` section can be
used. Just add the following line to this local.conf, which also loads
the MacVTap mechanism driver:
::
# Services that a compute node runs
ENABLED_SERVICES=n-cpu,rabbit,q-agt
[[local|localrc]]
...
Q_ML2_PLUGIN_MECHANISM_DRIVERS=openvswitch,linuxbridge,macvtap
...
## Neutron options
Q_USE_SECGROUP=True
ENABLE_TENANT_VLANS=True
TENANT_VLAN_RANGE=3001:4000
PHYSICAL_NETWORK=default
OVS_PHYSICAL_BRIDGE=br-ex
PUBLIC_INTERFACE=eth1
Q_USE_PROVIDER_NETWORKING=True
Q_L3_ENABLED=False
For the MacVTap compute node, use this local.conf:
When DevStack is configured to use provider networking (via
`Q_USE_PROVIDER_NETWORKING` is True and `Q_L3_ENABLED` is False) -
DevStack will automatically add the network interface defined in
`PUBLIC_INTERFACE` to the `OVS_PHYSICAL_BRIDGE`
::
For example, with the above configuration, a bridge is
created, named `br-ex` which is managed by Open vSwitch, and the
second interface on the compute node, `eth1` is attached to the
bridge, to forward traffic sent by guest VMs.
HOST_IP=10.0.0.3
SERVICE_HOST=10.0.0.2
MYSQL_HOST=10.0.0.2
RABBIT_HOST=10.0.0.2
ADMIN_PASSWORD=secret
MYSQL_PASSWORD=secret
RABBIT_PASSWORD=secret
SERVICE_PASSWORD=secret
# Services that a compute node runs
disable_all_services
enable_plugin neutron https://git.openstack.org/openstack/neutron
ENABLED_SERVICES+=n-cpu,q-agt
## MacVTap agent options
Q_AGENT=macvtap
PHYSICAL_NETWORK=default
[[post-config|/$Q_PLUGIN_CONF_FILE]]
[macvtap]
physical_interface_mappings = $PHYSICAL_NETWORK:eth1
+4 -6
View File
@@ -13,7 +13,7 @@ In Juno, nova implemented a `spec
<http://specs.openstack.org/openstack/nova-specs/specs/juno/implemented/serial-ports.html>`_
to allow read/write access to the serial console of an instance via
`nova-serialproxy
<http://docs.openstack.org/developer/nova/man/nova-serialproxy.html>`_.
<https://docs.openstack.org/nova/latest/cli/nova-serialproxy.html>`_.
The service can be enabled by adding ``n-sproxy`` to
``ENABLED_SERVICES``. Further options can be enabled via
@@ -62,11 +62,9 @@ The service can be enabled by adding ``n-sproxy`` to
Enabling the service is enough to be functional for a single machine DevStack.
These config options are defined in `nova.console.serial
<https://github.com/openstack/nova/blob/master/nova/console/serial.py#L33-L52>`_
and `nova.cmd.serialproxy
<https://github.com/openstack/nova/blob/master/nova/cmd/serialproxy.py#L26-L33>`_.
These config options are defined in `nova.conf.serial_console
<https://github.com/openstack/nova/blob/master/nova/conf/serial_console.py>`_.
For more information on OpenStack configuration see the `OpenStack
Configuration Reference
<http://docs.openstack.org/trunk/config-reference/content/list-of-compute-config-options.html>`_
<https://docs.openstack.org/ocata/config-reference/compute.html>`_
+2 -3
View File
@@ -47,7 +47,7 @@ below)
::
adduser stack
useradd -s /bin/bash -d /opt/stack -m stack
Since this user will be making many changes to your system, it will need
to have sudo privileges:
@@ -105,10 +105,9 @@ do the following:
FIXED_NETWORK_SIZE=256
FLAT_INTERFACE=eth0
ADMIN_PASSWORD=supersecret
MYSQL_PASSWORD=iheartdatabases
DATABASE_PASSWORD=iheartdatabases
RABBIT_PASSWORD=flopsymopsy
SERVICE_PASSWORD=iheartksl
SERVICE_TOKEN=xyzpdqlazydog
Run DevStack:
+1 -2
View File
@@ -64,10 +64,9 @@ passed as the user-data file when booting the VM.
cd devstack
echo '[[local|localrc]]' > local.conf
echo ADMIN_PASSWORD=password >> local.conf
echo MYSQL_PASSWORD=password >> local.conf
echo DATABASE_PASSWORD=password >> local.conf
echo RABBIT_PASSWORD=password >> local.conf
echo SERVICE_PASSWORD=password >> local.conf
echo SERVICE_TOKEN=tokentoken >> local.conf
./stack.sh
path: /home/stack/start.sh
permissions: 0755
+128 -214
View File
@@ -1,239 +1,153 @@
DevStack - an OpenStack Community Production
============================================
.. Documentation Architecture for the devstack docs.
It is really easy for online docs to meander over time as people
attempt to add the small bit of additional information they think
people need, into an existing information architecture. In order to
prevent that we need to be a bit strict as to what's on this front
page.
This should *only* be the quick start narrative. Which should end
with 2 sections: what you can do with devstack once it's set up,
and how to go beyond this setup. Both should be a set of quick
links to other documents to let people explore from there.
==========
DevStack
==========
.. image:: assets/images/logo-blue.png
.. toctree::
:glob:
:maxdepth: 1
DevStack is a series of extensible scripts used to quickly bring up a
complete OpenStack environment based on the latest versions of
everything from git master. It is used interactively as a development
environment and as the basis for much of the OpenStack project's
functional testing.
overview
configuration
plugins
plugin-registry
faq
changes
hacking
The source is available at
`<https://git.openstack.org/cgit/openstack-dev/devstack>`__.
.. warning::
DevStack will make substantial changes to your system during
installation. Only run DevStack on servers or virtual machines that
are dedicated to this purpose.
Quick Start
-----------
===========
#. Select a Linux Distribution
Install Linux
-------------
Only Ubuntu 14.04 (Trusty), Fedora 21 (or Fedora 22) and CentOS/RHEL
7 are documented here. OpenStack also runs and is packaged on other
flavors of Linux such as OpenSUSE and Debian.
Start with a clean and minimal install of a Linux system. Devstack
attempts to support Ubuntu 16.04/17.04, Fedora 24/25, CentOS/RHEL 7,
as well as Debian and OpenSUSE.
#. Install Selected OS
If you do not have a preference, Ubuntu 16.04 is the most tested, and
will probably go the smoothest.
In order to correctly install all the dependencies, we assume a
specific minimal version of the supported distributions to make it as
easy as possible. We recommend using a minimal install of Ubuntu or
Fedora server in a VM if this is your first time.
#. Download DevStack
::
git clone https://git.openstack.org/openstack-dev/devstack
The ``devstack`` repo contains a script that installs OpenStack and
templates for configuration files
#. Configure
We recommend at least a :ref:`minimal-configuration` be set up.
#. Start the install
::
cd devstack; ./stack.sh
It takes a few minutes, we recommend `reading the
script <stack.sh.html>`__ while it is building.
Guides
======
Walk through various setups used by stackers
.. toctree::
:glob:
:maxdepth: 1
guides/single-vm
guides/single-machine
guides/multinode-lab
guides/neutron
guides/devstack-with-nested-kvm
guides/nova
guides/devstack-with-lbaas-v2
All-In-One Single VM
--------------------
Run :doc:`OpenStack in a VM <guides/single-vm>`. The VMs launched in your cloud will be slow as
they are running in QEMU (emulation), but it is useful if you don't have
spare hardware laying around. :doc:`[Read] <guides/single-vm>`
All-In-One Single Machine
-------------------------
Run :doc:`OpenStack on dedicated hardware <guides/single-machine>` This can include a
server-class machine or a laptop at home.
:doc:`[Read] <guides/single-machine>`
Multi-Node Lab
Add Stack User
--------------
Setup a :doc:`multi-node cluster <guides/multinode-lab>` with dedicated VLANs for VMs & Management.
:doc:`[Read] <guides/multinode-lab>`
Devstack should be run as a non-root user with sudo enabled
(standard logins to cloud images such as "ubuntu" or "cloud-user"
are usually fine).
DevStack with Neutron Networking
--------------------------------
You can quickly create a separate `stack` user to run DevStack with
Building a DevStack cluster with :doc:`Neutron Networking <guides/neutron>`.
This guide is meant for building lab environments with a dedicated
control node and multiple compute nodes.
::
DevStack with KVM-based Nested Virtualization
---------------------------------------------
$ sudo useradd -s /bin/bash -d /opt/stack -m stack
Procedure to setup :doc:`DevStack with KVM-based Nested Virtualization
<guides/devstack-with-nested-kvm>`. With this setup, Nova instances
will be more performant than with plain QEMU emulation.
Since this user will be making many changes to your system, it should
have sudo privileges:
Nova and devstack
--------------------------------
::
Guide to working with nova features :doc:`Nova and devstack <guides/nova>`.
$ echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack
$ sudo su - stack
DevStack Documentation
======================
Download DevStack
-----------------
Overview
::
$ git clone https://git.openstack.org/openstack-dev/devstack
$ cd devstack
The ``devstack`` repo contains a script that installs OpenStack and
templates for configuration files
Create a local.conf
-------------------
Create a ``local.conf`` file with 4 passwords preset at the root of the
devstack git repo.
::
[[local|localrc]]
ADMIN_PASSWORD=secret
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD
This is the minimum required config to get started with DevStack.
Start the install
-----------------
::
./stack.sh
This will take a 15 - 20 minutes, largely depending on the speed of
your internet connection. Many git trees and packages will be
installed during this process.
Profit!
-------
You now have a working DevStack! Congrats!
Your devstack will have installed ``keystone``, ``glance``, ``nova``,
``cinder``, ``neutron``, and ``horizon``. Floating IPs will be
available, guests have access to the external world.
You can access horizon to experience the web interface to
OpenStack, and manage vms, networks, volumes, and images from
there.
You can ``source openrc`` in your shell, and then use the
``openstack`` command line tool to manage your devstack.
You can ``cd /opt/stack/tempest`` and run tempest tests that have
been configured to work with your devstack.
You can :doc:`make code changes to OpenStack and validate them
<development>`.
Going further
-------------
Learn more about our :doc:`configuration system <configuration>` to
customize devstack for your needs. Including making adjustments to the
default :doc:`networking <networking>`.
Read :doc:`guides <guides>` for specific setups people have (note:
guides are point in time contributions, and may not always be kept
up to date to the latest devstack).
Enable :doc:`devstack plugins <plugins>` to support additional
services, features, and configuration not present in base devstack.
Get :doc:`the big picture <overview>` of what we are trying to do
with devstack, and help us by :doc:`contributing to the project
<hacking>`.
Contents
--------
:doc:`An overview of DevStack goals and priorities <overview>`
Configuration
-------------
:doc:`Configuring and customizing the stack <configuration>`
Plugins
-------
:doc:`Extending DevStack with new features <plugins>`
Recent Changes
--------------
:doc:`An incomplete summary of recent changes <changes>`
FAQ
---
:doc:`The DevStack FAQ <faq>`
Contributing
------------
:doc:`Pitching in to make DevStack a better place <hacking>`
Code
====
*A look at the bits that make it all go*
Scripts
-------
* `stack.sh <stack.sh.html>`__ - The main script
* `functions <functions.html>`__ - DevStack-specific functions
* `functions-common <functions-common.html>`__ - Functions shared with other projects
* `lib/apache <lib/apache.html>`__
* `lib/ceph <lib/ceph.html>`__
* `lib/cinder <lib/cinder.html>`__
* `lib/database <lib/database.html>`__
* `lib/dstat <lib/dstat.html>`__
* `lib/glance <lib/glance.html>`__
* `lib/heat <lib/heat.html>`__
* `lib/horizon <lib/horizon.html>`__
* `lib/infra <lib/infra.html>`__
* `lib/ironic <lib/ironic.html>`__
* `lib/keystone <lib/keystone.html>`__
* `lib/ldap <lib/ldap.html>`__
* `lib/neutron-legacy <lib/neutron-legacy.html>`__
* `lib/nova <lib/nova.html>`__
* `lib/oslo <lib/oslo.html>`__
* `lib/rpc\_backend <lib/rpc_backend.html>`__
* `lib/swift <lib/swift.html>`__
* `lib/tempest <lib/tempest.html>`__
* `lib/tls <lib/tls.html>`__
* `lib/trove <lib/trove.html>`__
* `unstack.sh <unstack.sh.html>`__
* `clean.sh <clean.sh.html>`__
* `run\_tests.sh <run_tests.sh.html>`__
* `extras.d/50-ironic.sh <extras.d/50-ironic.sh.html>`__
* `extras.d/60-ceph.sh <extras.d/60-ceph.sh.html>`__
* `extras.d/70-tuskar.sh <extras.d/70-tuskar.sh.html>`__
* `extras.d/80-tempest.sh <extras.d/80-tempest.sh.html>`__
* `inc/ini-config <inc/ini-config.html>`__
* `inc/meta-config <inc/meta-config.html>`__
* `inc/python <inc/python.html>`__
* `pkg/elasticsearch.sh <pkg/elasticsearch.sh.html>`_
Configuration
-------------
.. toctree::
:glob:
:maxdepth: 1
:maxdepth: 2
local.conf
stackrc
openrc
exerciserc
eucarc
Tools
-----
* `tools/build\_docs.sh <tools/build_docs.sh.html>`__
* `tools/build\_venv.sh <tools/build_venv.sh.html>`__
* `tools/build\_wheels.sh <tools/build_wheels.sh.html>`__
* `tools/create-stack-user.sh <tools/create-stack-user.sh.html>`__
* `tools/create\_userrc.sh <tools/create_userrc.sh.html>`__
* `tools/fixup\_stuff.sh <tools/fixup_stuff.sh.html>`__
* `tools/info.sh <tools/info.sh.html>`__
* `tools/install\_pip.sh <tools/install_pip.sh.html>`__
* `tools/install\_prereqs.sh <tools/install_prereqs.sh.html>`__
* `tools/make\_cert.sh <tools/make_cert.sh.html>`__
* `tools/upload\_image.sh <tools/upload_image.sh.html>`__
Samples
-------
* `local.sh <samples/local.sh.html>`__
Exercises
---------
* `exercise.sh <exercise.sh.html>`__
* `exercises/aggregates.sh <exercises/aggregates.sh.html>`__
* `exercises/boot\_from\_volume.sh <exercises/boot_from_volume.sh.html>`__
* `exercises/bundle.sh <exercises/bundle.sh.html>`__
* `exercises/client-args.sh <exercises/client-args.sh.html>`__
* `exercises/client-env.sh <exercises/client-env.sh.html>`__
* `exercises/euca.sh <exercises/euca.sh.html>`__
* `exercises/floating\_ips.sh <exercises/floating_ips.sh.html>`__
* `exercises/horizon.sh <exercises/horizon.sh.html>`__
* `exercises/neutron-adv-test.sh <exercises/neutron-adv-test.sh.html>`__
* `exercises/sec\_groups.sh <exercises/sec_groups.sh.html>`__
* `exercises/swift.sh <exercises/swift.sh.html>`__
* `exercises/volumes.sh <exercises/volumes.sh.html>`__
*
-9
View File
@@ -1,9 +0,0 @@
==========================
local.conf - User Settings
==========================
``local.conf`` is a user-maintained settings file that is sourced in
``stackrc``. It contains a section that replaces the historical
``localrc`` file. See the description of
:doc:`local.conf <configuration>` for more details about the mechanics
of the file.
+116
View File
@@ -0,0 +1,116 @@
=====================
DevStack Networking
=====================
An important part of the DevStack experience is networking that works
by default for created guests. This might not be optimal for your
particular testing environment, so this document tries its best to
explain what's going on.
Defaults
========
If you don't specify any configuration you will get the following:
* neutron (including l3 with openvswitch)
* private project networks for each openstack project
* a floating ip range of 172.24.4.0/24 with the gateway of 172.24.4.1
* the demo project configured with fixed ips on a subnet allocated from
the 10.0.0.0/22 range
* a ``br-ex`` interface controlled by neutron for all its networking
(this is not connected to any physical interfaces).
* DNS resolution for guests based on the resolv.conf for your host
* an ip masq rule that allows created guests to route out
This creates an environment which is isolated to the single
host. Guests can get to the external network for package
updates. Tempest tests will work in this environment.
.. note::
By default all OpenStack environments have security group rules
which block all inbound packets to guests. If you want to be able
to ssh / ping your created guests you should run the following.
.. code-block:: bash
openstack security group rule create --proto icmp --dst-port 0 default
openstack security group rule create --proto tcp --dst-port 22 default
Locally Accessible Guests
=========================
If you want to make you guests accessible from other machines on your
network, we have to connect ``br-ex`` to a physical interface.
Dedicated Guest Interface
-------------------------
If you have 2 or more interfaces on your devstack server, you can
allocate an interface to neutron to fully manage. This **should not**
be the same interface you use to ssh into the devstack server itself.
This is done by setting with the ``PUBLIC_INTERFACE`` attribute.
.. code-block:: bash
[[local|localrc]]
PUBLIC_INTERFACE=eth1
That will put all layer 2 traffic from your guests onto the main
network. When running in this mode the ip masq rule is **not** added
in your devstack, you are responsible for making routing work on your
local network.
Shared Guest Interface
----------------------
.. warning::
This is not a recommended configuration. Because of interactions
between ovs and bridging, if you reboot your box with active
networking you may loose network connectivity to your system.
If you need your guests accessible on the network, but only have 1
interface (using something like a NUC), you can share your one
network. But in order for this to work you need to manually set a lot
of addresses, and have them all exactly correct.
.. code-block:: bash
[[local|localrc]]
PUBLIC_INTERFACE=eth0
HOST_IP=10.42.0.52
FLOATING_RANGE=10.42.0.52/24
PUBLIC_NETWORK_GATEWAY=10.42.0.1
Q_FLOATING_ALLOCATION_POOL=start=10.42.0.250,end=10.42.0.254
In order for this scenario to work the floating ip network must match
the default networking on your server. This breaks HOST_IP detection,
as we exclude the floating range by default, so you have to specify
that manually.
The ``PUBLIC_NETWORK_GATEWAY`` is the gateway that server would normally
use to get off the network. ``Q_FLOATING_ALLOCATION_POOL`` controls
the range of floating ips that will be handed out. As we are sharing
your existing network, you'll want to give it a slice that your local
dhcp server is not allocating. Otherwise you could easily have
conflicting ip addresses, and cause havoc with your local network.
Private Network Addressing
==========================
The private networks addresses are controlled by the ``IPV4_ADDRS_SAFE_TO_USE``
and the ``IPV6_ADDRS_SAFE_TO_USE`` variables. This allows users to specify one
single variable of safe internal IPs to use that will be referenced whether or
not subnetpools are in use.
For IPv4, ``FIXED_RANGE`` and ``SUBNETPOOL_PREFIX_V4`` will just default to
the value of ``IPV4_ADDRS_SAFE_TO_USE`` directly.
For IPv6, ``FIXED_RANGE_V6`` will default to the first /64 of the value of
``IPV6_ADDRS_SAFE_TO_USE``. If ``IPV6_ADDRS_SAFE_TO_USE`` is /64 or smaller,
``FIXED_RANGE_V6`` will just use the value of that directly.
``SUBNETPOOL_PREFIX_V6`` will just default to the value of
``IPV6_ADDRS_SAFE_TO_USE`` directly.
-68
View File
@@ -1,68 +0,0 @@
=====================================
openrc - User Authentication Settings
=====================================
``openrc`` configures login credentials suitable for use with the
OpenStack command-line tools. ``openrc`` sources ``stackrc`` at the
beginning (which in turn sources the ``localrc`` section of
``local.conf``) in order to pick up ``HOST_IP`` and/or ``SERVICE_HOST``
to use in the endpoints. The values shown below are the default values.
OS\_PROJECT\_NAME (OS\_TENANT\_NAME)
Keystone has
standardized the term *project* as the entity that owns resources. In
some places references still exist to the previous term
*tenant* for this use. Also, *project\_name* is preferred to
*project\_id*. OS\_TENANT\_NAME remains supported for compatibility
with older tools.
::
OS_PROJECT_NAME=demo
OS\_USERNAME
In addition to the owning entity (project), OpenStack calls the entity
performing the action *user*.
::
OS_USERNAME=demo
OS\_PASSWORD
Keystone's default authentication requires a password be provided.
The usual cautions about putting passwords in environment variables
apply, for most DevStack uses this may be an acceptable tradeoff.
::
OS_PASSWORD=secrete
HOST\_IP, SERVICE\_HOST
Set API endpoint host using ``HOST_IP``. ``SERVICE_HOST`` may also
be used to specify the endpoint, which is convenient for some
``local.conf`` configurations. Typically, ``HOST_IP`` is set in the
``localrc`` section.
::
HOST_IP=127.0.0.1
SERVICE_HOST=$HOST_IP
OS\_AUTH\_URL
Authenticating against an OpenStack cloud using Keystone returns a
*Token* and *Service Catalog*. The catalog contains the endpoints
for all services the user/tenant has access to - including Nova,
Glance, Keystone and Swift.
::
OS_AUTH_URL=http://$SERVICE_HOST:5000/v2.0
KEYSTONECLIENT\_DEBUG, NOVACLIENT\_DEBUG
Set command-line client log level to ``DEBUG``. These are commented
out by default.
::
# export KEYSTONECLIENT_DEBUG=1
# export NOVACLIENT_DEBUG=1
+5 -12
View File
@@ -20,11 +20,11 @@ Base OS
*The OpenStack Technical Committee (TC) has defined the current CI
strategy to include the latest Ubuntu release and the latest RHEL
release (for Python 2.6 testing).*
release.*
- Ubuntu: current LTS release plus current development release
- Fedora: current release plus previous release
- RHEL: current major release
- RHEL/Centos: current major release
- Other OS platforms may continue to be included but the maintenance of
those platforms shall not be assumed simply due to their presence.
Having a listed point-of-contact for each additional OS will greatly
@@ -38,7 +38,6 @@ Databases
*As packaged by the host OS*
- MySQL
- PostgreSQL
Queues
------
@@ -46,7 +45,6 @@ Queues
*As packaged by the host OS*
- Rabbit
- Qpid
Web Server
----------
@@ -58,9 +56,6 @@ Web Server
OpenStack Network
-----------------
*Defaults to nova network, optionally use neutron*
- Nova Network: FlatDHCP
- Neutron: A basic configuration approximating the original FlatDHCP
mode using linuxbridge or OpenVSwitch.
@@ -68,9 +63,8 @@ Services
--------
The default services configured by DevStack are Identity (keystone),
Object Storage (swift), Image Service (glance), Block Storage (cinder),
Compute (nova), Networking (nova), Dashboard (horizon), Orchestration
(heat)
Object Storage (swift), Image Service (glance), Block Storage
(cinder), Compute (nova), Networking (neutron), Dashboard (horizon)
Additional services not included directly in DevStack can be tied in to
``stack.sh`` using the :doc:`plugin mechanism <plugins>` to call
@@ -80,8 +74,7 @@ Node Configurations
-------------------
- single node
- multi-node is not tested regularly by the core team, and even then
only minimal configurations are reviewed
- multi-node configurations as are tested by the gate
Exercises
---------
+166 -80
View File
@@ -1,89 +1,175 @@
..
Note to reviewers: the intent of this file is to be easy for
community members to update. As such fast approving (single core +2)
is fine as long as you've identified that the plugin listed actually exists.
.. Note to patch submitters:
# ============================= #
# THIS FILE IS AUTOGENERATED ! #
# ============================= #
** Plugins are found automatically and added to this list **
This file is created by a periodic proposal job. You should not
edit this file.
You should edit the files data/devstack-plugins-registry.footer
data/devstack-plugins-registry.header to modify this text.
==========================
DevStack Plugin Registry
==========================
Since we've created the external plugin mechanism, it's gotten used by
a lot of projects. The following is a list of plugins that currently
exist. Any project that wishes to list their plugin here is welcomed
to.
Official OpenStack Projects
===========================
The following are plugins that exist for official OpenStack projects.
+------------------+---------------------------------------------+--------------------+
|Plugin Name |URL |Comments |
+------------------+---------------------------------------------+--------------------+
|aodh |git://git.openstack.org/openstack/aodh | alarming |
+------------------+---------------------------------------------+--------------------+
|ceilometer |git://git.openstack.org/openstack/ceilometer | metering |
+------------------+---------------------------------------------+--------------------+
|gnocchi |git://git.openstack.org/openstack/gnocchi | metric |
+------------------+---------------------------------------------+--------------------+
|magnum |git://git.openstack.org/openstack/magnum | |
+------------------+---------------------------------------------+--------------------+
|manila |git://git.openstack.org/openstack/manila | file shares |
+------------------+---------------------------------------------+--------------------+
|mistral |git://git.openstack.org/openstack/mistral | |
+------------------+---------------------------------------------+--------------------+
|rally |git://git.openstack.org/openstack/rally | |
+------------------+---------------------------------------------+--------------------+
|sahara |git://git.openstack.org/openstack/sahara | |
+------------------+---------------------------------------------+--------------------+
|trove |git://git.openstack.org/openstack/trove | |
+------------------+---------------------------------------------+--------------------+
|zaqar |git://git.openstack.org/openstack/zaqar | |
+------------------+---------------------------------------------+--------------------+
The following list is an automatically-generated collection of
available DevStack plugins. This includes, but is not limited to,
official OpenStack projects.
====================================== ===
Plugin Name URL
====================================== ===
almanach `https://git.openstack.org/openstack/almanach <https://git.openstack.org/cgit/openstack/almanach>`__
aodh `https://git.openstack.org/openstack/aodh <https://git.openstack.org/cgit/openstack/aodh>`__
app-catalog-ui `https://git.openstack.org/openstack/app-catalog-ui <https://git.openstack.org/cgit/openstack/app-catalog-ui>`__
astara `https://git.openstack.org/openstack/astara <https://git.openstack.org/cgit/openstack/astara>`__
barbican `https://git.openstack.org/openstack/barbican <https://git.openstack.org/cgit/openstack/barbican>`__
bilean `https://git.openstack.org/openstack/bilean <https://git.openstack.org/cgit/openstack/bilean>`__
blazar `https://git.openstack.org/openstack/blazar <https://git.openstack.org/cgit/openstack/blazar>`__
broadview-collector `https://git.openstack.org/openstack/broadview-collector <https://git.openstack.org/cgit/openstack/broadview-collector>`__
ceilometer `https://git.openstack.org/openstack/ceilometer <https://git.openstack.org/cgit/openstack/ceilometer>`__
ceilometer-powervm `https://git.openstack.org/openstack/ceilometer-powervm <https://git.openstack.org/cgit/openstack/ceilometer-powervm>`__
cerberus `https://git.openstack.org/openstack/cerberus <https://git.openstack.org/cgit/openstack/cerberus>`__
cloudkitty `https://git.openstack.org/openstack/cloudkitty <https://git.openstack.org/cgit/openstack/cloudkitty>`__
collectd-ceilometer-plugin `https://git.openstack.org/openstack/collectd-ceilometer-plugin <https://git.openstack.org/cgit/openstack/collectd-ceilometer-plugin>`__
congress `https://git.openstack.org/openstack/congress <https://git.openstack.org/cgit/openstack/congress>`__
cue `https://git.openstack.org/openstack/cue <https://git.openstack.org/cgit/openstack/cue>`__
designate `https://git.openstack.org/openstack/designate <https://git.openstack.org/cgit/openstack/designate>`__
devstack-plugin-additional-pkg-repos `https://git.openstack.org/openstack/devstack-plugin-additional-pkg-repos <https://git.openstack.org/cgit/openstack/devstack-plugin-additional-pkg-repos>`__
devstack-plugin-amqp1 `https://git.openstack.org/openstack/devstack-plugin-amqp1 <https://git.openstack.org/cgit/openstack/devstack-plugin-amqp1>`__
devstack-plugin-bdd `https://git.openstack.org/openstack/devstack-plugin-bdd <https://git.openstack.org/cgit/openstack/devstack-plugin-bdd>`__
devstack-plugin-ceph `https://git.openstack.org/openstack/devstack-plugin-ceph <https://git.openstack.org/cgit/openstack/devstack-plugin-ceph>`__
devstack-plugin-container `https://git.openstack.org/openstack/devstack-plugin-container <https://git.openstack.org/cgit/openstack/devstack-plugin-container>`__
devstack-plugin-glusterfs `https://git.openstack.org/openstack/devstack-plugin-glusterfs <https://git.openstack.org/cgit/openstack/devstack-plugin-glusterfs>`__
devstack-plugin-hdfs `https://git.openstack.org/openstack/devstack-plugin-hdfs <https://git.openstack.org/cgit/openstack/devstack-plugin-hdfs>`__
devstack-plugin-kafka `https://git.openstack.org/openstack/devstack-plugin-kafka <https://git.openstack.org/cgit/openstack/devstack-plugin-kafka>`__
devstack-plugin-libvirt-qemu `https://git.openstack.org/openstack/devstack-plugin-libvirt-qemu <https://git.openstack.org/cgit/openstack/devstack-plugin-libvirt-qemu>`__
devstack-plugin-mariadb `https://git.openstack.org/openstack/devstack-plugin-mariadb <https://git.openstack.org/cgit/openstack/devstack-plugin-mariadb>`__
devstack-plugin-nfs `https://git.openstack.org/openstack/devstack-plugin-nfs <https://git.openstack.org/cgit/openstack/devstack-plugin-nfs>`__
devstack-plugin-pika `https://git.openstack.org/openstack/devstack-plugin-pika <https://git.openstack.org/cgit/openstack/devstack-plugin-pika>`__
devstack-plugin-sheepdog `https://git.openstack.org/openstack/devstack-plugin-sheepdog <https://git.openstack.org/cgit/openstack/devstack-plugin-sheepdog>`__
devstack-plugin-vmax `https://git.openstack.org/openstack/devstack-plugin-vmax <https://git.openstack.org/cgit/openstack/devstack-plugin-vmax>`__
devstack-plugin-zmq `https://git.openstack.org/openstack/devstack-plugin-zmq <https://git.openstack.org/cgit/openstack/devstack-plugin-zmq>`__
dragonflow `https://git.openstack.org/openstack/dragonflow <https://git.openstack.org/cgit/openstack/dragonflow>`__
drbd-devstack `https://git.openstack.org/openstack/drbd-devstack <https://git.openstack.org/cgit/openstack/drbd-devstack>`__
ec2-api `https://git.openstack.org/openstack/ec2-api <https://git.openstack.org/cgit/openstack/ec2-api>`__
freezer `https://git.openstack.org/openstack/freezer <https://git.openstack.org/cgit/openstack/freezer>`__
freezer-api `https://git.openstack.org/openstack/freezer-api <https://git.openstack.org/cgit/openstack/freezer-api>`__
freezer-web-ui `https://git.openstack.org/openstack/freezer-web-ui <https://git.openstack.org/cgit/openstack/freezer-web-ui>`__
fuxi `https://git.openstack.org/openstack/fuxi <https://git.openstack.org/cgit/openstack/fuxi>`__
gce-api `https://git.openstack.org/openstack/gce-api <https://git.openstack.org/cgit/openstack/gce-api>`__
glare `https://git.openstack.org/openstack/glare <https://git.openstack.org/cgit/openstack/glare>`__
group-based-policy `https://git.openstack.org/openstack/group-based-policy <https://git.openstack.org/cgit/openstack/group-based-policy>`__
heat `https://git.openstack.org/openstack/heat <https://git.openstack.org/cgit/openstack/heat>`__
horizon-mellanox `https://git.openstack.org/openstack/horizon-mellanox <https://git.openstack.org/cgit/openstack/horizon-mellanox>`__
ironic `https://git.openstack.org/openstack/ironic <https://git.openstack.org/cgit/openstack/ironic>`__
ironic-inspector `https://git.openstack.org/openstack/ironic-inspector <https://git.openstack.org/cgit/openstack/ironic-inspector>`__
ironic-staging-drivers `https://git.openstack.org/openstack/ironic-staging-drivers <https://git.openstack.org/cgit/openstack/ironic-staging-drivers>`__
ironic-ui `https://git.openstack.org/openstack/ironic-ui <https://git.openstack.org/cgit/openstack/ironic-ui>`__
k8s-cloud-provider `https://git.openstack.org/openstack/k8s-cloud-provider <https://git.openstack.org/cgit/openstack/k8s-cloud-provider>`__
karbor `https://git.openstack.org/openstack/karbor <https://git.openstack.org/cgit/openstack/karbor>`__
karbor-dashboard `https://git.openstack.org/openstack/karbor-dashboard <https://git.openstack.org/cgit/openstack/karbor-dashboard>`__
keystone `https://git.openstack.org/openstack/keystone <https://git.openstack.org/cgit/openstack/keystone>`__
kingbird `https://git.openstack.org/openstack/kingbird <https://git.openstack.org/cgit/openstack/kingbird>`__
kuryr-kubernetes `https://git.openstack.org/openstack/kuryr-kubernetes <https://git.openstack.org/cgit/openstack/kuryr-kubernetes>`__
kuryr-libnetwork `https://git.openstack.org/openstack/kuryr-libnetwork <https://git.openstack.org/cgit/openstack/kuryr-libnetwork>`__
magnum `https://git.openstack.org/openstack/magnum <https://git.openstack.org/cgit/openstack/magnum>`__
magnum-ui `https://git.openstack.org/openstack/magnum-ui <https://git.openstack.org/cgit/openstack/magnum-ui>`__
manila `https://git.openstack.org/openstack/manila <https://git.openstack.org/cgit/openstack/manila>`__
manila-ui `https://git.openstack.org/openstack/manila-ui <https://git.openstack.org/cgit/openstack/manila-ui>`__
masakari `https://git.openstack.org/openstack/masakari <https://git.openstack.org/cgit/openstack/masakari>`__
meteos `https://git.openstack.org/openstack/meteos <https://git.openstack.org/cgit/openstack/meteos>`__
meteos-ui `https://git.openstack.org/openstack/meteos-ui <https://git.openstack.org/cgit/openstack/meteos-ui>`__
mistral `https://git.openstack.org/openstack/mistral <https://git.openstack.org/cgit/openstack/mistral>`__
mixmatch `https://git.openstack.org/openstack/mixmatch <https://git.openstack.org/cgit/openstack/mixmatch>`__
mogan `https://git.openstack.org/openstack/mogan <https://git.openstack.org/cgit/openstack/mogan>`__
mogan-ui `https://git.openstack.org/openstack/mogan-ui <https://git.openstack.org/cgit/openstack/mogan-ui>`__
monasca-analytics `https://git.openstack.org/openstack/monasca-analytics <https://git.openstack.org/cgit/openstack/monasca-analytics>`__
monasca-api `https://git.openstack.org/openstack/monasca-api <https://git.openstack.org/cgit/openstack/monasca-api>`__
monasca-ceilometer `https://git.openstack.org/openstack/monasca-ceilometer <https://git.openstack.org/cgit/openstack/monasca-ceilometer>`__
monasca-events-api `https://git.openstack.org/openstack/monasca-events-api <https://git.openstack.org/cgit/openstack/monasca-events-api>`__
monasca-log-api `https://git.openstack.org/openstack/monasca-log-api <https://git.openstack.org/cgit/openstack/monasca-log-api>`__
monasca-transform `https://git.openstack.org/openstack/monasca-transform <https://git.openstack.org/cgit/openstack/monasca-transform>`__
murano `https://git.openstack.org/openstack/murano <https://git.openstack.org/cgit/openstack/murano>`__
networking-6wind `https://git.openstack.org/openstack/networking-6wind <https://git.openstack.org/cgit/openstack/networking-6wind>`__
networking-arista `https://git.openstack.org/openstack/networking-arista <https://git.openstack.org/cgit/openstack/networking-arista>`__
networking-bagpipe `https://git.openstack.org/openstack/networking-bagpipe <https://git.openstack.org/cgit/openstack/networking-bagpipe>`__
networking-bgpvpn `https://git.openstack.org/openstack/networking-bgpvpn <https://git.openstack.org/cgit/openstack/networking-bgpvpn>`__
networking-brocade `https://git.openstack.org/openstack/networking-brocade <https://git.openstack.org/cgit/openstack/networking-brocade>`__
networking-calico `https://git.openstack.org/openstack/networking-calico <https://git.openstack.org/cgit/openstack/networking-calico>`__
networking-cisco `https://git.openstack.org/openstack/networking-cisco <https://git.openstack.org/cgit/openstack/networking-cisco>`__
networking-cumulus `https://git.openstack.org/openstack/networking-cumulus <https://git.openstack.org/cgit/openstack/networking-cumulus>`__
networking-dpm `https://git.openstack.org/openstack/networking-dpm <https://git.openstack.org/cgit/openstack/networking-dpm>`__
networking-fortinet `https://git.openstack.org/openstack/networking-fortinet <https://git.openstack.org/cgit/openstack/networking-fortinet>`__
networking-generic-switch `https://git.openstack.org/openstack/networking-generic-switch <https://git.openstack.org/cgit/openstack/networking-generic-switch>`__
networking-hpe `https://git.openstack.org/openstack/networking-hpe <https://git.openstack.org/cgit/openstack/networking-hpe>`__
networking-huawei `https://git.openstack.org/openstack/networking-huawei <https://git.openstack.org/cgit/openstack/networking-huawei>`__
networking-infoblox `https://git.openstack.org/openstack/networking-infoblox <https://git.openstack.org/cgit/openstack/networking-infoblox>`__
networking-l2gw `https://git.openstack.org/openstack/networking-l2gw <https://git.openstack.org/cgit/openstack/networking-l2gw>`__
networking-midonet `https://git.openstack.org/openstack/networking-midonet <https://git.openstack.org/cgit/openstack/networking-midonet>`__
networking-mlnx `https://git.openstack.org/openstack/networking-mlnx <https://git.openstack.org/cgit/openstack/networking-mlnx>`__
networking-nec `https://git.openstack.org/openstack/networking-nec <https://git.openstack.org/cgit/openstack/networking-nec>`__
networking-odl `https://git.openstack.org/openstack/networking-odl <https://git.openstack.org/cgit/openstack/networking-odl>`__
networking-onos `https://git.openstack.org/openstack/networking-onos <https://git.openstack.org/cgit/openstack/networking-onos>`__
networking-ovn `https://git.openstack.org/openstack/networking-ovn <https://git.openstack.org/cgit/openstack/networking-ovn>`__
networking-ovs-dpdk `https://git.openstack.org/openstack/networking-ovs-dpdk <https://git.openstack.org/cgit/openstack/networking-ovs-dpdk>`__
networking-plumgrid `https://git.openstack.org/openstack/networking-plumgrid <https://git.openstack.org/cgit/openstack/networking-plumgrid>`__
networking-powervm `https://git.openstack.org/openstack/networking-powervm <https://git.openstack.org/cgit/openstack/networking-powervm>`__
networking-sfc `https://git.openstack.org/openstack/networking-sfc <https://git.openstack.org/cgit/openstack/networking-sfc>`__
networking-vpp `https://git.openstack.org/openstack/networking-vpp <https://git.openstack.org/cgit/openstack/networking-vpp>`__
networking-vsphere `https://git.openstack.org/openstack/networking-vsphere <https://git.openstack.org/cgit/openstack/networking-vsphere>`__
neutron `https://git.openstack.org/openstack/neutron <https://git.openstack.org/cgit/openstack/neutron>`__
neutron-dynamic-routing `https://git.openstack.org/openstack/neutron-dynamic-routing <https://git.openstack.org/cgit/openstack/neutron-dynamic-routing>`__
neutron-fwaas `https://git.openstack.org/openstack/neutron-fwaas <https://git.openstack.org/cgit/openstack/neutron-fwaas>`__
neutron-fwaas-dashboard `https://git.openstack.org/openstack/neutron-fwaas-dashboard <https://git.openstack.org/cgit/openstack/neutron-fwaas-dashboard>`__
neutron-lbaas `https://git.openstack.org/openstack/neutron-lbaas <https://git.openstack.org/cgit/openstack/neutron-lbaas>`__
neutron-lbaas-dashboard `https://git.openstack.org/openstack/neutron-lbaas-dashboard <https://git.openstack.org/cgit/openstack/neutron-lbaas-dashboard>`__
neutron-vpnaas `https://git.openstack.org/openstack/neutron-vpnaas <https://git.openstack.org/cgit/openstack/neutron-vpnaas>`__
neutron-vpnaas-dashboard `https://git.openstack.org/openstack/neutron-vpnaas-dashboard <https://git.openstack.org/cgit/openstack/neutron-vpnaas-dashboard>`__
nova-dpm `https://git.openstack.org/openstack/nova-dpm <https://git.openstack.org/cgit/openstack/nova-dpm>`__
nova-lxd `https://git.openstack.org/openstack/nova-lxd <https://git.openstack.org/cgit/openstack/nova-lxd>`__
nova-mksproxy `https://git.openstack.org/openstack/nova-mksproxy <https://git.openstack.org/cgit/openstack/nova-mksproxy>`__
nova-powervm `https://git.openstack.org/openstack/nova-powervm <https://git.openstack.org/cgit/openstack/nova-powervm>`__
oaktree `https://git.openstack.org/openstack/oaktree <https://git.openstack.org/cgit/openstack/oaktree>`__
octavia `https://git.openstack.org/openstack/octavia <https://git.openstack.org/cgit/openstack/octavia>`__
octavia-dashboard `https://git.openstack.org/openstack/octavia-dashboard <https://git.openstack.org/cgit/openstack/octavia-dashboard>`__
os-xenapi `https://git.openstack.org/openstack/os-xenapi <https://git.openstack.org/cgit/openstack/os-xenapi>`__
osprofiler `https://git.openstack.org/openstack/osprofiler <https://git.openstack.org/cgit/openstack/osprofiler>`__
panko `https://git.openstack.org/openstack/panko <https://git.openstack.org/cgit/openstack/panko>`__
patrole `https://git.openstack.org/openstack/patrole <https://git.openstack.org/cgit/openstack/patrole>`__
picasso `https://git.openstack.org/openstack/picasso <https://git.openstack.org/cgit/openstack/picasso>`__
rally `https://git.openstack.org/openstack/rally <https://git.openstack.org/cgit/openstack/rally>`__
sahara `https://git.openstack.org/openstack/sahara <https://git.openstack.org/cgit/openstack/sahara>`__
sahara-dashboard `https://git.openstack.org/openstack/sahara-dashboard <https://git.openstack.org/cgit/openstack/sahara-dashboard>`__
scalpels `https://git.openstack.org/openstack/scalpels <https://git.openstack.org/cgit/openstack/scalpels>`__
searchlight `https://git.openstack.org/openstack/searchlight <https://git.openstack.org/cgit/openstack/searchlight>`__
searchlight-ui `https://git.openstack.org/openstack/searchlight-ui <https://git.openstack.org/cgit/openstack/searchlight-ui>`__
senlin `https://git.openstack.org/openstack/senlin <https://git.openstack.org/cgit/openstack/senlin>`__
solum `https://git.openstack.org/openstack/solum <https://git.openstack.org/cgit/openstack/solum>`__
stackube `https://git.openstack.org/openstack/stackube <https://git.openstack.org/cgit/openstack/stackube>`__
tacker `https://git.openstack.org/openstack/tacker <https://git.openstack.org/cgit/openstack/tacker>`__
tap-as-a-service `https://git.openstack.org/openstack/tap-as-a-service <https://git.openstack.org/cgit/openstack/tap-as-a-service>`__
tap-as-a-service-dashboard `https://git.openstack.org/openstack/tap-as-a-service-dashboard <https://git.openstack.org/cgit/openstack/tap-as-a-service-dashboard>`__
tricircle `https://git.openstack.org/openstack/tricircle <https://git.openstack.org/cgit/openstack/tricircle>`__
trio2o `https://git.openstack.org/openstack/trio2o <https://git.openstack.org/cgit/openstack/trio2o>`__
trove `https://git.openstack.org/openstack/trove <https://git.openstack.org/cgit/openstack/trove>`__
trove-dashboard `https://git.openstack.org/openstack/trove-dashboard <https://git.openstack.org/cgit/openstack/trove-dashboard>`__
valet `https://git.openstack.org/openstack/valet <https://git.openstack.org/cgit/openstack/valet>`__
vitrage `https://git.openstack.org/openstack/vitrage <https://git.openstack.org/cgit/openstack/vitrage>`__
vitrage-dashboard `https://git.openstack.org/openstack/vitrage-dashboard <https://git.openstack.org/cgit/openstack/vitrage-dashboard>`__
vmware-nsx `https://git.openstack.org/openstack/vmware-nsx <https://git.openstack.org/cgit/openstack/vmware-nsx>`__
vmware-vspc `https://git.openstack.org/openstack/vmware-vspc <https://git.openstack.org/cgit/openstack/vmware-vspc>`__
watcher `https://git.openstack.org/openstack/watcher <https://git.openstack.org/cgit/openstack/watcher>`__
watcher-dashboard `https://git.openstack.org/openstack/watcher-dashboard <https://git.openstack.org/cgit/openstack/watcher-dashboard>`__
zaqar `https://git.openstack.org/openstack/zaqar <https://git.openstack.org/cgit/openstack/zaqar>`__
zaqar-ui `https://git.openstack.org/openstack/zaqar-ui <https://git.openstack.org/cgit/openstack/zaqar-ui>`__
zun `https://git.openstack.org/openstack/zun <https://git.openstack.org/cgit/openstack/zun>`__
zun-ui `https://git.openstack.org/openstack/zun-ui <https://git.openstack.org/cgit/openstack/zun-ui>`__
====================================== ===
Drivers
=======
+--------------------+-------------------------------------------------+------------------+
|Plugin Name |URL |Comments |
+--------------------+-------------------------------------------------+------------------+
|dragonflow |git://git.openstack.org/openstack/dragonflow |[d1]_ |
+--------------------+-------------------------------------------------+------------------+
|odl |git://git.openstack.org/openstack/networking-odl |[d2]_ |
+--------------------+-------------------------------------------------+------------------+
.. [d1] demonstrates example of installing 3rd party SDN controller
.. [d2] demonstrates a pretty advanced set of modes that that allow
one to run OpenDayLight either from a pre-existing install, or
also from source
Alternate Configs
=================
+-------------+------------------------------------------------------------+------------+
| Plugin Name | URL | Comments |
| | | |
+-------------+------------------------------------------------------------+------------+
|glusterfs |git://git.openstack.org/stackforge/devstack-plugin-glusterfs| |
+-------------+------------------------------------------------------------+------------+
| | | |
+-------------+------------------------------------------------------------+------------+
Additional Services
===================
+----------------+--------------------------------------------------+------------+
| Plugin Name | URL | Comments |
| | | |
+----------------+--------------------------------------------------+------------+
|ec2-api |git://git.openstack.org/stackforge/ec2api |[as1]_ |
+----------------+--------------------------------------------------+------------+
|ironic-inspector|git://git.openstack.org/openstack/ironic-inspector| |
+----------------+--------------------------------------------------+------------+
| | | |
+----------------+--------------------------------------------------+------------+
.. [as1] first functional devstack plugin, hence why used in most of
the examples.
+19 -9
View File
@@ -19,7 +19,16 @@ DevStack supports a standard mechanism for including plugins from
external repositories. The plugin interface assumes the following:
An external git repository that includes a ``devstack/`` top level
directory. Inside this directory there can be 2 files.
directory. Inside this directory there can be 3 files.
- ``override-defaults`` - a file containing global variables that
will be sourced before the lib/* files. This allows the plugin
to override the defaults that are otherwise set in the lib/*
files.
For example, override-defaults may export CINDER_ENABLED_BACKENDS
to include the plugin-specific storage backend and thus be able
to override the default lvm only storage backend for Cinder.
- ``settings`` - a file containing global variables that will be
sourced very early in the process. This is helpful if other plugins
@@ -38,7 +47,7 @@ directory. Inside this directory there can be 2 files.
- ``plugin.sh`` - the actual plugin. It is executed by devstack at
well defined points during a ``stack.sh`` run. The plugin.sh
internal structure is discussed bellow.
internal structure is discussed below.
Plugins are registered by adding the following to the localrc section
@@ -56,7 +65,7 @@ They are added in the following format::
An example would be as follows::
enable_plugin ec2api git://git.openstack.org/stackforge/ec2api
enable_plugin ec2-api https://git.openstack.org/openstack/ec2-api
plugin.sh contract
==================
@@ -90,6 +99,8 @@ The current full list of ``mode`` and ``phase`` are:
should exist at this point.
- **extra** - Called near the end after layer 1 and 2 services have
been started.
- **test-config** - Called at the end of devstack used to configure tempest
or any other test environments
- **unstack** - Called by ``unstack.sh`` before other services are shut
down.
@@ -202,13 +213,12 @@ Using Plugins in the OpenStack Gate
For everyday use, DevStack plugins can exist in any git tree that's
accessible on the internet. However, when using DevStack plugins in
the OpenStack gate, they must live in projects in OpenStack's
gerrit. Both ``openstack`` namespace and ``stackforge`` namespace are
fine. This allows testing of the plugin as well as provides network
gerrit. This allows testing of the plugin as well as provides network
isolation against upstream git repository failures (which we see often
enough to be an issue).
Ideally a plugin will be included within the ``devstack`` directory of
the project they are being tested. For example, the stackforge/ec2-api
the project they are being tested. For example, the openstack/ec2-api
project has its plugin support in its own tree.
However, some times a DevStack plugin might be used solely to
@@ -218,7 +228,7 @@ include: integration of back end storage (e.g. ceph or glusterfs),
integration of SDN controllers (e.g. ovn, OpenDayLight), or
integration of alternate RPC systems (e.g. zmq, qpid). In these cases
the best practice is to build a dedicated
``stackforge/devstack-plugin-FOO`` project.
``openstack/devstack-plugin-FOO`` project.
To enable a plugin to be used in a gate job, the following lines will
be needed in your ``jenkins/jobs/<project>.yaml`` definition in
@@ -228,12 +238,12 @@ be needed in your ``jenkins/jobs/<project>.yaml`` definition in
# Because we are testing a non standard project, add the
# our project repository. This makes zuul do the right
# reference magic for testing changes.
export PROJECTS="stackforge/ec2-api $PROJECTS"
export PROJECTS="openstack/ec2-api $PROJECTS"
# note the actual url here is somewhat irrelevant because it
# caches in nodepool, however make it a valid url for
# documentation purposes.
export DEVSTACK_LOCAL_CONFIG="enable_plugin ec2-api git://git.openstack.org/stackforge/ec2-api"
export DEVSTACK_LOCAL_CONFIG="enable_plugin ec2-api https://git.openstack.org/openstack/ec2-api"
See Also
========
-66
View File
@@ -1,66 +0,0 @@
===========================
stackrc - DevStack Settings
===========================
``stackrc`` is the primary configuration file for DevStack. It contains
all of the settings that control the services started and the
repositories used to download the source for those services. ``stackrc``
sources the ``localrc`` section of ``local.conf`` to perform the default
overrides.
DATABASE\_TYPE
Select the database backend to use. The default is ``mysql``,
``postgresql`` is also available.
ENABLED\_SERVICES
Specify which services to launch. These generally correspond to
screen tabs. The default includes: Glance (API and Registry),
Keystone, Nova (API, Certificate, Object Store, Compute, Network,
Scheduler, Certificate Authentication), Cinder
(Scheduler, API, Volume), Horizon, MySQL, RabbitMQ, Tempest.
::
ENABLED_SERVICES=g-api,g-reg,key,n-api,n-crt,n-obj,n-cpu,n-net,n-cond,c-sch,c-api,c-vol,n-sch,n-cauth,horizon,rabbit,tempest,$DATABASE_TYPE
Other services that are not enabled by default can be enabled in
``localrc``. For example, to add Swift, use the following service
names:
::
enable_service s-proxy s-object s-container s-account
A service can similarly be disabled:
::
disable_service horizon
Service Repos
The Git repositories used to check out the source for each service
are controlled by a pair of variables set for each service.
``*_REPO`` points to the repository and ``*_BRANCH`` selects which
branch to check out. These may be overridden in ``local.conf`` to
pull source from a different repo for testing, such as a Gerrit
branch proposal. ``GIT_BASE`` points to the primary repository
server.
::
NOVA_REPO=$GIT_BASE/openstack/nova.git
NOVA_BRANCH=master
To pull a branch directly from Gerrit, get the repo and branch from
the Gerrit review page:
::
git fetch https://review.openstack.org/p/openstack/nova refs/changes/50/5050/1 && git checkout FETCH_HEAD
The repo is the stanza following ``fetch`` and the branch is the
stanza following that:
::
NOVA_REPO=https://review.openstack.org/p/openstack/nova
NOVA_BRANCH=refs/changes/50/5050/1
+171
View File
@@ -0,0 +1,171 @@
===========================
Using Systemd in DevStack
===========================
By default DevStack is run with all the services as systemd unit
files. Systemd is now the default init system for nearly every Linux
distro, and systemd encodes and solves many of the problems related to
poorly running processes.
Why this instead of screen?
===========================
The screen model for DevStack was invented when the number of services
that a DevStack user was going to run was typically < 10. This made
screen hot keys to jump around very easy. However, the landscape has
changed (not all services are stoppable in screen as some are under
Apache, there are typically at least 20 items)
There is also a common developer workflow of changing code in more
than one service, and needing to restart a bunch of services for that
to take effect.
Unit Structure
==============
.. note::
Originally we actually wanted to do this as user units, however
there are issues with running this under non interactive
shells. For now, we'll be running as system units. Some user unit
code is left in place in case we can switch back later.
All DevStack user units are created as a part of the DevStack slice
given the name ``devstack@$servicename.service``. This makes it easy
to understand which services are part of the devstack run, and lets us
disable / stop them in a single command.
Manipulating Units
==================
Assuming the unit ``n-cpu`` to make the examples more clear.
Enable a unit (allows it to be started)::
sudo systemctl enable devstack@n-cpu.service
Disable a unit::
sudo systemctl disable devstack@n-cpu.service
Start a unit::
sudo systemctl start devstack@n-cpu.service
Stop a unit::
sudo systemctl stop devstack@n-cpu.service
Restart a unit::
sudo systemctl restart devstack@n-cpu.service
See status of a unit::
sudo systemctl status devstack@n-cpu.service
Operating on more than one unit at a time
-----------------------------------------
Systemd supports wildcarding for unit operations. To restart every
service in devstack you can do that following::
sudo systemctl restart devstack@*
Or to see the status of all Nova processes you can do::
sudo systemctl status devstack@n-*
We'll eventually make the unit names a bit more meaningful so that
it's easier to understand what you are restarting.
.. _journalctl-examples:
Querying Logs
=============
One of the other major things that comes with systemd is journald, a
consolidated way to access logs (including querying through structured
metadata). This is accessed by the user via ``journalctl`` command.
Logs can be accessed through ``journalctl``. journalctl has powerful
query facilities. We'll start with some common options.
Follow logs for a specific service::
journalctl -f --unit devstack@n-cpu.service
Following logs for multiple services simultaneously::
journalctl -f --unit devstack@n-cpu.service --unit
devstack@n-cond.service
or you can even do wild cards to follow all the nova services::
journalctl -f --unit devstack@n-*
Use higher precision time stamps::
journalctl -f -o short-precise --unit devstack@n-cpu.service
By default, journalctl strips out "unprintable" characters, including
ASCII color codes. To keep the color codes (which can be interpreted by
an appropriate terminal/pager - e.g. ``less``, the default)::
journalctl -a --unit devstack@n-cpu.service
When outputting to the terminal using the default pager, long lines
appear to be truncated, but horizontal scrolling is supported via the
left/right arrow keys.
See ``man 1 journalctl`` for more.
Known Issues
============
Be careful about systemd python libraries. There are 3 of them on
pypi, and they are all very different. They unfortunately all install
into the ``systemd`` namespace, which can cause some issues.
- ``systemd-python`` - this is the upstream maintained library, it has
a version number like systemd itself (currently ``234``). This is
the one you want.
- ``systemd`` - a python 3 only library, not what you want.
- ``python-systemd`` - another library you don't want. Installing it
on a system will break ansible's ability to run.
If we were using user units, the ``[Service]`` - ``Group=`` parameter
doesn't seem to work with user units, even though the documentation
says that it should. This means that we will need to do an explicit
``/usr/bin/sg``. This has the downside of making the SYSLOG_IDENTIFIER
be ``sg``. We can explicitly set that with ``SyslogIdentifier=``, but
it's really unfortunate that we're going to need this work
around. This is currently not a problem because we're only using
system units.
Future Work
===========
user units
----------
It would be great if we could do services as user units, so that there
is a clear separation of code being run as not root, to ensure running
as root never accidentally gets baked in as an assumption to
services. However, user units interact poorly with devstack-gate and
the way that commands are run as users with ansible and su.
Maybe someday we can figure that out.
References
==========
- Arch Linux Wiki - https://wiki.archlinux.org/index.php/Systemd/User
- Python interface to journald -
https://www.freedesktop.org/software/systemd/python-systemd/journal.html
- Systemd documentation on service files -
https://www.freedesktop.org/software/systemd/man/systemd.service.html
- Systemd documentation on exec (can be used to impact service runs) -
https://www.freedesktop.org/software/systemd/man/systemd.exec.html
-106
View File
@@ -1,106 +0,0 @@
#!/usr/bin/env bash
# **cinder_cert.sh**
# This script is a simple wrapper around the tempest volume api tests
# It requires that you have a working and functional devstack install
# and that you've enabled your device driver by making the necessary
# modifications to /etc/cinder/cinder.conf
# This script will refresh your openstack repo's and restart the cinder
# services to pick up your driver changes.
# please NOTE; this script assumes your devstack install is functional
# and includes tempest. A good first step is to make sure you can
# create volumes on your device before you even try and run this script.
# It also assumes default install location (/opt/stack/xxx)
# to aid in debug, you should also verify that you've added
# an output directory for screen logs:
#
# SCREEN_LOGDIR=/opt/stack/screen-logs
set -o pipefail
CERT_DIR=$(cd $(dirname "$0") && pwd)
TOP_DIR=$(cd $CERT_DIR/..; pwd)
source $TOP_DIR/functions
source $TOP_DIR/stackrc
source $TOP_DIR/openrc
source $TOP_DIR/lib/infra
source $TOP_DIR/lib/tempest
source $TOP_DIR/lib/cinder
TEMPFILE=`mktemp`
RECLONE=True
function log_message {
MESSAGE=$1
STEP_HEADER=$2
if [[ "$STEP_HEADER" = "True" ]]; then
echo -e "\n========================================================" | tee -a $TEMPFILE
fi
echo -e `date +%m/%d/%y/%T:`"${MESSAGE}" | tee -a $TEMPFILE
if [[ "$STEP_HEADER" = "True" ]]; then
echo -e "========================================================" | tee -a $TEMPFILE
fi
}
if [[ "$OFFLINE" = "True" ]]; then
echo "ERROR: Driver cert requires fresh clone/pull from ${CINDER_BRANCH}"
echo " Please set OFFLINE=False and retry."
exit 1
fi
log_message "RUNNING CINDER DRIVER CERTIFICATION CHECK", True
log_message "Output is being logged to: $TEMPFILE"
cd $CINDER_DIR
log_message "Cloning to ${CINDER_REPO}...", True
install_cinder
log_message "Pull a fresh Clone of cinder repo...", True
git status | tee -a $TEMPFILE
git log --pretty=oneline -n 1 | tee -a $TEMPFILE
log_message "Gathering copy of cinder.conf file (passwords will be scrubbed)...", True
cat /etc/cinder/cinder.conf | egrep -v "(^#.*|^$)" | tee -a $TEMPFILE
sed -i "s/\(.*password.*=\).*$/\1 xxx/i" $TEMPFILE
log_message "End of cinder.conf.", True
cd $TOP_DIR
# Verify tempest is installed/enabled
if ! is_service_enabled tempest; then
log_message "ERROR!!! Cert requires tempest in enabled_services!", True
log_message" Please add tempest to enabled_services and retry."
exit 1
fi
cd $TEMPEST_DIR
install_tempest
log_message "Verify tempest is current....", True
git status | tee -a $TEMPFILE
log_message "Check status and get latest commit..."
git log --pretty=oneline -n 1 | tee -a $TEMPFILE
#stop and restart cinder services
log_message "Restart Cinder services...", True
stop_cinder
sleep 1
start_cinder
sleep 5
# run tempest api/volume/test_*
log_message "Run the actual tempest volume tests (./tools/pretty_tox.sh volume)...", True
./tools/pretty_tox.sh volume 2>&1 | tee -a $TEMPFILE
if [[ $? = 0 ]]; then
log_message "CONGRATULATIONS!!! Device driver PASSED!", True
log_message "Submit output: ($TEMPFILE)"
exit 0
else
log_message "SORRY!!! Device driver FAILED!", True
log_message "Check output in $TEMPFILE"
exit 1
fi
-40
View File
@@ -1,40 +0,0 @@
#!/usr/bin/env bash
#
# source eucarc [username] [tenantname]
#
# Create EC2 credentials for the current user as defined by OS_TENANT_NAME:OS_USERNAME
# Optionally set the tenant/username via openrc
if [[ -n "$1" ]]; then
USERNAME=$1
fi
if [[ -n "$2" ]]; then
TENANT=$2
fi
# Find the other rc files
RC_DIR=$(cd $(dirname "${BASH_SOURCE:-$0}") && pwd)
# Get user configuration
source $RC_DIR/openrc
# Set the ec2 url so euca2ools works
export EC2_URL=$(openstack catalog show ec2 | awk '/ publicURL: / { print $4 }')
# Create EC2 credentials for the current user
CREDS=$(openstack ec2 credentials create)
export EC2_ACCESS_KEY=$(echo "$CREDS" | awk '/ access / { print $4 }')
export EC2_SECRET_KEY=$(echo "$CREDS" | awk '/ secret / { print $4 }')
# Euca2ools Certificate stuff for uploading bundles
# See exercises/bundle.sh to see how to get certs using nova cli
NOVA_KEY_DIR=${NOVA_KEY_DIR:-$RC_DIR}
export S3_URL=$(openstack catalog show s3 | awk '/ publicURL: / { print $4 }')
export EC2_USER_ID=42 # nova does not use user id, but bundling requires it
export EC2_PRIVATE_KEY=${NOVA_KEY_DIR}/pk.pem
export EC2_CERT=${NOVA_KEY_DIR}/cert.pem
export NOVA_CERT=${NOVA_KEY_DIR}/cacert.pem
export EUCALYPTUS_CERT=${NOVA_CERT} # euca-bundle-image seems to require this set
alias ec2-bundle-image="ec2-bundle-image --cert ${EC2_CERT} --privatekey ${EC2_PRIVATE_KEY} --user ${EC2_USER_ID} --ec2cert ${NOVA_CERT}"
alias ec2-upload-bundle="ec2-upload-bundle -a ${EC2_ACCESS_KEY} -s ${EC2_SECRET_KEY} --url ${S3_URL} --ec2cert ${NOVA_CERT}"
+2 -2
View File
@@ -14,11 +14,11 @@ source $TOP_DIR/stackrc
# Run everything in the exercises/ directory that isn't explicitly disabled
# comma separated list of script basenames to skip
# to refrain from exercising euca.sh use ``SKIP_EXERCISES=euca``
# to refrain from exercising foo.sh use ``SKIP_EXERCISES=foo``
SKIP_EXERCISES=${SKIP_EXERCISES:-""}
# comma separated list of script basenames to run
# to run only euca.sh use ``RUN_EXERCISES=euca``
# to run only foo.sh use ``RUN_EXERCISES=foo``
basenames=${RUN_EXERCISES:-""}
EXERCISE_DIR=$TOP_DIR/exercises
-6
View File
@@ -21,12 +21,6 @@ export RUNNING_TIMEOUT=${RUNNING_TIMEOUT:-$(($BOOT_TIMEOUT + $ACTIVE_TIMEOUT))}
# Max time to wait for a vm to terminate
export TERMINATE_TIMEOUT=${TERMINATE_TIMEOUT:-30}
# Max time to wait for a euca-volume command to propagate
export VOLUME_TIMEOUT=${VOLUME_TIMEOUT:-30}
# Max time to wait for a euca-delete command to propagate
export VOLUME_DELETE_TIMEOUT=${SNAPSHOT_DELETE_TIMEOUT:-60}
# The size of the volume we want to boot from; some storage back-ends
# do not allow a disk resize, so it's important that this can be tuned
export DEFAULT_VOLUME_SIZE=${DEFAULT_VOLUME_SIZE:-1}
+1 -1
View File
@@ -20,7 +20,7 @@ echo "**************************************************"
set -o errexit
# Print the commands being run so that we can see the command that triggers
# an error. It is also useful for following allowing as the install occurs.
# an error. It is also useful for following as the install occurs.
set -o xtrace
+3 -2
View File
@@ -16,7 +16,7 @@ echo "*********************************************************************"
set -o errexit
# Print the commands being run so that we can see the command that triggers
# an error. It is also useful for following allowing as the install occurs.
# an error. It is also useful for following as the install occurs.
set -o xtrace
@@ -32,6 +32,7 @@ source $TOP_DIR/functions
# Import project functions
source $TOP_DIR/lib/cinder
source $TOP_DIR/lib/neutron
source $TOP_DIR/lib/neutron-legacy
# Import configuration
@@ -64,7 +65,7 @@ VOL_NAME=${VOL_NAME:-ex-vol-bfv}
# Launching a server
# ==================
# List servers for tenant:
# List servers for project:
nova list
# Images
-74
View File
@@ -1,74 +0,0 @@
#!/usr/bin/env bash
# **bundle.sh**
# we will use the ``euca2ools`` cli tool that wraps the python boto
# library to test ec2 bundle upload compatibility
echo "*********************************************************************"
echo "Begin DevStack Exercise: $0"
echo "*********************************************************************"
# This script exits on an error so that errors don't compound and you see
# only the first error that occurred.
set -o errexit
# Print the commands being run so that we can see the command that triggers
# an error. It is also useful for following allowing as the install occurs.
set -o xtrace
# Settings
# ========
# Keep track of the current directory
EXERCISE_DIR=$(cd $(dirname "$0") && pwd)
TOP_DIR=$(cd $EXERCISE_DIR/..; pwd)
# Import common functions
source $TOP_DIR/functions
# Import EC2 configuration
source $TOP_DIR/eucarc
# Import exercise configuration
source $TOP_DIR/exerciserc
# Remove old certificates
rm -f $TOP_DIR/cacert.pem
rm -f $TOP_DIR/cert.pem
rm -f $TOP_DIR/pk.pem
# If nova api is not enabled we exit with exitcode 55 so that
# the exercise is skipped
is_service_enabled n-api || exit 55
# Get Certificates
nova x509-get-root-cert $TOP_DIR/cacert.pem
nova x509-create-cert $TOP_DIR/pk.pem $TOP_DIR/cert.pem
# Max time to wait for image to be registered
REGISTER_TIMEOUT=${REGISTER_TIMEOUT:-15}
BUCKET=testbucket
IMAGE=bundle.img
truncate -s 5M /tmp/$IMAGE
euca-bundle-image -i /tmp/$IMAGE || die $LINENO "Failure bundling image $IMAGE"
euca-upload-bundle --debug -b $BUCKET -m /tmp/$IMAGE.manifest.xml || die $LINENO "Failure uploading bundle $IMAGE to $BUCKET"
AMI=`euca-register $BUCKET/$IMAGE.manifest.xml | cut -f2`
die_if_not_set $LINENO AMI "Failure registering $BUCKET/$IMAGE"
# Wait for the image to become available
if ! timeout $REGISTER_TIMEOUT sh -c "while euca-describe-images | grep $AMI | grep -q available; do sleep 1; done"; then
die $LINENO "Image $AMI not available within $REGISTER_TIMEOUT seconds"
fi
# Clean up
euca-deregister $AMI || die $LINENO "Failure deregistering $AMI"
set +o xtrace
echo "*********************************************************************"
echo "SUCCESS: End DevStack Exercise: $0"
echo "*********************************************************************"
+9 -11
View File
@@ -13,7 +13,7 @@ echo "*********************************************************************"
set -o errexit
# Print the commands being run so that we can see the command that triggers
# an error. It is also useful for following allowing as the install occurs.
# an error. It is also useful for following as the install occurs.
set -o xtrace
@@ -41,22 +41,21 @@ unset NOVA_PROJECT_ID
unset NOVA_REGION_NAME
unset NOVA_URL
unset NOVA_USERNAME
unset NOVA_VERSION
# Save the known variables for later
export x_TENANT_NAME=$OS_TENANT_NAME
export x_PROJECT_NAME=$OS_PROJECT_NAME
export x_USERNAME=$OS_USERNAME
export x_PASSWORD=$OS_PASSWORD
export x_AUTH_URL=$OS_AUTH_URL
# Unset the usual variables to force argument processing
unset OS_TENANT_NAME
unset OS_PROJECT_NAME
unset OS_USERNAME
unset OS_PASSWORD
unset OS_AUTH_URL
# Common authentication args
TENANT_ARG="--os-tenant-name=$x_TENANT_NAME"
PROJECT_ARG="--os-project-name=$x_PROJECT_NAME"
ARGS="--os-username=$x_USERNAME --os-password=$x_PASSWORD --os-auth-url=$x_AUTH_URL"
# Set global return
@@ -69,7 +68,7 @@ if [[ "$ENABLED_SERVICES" =~ "key" ]]; then
STATUS_KEYSTONE="Skipped"
else
echo -e "\nTest Keystone"
if openstack $TENANT_ARG $ARGS catalog show identity; then
if openstack $PROJECT_ARG $ARGS catalog show identity; then
STATUS_KEYSTONE="Succeeded"
else
STATUS_KEYSTONE="Failed"
@@ -84,11 +83,10 @@ fi
if [[ "$ENABLED_SERVICES" =~ "n-api" ]]; then
if [[ "$SKIP_EXERCISES" =~ "n-api" ]]; then
STATUS_NOVA="Skipped"
STATUS_EC2="Skipped"
else
# Test OSAPI
echo -e "\nTest Nova"
if nova $TENANT_ARG $ARGS flavor-list; then
if nova $PROJECT_ARG $ARGS flavor-list; then
STATUS_NOVA="Succeeded"
else
STATUS_NOVA="Failed"
@@ -105,7 +103,7 @@ if [[ "$ENABLED_SERVICES" =~ "c-api" ]]; then
STATUS_CINDER="Skipped"
else
echo -e "\nTest Cinder"
if cinder $TENANT_ARG $ARGS list; then
if cinder $PROJECT_ARG $ARGS list; then
STATUS_CINDER="Succeeded"
else
STATUS_CINDER="Failed"
@@ -122,7 +120,7 @@ if [[ "$ENABLED_SERVICES" =~ "g-api" ]]; then
STATUS_GLANCE="Skipped"
else
echo -e "\nTest Glance"
if openstack $TENANT_ARG $ARGS image list; then
if openstack $PROJECT_ARG $ARGS image list; then
STATUS_GLANCE="Succeeded"
else
STATUS_GLANCE="Failed"
@@ -139,7 +137,7 @@ if [[ "$ENABLED_SERVICES" =~ "swift" || "$ENABLED_SERVICES" =~ "s-proxy" ]]; the
STATUS_SWIFT="Skipped"
else
echo -e "\nTest Swift"
if swift $TENANT_ARG $ARGS stat; then
if swift $PROJECT_ARG $ARGS stat; then
STATUS_SWIFT="Succeeded"
else
STATUS_SWIFT="Failed"
+1 -18
View File
@@ -13,7 +13,7 @@ echo "*********************************************************************"
set -o errexit
# Print the commands being run so that we can see the command that triggers
# an error. It is also useful for following allowing as the install occurs.
# an error. It is also useful for following as the install occurs.
set -o xtrace
@@ -41,7 +41,6 @@ unset NOVA_PROJECT_ID
unset NOVA_REGION_NAME
unset NOVA_URL
unset NOVA_USERNAME
unset NOVA_VERSION
for i in OS_TENANT_NAME OS_USERNAME OS_PASSWORD OS_AUTH_URL; do
is_set $i
@@ -79,7 +78,6 @@ fi
if [[ "$ENABLED_SERVICES" =~ "n-api" ]]; then
if [[ "$SKIP_EXERCISES" =~ "n-api" ]]; then
STATUS_NOVA="Skipped"
STATUS_EC2="Skipped"
else
# Test OSAPI
echo -e "\nTest Nova"
@@ -90,20 +88,6 @@ if [[ "$ENABLED_SERVICES" =~ "n-api" ]]; then
RETURN=1
fi
# Test EC2 API
echo -e "\nTest EC2"
# Get EC2 creds
source $TOP_DIR/eucarc
if euca-describe-images; then
STATUS_EC2="Succeeded"
else
STATUS_EC2="Failed"
RETURN=1
fi
# Clean up side effects
unset NOVA_VERSION
fi
fi
@@ -174,7 +158,6 @@ function report {
echo -e "\n"
report "Keystone" $STATUS_KEYSTONE
report "Nova" $STATUS_NOVA
report "EC2" $STATUS_EC2
report "Cinder" $STATUS_CINDER
report "Glance" $STATUS_GLANCE
report "Swift" $STATUS_SWIFT
-192
View File
@@ -1,192 +0,0 @@
#!/usr/bin/env bash
# **euca.sh**
# we will use the ``euca2ools`` cli tool that wraps the python boto
# library to test ec2 compatibility
echo "*********************************************************************"
echo "Begin DevStack Exercise: $0"
echo "*********************************************************************"
# This script exits on an error so that errors don't compound and you see
# only the first error that occurred.
set -o errexit
# Print the commands being run so that we can see the command that triggers
# an error. It is also useful for following allowing as the install occurs.
set -o xtrace
# Settings
# ========
# Keep track of the current directory
EXERCISE_DIR=$(cd $(dirname "$0") && pwd)
TOP_DIR=$(cd $EXERCISE_DIR/..; pwd)
VOLUME_SIZE=1
ATTACH_DEVICE=/dev/vdc
# Import common functions
source $TOP_DIR/functions
# Import EC2 configuration
source $TOP_DIR/eucarc
# Import exercise configuration
source $TOP_DIR/exerciserc
# Import project functions
source $TOP_DIR/lib/neutron-legacy
# If nova api is not enabled we exit with exitcode 55 so that
# the exercise is skipped
is_service_enabled n-api || exit 55
# Instance type to create
DEFAULT_INSTANCE_TYPE=${DEFAULT_INSTANCE_TYPE:-m1.tiny}
# Boot this image, use first AMI image if unset
DEFAULT_IMAGE_NAME=${DEFAULT_IMAGE_NAME:-ami}
# Security group name
SECGROUP=${SECGROUP:-euca_secgroup}
# Launching a server
# ==================
# Find a machine image to boot
IMAGE=`euca-describe-images | grep machine | grep ${DEFAULT_IMAGE_NAME} | cut -f2 | head -n1`
die_if_not_set $LINENO IMAGE "Failure getting image $DEFAULT_IMAGE_NAME"
if is_service_enabled n-cell; then
# Cells does not support security groups, so force the use of "default"
SECGROUP="default"
echo "Using the default security group because of Cells."
else
# Add a secgroup
if ! euca-describe-groups | grep -q $SECGROUP; then
euca-add-group -d "$SECGROUP description" $SECGROUP
if ! timeout $ASSOCIATE_TIMEOUT sh -c "while ! euca-describe-groups | grep -q $SECGROUP; do sleep 1; done"; then
die $LINENO "Security group not created"
fi
fi
fi
# Launch it
INSTANCE=`euca-run-instances -g $SECGROUP -t $DEFAULT_INSTANCE_TYPE $IMAGE | grep INSTANCE | cut -f2`
die_if_not_set $LINENO INSTANCE "Failure launching instance"
# Assure it has booted within a reasonable time
if ! timeout $RUNNING_TIMEOUT sh -c "while ! euca-describe-instances $INSTANCE | grep -q running; do sleep 1; done"; then
die $LINENO "server didn't become active within $RUNNING_TIMEOUT seconds"
fi
# Volumes
# -------
if is_service_enabled c-vol && ! is_service_enabled n-cell && [ "$VIRT_DRIVER" != "ironic" ]; then
VOLUME_ZONE=`euca-describe-availability-zones | head -n1 | cut -f2`
die_if_not_set $LINENO VOLUME_ZONE "Failure to find zone for volume"
VOLUME=`euca-create-volume -s 1 -z $VOLUME_ZONE | cut -f2`
die_if_not_set $LINENO VOLUME "Failure to create volume"
# Test that volume has been created
VOLUME=`euca-describe-volumes $VOLUME | cut -f2`
die_if_not_set $LINENO VOLUME "Failure to get volume"
# Test volume has become available
if ! timeout $RUNNING_TIMEOUT sh -c "while ! euca-describe-volumes $VOLUME | grep -q available; do sleep 1; done"; then
die $LINENO "volume didn't become available within $RUNNING_TIMEOUT seconds"
fi
# Attach volume to an instance
euca-attach-volume -i $INSTANCE -d $ATTACH_DEVICE $VOLUME || \
die $LINENO "Failure attaching volume $VOLUME to $INSTANCE"
if ! timeout $ACTIVE_TIMEOUT sh -c "while ! euca-describe-volumes $VOLUME | grep -A 1 in-use | grep -q attach; do sleep 1; done"; then
die $LINENO "Could not attach $VOLUME to $INSTANCE"
fi
# Detach volume from an instance
euca-detach-volume $VOLUME || \
die $LINENO "Failure detaching volume $VOLUME to $INSTANCE"
if ! timeout $ACTIVE_TIMEOUT sh -c "while ! euca-describe-volumes $VOLUME | grep -q available; do sleep 1; done"; then
die $LINENO "Could not detach $VOLUME to $INSTANCE"
fi
# Remove volume
euca-delete-volume $VOLUME || \
die $LINENO "Failure to delete volume"
if ! timeout $ACTIVE_TIMEOUT sh -c "while euca-describe-volumes | grep $VOLUME; do sleep 1; done"; then
die $LINENO "Could not delete $VOLUME"
fi
else
echo "Volume Tests Skipped"
fi
if is_service_enabled n-cell; then
echo "Floating IP Tests Skipped because of Cells."
else
# Allocate floating address
FLOATING_IP=`euca-allocate-address | cut -f2`
die_if_not_set $LINENO FLOATING_IP "Failure allocating floating IP"
# describe all instances at this moment
euca-describe-instances
# Associate floating address
euca-associate-address -i $INSTANCE $FLOATING_IP || \
die $LINENO "Failure associating address $FLOATING_IP to $INSTANCE"
# Authorize pinging
euca-authorize -P icmp -s 0.0.0.0/0 -t -1:-1 $SECGROUP || \
die $LINENO "Failure authorizing rule in $SECGROUP"
# Test we can ping our floating ip within ASSOCIATE_TIMEOUT seconds
ping_check $FLOATING_IP $ASSOCIATE_TIMEOUT "$PUBLIC_NETWORK_NAME"
# Revoke pinging
euca-revoke -P icmp -s 0.0.0.0/0 -t -1:-1 $SECGROUP || \
die $LINENO "Failure revoking rule in $SECGROUP"
# Release floating address
euca-disassociate-address $FLOATING_IP || \
die $LINENO "Failure disassociating address $FLOATING_IP"
# Wait just a tick for everything above to complete so release doesn't fail
if ! timeout $ASSOCIATE_TIMEOUT sh -c "while euca-describe-addresses | grep $INSTANCE | grep -q $FLOATING_IP; do sleep 1; done"; then
die $LINENO "Floating ip $FLOATING_IP not disassociated within $ASSOCIATE_TIMEOUT seconds"
fi
# Release floating address
euca-release-address $FLOATING_IP || \
die $LINENO "Failure releasing address $FLOATING_IP"
# Wait just a tick for everything above to complete so terminate doesn't fail
if ! timeout $ASSOCIATE_TIMEOUT sh -c "while euca-describe-addresses | grep -q $FLOATING_IP; do sleep 1; done"; then
die $LINENO "Floating ip $FLOATING_IP not released within $ASSOCIATE_TIMEOUT seconds"
fi
fi
# Terminate instance
euca-terminate-instances $INSTANCE || \
die $LINENO "Failure terminating instance $INSTANCE"
# Assure it has terminated within a reasonable time. The behaviour of this
# case changed with bug/836978. Requesting the status of an invalid instance
# will now return an error message including the instance id, so we need to
# filter that out.
if ! timeout $TERMINATE_TIMEOUT sh -c "while euca-describe-instances $INSTANCE | grep -ve '\(InstanceNotFound\|InvalidInstanceID\.NotFound\)' | grep -q $INSTANCE; do sleep 1; done"; then
die $LINENO "server didn't terminate within $TERMINATE_TIMEOUT seconds"
fi
if [[ "$SECGROUP" = "default" ]] ; then
echo "Skipping deleting default security group"
else
# Delete secgroup
euca-delete-group $SECGROUP || die $LINENO "Failure deleting security group $SECGROUP"
fi
set +o xtrace
echo "*********************************************************************"
echo "SUCCESS: End DevStack Exercise: $0"
echo "*********************************************************************"
+2 -1
View File
@@ -13,7 +13,7 @@ echo "*********************************************************************"
set -o errexit
# Print the commands being run so that we can see the command that triggers
# an error. It is also useful for following allowing as the install occurs.
# an error. It is also useful for following as the install occurs.
set -o xtrace
@@ -31,6 +31,7 @@ source $TOP_DIR/functions
source $TOP_DIR/openrc
# Import project functions
source $TOP_DIR/lib/neutron
source $TOP_DIR/lib/neutron-legacy
# Import exercise configuration
+91 -78
View File
@@ -20,7 +20,7 @@ echo "*********************************************************************"
set -o errtrace
# Print the commands being run so that we can see the command that triggers
# an error. It is also useful for following allowing as the install occurs.
# an error. It is also useful for following as the install occurs.
set -o xtrace
# Environment
@@ -37,6 +37,7 @@ source $TOP_DIR/functions
source $TOP_DIR/openrc
# Import neutron functions
source $TOP_DIR/lib/neutron
source $TOP_DIR/lib/neutron-legacy
# If neutron is not enabled we exit with exitcode 55, which means exercise is skipped.
@@ -48,9 +49,9 @@ source $TOP_DIR/exerciserc
# Neutron Settings
# ----------------
TENANTS="DEMO1"
PROJECTS="DEMO1"
# TODO (nati)_Test public network
#TENANTS="DEMO1,DEMO2"
#PROJECTS="DEMO1,DEMO2"
PUBLIC_NAME="admin"
DEMO1_NAME="demo1"
@@ -91,72 +92,78 @@ DEMO2_ROUTER1_NET="demo2-net1"
# Various functions
# -----------------
function foreach_tenant {
function foreach_project {
COMMAND=$1
for TENANT in ${TENANTS//,/ };do
eval ${COMMAND//%TENANT%/$TENANT}
for PROJECT in ${PROJECTS//,/ };do
eval ${COMMAND//%PROJECT%/$PROJECT}
done
}
function foreach_tenant_resource {
function foreach_project_resource {
COMMAND=$1
RESOURCE=$2
for TENANT in ${TENANTS//,/ };do
eval 'NUM=$'"${TENANT}_NUM_$RESOURCE"
for PROJECT in ${PROJECTS//,/ };do
eval 'NUM=$'"${PROJECT}_NUM_$RESOURCE"
for i in `seq $NUM`;do
local COMMAND_LOCAL=${COMMAND//%TENANT%/$TENANT}
local COMMAND_LOCAL=${COMMAND//%PROJECT%/$PROJECT}
COMMAND_LOCAL=${COMMAND_LOCAL//%NUM%/$i}
eval $COMMAND_LOCAL
done
done
}
function foreach_tenant_vm {
function foreach_project_vm {
COMMAND=$1
foreach_tenant_resource "$COMMAND" 'VM'
foreach_project_resource "$COMMAND" 'VM'
}
function foreach_tenant_net {
function foreach_project_net {
COMMAND=$1
foreach_tenant_resource "$COMMAND" 'NET'
foreach_project_resource "$COMMAND" 'NET'
}
function get_image_id {
local IMAGE_ID=$(openstack image list | egrep " $DEFAULT_IMAGE_NAME " | get_field 1)
local IMAGE_ID
IMAGE_ID=$(openstack image list | egrep " $DEFAULT_IMAGE_NAME " | get_field 1)
die_if_not_set $LINENO IMAGE_ID "Failure retrieving IMAGE_ID"
echo "$IMAGE_ID"
}
function get_tenant_id {
local TENANT_NAME=$1
local TENANT_ID=`openstack project list | grep " $TENANT_NAME " | head -n 1 | get_field 1`
die_if_not_set $LINENO TENANT_ID "Failure retrieving TENANT_ID for $TENANT_NAME"
echo "$TENANT_ID"
function get_project_id {
local PROJECT_NAME=$1
local PROJECT_ID
PROJECT_ID=`openstack project list | grep " $PROJECT_NAME " | head -n 1 | get_field 1`
die_if_not_set $LINENO PROJECT_ID "Failure retrieving PROJECT_ID for $PROJECT_NAME"
echo "$PROJECT_ID"
}
function get_user_id {
local USER_NAME=$1
local USER_ID=`openstack user list | grep $USER_NAME | awk '{print $2}'`
local USER_ID
USER_ID=`openstack user list | grep $USER_NAME | awk '{print $2}'`
die_if_not_set $LINENO USER_ID "Failure retrieving USER_ID for $USER_NAME"
echo "$USER_ID"
}
function get_role_id {
local ROLE_NAME=$1
local ROLE_ID=`openstack role list | grep $ROLE_NAME | awk '{print $2}'`
local ROLE_ID
ROLE_ID=`openstack role assignment list | grep $ROLE_NAME | awk '{print $2}'`
die_if_not_set $LINENO ROLE_ID "Failure retrieving ROLE_ID for $ROLE_NAME"
echo "$ROLE_ID"
}
function get_network_id {
local NETWORK_NAME="$1"
local NETWORK_ID=`neutron net-list -F id -- --name=$NETWORK_NAME | awk "NR==4" | awk '{print $2}'`
local NETWORK_ID
NETWORK_ID=`openstack network show -f value -c id $NETWORK_NAME`
echo $NETWORK_ID
}
function get_flavor_id {
local INSTANCE_TYPE=$1
local FLAVOR_ID=`nova flavor-list | grep $INSTANCE_TYPE | awk '{print $2}'`
local FLAVOR_ID
FLAVOR_ID=`nova flavor-list | grep $INSTANCE_TYPE | awk '{print $2}'`
die_if_not_set $LINENO FLAVOR_ID "Failure retrieving FLAVOR_ID for $INSTANCE_TYPE"
echo "$FLAVOR_ID"
}
@@ -171,69 +178,73 @@ function confirm_server_active {
function neutron_debug_admin {
local os_username=$OS_USERNAME
local os_tenant_id=$OS_TENANT_ID
local os_project_id=$OS_PROJECT_ID
source $TOP_DIR/openrc admin admin
neutron-debug $@
source $TOP_DIR/openrc $os_username $os_tenant_id
source $TOP_DIR/openrc $os_username $os_project_id
}
function add_tenant {
function add_project {
openstack project create $1
openstack user create $2 --password ${ADMIN_PASSWORD} --project $1
openstack role add Member --project $1 --user $2
}
function remove_tenant {
local TENANT=$1
local TENANT_ID=$(get_tenant_id $TENANT)
openstack project delete $TENANT_ID
function remove_project {
local PROJECT=$1
local PROJECT_ID
PROJECT_ID=$(get_project_id $PROJECT)
openstack project delete $PROJECT_ID
}
function remove_user {
local USER=$1
local USER_ID=$(get_user_id $USER)
local USER_ID
USER_ID=$(get_user_id $USER)
openstack user delete $USER_ID
}
function create_tenants {
function create_projects {
source $TOP_DIR/openrc admin admin
add_tenant demo1 demo1 demo1
add_tenant demo2 demo2 demo2
add_project demo1 demo1 demo1
add_project demo2 demo2 demo2
source $TOP_DIR/openrc demo demo
}
function delete_tenants_and_users {
function delete_projects_and_users {
source $TOP_DIR/openrc admin admin
remove_user demo1
remove_tenant demo1
remove_project demo1
remove_user demo2
remove_tenant demo2
echo "removed all tenants"
remove_project demo2
echo "removed all projects"
source $TOP_DIR/openrc demo demo
}
function create_network {
local TENANT=$1
local PROJECT=$1
local GATEWAY=$2
local CIDR=$3
local NUM=$4
local EXTRA=$5
local NET_NAME="${TENANT}-net$NUM"
local ROUTER_NAME="${TENANT}-router${NUM}"
local NET_NAME="${PROJECT}-net$NUM"
local ROUTER_NAME="${PROJECT}-router${NUM}"
source $TOP_DIR/openrc admin admin
local TENANT_ID=$(get_tenant_id $TENANT)
source $TOP_DIR/openrc $TENANT $TENANT
local NET_ID=$(neutron net-create --tenant-id $TENANT_ID $NET_NAME $EXTRA| grep ' id ' | awk '{print $4}' )
die_if_not_set $LINENO NET_ID "Failure creating NET_ID for $TENANT_ID $NET_NAME $EXTRA"
neutron subnet-create --ip-version 4 --tenant-id $TENANT_ID --gateway $GATEWAY $NET_ID $CIDR
local PROJECT_ID
PROJECT_ID=$(get_project_id $PROJECT)
source $TOP_DIR/openrc $PROJECT $PROJECT
local NET_ID
NET_ID=$(openstack network create --project $PROJECT_ID $NET_NAME $EXTRA| grep ' id ' | awk '{print $4}' )
die_if_not_set $LINENO NET_ID "Failure creating NET_ID for $PROJECT_ID $NET_NAME $EXTRA"
openstack subnet create --ip-version 4 --project $PROJECT_ID --gateway $GATEWAY --subnet-pool None --network $NET_ID --subnet-range $CIDR "${NET_NAME}_subnet"
neutron_debug_admin probe-create --device-owner compute $NET_ID
source $TOP_DIR/openrc demo demo
}
function create_networks {
foreach_tenant_net 'create_network ${%TENANT%_NAME} ${%TENANT%_NET%NUM%_GATEWAY} ${%TENANT%_NET%NUM%_CIDR} %NUM% ${%TENANT%_NET%NUM%_EXTRA}'
foreach_project_net 'create_network ${%PROJECT%_NAME} ${%PROJECT%_NET%NUM%_GATEWAY} ${%PROJECT%_NET%NUM%_CIDR} %NUM% ${%PROJECT%_NET%NUM%_EXTRA}'
#TODO(nati) test security group function
# allow ICMP for both tenant's security groups
# allow ICMP for both project's security groups
#source $TOP_DIR/openrc demo1 demo1
#$NOVA secgroup-add-rule default icmp -1 -1 0.0.0.0/0
#source $TOP_DIR/openrc demo2 demo2
@@ -241,26 +252,27 @@ function create_networks {
}
function create_vm {
local TENANT=$1
local PROJECT=$1
local NUM=$2
local NET_NAMES=$3
source $TOP_DIR/openrc $TENANT $TENANT
source $TOP_DIR/openrc $PROJECT $PROJECT
local NIC=""
for NET_NAME in ${NET_NAMES//,/ };do
NIC="$NIC --nic net-id="`get_network_id $NET_NAME`
done
#TODO (nati) Add multi-nic test
#TODO (nati) Add public-net test
local VM_UUID=`nova boot --flavor $(get_flavor_id m1.tiny) \
local VM_UUID
VM_UUID=`nova boot --flavor $(get_flavor_id m1.tiny) \
--image $(get_image_id) \
$NIC \
$TENANT-server$NUM | grep ' id ' | cut -d"|" -f3 | sed 's/ //g'`
die_if_not_set $LINENO VM_UUID "Failure launching $TENANT-server$NUM"
$PROJECT-server$NUM | grep ' id ' | cut -d"|" -f3 | sed 's/ //g'`
die_if_not_set $LINENO VM_UUID "Failure launching $PROJECT-server$NUM"
confirm_server_active $VM_UUID
}
function create_vms {
foreach_tenant_vm 'create_vm ${%TENANT%_NAME} %NUM% ${%TENANT%_VM%NUM%_NET}'
foreach_project_vm 'create_vm ${%PROJECT%_NAME} %NUM% ${%PROJECT%_VM%NUM%_NET}'
}
function ping_ip {
@@ -273,11 +285,11 @@ function ping_ip {
}
function check_vm {
local TENANT=$1
local PROJECT=$1
local NUM=$2
local VM_NAME="$TENANT-server$NUM"
local VM_NAME="$PROJECT-server$NUM"
local NET_NAME=$3
source $TOP_DIR/openrc $TENANT $TENANT
source $TOP_DIR/openrc $PROJECT $PROJECT
ping_ip $VM_NAME $NET_NAME
# TODO (nati) test ssh connection
# TODO (nati) test inter connection between vm
@@ -286,42 +298,43 @@ function check_vm {
}
function check_vms {
foreach_tenant_vm 'check_vm ${%TENANT%_NAME} %NUM% ${%TENANT%_VM%NUM%_NET}'
foreach_project_vm 'check_vm ${%PROJECT%_NAME} %NUM% ${%PROJECT%_VM%NUM%_NET}'
}
function shutdown_vm {
local TENANT=$1
local PROJECT=$1
local NUM=$2
source $TOP_DIR/openrc $TENANT $TENANT
VM_NAME=${TENANT}-server$NUM
source $TOP_DIR/openrc $PROJECT $PROJECT
VM_NAME=${PROJECT}-server$NUM
nova delete $VM_NAME
}
function shutdown_vms {
foreach_tenant_vm 'shutdown_vm ${%TENANT%_NAME} %NUM%'
foreach_project_vm 'shutdown_vm ${%PROJECT%_NAME} %NUM%'
if ! timeout $TERMINATE_TIMEOUT sh -c "while nova list | grep -q ACTIVE; do sleep 1; done"; then
die $LINENO "Some VMs failed to shutdown"
fi
}
function delete_network {
local TENANT=$1
local PROJECT=$1
local NUM=$2
local NET_NAME="${TENANT}-net$NUM"
local NET_NAME="${PROJECT}-net$NUM"
source $TOP_DIR/openrc admin admin
local TENANT_ID=$(get_tenant_id $TENANT)
local PROJECT_ID
PROJECT_ID=$(get_project_id $PROJECT)
#TODO(nati) comment out until l3-agent merged
#for res in port subnet net router;do
for net_id in `neutron net-list -c id -c name | grep $NET_NAME | awk '{print $2}'`;do
for net_id in `openstack network list -c ID -c Name | grep $NET_NAME | awk '{print $2}'`;do
delete_probe $net_id
neutron subnet-list | grep $net_id | awk '{print $2}' | xargs -I% neutron subnet-delete %
neutron net-delete $net_id
openstack subnet list | grep $net_id | awk '{print $2}' | xargs -I% openstack subnet delete %
openstack network delete $net_id
done
source $TOP_DIR/openrc demo demo
}
function delete_networks {
foreach_tenant_net 'delete_network ${%TENANT%_NAME} %NUM%'
foreach_project_net 'delete_network ${%PROJECT%_NAME} %NUM%'
# TODO(nati) add secuirty group check after it is implemented
# source $TOP_DIR/openrc demo1 demo1
# nova secgroup-delete-rule default icmp -1 -1 0.0.0.0/0
@@ -330,7 +343,7 @@ function delete_networks {
}
function create_all {
create_tenants
create_projects
create_networks
create_vms
}
@@ -338,7 +351,7 @@ function create_all {
function delete_all {
shutdown_vms
delete_networks
delete_tenants_and_users
delete_projects_and_users
}
function all {
@@ -354,8 +367,8 @@ function test_functions {
IMAGE=$(get_image_id)
echo $IMAGE
TENANT_ID=$(get_tenant_id demo)
echo $TENANT_ID
PROJECT_ID=$(get_project_id demo)
echo $PROJECT_ID
FLAVOR_ID=$(get_flavor_id m1.tiny)
echo $FLAVOR_ID
@@ -370,11 +383,11 @@ function test_functions {
function usage {
echo "$0: [-h]"
echo " -h, --help Display help message"
echo " -t, --tenant Create tenants"
echo " -t, --project Create projects"
echo " -n, --net Create networks"
echo " -v, --vm Create vms"
echo " -c, --check Check connection"
echo " -x, --delete-tenants Delete tenants"
echo " -x, --delete-projects Delete projects"
echo " -y, --delete-nets Delete networks"
echo " -z, --delete-vms Delete vms"
echo " -T, --test Test functions"
@@ -400,7 +413,7 @@ function main {
-v | --vm ) create_vms
exit
;;
-t | --tenant ) create_tenants
-t | --project ) create_projects
exit
;;
-c | --check ) check_vms
@@ -409,7 +422,7 @@ function main {
-T | --test ) test_functions
exit
;;
-x | --delete-tenants ) delete_tenants_and_users
-x | --delete-projects ) delete_projects_and_users
exit
;;
-y | --delete-nets ) delete_networks
+1 -1
View File
@@ -13,7 +13,7 @@ echo "*********************************************************************"
set -o errexit
# Print the commands being run so that we can see the command that triggers
# an error. It is also useful for following allowing as the install occurs.
# an error. It is also useful for following as the install occurs.
set -o xtrace
+12 -9
View File
@@ -2,7 +2,7 @@
# **swift.sh**
# Test swift via the ``swift`` command line from ``python-swiftclient``
# Test swift via the ``python-openstackclient`` command line
echo "*********************************************************************"
echo "Begin DevStack Exercise: $0"
@@ -13,7 +13,7 @@ echo "*********************************************************************"
set -o errexit
# Print the commands being run so that we can see the command that triggers
# an error. It is also useful for following allowing as the install occurs.
# an error. It is also useful for following as the install occurs.
set -o xtrace
@@ -39,26 +39,29 @@ is_service_enabled s-proxy || exit 55
# Container name
CONTAINER=ex-swift
OBJECT=/etc/issue
# Testing Swift
# =============
# Check if we have to swift via keystone
swift stat || die $LINENO "Failure getting status"
openstack object store account show || die $LINENO "Failure getting account status"
# We start by creating a test container
openstack container create $CONTAINER || die $LINENO "Failure creating container $CONTAINER"
# add some files into it.
openstack object create $CONTAINER /etc/issue || die $LINENO "Failure uploading file to container $CONTAINER"
# add a file into it.
openstack object create $CONTAINER $OBJECT || die $LINENO "Failure uploading file to container $CONTAINER"
# list them
# list the objects
openstack object list $CONTAINER || die $LINENO "Failure listing contents of container $CONTAINER"
# And we may want to delete them now that we have tested that
# everything works.
swift delete $CONTAINER || die $LINENO "Failure deleting container $CONTAINER"
# delete the object first
openstack object delete $CONTAINER $OBJECT || die $LINENO "Failure deleting object $OBJECT in container $CONTAINER"
# delete the container
openstack container delete $CONTAINER || die $LINENO "Failure deleting container $CONTAINER"
set +o xtrace
echo "*********************************************************************"
+2 -1
View File
@@ -13,7 +13,7 @@ echo "*********************************************************************"
set -o errexit
# Print the commands being run so that we can see the command that triggers
# an error. It is also useful for following allowing as the install occurs.
# an error. It is also useful for following as the install occurs.
set -o xtrace
@@ -32,6 +32,7 @@ source $TOP_DIR/openrc
# Import project functions
source $TOP_DIR/lib/cinder
source $TOP_DIR/lib/neutron
source $TOP_DIR/lib/neutron-legacy
# Import exercise configuration
-43
View File
@@ -1,43 +0,0 @@
# ironic.sh - Devstack extras script to install ironic
if is_service_enabled ir-api ir-cond; then
if [[ "$1" == "source" ]]; then
# Initial source
source $TOP_DIR/lib/ironic
elif [[ "$1" == "stack" && "$2" == "install" ]]; then
echo_summary "Installing Ironic"
install_ironic
install_ironicclient
cleanup_ironic
elif [[ "$1" == "stack" && "$2" == "post-config" ]]; then
echo_summary "Configuring Ironic"
configure_ironic
if is_service_enabled key; then
create_ironic_accounts
fi
elif [[ "$1" == "stack" && "$2" == "extra" ]]; then
# Initialize ironic
init_ironic
# Start the ironic API and ironic taskmgr components
echo_summary "Starting Ironic"
start_ironic
if [[ "$IRONIC_BAREMETAL_BASIC_OPS" = "True" ]]; then
prepare_baremetal_basic_ops
fi
fi
if [[ "$1" == "unstack" ]]; then
stop_ironic
if [[ "$IRONIC_BAREMETAL_BASIC_OPS" = "True" ]]; then
cleanup_baremetal_basic_ops
fi
fi
if [[ "$1" == "clean" ]]; then
cleanup_ironic
fi
fi
-75
View File
@@ -1,75 +0,0 @@
# ceph.sh - DevStack extras script to install Ceph
if is_service_enabled ceph; then
if [[ "$1" == "source" ]]; then
# Initial source
source $TOP_DIR/lib/ceph
elif [[ "$1" == "stack" && "$2" == "pre-install" ]]; then
echo_summary "Installing Ceph"
check_os_support_ceph
if [ "$REMOTE_CEPH" = "False" ]; then
install_ceph
echo_summary "Configuring Ceph"
configure_ceph
# NOTE (leseb): Do everything here because we need to have Ceph started before the main
# OpenStack components. Ceph OSD must start here otherwise we can't upload any images.
echo_summary "Initializing Ceph"
init_ceph
start_ceph
else
install_ceph_remote
fi
elif [[ "$1" == "stack" && "$2" == "post-config" ]]; then
if is_service_enabled glance; then
echo_summary "Configuring Glance for Ceph"
configure_ceph_glance
fi
if is_service_enabled nova; then
echo_summary "Configuring Nova for Ceph"
configure_ceph_nova
fi
if is_service_enabled cinder; then
echo_summary "Configuring Cinder for Ceph"
configure_ceph_cinder
fi
if is_service_enabled cinder || is_service_enabled nova; then
# NOTE (leseb): the part below is a requirement to attach Ceph block devices
echo_summary "Configuring libvirt secret"
import_libvirt_secret_ceph
fi
if [ "$REMOTE_CEPH" = "False" ]; then
if is_service_enabled glance; then
echo_summary "Configuring Glance for Ceph"
configure_ceph_embedded_glance
fi
if is_service_enabled nova; then
echo_summary "Configuring Nova for Ceph"
configure_ceph_embedded_nova
fi
if is_service_enabled cinder; then
echo_summary "Configuring Cinder for Ceph"
configure_ceph_embedded_cinder
fi
fi
fi
if [[ "$1" == "unstack" ]]; then
if [ "$REMOTE_CEPH" = "True" ]; then
cleanup_ceph_remote
else
cleanup_ceph_embedded
stop_ceph
fi
cleanup_ceph_general
fi
if [[ "$1" == "clean" ]]; then
if [ "$REMOTE_CEPH" = "True" ]; then
cleanup_ceph_remote
else
cleanup_ceph_embedded
fi
cleanup_ceph_general
fi
fi
+8 -5
View File
@@ -9,14 +9,18 @@ if is_service_enabled tempest; then
install_tempest
elif [[ "$1" == "stack" && "$2" == "post-config" ]]; then
# Tempest config must come after layer 2 services are running
create_tempest_accounts
:
elif [[ "$1" == "stack" && "$2" == "extra" ]]; then
echo_summary "Initializing Tempest"
configure_tempest
init_tempest
# Tempest config must come after all other plugins are run
:
elif [[ "$1" == "stack" && "$2" == "post-extra" ]]; then
# local.conf Tempest option overrides
:
elif [[ "$1" == "stack" && "$2" == "test-config" ]]; then
echo_summary "Initializing Tempest"
configure_tempest
echo_summary "Installing Tempest Plugins"
install_tempest_plugins
fi
if [[ "$1" == "unstack" ]]; then
@@ -29,4 +33,3 @@ if is_service_enabled tempest; then
:
fi
fi
+6 -3
View File
@@ -14,10 +14,13 @@ The scripts are sourced at the beginning of each script that calls them. The
entire `stack.sh` variable space is available. The scripts are
sourced with one or more arguments, the first of which defines the hook phase:
source | stack | unstack | clean
override_defaults | source | stack | unstack | clean
source: always called first in any of the scripts, used to set the
initial defaults in a lib/* script or similar
override_defaults: always called first in any of the scripts, used to
override defaults (if need be) that are otherwise set in lib/* scripts
source: called by stack.sh. Used to set the initial defaults in a lib/*
script or similar
stack: called by stack.sh. There are four possible values for
the second arg to distinguish the phase stack.sh is in:
+26
View File
@@ -0,0 +1,26 @@
Listen %PUBLICPORT%
<VirtualHost *:%PUBLICPORT%>
WSGIDaemonProcess osapi_volume processes=%APIWORKERS% threads=1 user=%USER% display-name=%{GROUP} %VIRTUALENV%
WSGIProcessGroup osapi_volume
WSGIScriptAlias / %CINDER_BIN_DIR%/cinder-wsgi
WSGIApplicationGroup %{GLOBAL}
WSGIPassAuthorization On
<IfVersion >= 2.4>
ErrorLogFormat "%{cu}t %M"
</IfVersion>
ErrorLog /var/log/%APACHE_NAME%/c-api.log
%SSLENGINE%
%SSLCERTFILE%
%SSLKEYFILE%
<Directory %CINDER_BIN_DIR%>
<IfVersion >= 2.4>
Require all granted
</IfVersion>
<IfVersion < 2.4>
Order allow,deny
Allow from all
</IfVersion>
</Directory>
</VirtualHost>
-15
View File
@@ -1,15 +0,0 @@
Listen %HEAT_PIP_REPO_PORT%
<VirtualHost *:%HEAT_PIP_REPO_PORT%>
DocumentRoot %HEAT_PIP_REPO%
<Directory %HEAT_PIP_REPO%>
DirectoryIndex index.html
Require all granted
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/%APACHE_NAME%/heat_pip_repo_error.log
LogLevel warn
CustomLog /var/log/%APACHE_NAME%/heat_pip_repo_access.log combined
</VirtualHost>
-12
View File
@@ -1,12 +0,0 @@
Listen %PUBLICPORT%
<VirtualHost *:%PUBLICPORT%>
DocumentRoot "%HTTPROOT%"
<Directory "%HTTPROOT%">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
Require all granted
</Directory>
</VirtualHost>
+16 -30
View File
@@ -2,59 +2,45 @@ Listen %PUBLICPORT%
Listen %ADMINPORT%
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\" %D(us)" keystone_combined
<Directory %KEYSTONE_BIN%>
Require all granted
</Directory>
<VirtualHost *:%PUBLICPORT%>
WSGIDaemonProcess keystone-public processes=5 threads=1 user=%USER% display-name=%{GROUP} %VIRTUALENV%
WSGIDaemonProcess keystone-public processes=3 threads=1 user=%USER% display-name=%{GROUP} %VIRTUALENV%
WSGIProcessGroup keystone-public
WSGIScriptAlias / %KEYSTONE_BIN%/keystone-wsgi-public
WSGIApplicationGroup %{GLOBAL}
WSGIPassAuthorization On
<IfVersion >= 2.4>
ErrorLogFormat "%{cu}t %M"
</IfVersion>
ErrorLogFormat "%M"
ErrorLog /var/log/%APACHE_NAME%/keystone.log
CustomLog /var/log/%APACHE_NAME%/keystone_access.log keystone_combined
%SSLENGINE%
%SSLCERTFILE%
%SSLKEYFILE%
<Directory %KEYSTONE_BIN%>
<IfVersion >= 2.4>
Require all granted
</IfVersion>
<IfVersion < 2.4>
Order allow,deny
Allow from all
</IfVersion>
</Directory>
</VirtualHost>
<VirtualHost *:%ADMINPORT%>
WSGIDaemonProcess keystone-admin processes=5 threads=1 user=%USER% display-name=%{GROUP} %VIRTUALENV%
WSGIDaemonProcess keystone-admin processes=3 threads=1 user=%USER% display-name=%{GROUP} %VIRTUALENV%
WSGIProcessGroup keystone-admin
WSGIScriptAlias / %KEYSTONE_BIN%/keystone-wsgi-admin
WSGIApplicationGroup %{GLOBAL}
WSGIPassAuthorization On
<IfVersion >= 2.4>
ErrorLogFormat "%{cu}t %M"
</IfVersion>
ErrorLogFormat "%M"
ErrorLog /var/log/%APACHE_NAME%/keystone.log
CustomLog /var/log/%APACHE_NAME%/keystone_access.log keystone_combined
%SSLENGINE%
%SSLCERTFILE%
%SSLKEYFILE%
<Directory %KEYSTONE_BIN%>
<IfVersion >= 2.4>
Require all granted
</IfVersion>
<IfVersion < 2.4>
Order allow,deny
Allow from all
</IfVersion>
</Directory>
</VirtualHost>
Alias /identity %PUBLICWSGI%
%SSLLISTEN%<VirtualHost *:443>
%SSLLISTEN% %SSLENGINE%
%SSLLISTEN% %SSLCERTFILE%
%SSLLISTEN% %SSLKEYFILE%
%SSLLISTEN%</VirtualHost>
Alias /identity %KEYSTONE_BIN%/keystone-wsgi-public
<Location /identity>
SetHandler wsgi-script
Options +ExecCGI
@@ -64,7 +50,7 @@ Alias /identity %PUBLICWSGI%
WSGIPassAuthorization On
</Location>
Alias /identity_admin %ADMINWSGI%
Alias /identity_admin %KEYSTONE_BIN%/keystone-wsgi-admin
<Location /identity_admin>
SetHandler wsgi-script
Options +ExecCGI
+1 -1
View File
@@ -7,7 +7,7 @@ Listen %PUBLICPORT%
WSGIApplicationGroup %{GLOBAL}
WSGIPassAuthorization On
<IfVersion >= 2.4>
ErrorLogFormat "%{cu}t %M"
ErrorLogFormat "%M"
</IfVersion>
ErrorLog /var/log/%APACHE_NAME%/nova-api.log
%SSLENGINE%
-16
View File
@@ -1,16 +0,0 @@
Listen %PUBLICPORT%
<VirtualHost *:%PUBLICPORT%>
WSGIDaemonProcess nova-ec2-api processes=%APIWORKERS% threads=1 user=%USER% display-name=%{GROUP} %VIRTUALENV%
WSGIProcessGroup nova-ec2-api
WSGIScriptAlias / %PUBLICWSGI%
WSGIApplicationGroup %{GLOBAL}
WSGIPassAuthorization On
<IfVersion >= 2.4>
ErrorLogFormat "%{cu}t %M"
</IfVersion>
ErrorLog /var/log/%APACHE_NAME%/nova-ec2-api.log
%SSLENGINE%
%SSLCERTFILE%
%SSLKEYFILE%
</VirtualHost>
+25
View File
@@ -0,0 +1,25 @@
Listen %PUBLICPORT%
<VirtualHost *:%PUBLICPORT%>
WSGIDaemonProcess nova-metadata processes=%APIWORKERS% threads=1 user=%USER% display-name=%{GROUP} %VIRTUALENV%
WSGIProcessGroup nova-metadata
WSGIScriptAlias / %PUBLICWSGI%
WSGIApplicationGroup %{GLOBAL}
WSGIPassAuthorization On
<IfVersion >= 2.4>
ErrorLogFormat "%M"
</IfVersion>
ErrorLog /var/log/%APACHE_NAME%/nova-metadata.log
%SSLENGINE%
%SSLCERTFILE%
%SSLKEYFILE%
</VirtualHost>
Alias /metadata %PUBLICWSGI%
<Location /metadata>
SetHandler wsgi-script
Options +ExecCGI
WSGIProcessGroup nova-metadata
WSGIApplicationGroup %{GLOBAL}
WSGIPassAuthorization On
</Location>
+27
View File
@@ -0,0 +1,27 @@
# NOTE(sbauza): This virtualhost is only here because some directives can
# only be set by a virtualhost or server context, so that's why the port is not bound.
# TODO(sbauza): Find a better way to identify a free port that is not corresponding to an existing
# vhost.
<VirtualHost *:8780>
WSGIDaemonProcess placement-api processes=%APIWORKERS% threads=1 user=%USER% display-name=%{GROUP} %VIRTUALENV%
WSGIProcessGroup placement-api
WSGIScriptAlias / %PUBLICWSGI%
WSGIApplicationGroup %{GLOBAL}
WSGIPassAuthorization On
<IfVersion >= 2.4>
ErrorLogFormat "%M"
</IfVersion>
ErrorLog /var/log/%APACHE_NAME%/placement-api.log
%SSLENGINE%
%SSLCERTFILE%
%SSLKEYFILE%
</VirtualHost>
Alias /placement %PUBLICWSGI%
<Location /placement>
SetHandler wsgi-script
Options +ExecCGI
WSGIProcessGroup placement-api
WSGIApplicationGroup %{GLOBAL}
WSGIPassAuthorization On
</Location>
-6
View File
@@ -1,6 +0,0 @@
python-pymongo #NOPRIME
mongodb-server #NOPRIME
libnspr4-dev
pkg-config
libxml2-dev
libxslt-dev
+3 -3
View File
@@ -1,6 +1,6 @@
tgt # NOPRIME
lvm2
qemu-utils
libpq-dev
open-iscsi
open-iscsi-utils # Deprecated since quantal dist:precise
qemu-utils
tgt # NOPRIME
thin-provisioning-tools
-7
View File
@@ -1,7 +0,0 @@
libffi-dev # pyOpenSSL
libmysqlclient-dev # MySQL-python
libpq-dev # psycopg2
libssl-dev # pyOpenSSL
libxml2-dev # lxml
libxslt1-dev # lxml
python-dev # pyOpenSSL
+1
View File
@@ -1 +1,2 @@
dstat
python-psutil
+31 -19
View File
@@ -1,27 +1,39 @@
apache2
apache2-dev
bc
bridge-utils
screen
unzip
wget
psmisc
gcc
bsdmainutils
curl
default-jre-headless # NOPRIME
g++
gcc
gettext # used for compiling message catalogs
git
graphviz # needed for docs
iputils-ping
libapache2-mod-proxy-uwsgi
libffi-dev # for pyOpenSSL
libjpeg-dev # Pillow 3.0.0
libmysqlclient-dev # MySQL-python
libpq-dev # psycopg2
libssl-dev # for pyOpenSSL
libsystemd-dev # for systemd-python
libxml2-dev # lxml
libxslt1-dev # lxml
libyaml-dev
lsof # useful when debugging
openssh-server
openssl
iputils-ping
wget
curl
tcpdump
tar
python-dev
python2.7
python-gdbm # needed for testr
bc
libyaml-dev
libffi-dev
libssl-dev # for pyOpenSSL
gettext # used for compiling message catalogs
openjdk-7-jre-headless # NOPRIME
pkg-config
psmisc
python2.7
python-dev
python-gdbm # needed for testr
screen
tar
tcpdump
unzip
uuid-runtime
wget
wget
zlib1g-dev
-6
View File
@@ -1,6 +0,0 @@
libmysqlclient-dev
libpq-dev
libssl-dev
libxml2-dev
libxslt1-dev
zlib1g-dev
-1
View File
@@ -1 +0,0 @@
gettext # dist:trusty
-19
View File
@@ -1,19 +0,0 @@
docker.io
ipmitool
iptables
ipxe
libguestfs0
libvirt-bin
open-iscsi
openssh-client
openvswitch-switch
openvswitch-datapath-dkms
python-libguestfs
python-libvirt
qemu
qemu-kvm
qemu-utils
sgabios
syslinux
tftpd-hpa
xinetd
+4 -5
View File
@@ -1,7 +1,6 @@
python-lxml
sqlite3
python-mysqldb
python-mysql.connector
libkrb5-dev
libldap2-dev
libsasl2-dev
libkrb5-dev
memcached
python-mysqldb
sqlite3
+1 -1
View File
@@ -1,3 +1,3 @@
ldap-utils
slapd
python-ldap
slapd
-1
View File
@@ -1 +0,0 @@
fping
+9 -7
View File
@@ -1,8 +1,10 @@
qemu-utils
lvm2 # NOPRIME
open-iscsi
genisoimage
sysfsutils
sg3-utils
python-guestfs # NOPRIME
cryptsetup
genisoimage
gir1.2-libosinfo-1.0
lvm2 # NOPRIME
netcat-openbsd
open-iscsi
python-guestfs # NOPRIME
qemu-utils
sg3-utils
sysfsutils
-1
View File
@@ -1 +0,0 @@
python-numpy
+12 -13
View File
@@ -1,18 +1,17 @@
acl
ebtables
iptables
iputils-ping
iputils-arping
libmysqlclient-dev
mysql-server #NOPRIME
sudo
postgresql-server-dev-all
python-mysqldb
python-mysql.connector
dnsmasq-base
dnsmasq-utils # for dhcp_release only available in dist:precise
ebtables
haproxy # to serve as metadata proxy inside router/dhcp namespaces
iptables
iputils-arping
iputils-ping
libmysqlclient-dev
mysql-server #NOPRIME
postgresql-server-dev-all
python-mysqldb
rabbitmq-server # NOPRIME
sqlite3
vlan
radvd # NOPRIME
uuid-runtime
sqlite3
sudo
vlan
+1
View File
@@ -0,0 +1 @@
ipset
+3
View File
@@ -0,0 +1,3 @@
conntrack
conntrackd
keepalived
+21 -25
View File
@@ -1,31 +1,27 @@
conntrack
curl
dnsmasq-base
dnsmasq-utils # for dhcp_release
conntrack
kpartx
parted
iputils-arping
libmysqlclient-dev
mysql-server # NOPRIME
python-mysqldb
python-mysql.connector
python-lxml # needed for glance which is needed for nova --- this shouldn't be here
gawk
iptables
ebtables
sqlite3
sudo
qemu-kvm # NOPRIME
qemu # dist:wheezy,jessie NOPRIME
libvirt-bin # NOPRIME
libvirt-dev # NOPRIME
pm-utils
libjs-jquery-tablesorter # Needed for coverage html reports
vlan
curl
gawk
genisoimage # required for config_drive
iptables
iputils-arping
kpartx
libjs-jquery-tablesorter # Needed for coverage html reports
libmysqlclient-dev
libvirt-bin # dist:xenial NOPRIME
libvirt-clients # not:xenial NOPRIME
libvirt-daemon-system # not:xenial NOPRIME
libvirt-dev # NOPRIME
mysql-server # NOPRIME
parted
pm-utils
python-mysqldb
qemu # dist:wheezy,jessie NOPRIME
qemu-kvm # NOPRIME
rabbitmq-server # NOPRIME
socat # used by ajaxterm
python-libvirt # NOPRIME
python-libxml2
python-numpy # used by websockify for spice console
python-m2crypto
sqlite3
sudo
vlan
-1
View File
@@ -1 +0,0 @@
ipset
+1
View File
@@ -0,0 +1 @@
neutron-agent
-3
View File
@@ -1,3 +0,0 @@
conntrack
conntrackd
keepalived
+1
View File
@@ -0,0 +1 @@
neutron-l3
+1
View File
@@ -1,4 +1,5 @@
curl
liberasurecode-dev
make
memcached
sqlite3
-2
View File
@@ -1,2 +0,0 @@
libxml2-dev
libxslt1-dev
+1 -1
View File
@@ -1 +1 @@
stud
apache2
-1
View File
@@ -1 +0,0 @@
libxslt1-dev
-63
View File
@@ -1,63 +0,0 @@
# config for TemplatedCatalog, using camelCase because I don't want to do
# translations for legacy compat
catalog.RegionOne.identity.publicURL = http://%SERVICE_HOST%:$(public_port)s/v2.0
catalog.RegionOne.identity.adminURL = http://%SERVICE_HOST%:$(admin_port)s/v2.0
catalog.RegionOne.identity.internalURL = http://%SERVICE_HOST%:$(public_port)s/v2.0
catalog.RegionOne.identity.name = Identity Service
catalog.RegionOne.compute.publicURL = http://%SERVICE_HOST%:8774/v2/$(tenant_id)s
catalog.RegionOne.compute.adminURL = http://%SERVICE_HOST%:8774/v2/$(tenant_id)s
catalog.RegionOne.compute.internalURL = http://%SERVICE_HOST%:8774/v2/$(tenant_id)s
catalog.RegionOne.compute.name = Compute Service
catalog.RegionOne.computev21.publicURL = http://%SERVICE_HOST%:8774/v2.1/$(tenant_id)s
catalog.RegionOne.computev21.adminURL = http://%SERVICE_HOST%:8774/v2.1/$(tenant_id)s
catalog.RegionOne.computev21.internalURL = http://%SERVICE_HOST%:8774/v2.1/$(tenant_id)s
catalog.RegionOne.computev21.name = Compute Service V2.1
catalog.RegionOne.volume.publicURL = http://%SERVICE_HOST%:8776/v1/$(tenant_id)s
catalog.RegionOne.volume.adminURL = http://%SERVICE_HOST%:8776/v1/$(tenant_id)s
catalog.RegionOne.volume.internalURL = http://%SERVICE_HOST%:8776/v1/$(tenant_id)s
catalog.RegionOne.volume.name = Volume Service
catalog.RegionOne.volumev2.publicURL = http://%SERVICE_HOST%:8776/v2/$(tenant_id)s
catalog.RegionOne.volumev2.adminURL = http://%SERVICE_HOST%:8776/v2/$(tenant_id)s
catalog.RegionOne.volumev2.internalURL = http://%SERVICE_HOST%:8776/v2/$(tenant_id)s
catalog.RegionOne.volumev2.name = Volume Service V2
catalog.RegionOne.ec2.publicURL = http://%SERVICE_HOST%:8773/
catalog.RegionOne.ec2.adminURL = http://%SERVICE_HOST%:8773/
catalog.RegionOne.ec2.internalURL = http://%SERVICE_HOST%:8773/
catalog.RegionOne.ec2.name = EC2 Service
catalog.RegionOne.s3.publicURL = http://%SERVICE_HOST%:%S3_SERVICE_PORT%
catalog.RegionOne.s3.adminURL = http://%SERVICE_HOST%:%S3_SERVICE_PORT%
catalog.RegionOne.s3.internalURL = http://%SERVICE_HOST%:%S3_SERVICE_PORT%
catalog.RegionOne.s3.name = S3 Service
catalog.RegionOne.image.publicURL = http://%SERVICE_HOST%:9292
catalog.RegionOne.image.adminURL = http://%SERVICE_HOST%:9292
catalog.RegionOne.image.internalURL = http://%SERVICE_HOST%:9292
catalog.RegionOne.image.name = Image Service
catalog.RegionOne.cloudformation.publicURL = http://%SERVICE_HOST%:8000/v1
catalog.RegionOne.cloudformation.adminURL = http://%SERVICE_HOST%:8000/v1
catalog.RegionOne.cloudformation.internalURL = http://%SERVICE_HOST%:8000/v1
catalog.RegionOne.cloudformation.name = CloudFormation service
catalog.RegionOne.orchestration.publicURL = http://%SERVICE_HOST%:8004/v1/$(tenant_id)s
catalog.RegionOne.orchestration.adminURL = http://%SERVICE_HOST%:8004/v1/$(tenant_id)s
catalog.RegionOne.orchestration.internalURL = http://%SERVICE_HOST%:8004/v1/$(tenant_id)s
catalog.RegionOne.orchestration.name = Orchestration Service
catalog.RegionOne.metering.publicURL = http://%SERVICE_HOST%:8777/v1
catalog.RegionOne.metering.adminURL = http://%SERVICE_HOST%:8777/v1
catalog.RegionOne.metering.internalURL = http://%SERVICE_HOST%:8777/v1
catalog.RegionOne.metering.name = Telemetry Service
+23
View File
@@ -0,0 +1,23 @@
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
# implied. See the License for the specific language governing
# permissions and limitations under the License.
# Demo LDAP user
dn: cn=demo,ou=Users,${BASE_DN}
cn: demo
displayName: demo
givenName: demo
mail: demo@openstack.org
objectClass: inetOrgPerson
objectClass: top
sn: demo
uid: demo
userPassword: demo
-3
View File
@@ -1,3 +0,0 @@
# Not available in openSUSE main repositories, but can be fetched from OBS
# (devel:languages:python and server:database projects)
mongodb
+1 -1
View File
@@ -1,3 +1,3 @@
ceph # NOPRIME
xfsprogs
lsb
xfsprogs
+2 -4
View File
@@ -1,6 +1,4 @@
lvm2
tgt # NOPRIME
qemu-tools
python-devel
postgresql-devel
open-iscsi
qemu-tools
tgt # NOPRIME
-6
View File
@@ -1,6 +0,0 @@
libffi-devel # pyOpenSSL
libopenssl-devel # pyOpenSSL
libxslt-devel # lxml
postgresql-devel # psycopg2
libmysqlclient-devel # MySQL-python
python-devel # pyOpenSSL
+14 -2
View File
@@ -1,23 +1,35 @@
apache2
apache2-devel
bc
bridge-utils
ca-certificates-mozilla
curl
euca2ools
gcc
gcc-c++
git-core
graphviz # docs
iputils
libffi-devel # pyOpenSSL
libjpeg8-devel # Pillow 3.0.0
libmysqlclient-devel # MySQL-python
libopenssl-devel # to rebuild pyOpenSSL if needed
libxslt-devel # lxml
lsof # useful when debugging
make
net-tools
openssh
openssl
postgresql-devel # psycopg2
psmisc
python-cmd2 # dist:opensuse-12.3
python-devel # pyOpenSSL
python-xml
screen
systemd-devel # for systemd-python
tar
tcpdump
unzip
util-linux
wget
net-tools
which
zlib-devel
-1
View File
@@ -1 +0,0 @@
python-devel
+1 -1
View File
@@ -1,2 +1,2 @@
apache2 # NOPRIME
apache2-mod_wsgi # NOPRIME
apache2 # NOPRIME
+1 -1
View File
@@ -1,4 +1,4 @@
cyrus-sasl-devel
memcached
openldap2-devel
python-devel
sqlite3
-1
View File
@@ -1,2 +1 @@
python-dateutil
fping
+4 -3
View File
@@ -1,7 +1,8 @@
# Stuff for diablo volumes
cryptsetup
genisoimage
libosinfo
lvm2
open-iscsi
sysfsutils
sg3_utils
cryptsetup
# Stuff for diablo volumes
sysfsutils
+2 -2
View File
@@ -2,12 +2,12 @@ acl
dnsmasq
dnsmasq-utils # dist:opensuse-12.3,opensuse-13.1
ebtables
haproxy # to serve as metadata proxy inside router/dhcp namespaces
iptables
iputils
mariadb # NOPRIME
postgresql-devel
rabbitmq-server # NOPRIME
radvd # NOPRIME
sqlite3
sudo
vlan
radvd # NOPRIME

Some files were not shown because too many files have changed in this diff Show More