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
swift middleware contained in ceilometer is now deprecated. the
middleware is available in ceilometermiddleware.
Change-Id: I6e41986245f4d95a9385dc7829479ed1199f10ac
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
On fedora 21, qpidd cannot authenticate user, because
cyrus-sasl-plain is no more automatically installed.
This change fixes that.
Change-Id: I74452f40723881291b8c7577e5509da1c0e4e6e5
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
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
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
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
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
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>
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
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
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
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
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
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
This allows for easy client configuration against clustered RabbitMQ
setups. Does not break existing configs.
Change-Id: I2b180f8860a727e35d7b465253689e5e8c44eb98
Closes-Bug: 1286411
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
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
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
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
Address miscellaneous issues with Markdown formatting in comments which
are consumed by shocco when generating the online documentation.
Change-Id: I953075cdbddbf1f119c6c7e35f039e2e54b79078
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
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
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
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
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
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
The package name of qpid in default yum repository
is qpid-cpp-server, not qpid-cpp-server-daemon.
Fix bug 1177731
Change-Id: I4412029966583f5ef5a5a4cc80e7fdc4771c8eca
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
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
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
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
Fixes bug 1137667
Previously the auth/sasl config for qpidd was broken, and the
openstack services using RPC were not properly configured.
Now we ensure that:
- the admin qpid_username/password are configured for all services
(as the qpidd ACL config denies all access to non-admin users)
- the PLAIN sasl mechanism is configured for qpidd (otherwise the
qpid_password is not propogated)
- the qpidd process has read permission on the sasl DB (otherwise
thw admin user/apss cannot be verified even if set)
Change-Id: Id6bd675841884451b78f257afe786f494a03c0f7