b3ea1035ff9a8760f4a2a37dee457e5b14dbdb0c
18 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
Guilherme Steinmüller
|
e4a8d5540d |
db_setup: refactor database setup to a common file
This patch refactors the database creation to db_setup.yml which will eventually be managed by openstack-ansible-tests. This also re-orders the mq_setup to be done earlier so these system level dependencies are ready before service activation. Depends-On: https://review.opendev.org/667287 Change-Id: I7c0bd52aab6c704548d969bb6dc8a5dea3eed8c0 |
||
|
Guilherme Steinmüller
|
c9330452d0 |
Update role for new source build process
The variables trove_developer_mode and trove_venv_download no longer carry any meaning. This review changes trove to do the equivalent of what developer_mode was all the time, meaning that it always builds the venv and never requires the repo server, but it will use a repo server when available. As part of this, we move the source build out of its own file because it's now a single task to include the venv build role. This is just to make it easier to follow the code. Change-Id: I08c864eaef894074326d765bb424fa6b98ec0ed2 |
||
|
Kevin Carter
|
8a7b586848 |
Remove the private option from include_role
The private option on include role was never implemented and will no longer be developed. This change removes the option so ansible no longer raises a deprecation warning. Change-Id: Ia682b9fdeef6d29546c5996bd7bf2978ae6f0ef3 Signed-off-by: Kevin Carter <kevin.carter@rackspace.com> |
||
|
caoyuan
|
d21b6809e9 |
use include_tasks instead of include
include is marked as deprecated since ansible 2.4[0] Switch to include_tasks or import_playbook as necessary [0] https://docs.ansible.com/ansible/2.4/include_module.html#deprecated Change-Id: I2351c93c2ce5beb44404dc05b487f40e14973810 |
||
|
Jesse Pretorius
|
5333f1a759 |
Allow tags to be used for MQ tasks
The use of 'include_tasks' and a loop of variables creates a situation where a user is unable to use tags to scope the inclusion of only the MQ tasks when running the playbooks. The use-case this is important for is when the rabbitmq containers are destroyed and rebuilt in order to resolve an issue with them, and the user wishes to quickly recreate all the vhosts/users. Ansible's 'include_tasks' is a dynamic inclusion, and dynamic inclusions are not included when using tags. The nice thing about dynamic inclusions is that they completely skip all tasks when the condition does not apply, cutting down deploy time. However, given the use-case, we should rather take on the extra deployment time. This patch changes the dynamic inclusion to a static one, adds a 'common-mq' tag to cover all MQ implementations, and re-implements the 'common-rabbitmq' tag for the tasks that relate to RabbitMQ specifically. It also implements conditionals for each task set so that the rpc/notify tasks can be skipped if a vhost/user is not required for that purpose (eg: swift does not use RPC, and most roles will not use notifications by default). Depends-On: https://review.openstack.org/588191 Change-Id: I320ae83839869ee89fa5db3bf5c55d245f3b17db |
||
|
Jesse Pretorius
|
f2c6b96076 |
Move MQ vhost/user creation into role
There is no record for why we implement the MQ vhost/user creation outside of the role in the playbook, when we could do it inside the role. Implementing it inside the role allows us to reduce the quantity of group_vars duplicated from the role, and allows us to better document the required variables in the role. The delegation can still be done as it is done in the playbook too. In this patch we implement two new variables: - trove_oslomsg_rpc_setup_host - trove_oslomsg_notify_setup_host These are used in the role to allow delegation of the MQ vhost/user setup for each type to any host, but they default to using the first member of the applicable oslomsg host group. We also adjust some of the defaults to automatically inherit existing vars set in group_vars form the integrated build so that we do not need to do the wiring in the integrated build's group vars. We still default them in the role too for independent role usage. Change-Id: I88514f00c4b4c0452b573d765bb895cb562f952e |
||
|
Kevin Carter
|
0fc0cc2ff9 |
Add systemd tags to include role
There are times when a deployer will need to reconfigure parts of an environment and having a general purpose tag to run said operation will be important especicially should the deployer be needing to reconfigure systemd unit files in a downtime event. This change adds a general purpose systemd tag where include_role and systemd is found which will assit operators with day2 operational tasks. Change-Id: Iab6c46d082e0218dcbd37ac4ac7a48fac7080a47 Signed-off-by: Kevin Carter <kevin.carter@rackspace.com> |
||
|
Kevin Carter
|
fb1b211021 |
correct typo in service setup
Change-Id: Idfa2ba78862912aea856c1e54b22e45de857a9c4 Signed-off-by: Kevin Carter <kevin.carter@rackspace.com> |
||
|
Kevin Carter
|
51fa0eb892 |
Convert role to use a common systemd service role
This removes the systemd service templates and tasks from this role and leverages a common systemd service role instead. This change removes a lot of code duplication across all roles all without sacrificing features or functionality. The intention of this change is to ensure uniformity and reduce the maintenance burden on the community when sweeping changes are needed. The exterior role is built to be OSA compatible and may be pulled into tree should we deem it necessary. Change-Id: Id833d4ecf9d17bb74c1c0702c00ace241ac48873 Signed-off-by: Kevin Carter <kevin.carter@rackspace.com> |
||
|
Kyle L. Henderson
|
9d8a9347c4 |
Implement trove networking
To operate properly the trove guest agent needs access to rabbitmq and also the neutron network for trove to use must be created and defined in the trove.conf file. This changeset adds documentation, tasks and configuration defaults to setup the networking for trove. Change-Id: Idcf87c2eef0af475c02412f03433d22d7b08643f |
||
|
Kyle L. Henderson
|
b948402c76 |
Add RPC encryption key support
In the Ocata release, trove added support for encrypting the rpc communication between the guest instances and the control plane. These settings allow the user to specify installation specific keys versus using the default keys. Change-Id: Ie42d754d58e983a15b553ad8a399813c9a700344 |
||
|
Logan V
|
da04d4d470 |
Use ansible_service_mgr fact
This patch removes some extra tasks for detecting systemd and uses the fact instead. Partial-Bug: #1640125 Change-Id: Iabcd8ecbf6e10ba8e65d3ac01ae635ce9294aec2 |
||
|
Logan V
|
5c954a3486 |
Fix linting issues for ansible-lint 3.4.1
Preparing this role for the ansible-lint version bump Change-Id: I37ed27a28c0551af99a1f730b2b61d0ad1db4a3b |
||
|
Jesse Pretorius
|
cc5b90c42f |
Revert dynamic includes for inventory-based conditionals
Forcing dynamic includes for inventory-based conditionals results in incomplete execution. Change-Id: I0a2e28928f36aa8a7497eb2f3a190ad5d7a2fe62 |
||
|
Jesse Pretorius
|
c588ac18fd |
Force Ansible to use dynamic includes
Ansible 2.1.1 introduces a regression in the way conditional includes are handled which results in every task in the included file being evaluated even if the condition for the include is not met. This extends the run time significantly for a deployment. This patch forces all conditional includes to be dynamic. Change-Id: Ifab57201c962b084a1d531d788b25526cd899ce4 Related-Bug: https://github.com/ansible/ansible/issues/17687 |
||
|
Donovan Francesco
|
3455ec7579 |
Deploy Openstack-Trove (DBaaS)
This commit allows the deployer to create 3 containers to run Trove-API, Trove-Conductor and Trove-Taskmanager. Change-Id: If93330d48f53745d45af351b9de9a4a733af943a |
||
|
Donovan Francesco (IS)
|
28f3145e6b | Update | ||
|
Donovan Francesco
|
4b80fd260d | Initial Commit |