In preparation for an openstack-load-balancer cookbook add the service
so that we can create a database, message queues and endpoints.
Change-Id: I4e67ec649124a16470c72bc831bd2825b3741449
- Switch to Stein release
- Cookstyle fixes
- Update cookbook etcd to ~> 5.6
- Update README
- Add myself to author list and OSU Copyright
- Properly fix completions recipe and ensure it works
- Create and start the etcd service in the etcd recipe
- Update delivery configuration to exclude integration cookbooks
- Refactor and update RenderConfigFileMatcher to work with newer
ChefSpec. This fixes output which was passing but showing error
messages.
Depends-On: https://review.opendev.org/701027
Change-Id: Iba3eeabe85ab9303147e43eeb550212a46d190f3
These attributes were duplicated or are not needed anymore after the
great config refactoring.
Change-Id: I3b580ba36565861b6c78120fc8dc2718f6e2f452
Depends-On: I90f14fd1f0104ac6052349d79deaad342058c9e1
The cookbook for installing Designate is being developed at [1]
currently, it needs to be added to some base service definitions.
[1] https://github.com/cloudbau/cookbook-openstack-dns
Change-Id: I3407e698dd990661d280f25fc3de93aaa1477354
- Bumped chefdk to 1.6.1
- Switched release to pike
- Added is_release attribute for testing, defaults to false
- Added RDO deps repo for testing pre-release packages
- Added ubuntu-cloud proposed repo for testing pre-release packages
- Switched the default linter to cookstyle
- Normalized the banner message
- Dropped pip installation method for python-openstackclient since the
packages are fresh enough
Change-Id: I7a67ba2520b8e44efec6edd8506f96b0e0dc913b
- corrects the rabbitmq 'guest' user to 'openstack' to for a more secure
installation, as 'guest' is not secure and is deleted in other
non-Chef deployments.
- adds update_yum_cache attribute to conditionally include the yum
recipe, removing the hardcoded entries from the run lists. This
prevents yum.conf from showing up on Debian-based machines.
- enforces GPG checking for RDO packages, uses correct key.
Change-Id: I89714e06eab803985ebffcdff5ff77655287c3e6
* adapted the database and message queue attributes to fit to the ones used for
the openstack services
* added optional attribute to allow setting an specific endpoint for the db root
user (useful in hardening scenarios)
Implements: blueprint cookbook-refactoring
Change-Id: Iae7e302973805af3cb44be1b29d0e61e76eb0aa0
* version bump to 13.0.0 for mitaka release
* removed suse support
* removed general endpoint method, since we should be able to always specify
which endpoint we need
* removed fallbacks in specific_endpoint method, since this behaviour is not a
very obvious one to the user and it should rather return an error than an
unexpected result
* dry public, internal and admin endpoint methods
* removed obsolete private methods
* adapted method calls for admin_endpoint in libraries/cli.rb
* refactored set_endpoints_by_interface recipe to directly call address_for
instead of address, since the recipe already checks for an existing attribute
..['bind_interface'] and therefore address would redirect to address_for
anyways
* moved the nested hash order for the public, internal and admin attributes to
to be more clear and to break all existing calls to fix them during the
refactoring process of all cookbooks
e.g: node['openstack']['endpoints']['internal']['identity'] is now
node['openstack']['endpoints']['identity']['internal'] and can be moved into
the identity cookbook. This also streamlines these endpoint attributes with
the bind_interface and host attributes
* removed dependency on openstack-identity cookbooks by moving openrc recipe to
opentack-identity (same for corrensponding specs and template)
* removed address method and use the address (or hostname) defined in the
endpoints hash directly (logic to set this attribute should rather be
done in a wrapper (with a fitting method) instead of a static and predefined
one)
* removed set_endpoints_by_interface recipe since logic for defining the
endpoints will be moved to wrapper cookbooks
* added helper method merge_config_options for generation of config hashes used
in service config templates
* added template for openstack-service.conf.erb which can be used by all service
cookbooks
* deleted all endpoints attibutes, since these are moved to the service
cookbooks for easier dependency handling
Implements: blueprint cookbook-refactoring
Change-Id: I0547182085eed91d05384fdd7734408a839a9a2c
Add the rest of the kombu ssl configuration options.
After this patch goes in, will need to update each cookbook
that uses rabbit mq to add these to the conf file.
Change-Id: Ie89f48b4a471d48df88f185a1012da9eb63071bd
Partial-Bug: 1464706
In order to allow components to better handle and respond to mq failures,
oslo has some heartbeat options that are useful.
Change-Id: I75b2b5e140095bdc828df6af13159170aa08839c
Partial-Bug: #1462438
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: Ic0c0677de44642e0994c0b95a3c270cbd4749b40
Oslo.message using rabbit_max_retries and rabbit_retry_interval to
define reconnect rabbitmq server times and interval when can not
connect to rabbitmq server.
Change-Id: I6bba768f4cf0c61b92fbc5d682b60f094afb7180
Partial-bug: #1439968
In some cases, keystone notifications are required. This
Add identity to the list of component that could use messaging.
Another patch to identity will update the keystone.conf
template to make use of mq just like the other cookbooks do.
Change-Id: Id4a777e1fae53cd5ac48b860e4ac01a4e70be7e7
Partial-Bug: #1439306
Update to add the new attributes about database and mq to support
openstack-bare-metal cookbook.
blueprint bare-metal-enablement
Change-Id: I777d04e72cd1e67525716afcf7538d4662a5e204
Add global flag for enabling rabbit ha
node['openstack']['mq']['rabbitmq']['ha'] = true
Change-Id: Iaaea0857d145c1f6cdb82eee6453a50083d9c331
Partial-Bug: #1408705
There are some settings that are useful for tweaking AMQP
settings in all the service configurations that should
be made available for setting. This adds flags for durable_queues,
auto_delete, and a setting for QPID topology version that
is required to be set correctly to use QPID federation.
There will need to be dependent changes to utilize these
in the project specific cookbooks.
Change-Id: I850c01a40aab02cf4531f7983543ef89e0e60446
This is a follow up change set that removes the now deprecated
messaging and database cookbook connection attributes for host and
port. These attributes have been replaced with corresponding
attributes in endpoints.
blueprint increase-ip-binding-flexibility
Change-Id: I2a8676155c6e71bd7ea92d1f33145d073cd899d1
This fixes the issue that there is no single attribute for qpid protocol
attribute, I defined a ['openstack']['mq']['qpid']['protocol']
attribute and it's default value is "tcp", and for the various openstack
service's qpid protocol attribute, we can override this attribute for
all openstack service, or they can override the individual qpid protocol
for the specific openstack service
Change-Id: I4cdae33f9d3f83edbf62d5019f9cb6830a02ab83
This change finishes off bp use-data-bag-for-qpid-password by removing
the unnecessary qpid attribute and defaulting qpid username to the same
value as openstack.mq.user.
Change-Id: I3ee99989c54fcda746eacb5c38011308494dc394
Implements: blueprint use-data-bag-for-qpid-password
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: I527e4e734f3c1eea9ac2567e0a90524d78ee867e
This change adds the notification_topics attribute for the network
cookbook. This commit will need to be merged before
https://review.openstack.org/#/c/75910/.
Change-Id: I65d24bf5c981e3540b1a530f7343983b6c513cc2
The case statement needs to check the node's service_type, not the
default. Checking the default will always result in the rabbitmq
attributes being set.
Change-Id: Iaa83d07c12b21037b60d938e7eb1b5f548777d2a
Closes-Bug: #1282528
remove repetitive copy/paste blocks that are developing drift (eg., qpid
'reconnect' missing for compute, rabbit 'ha' missing for image, and
rabbit 'use_ssl' missing for network).
this provides more reliable assignment of defaults and better visibility
of the one-off tweaks (eg., notification_topics).
Change-Id: Iba6fd99de86ea5ce5afab1654c4bc7e7d32f3e51
Here we move db and mq attributes already present in default.rb
attributes into new files (database.rb,messaging.rb). Additionally, we
pull in rabbit/mq attributes from
openstack-{block-storage,compute,image,metering,network} while
transforming namespace from openstack.SERVICE.mq and
openstack.SERVICE.rabbit to openstack.mq.SERVICE
and openstack.mq.SERVICE.rabbit. Lastly, we copy
openstack.SERVICE.db.username attribute from
openstack-{compute,dashboard,identity,image,metering,network} while
transforming namespace to openstack.db.SERVICE.username.
Change-Id: I50c900aa2ba92ce53f4a6ad05aeabd59e701b514
Implements: blueprint clean-up-attr-for-mq-and-db