b3ea1035ff9a8760f4a2a37dee457e5b14dbdb0c
Commit Graph

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
2019年06月25日 20:15:12 +00:00
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
2019年03月27日 19:26:49 +00:00
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>
2019年02月22日 00:40:17 +00:00
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
2018年09月08日 14:04:14 +00:00
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
2018年08月07日 15:06:11 +01:00
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
2018年07月17日 22:10:22 +01:00
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>
2018年07月02日 23:21:02 +00:00
Kevin Carter
fb1b211021 correct typo in service setup
Change-Id: Idfa2ba78862912aea856c1e54b22e45de857a9c4
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
2018年07月02日 23:20:49 +00:00
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>
2018年03月30日 23:06:06 -05:00
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
2017年04月14日 14:46:26 -05:00
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
2017年03月31日 13:41:06 -05:00
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
2016年11月10日 07:15:53 +00:00
Logan V
5c954a3486 Fix linting issues for ansible-lint 3.4.1
Preparing this role for the ansible-lint version bump
Change-Id: I37ed27a28c0551af99a1f730b2b61d0ad1db4a3b
2016年11月02日 12:33:12 +00:00
Jesse Pretorius
cc5b90c42f Revert dynamic includes for inventory-based conditionals
Forcing dynamic includes for inventory-based conditionals
results in incomplete execution.
Change-Id: I0a2e28928f36aa8a7497eb2f3a190ad5d7a2fe62
2016年09月26日 19:44:17 +01:00
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 
2016年09月22日 16:33:32 +01:00
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
2016年09月01日 15:17:08 +02:00
Donovan Francesco (IS)
28f3145e6b Update 2016年08月25日 14:56:41 +02:00
Donovan Francesco
4b80fd260d Initial Commit 2016年08月25日 14:54:34 +02:00