According to the placement upgrade process, online_data_migrations
should be triggered right after upgrading database schema
and placement services on all controller nodes [1]
We also replace usage of `need_service_restart` local fact
with `need_online_data_migrations` as first one is never actually used.
[1] https://docs.openstack.org/placement/latest/cli/placement-manage.html#placement-database
Change-Id: I430ea45fe321440d832a0a90747b80f5d197f073
With update of ansible-lint to version >=6.0.0 a lot of new
linters were added, that enabled by default. In order to comply
with linter rules we're applying changes to the role.
With that we also update metdata to reflect current state.
Depends-On: https://review.opendev.org/c/openstack/openstack-ansible/+/891474
Change-Id: I315c7fa58ee07786832d21c13f281968ee3d400a
By overriding the variable `placement_backend_ssl: True` HTTPS will
be enabled, disabling HTTP support on the placement backend api.
The ansible-role-pki is used to generate the required TLS
certificates if this functionality is enabled.
Depends-On: https://review.opendev.org/c/openstack/openstack-ansible/+/879085
Change-Id: Id84137b624624482939989098f1b04263d62c0fd
This line has been here since the initial commit
Iaa11a8cc4d945712b62c3b9c2cb6ad168def34eb, but should already
be covered by the distribution_major_version line above.
Change-Id: Ia6b77dd8cd70e099e9b287625ab3320b1986f599
Implement support for service_tokens. For that we convert
role_name to be a list along with renaming corresponding variable.
Additionally service_type is defined now for keystone_authtoken which
enables to validate tokens with restricted access rules
Depends-On: https://review.opendev.org/c/openstack/openstack-ansible-plugins/+/845690
Change-Id: I4e9fff59bbfa9c8a1ae0236d077ac9ee2881c04b
Related-Bug: #1948456
Use a first_found lookup instead of a with_first_found loop so that
the 'paths' parameter can be used.
This ensures that only vars from the role are included, and not vars
from a parent calling role. This can happen when a parent role has
a higher priority vars file available for inclusion than the role
it calls.
Change-Id: If58b7e10f39affe2f34af9e9503bc1f90caa4b0e
Since we still use ceph-ansible that has their own implementation of
config_template module it's worth to use mentioned module as a collection
explicitly.
Depends-On: https://review.opendev.org/c/openstack/openstack-ansible/+/819814
Change-Id: I374d125994239a885007081d0490e4a2c7018235
We implement `placement_policy_overrides` variable in order to allow
management of placement policy files when needed.
Change-Id: If219ac80ceed2bf455a7de83b848c9d0a66371a4
All references to Gentoo, SUSE, Debian stretch and Centos-7 are removed.
Conditional tasks, ternary operators and variables are simplified where possible
OS specific variables files are generalised where possible
Change-Id: I58b9cec20349c722631e5934c44efb54153daab7
We use the same condition, which defines against what host some "service"
tasks should run against, several times. It's hard to keep it the same
across the role and ansible spending additional resources to evaluate
it each time, so it's simpler and better for the maintenance to set
a boolean variable which will say for all tasks, that we want to run
only against signle host, if they should run or not now.
Change-Id: If086478f8ea9a0ffb763fd05d6a110e1c12f32b3
Move it to the service setup host (defaults to utility[0]) instead
of the galera[0] host, and use galera_address (defaults to internal VIP)
as the endpoint instead of a local connection on the db host.
Change-Id: Ic831664bd500b8a3ed22238fef0b19ed56313d72
As nova_placement -> placement takes place in S->T upgrade,
we don't need this code anymore, as S->U is not supported anyway,
and T->U don't need placement to be migrated again
This reverts commit 3d6cedf859.
Depends-On: https://review.opendev.org/692509
Change-Id: I281d8974ee22e65da8d03c6784bcbbbe79648351
placement_db_sync has no relation to common-db, and independent step
during glance configuration. common-db tag should be applied only
to the common tasks
Change-Id: Ibb2a119a7de0be0ea381d575e994c14df67e2ce8
Placement migration tool looks for placement binaries in $PATH.
We should append venv to $PATH to make migration work
in source installs.
Change-Id: I0a062a7424ecc7cdcd5a2b2042cdf1f3faad916b
Move service to use uWSGI role instead of iternal task for uwsgi
deployment. This aims to ease the maintenance of uWSGI and speedup
metal deployments as the same uwsgi environment will be used
across all services.
Depends-On: https://review.opendev.org/678025/
Change-Id: Ied4b59787e9707bc886c7bcba8f4ac50865edcb9
This patch refactors the openstack user/service/endpoints creation to
service_setup.yml which will eventually be managed by
openstack-ansible-tests.
Change-Id: I64e01de412c6d2bfff18910b48c5156577027f2b
This patch aims to migrate service from usage of regular syslog files
to journald. We also disable uwsgi logging, since it dublicates
requests that are logged by service itself.
Change-Id: Ib24a5c96359c349781c48a5d82d7c64e793b8e43
TASK [os_placement : Record the need for a service restart] ********************
[DEPRECATION WARNING]: Using tests as filters is deprecated. Instead of using
`result|changed` use `result is changed`. This feature will be removed in
version 2.9. Deprecation warnings can be disabled by setting
deprecation_warnings=False in ansible.cfg.
Change-Id: Ic9ea32ea34af157b127ab84517c1ecefaac28ab8
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.
Change-Id: Ic9a12d7f04288f838cfc80c2b7725d20fec1dde9
The variables placement_developer_mode and placement_venv_download
no longer carry any meaning. This review changes placement 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: Ieac9e2fba7e222d31c29eebf699968455a727758
This patch adds the support for the placement service with
a simple functional test which hits the API (which in turn
hits the database and keystone for authorization).
Depends-On: I878e8c479d8963b339b5e1f6031f649c0f87082f
Change-Id: Iaa11a8cc4d945712b62c3b9c2cb6ad168def34eb