Since upstream Panko project has retired, we deprecating role for it.
Since we might want to get some patches in for stable branches, we're
deprecating role instead of retiring it.
Depends-On: https://review.opendev.org/c/openstack/project-config/+/799802
Change-Id: I35e008bcc9b35373dc6db2672ee1cabb328e7f9b
Previous to this change the uwsgi config had virtualenv include /bin,
leading to $venv/bin/bin in execution
Change-Id: I9e2e211c966f71dc047cdf92d9774e55c736d505
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
Depends-On: Ia88b8e606a19ad8ee20665e125df1079b0a771ff
Change-Id: I1ad5aaaad5a8184d1a6aa41300bd6060fa6bc0e6
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: I5bdf7a83d7a5809887f4a445619d87bc7e14b40b
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.
Change-Id: Ied62269392fa8d7b0ddfe6e29f52c34ddbbbce20
This patch moves panko-api from usage of apache with mod_wsgi
to uWSGI, which means unification across another roles and
reduced maintenance costs
During migration period tasks that ensures apache won't listen
on panko_service_port are present, but they are supposed to be removed
after train release.
Change-Id: Ic61c60e2db45ac5e51bb3a43d7928648d9ae5d19
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: I83b54a175b15932036755c2673993990492592e8
To make the transition between versions easier,
we rename the vars file. This also resolves
issues when meta-dependent role inclusions do
not pick up the correct file when using the
include_vars task with multiple search paths.
Depends-On: https://review.openstack.org/602924
Change-Id: I0321511643485eeb8a121f940cf7adeccf0533f0
In order to radically simplify how we prepare the service
venvs, we use a common role to do the wheel builds and the
venv preparation. This makes the process far simpler to
understand, because the role does its own building and
installing. It also reduces the code maintenance burden,
because instead of duplicating the build processes in the
repo_build role and the service role - we only have it all
done in a single place.
We also change the role venv tag var to use the integrated
build's common venv tag so that we can remove the role's
venv tag in group_vars in the integrated build. This reduces
memory consumption and also reduces the duplication.
This is by no means the final stop in the simplification
process, but it is a step forward. The will be work to follow
which:
1. Replaces 'developer mode' with an equivalent mechanism
that uses the common role and is simpler to understand.
We will also simplify the provisioning of pip install
arguments when doing this.
2. Simplifies the installation of optional pip packages.
Right now it's more complicated than it needs to be due
to us needing to keep the py_pkgs plugin working in the
integrated build.
3. Deduplicates the distro package installs. Right now the
role installs the distro packages twice - just before
building the venv, and during the python_venv_build role
execution.
Depends-On: https://review.openstack.org/598957
Change-Id: Ibe21d0114a935bd2f91ca7a570c8051e14611548
Implements: blueprint python-build-install-simplification
Signed-off-by: Jesse Pretorius <jesse.pretorius@rackspace.co.uk>