This updates all references of let(:chef_run) to cached(:chef_run) to speed up
tests. By doing this, we have to create a new cached(:chef_run) block whenever
we need to adjust node attributes for testing.
Speed was improved from 24.75 seconds to 14.75 seconds.
Change-Id: Ib5bea5c649a80677b673099a55c1c965b9d38390
Installing rabbitmq without using the distro version is failing and it works if
you use the distro version. So let's standardize on that for both ubuntu and
RHEL.
Change-Id: If757cf57574bb8389ae270523bfc3772d8dc08db
Signed-off-by: Lance Albertson <lance@osuosl.org>
* use git.openstack.org instead of github for berks dependency
resolution
* drop unnecessary test, as TLS is the default install
Change-Id: I58b140b6548eb7f8e3317ce566a7082623c9fc4f
- Switched default linter to cookstyle
- Renamed rake tasks to better conform with Chef conventions
Change-Id: I84ebeb49823b022e85dddea9fcdd358b27be50a3
* rabbitmq should use the bind_service attribute instead of the endpoint one,
since these could be different
* adapted rabbitmq clustering attributes
* adapted rabbitmq clustering search to point to recipe instead of role
Depends-On: Iae7e302973805af3cb44be1b29d0e61e76eb0aa0
Implements: blueprint cookbook-refactoring
Change-Id: I08ed288e63422078d9beb36d14fd3c05f1cac435
Cleaned up all the minor rubocop issues, the ones left relate to
complex logic and what I think is a bug in rubocop for nested
vs compact modules/class definitions.
Change-Id: I455efbb3f2c97a21dc16d4a9d7909afeaae18565
- deprecated Gemfile
- updated TESTING and README
- updated Rakefile to use chef exec instead of bundle exec
- replaced Runner by SoloRunner in specs
Change-Id: I5300850921f0af06ba65d3a0f7cf681f609e5868
Add attribute to allow mq cluster to be built on-the-fly rather
than searching nodes.
Change-Id: I1196f95465c0cb21824954feb261b9d1cfd84d26
Closes-Bug: #1412886
After configuring rabbitmq, restart the service to make configuration
take effect. So during OpenStack deployment, OpenStack services can
connect to rabbitmq successfully.
This workaround will notify rabbitmq-server to restart immediately.
This could be remove once the issue #153 is fixed in rabbit cookbook.
Change-Id: Ib017226f46c7e26429bb26df5b63525e1a98bc82
Closes-Bug: #1380940
Because the rabbit user/pass is stored in internal user database,
no need to push them to rabbit cookbook and expose them in config file.
And configuring rabbitmq default password with clear test is insecure,
so remove it.
Change-Id: Iab95e2dc8cd28b4a45574cf8883f1626dc332db0
Closes-Bug: #1381343
In current logic, rabbitmq port will be set to ssl-listening port,
this will make rabbitmq fail to start.
This submit will configure rabbitmq port for both ssl and non-ssl cases.
Closes-Bug: #1353884
Change-Id: I37dc9b656c553554b9bc636fe35c69744debe92a
All tests for the rabbitmq lwrps are now using matchers provided by the
upstream rabbitmq cookbook.
Change-Id: I60156f22052c625e6d2629b11c0e34463ee8e317
Closes-Bug: #1299125
This change gives us new capabilities, such as matching notifies and
subscribes of resources.
Implements: blueprint chefspec-3-4
Change-Id: I19512d459f25525932b84ee43961e1f71a39cb15
The problem that this change addresses is that the address_for method
will not work correctly if there are multiple IP address associated
with the specified interface.
The approach to solving this problem and moving towards the overall
goal of having one place where service networking information is
stored is to convert address_for calls into endpoints, and add a
address() method to the endpoints interface for IP address resolution.
The address() method has the following behavior: if the
bind_interface of an endpoint is set, then the IP is looked up on
the interface. Otherwise, the IP specified in the host attribute is
returned. This allows the caller to choose either method of
determining what IP a service will be bound to.
This initial change switches both the openstack-ops-database and
openstack-ops-messaging cookbooks over to use endpoints instead of
address_for. The other cookbooks will be switched over time.
blueprint increase-ip-binding-flexibility
Change-Id: I4a610409b9542a4c802f94b557299bb97dd0781b
Fixes: bug 1282041
Implements: blueprint centos-rhel-for-ops-messaging
On CentOS/RHEL, the OS base repos don't have a package for
rabbitmq-server. The rabbitmq cookbook by default expects to be able to
install the latest rabbitmq-server rpm from the rabbitmq site
(use_distro_version = false). However, in our cookbooks we are overriding
'use_distro_version' to true, which works for ubuntu as it has a
rabbitmq-server package in it's base repo
This commit basically leaves the use_distro_version flag as false unless
ubuntu/suse is the platform_family, so that CentOS/RHEL can grab the rpm
from the rabbitmq site
Change-Id: I4e31cbb4957f0e696a1528fa3f7c6c80695989ac
This change removes the attributes we'll be moving to openstack-common
and changes reference of those attributes to reflect new (more
consistent) namespace.
Change-Id: I1602d2e6241a62b188d64fa760786fb95a734404
Implements: blueprint clean-up-attr-for-mq-and-db
The user_password, service_password and db_password functions are redundant
since they simply call "secret". Creates a get_password function that will
accept a "type" of db, service or user.
All instances of these calls have been changed to call get_password
Change-Id: Ic73c99034638ec092192d11e37671edbba0e48ef
Partial-Bug: #1195915
This minor change allows you to run rspec outside of strainer while
still having cookbook dependencies automatically handled by berkshelf
(which also means you can run individual chefspec tests).
Note that this change does marginally increase the time it takes to run
a strainer test.
A similar change was recently accepted in the openstack-compute
cookbook.
Change-Id: I4ac5ec08dc3a09dd3b434203f83ef5e54d964505
When develop_mode=false, the password of mq user "guest"
in the databag user_passwords is required. But the current
code doesn't support. I made it work, and add the test cases.
Closes-Bug: #1257554
Change-Id: I0d01bd73eaec9cc90304e67484fec15fad061504
The node[openstack][*][rabbit] attributes for all the services using rabbitmq
(block-storage, compute, image, metering, network) should default to the same
values as node[openstack][mq]. Bumping the major version accordingly.
Change-Id: Id20a48a3ef2506622239e8e6f15ce1f76060b828
Since this breaks people using rabbit in the standard way, I
rather revert this change, and fork my own ops-messaging cookbook
since this is intended as an example cookbook (granted others
may use it directly). This code would be better off in my
own fork, where i do not impact others, with a non-merged upstream
rabbitmq feature.
This reverts commit 3b35ac204d.
Change-Id: I53da70583c50ae985d3842c3d709eb81f565d63d
This change integrates against a rabbitmq cookbook feature which
is not yet merged upstream. However, given the default code path
does not change, felt okay to get this out there. Especially b/c
we are dependant on it. This feature allows one to run rabbit
and clustering across a specific address. For more details, see:
http://tickets.opscode.com/browse/COOK-3320
Change-Id: I2a10c551cb2176dadaee8842eeadfdfc8cb93e44
Now that `openstack-common` handles the `["openstack"]["mq"]`
attributes, there is no need to set them in the default test cases.
Change-Id: I1987a6c4ae0898bcf2cd0100fd1f5408990f2592