55 Commits

Author SHA1 Message Date
Dean Troyer
dc97cb71e8 Mostly docs cleanups
Fix documentation build errors and RST formatting

Change-Id: Id93153400c5b069dd9d772381558c7085f64c207
2015-03-28 14:35:12 -05:00
Joe Gordon
d01ff96e3f Stop using deprecated rabbit related config options
Stop services from throwing the following warning:
  Option "rabbit_password" from group "DEFAULT" is deprecated. Use option
  "rabbit_password" from group "oslo_messaging_rabbit".
Same for rabbit_hosts and rabbit_userid

Change-Id: I7da503ef50b3653b888cb243caa74b4253a495e2
2015-03-23 15:05:39 -07:00
Jenkins
743d03bf7d Merge "iniset_rpc_backend default section" 2015-03-22 02:41:03 +00:00
Brant Knudson
2dd110ce86 iniset_rpc_backend default section
iniset_rpc_backend should know what section it needs to set the
config options in better than the callers. The config options
have actually been moved to different sections and the options
in the DEFAULT section are deprecated.

Change-Id: I0e07fe03c7812ef8df49e126bf71c57588635639
2015-03-14 17:53:54 +00:00
gordon chung
b6197e6ab0 switch to use ceilometermiddleware
swift middleware contained in ceilometer is now deprecated. the
middleware is available in ceilometermiddleware.

Change-Id: I6e41986245f4d95a9385dc7829479ed1199f10ac
2015-03-13 15:41:13 +00:00
Li Ma
c24b399b7e Complete the support of MatchMakerRedis driver
MatchMakerRedis is the only tested routing method
for ZeroMQ driver. For others, like MatchMakerLocalhost
and MatchMakerRing, it still takes some time to work
on and completely test.

MatchMakerRedis is enough to run under real-world
deployment.

Change-Id: I3b2e8e68ceebd377479d75bbb8b862ae60cfc826
Partially-Implements: blueprint zeromq
2015-02-27 21:31:20 -08:00
Jenkins
d26da45b98 Merge "add gating up/down script for devstack" 2015-02-11 20:53:44 +00:00
Mehdi Abaakouk
d1e3ff14b8 qpid: plain auth needs cyrus-sasl-plain package
On fedora 21, qpidd cannot authenticate user, because
cyrus-sasl-plain is no more automatically installed.

This change fixes that.

Change-Id: I74452f40723881291b8c7577e5509da1c0e4e6e5
2015-02-11 14:27:11 +01:00
Sean Dague
9a413abcd4 add gating up/down script for devstack
This adds the test infrastructure for testing that unstack.sh and
clean.sh do the right thing, and actually stop what's expected. This
is designed to be used in upstream testing to make unstack and clean a
bit more certain.

It includes numerous fixes to make these pass in an errexit
environment with the gate config. The scripts still don't run under
errexit because we don't assume we've handled all possible cleanup safely.

Change-Id: I774dfb2cc934367eef2bb7ea5123197f6da7565b
2015-02-11 06:10:38 -05:00
Li Ma
529f8113c2 Fix oslo_messaging package and related object names
Use the latest oslo_messaging package and the related driver names.

Change-Id: I20d4c9286cd2216aa238705f00d8f4537ed91234
2015-01-23 03:10:49 -08:00
Sean Dague
537532931d Make changes such that -o nounset runs
This makes a bunch of variable cleanups that will let -o nounset
function, for the time being we hide nounset behind another setting
variable so that it's not on by default.

Because this is bash, and things are only executed on demand, this
probably only works in the config it was run in. Expect cleaning up
all the paths to be something that takes quite a while.

This also includes a new set of unit tests around the trueorfalse
function, because my change in how it worked, didn't. Tests are good
m'kay.

Change-Id: I71a896623ea9e1f042a73dc0678ce85acf0dc87d
2015-01-15 13:06:14 -05:00
Li Ma
d3ca1418c4 Fix matchmaker-redis dependencies for zeromq driver
Add an option 'ZEROMQ_MATCHMAKER' to indicate which
matchmaker driver to use.

When it indicates 'redis', the dependencies will be
installed.

Change-Id: I910b48347bad0685ea10083a3b0b243524f32095
Partially-Implements: blueprint zeromq
2015-01-08 07:17:58 +00:00
Li Ma
ce1524d084 Fix proper oslo.messaging object for zeromq driver
Currently, as almost all the rpc driver of projects
have been switched to oslo.messaging, the object should
be imported via oslo.messaging rather than its own rpc lib.

Change-Id: I9633446e78cb5af21f61a26f6fb365a8ed57a85f
Partially-Implements: blueprint zeromq
Closes-Bug: #1395721
2014-12-21 11:43:36 -08:00
Ian Wienand
64b56a53d8 Fix rabbitmq retry for error checking
I think this retry check has been broken since we introduced "set -e".
Unfortunately it seems the issue of rabbitmq not starting first-time
persists on centos 7 hosts occasionally, e.g. [1]:

---
 + rabbit_setuser stackrabbit secretrabbit
 + local user=stackrabbit pass=secretrabbit found= out=
 ++ sudo rabbitmqctl list_users
 Error: unable to connect to node 'rabbit@devstack-centos7-rax-iad-100675': nodedown

 DIAGNOSTICS
 ===========

 nodes in question: ['rabbit@devstack-centos7-rax-iad-100675']

 hosts, their running nodes and ports:
 - devstack-centos7-rax-iad-100675: [{rabbitmqctl29293,39511}]

 current node details:
 - node name: 'rabbitmqctl29293@devstack-centos7-rax-iad-100675'
 - home dir: /var/lib/rabbitmq
 - cookie hash: KieJnx1pnllKbHVihGcDqA==
---

Fix up this retry while we investigate [2]

[1] http://logs.openstack.org/64/141864/1/check//check-tempest-dsvm-centos7/4308f0c/logs/devstacklog.txt.gz
[2] https://bugzilla.redhat.com/show_bug.cgi?id=1144100

Change-Id: I11fb3728e08adc1e0f7acca63e5a308d24dce78e
2014-12-16 10:13:04 +11:00
Abhishek Chanda
d5b74c688f Take an optional rabbit user name as input
Newer versions of rabbitmq (3.3 and later) do not allow the 'guest'
user to access on non-local interfaces.

- Added a new config RABBIT_USERID which defaults to stackrabbit
- Invoked config scripts using that variable

Adopted from:
https://review.openstack.org/#/c/107779/

Change-Id: I43a231c9611b4cc2e390b603aa3bfb49c915bdc5
Closes-Bug: #1343354
Co-Authored-By: Scott Moser <smoser@ubuntu.com>
2014-12-12 02:20:09 +05:30
Sean Dague
e263c82e48 add shebang lines to all lib files
With gerrit 2.8, and the new change screen, this will trigger syntax
highlighting in gerrit. Thus making reviewing code a lot nicer.

Change-Id: Id238748417ffab53e02d59413dba66f61e724383
2014-12-10 11:28:05 -05:00
Kenneth Giusti
062a3c3e70 Configure an authorized user for the QPID broker
If QPID_USERNAME is set, add the user to the QPID broker's
authentication database.  Use the value of QPID_PASSWORD as the
password for the user, prompting for a password if QPID_PASSWORD is
not set.  This requires that all clients provide this username and
password when connecting to the QPID broker, or the connection will be
rejected.

If QPID_USERNAME is not set (the default), disable QPID broker
authentication. This allows any client to connect to the QPID broker
without needing authentication.

Change-Id: Ibd79873379740930ce5f598018c1ca1fffda7c31
Closes-Bug: 1272399
2014-10-01 16:06:52 -04:00
Jenkins
7c11e28cf3 Merge "Re-order stack.sh 3: logging and error traps" 2014-09-29 16:59:33 +00:00
Jenkins
3454209005 Merge "The python-qpid packages must be installed when qpidd is configured" 2014-09-18 05:27:49 +00:00
Kenneth Giusti
a1875b7b67 The python-qpid packages must be installed when qpidd is configured
The python-qpid package is available for Ubuntu trusty, precise, and
all the supported RHEL based platforms.  This package is necessary if
qpidd is configured as the RPC backend.  It is the client API used to
talk to the broker, and must be installed on each system that
communicates with the broker.

Change-Id: I635d3e857aa4b769a80cb7cde405cfd6cae44d32
2014-09-15 14:21:55 -04:00
Dean Troyer
ffd17680d5 Re-order stack.sh 3: logging and error traps
Part 3 of a series

Re-order the setup and check bits in the top portion of stack.sh to
have a logical flow with similar things done together.

No behaviour changes are intended aside from the order of execution.
Any such changes are bugs.

* Move logging and error configuration earlier to cover initial project setup.

Change-Id: Ib16bbe20f224b1cf5e86c7a2fda0d9472c108873
2014-09-13 18:18:43 -05:00
Kenneth Giusti
7e58c06a06 Add an option to enable version 1.0 of the AMQP messaging protocol
This change adds the RPC_MESSAGING_PROTOCOL configuration option that
selects the messaging protocol that is used by the RPC backend and
client.

Some brokers can support different kinds of 'on the wire' messaging
protocols.  Qpid, for example, supports both AMQP 0-10 (the default),
and AMQP 1.0.  Use the RPC_MESSAGING_PROTOCOL configuration variable
to override the default protocol for those brokers that support
multiple protocol options.

This new option is necessary in order to enable the new AMQP 1.0
oslo.messaging transport as described in the blueprint.

Note well: currently this AMQP 1.0 functionality is only available on
fedora 19+ platforms.  Support is WIP on ubuntu/debian and rhel/centos
7. Enabling the RPC_MESSAGING_PROTOCOL option on an unsupported
platform will cause devstack to exit with an approriate error
message.

Change-Id: Ib8dea59922844e87d6c947b5dca557f5b5fc1160
Implements: blueprint amqp10-driver-implementation
2014-09-10 14:53:01 -04:00
Dean Troyer
3ef23bceec Clean up local variable usage - Backends
Combines cleanup for mysql, postgresql and rpc

Change-Id: I37b928a669146671c946fc1ccb8e3ef1a27a3891
2014-07-25 16:24:00 -05:00
Ian Wienand
7ccf4e025a Remove output filter on rabbitmq install
The original workaround was for an init script that grabbed stdout.
This was some time ago and I think it's safe to remove.

It can be a problem on Fedora; out-of-the-box some old F20 images can
have a broken dependency when rabbitmq installs.  With this in place,
all helpful output goes into the temp log file, but it is never shown
because the install_packages function exits the script.  Thus things
just stop and you have no idea why.

Change-Id: I2f5b934492a8c9d7b93e89fdcfa776bf15f25cb8
2014-07-23 14:24:11 +10:00
Nicolas Simonds
8f084c6b85 use "rabbit_hosts" config option instead of "rabbit_host"
This allows for easy client configuration against clustered RabbitMQ
setups.  Does not break existing configs.

Change-Id: I2b180f8860a727e35d7b465253689e5e8c44eb98
Closes-Bug: 1286411
2014-02-28 17:03:34 -08:00
Ian Wienand
aee18c749b Enforce function declaration format in bash8
Check that function calls look like ^function foo {$ in bash8, and fix
all existing failures of that check.  Add a note to HACKING.rst

Change-Id: Ic19eecb39e0b20273d1bcd551a42fe400d54e938
2014-02-28 07:59:03 +11:00
Sahid Orentino Ferdjaoui
e9648276a6 Removes the dependence with aptitude
Removes the dependence with aptitude by replacing
the call of:
  aptitude purge -y ~npackage by apt_get purge -y package*

Change-Id: I08875ffad9dc6293047827666f02453a355b16ea
Closes-Bug: 1281410
2014-02-24 09:41:07 +01:00
Ben Nemec
ec5918f2f6 Retry rabbitmq password change
Due to the bug referenced below, on Fedora it is possible for
the rabbitmq password change to fail the first time rabbitmq is
started.  This change adds a retry loop to avoid the problem in
devstack.  One retry should be enough in most (all?) cases, but
this will retry up to ten times just to be safe.

Note that just retrying the password change is not enough.  The
rabbitmq-server service must be restarted as well.

Change-Id: I403dcd503aa8e74e2ba6312a0decf0d4fd0d8795
bz: https://bugzilla.redhat.com/show_bug.cgi?id=1059028
2014-01-30 18:53:19 +00:00
Sean Dague
2bb483d32e clean up ubuntu versions
oneiric is long dead, remove references to it whenever possible
(one more subtle issue in cinder should be a seperate patch). This
includes removing the oneiric only tool build_uec.sh.

also remove the bulk of references to quantal, which is 8 months
out of support. note: raring only has support for the rest of the
month.

Change-Id: Ib17502be7572af76dc95560615221b48b970a547
2014-01-11 19:13:47 -05:00
Adam Spiers
6a5aa7c6a2 Fix some Markdown formatting issues
Address miscellaneous issues with Markdown formatting in comments which
are consumed by shocco when generating the online documentation.

Change-Id: I953075cdbddbf1f119c6c7e35f039e2e54b79078
2013-10-24 17:38:19 +01:00
Sean Dague
101b424842 fix whitespace in the rest of lib/*
this brings this in line with bash8 checker

Change-Id: Ib34a2292dd5bc259069457461041ec9cd4fd2957
2013-10-22 13:02:23 -04:00
Jenkins
677f225091 Merge "remove useless step in cleanup_rpc_backend" 2013-10-18 05:01:08 +00:00
Jenkins
f31efd89c7 Merge "refine rabbit cleanup" 2013-10-18 04:43:39 +00:00
DennyZhang
557744faec refine rabbit cleanup
Beside it's good to killall -9 epmd,
if killall epmd fails

Change-Id: Ide90ef8ac3339bd70d991666ce0d3550a088670b
2013-10-14 12:21:29 -05:00
DennyZhang
c7a92800c9 remove useless step in cleanup_rpc_backend
It shall not make dir of /var/run/openstack for the cleanup operation.

install_rpc_backend will make the directory, which is covered by another
take care of this.

Change-Id: I2bf1bfb4a6b409cc04f2d7b94dd58627e0134b71
2013-10-14 00:51:19 -05:00
Vincent Hou
93a7a50c1d Add the creation of /var/run/openstack when zeromq is chosen
Fixed Bug 1200539.

Change-Id: I270623da7026e94d9ece4d5f510cad5a6c4d79ff
2013-09-27 06:19:31 -04:00
Attila Fazekas
a3dc399965 QPID default host
Using SERVICE_HOST as a default QPID_HOST.

Change-Id: I65df0ea4be7df37d4d6f22591b175870808a5c84
2013-07-12 19:29:41 +02:00
Jason Dillaman
056df827ff Set QPID_HOST parameter to better support multi-node mode
When deploying OpenStack in a multi-node configuration,
the Qpid clients need the hostname of the potentially
remote Qpid server in order to permit the necessary RPC
communication between components.

Fixes bug #1196521

Change-Id: Iee3c3747cedea9488ec345e78f8eddbc6e850573
2013-07-01 08:52:50 -04:00
Jenkins
3721657b27 Merge "ZeroMQ driver to default to redis matchmaker" 2013-05-28 20:56:06 +00:00
Eric Windisch
800bf387b3 ZeroMQ driver to default to redis matchmaker
Switching to the redis matchmaker.

The localhost matchmaker does not presently work.
Also, the localhost matchmaker could not work for
multi-host setups.

Change-Id: I81a26b9af78328e360a18b87371c619e194365d2
2013-05-24 12:41:38 -04:00
Eric Windisch
767c6dfa0e Create usable IPC directory for ZeroMQ
By default, the zeromq driver looks for
/var/run/openstack which needs to be created and
given the right permissions.

It is easier and just as safe in the case of devstack
to just use mktemp to establish a temporary working
directory.

Change-Id: I4cec33e49d2b042a244420fb40d83d476e4971cd
2013-05-24 12:04:10 -04:00
Jenkins
ad573f8543 Merge "Only search the lib dir for rpc_backend" 2013-05-13 20:37:27 +00:00
Vishvananda Ishaya
78a53d92c7 Only search the lib dir for rpc_backend
The grep in rpc_backend uses . to search all files. Unfortunately
the current directory when the command is called is not the lib
directory, so change it to search the lib directory instead.
Without this fix the command is forced to grep all files under
devstack which could be very slow if one has downloaded large
images.

Fixes bug 1174718

Change-Id: Ic8a59885cd07e5d6f2e734e80824762f9ac12996
2013-05-13 10:34:53 -07:00
Kieran Spear
fb2a3ae3ca Basic cells support
Adds support for running a region and child cell within a single
devstack environment.

README.md has been updated with some info on getting started.

Rebased/updated from initial work by Andrew Laski <andrew.laski@rackspace.com>.

Change-Id: Ic181da2180ccaa51df7efc9d66f7ccb820aac19b
2013-05-13 11:16:40 +10:00
zhhuabj
5595fdc2ac Update the package name of qpid in the fedora platform
The package name of qpid in default yum repository
is qpid-cpp-server, not qpid-cpp-server-daemon.

Fix bug 1177731

Change-Id: I4412029966583f5ef5a5a4cc80e7fdc4771c8eca
2013-05-09 13:12:01 +08:00
Matthieu Huin
7a7a466738 Removes "RPC not enabled" error message when no backend is needed
When no service needing a RPC backend is activated, no error message
should appear if a RPC backend is not installed. A simple check is
done on the services installation files to see which services need to
initialize a RPC backend at some point; if none of these services
are in ENABLED_SERVICES then the error message is skipped.

Change-Id: I4e47e0c675c74775b4ea53a00848ac1d777f0125
Fixes: bug #1167338
2013-04-26 10:36:32 +02:00
Ian Wienand
64dd03dd78 Modify RPM lists for RHEL6
Modifications to the RPM list to make devstack work on RHEL6.  Makes
various packages only install on Fedora distros; generally letting pip
install the missing dependencies on RHEL.

Additionally the Qpid package name is different in RHEL6 to Fedora.
Also a small re-write of the config file is required to avoid
authenication issues.

Change-Id: If497099d27aa9cd80e1c1cee1aff2ed6b076d309
2013-04-23 08:47:36 +10:00
Dean Troyer
cc6b443545 Formatting cleanups, doc updates and whatnot
Change-Id: Ica8298353be22f947c8e8a03d8dc29ded9cb26dd
2013-04-09 14:05:32 -05:00
Sean Dague
584d90ec56 add emacs shell-script tagging
for files that don't start with a #! or end in .sh, the added tags
are nice for emacs users to automatically switch to the right mode.

Change-Id: If4b93e106191bc744ccad8420cef20e751cdf902
2013-03-29 14:36:49 -04:00
Dean Troyer
995eb927f7 Add clean.sh
clean.sh gets rid of all residue of running DevStack except installed
packages and pip modules.

And it eradicates rabbitmq-server and ts erlang dependencies as well as
the other RPC backends and databases.

Change-Id: I2b9a251a0a151c012bae85a5a2f9c2f72e7700be
2013-03-15 10:30:37 -05:00