This patch reduces memory usage for Cinder Volume and Backup services by
tuning glibc.
The specific tuning consist on disabling the per thread arenas and
disabling dynamic thresholds.
This is the equivalent of the devstack proposed patch from Change-Id
Ic9030d01468b3189350f83b04a8d1d346c489d3c
Related-bug: #1908805
Change-Id: I066ee76fe0cef9443f9e9f1ed3c8062d6c6f8566
We're adding a service that is responsible for executing db purge.
Service will be deployed by default, but left
stopped/disabled. This way we allow deployers to enable/disable
feature by changing value of cinder_purge_deleted.
Otherwise, when variables set to true once, setting them back to false
won't lead to stopping of DB trimming , so timer would need to be
stopped manually.
Change-Id: Ic5ae8c778bff2858fcb31c85d4b910805e452c3f
Add file to the reno documentation build to show release notes for
stable/zed.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/zed.
Sem-Ver: feature
Change-Id: Id4cda2eb6ffdb55a80e555b33b1cae9ee4c5f67c
Nowadays Cinder does not support v2 api so it makes sense to ensure
that these endpoints or service is not present in catalog.
Change-Id: I62a4ba182cc752a5bc4f6e8c4d2430f7e7aafe54
This configuration option has been observed to result in file
descriptor leaks in certain circumstances. A variable is added
here so that it can be easily overridden.
Related-Bug: #1961603
Change-Id: I8155264b181d6f21728804ef8260979931597427
Cinder v2 API has been deprecated in Pike and it make sense to
disable it's creation by default. Doing this we also will drop catalog
records and service during upgrade
Change-Id: I11986bfe6d2af5e671b7008a71a58538d0576336
Instead of overriding each service separatelly it might make
sense for deployers to define some higher level variable that
will be used first or fallback to default variable.
Change-Id: If14b89d4c795ba7e129af6a2f4b4bcbc10208986
As deployers may have usecases with several different backends being
served with the same cinder volume,
we should provide an option to easily override default behaviour
Change-Id: Idc9a71d722b7443cf1437c2d95f75c615b6035a4
The sync from https://review.opendev.org/733244 updated to
openstackdocstheme 2.2.1 and reno 3.1.0 versions.
Set openstackdocs_pdf_link to link to PDF file. Note that
the link to the published document only works on docs.openstack.org
where the PDF file is placed in the top-level html directory. The
site-preview places the PDF in a pdf directory.
openstackdocstheme renames some variables, so follow the renames
before the next release removes them. A couple of variables are also
not needed anymore, remove them.
See also
http://lists.openstack.org/pipermail/openstack-discuss/2020-May/014971.html
Change-Id: I1a5a5aba4d44cb1bdc13525cb4b0e9526e092950
Add file to the reno documentation build to show release notes for
stable/ussuri.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/ussuri.
Change-Id: I7740b66a35f3e70fc8fa26b630a2e74884e433a2
Sem-Ver: feature
New version of openstackdocstheme (Victoria+) respects pygments_style.
Since this repo is using now Victoria (master) requirements but has
not branched for Ussuri yet, it uses the new version.
Change pygments_style to 'native' since old theme version always used
'native' and the theme now respects the setting and using 'sphinx' can
lead to some strange rendering.
Change-Id: I6eecc8dec9b023d5fae4ff07ea5a1328f8924085
Add file to the reno documentation build to show release notes for
stable/train.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/train.
Change-Id: Ic651a961a87326f0076a3d14d6950fd1f77cb235
Sem-Ver: feature
This patch drops the hacky workaround of using backend_host which
is not recommended by the Cinder team and instead uses active-active
RBD which has been implemented since Rocky.
Closes-Bug: #1837403
Change-Id: I0c8aed4d0608c1f117e1baa1f428875956159ffd
This patch adds a release note to warn users about the possible
issue with Cinder and RBD with the new behaviour of backend_host.
Change-Id: Id3c9d4596a443f4d1e9e9090cc2da3650385a98b
Add file to the reno documentation build to show release notes for
stable/stein.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/stein.
Change-Id: I60bb2521e8f1423e5d31acef5a04b26c09096c9a
Sem-Ver: feature
Operators may want to define specific default filters. Previously,
they could only do so via cinder_cinder_conf_overrides.
Make the cinder.conf template understand cinder_scheduler_default_filters,
a list variable that, if defined, is folded into a comma-separated
list for scheduler_default_filters in the [DEFAULT] section.
Change-Id: I12859167d19b9f40e3378ac08fed094a42f40bc7
When declaring cinder_backends in user_variables.yml, it
will create public volume types.
We should be able to add an option to set the volume type
as private. This commit add this possibility.
Change-Id: I583ad08feb2293b14da8d6ccd42f8809f1f45b8d
Related-Bug: 1804438
Cinder no longer supports using a driver name without
specifying the full class path.
This patch fixes all the documentation and adds a
release note for that.
Change-Id: Ia31748e3abb0fca54efd5e8e74bde0440760159e
Related-Change-Id: I3ada2dee1857074746b1893b82dd5f6641c6e579
Without this patch, the release notes published at
https://docs.openstack.org/releasenotes/openstack-ansible/rocky.html contains
the same line multiple times which is not very clear.
[...]
Support separate oslo.messaging services for RPC and Notifications
to enable operation of separate and different messaging backend servers.
Support separate oslo.messaging services for RPC and Notifications
to enable operation of separate and different messaging backend servers.
[...]
Change-Id: I0ed1a43670d97f2e2215d04c641f7bd4cfbe4f44
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 systemd journal would normally be populated with the standard out of
a service however with the use of uwsgi this is not actually happening
resulting in us only capturing the logs from the uwsgi process instead
of the service itself. This change implements journal logging in the
service config, which is part of OSLO logging.
OSLO logging docs found here: <https://docs.openstack.org/oslo.log/3.28.1/journal.html>
A new variable `cinder_environment_overrides` has been added to ensure
the correct PATH is set for cinder services.
This reverts commit b219b90536.
Change-Id: I1cb10aa591a8262add47e2f5b61cfded9e28241d
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
The iscsi_helper configuration option has been deprecated and
replaced by target_helper. This patch updates it to use the
correct helper.
Change-Id: I3bafacb7d483dd3b1132b3c3b4411e26fc117ad8
In order to reduce the packages required to pip install on to the hosts,
we allow the service setup to be delegated to a specific host, defaulting
to the deploy host. We also switch as many tasks as possible to using the
built-in Ansible modules which make use of the shade library.
The 'virtualenv' package is now installed appropriately by the openstack_hosts
role, so there's no need to install it any more. The 'httplib2' package is a
legacy Ansible requirement for the get_url/get_uri module which is no longer
needed. The 'shade' client library is not required any more now that we're
installing it via openstack_hosts. As there are no required packages left, the
task to install them is also removed.
We still need to implement the openrc file on the target host for the cinder
backends and qos tasks. Those use the cinder venv so we don't need packages
installed on the host for them - we do just need the openrc file. Once these
shell tasks can be replaced with os_* module tasks we can change the
implementation to use them and remove the openrc role execution.
Depends-On: https://review.openstack.org/579233
Depends-On: https://review.openstack.org/579959
Depends-On: https://review.openstack.org/580156
Change-Id: Iaf3084f597be0585cbd712bbdb9aa826c1f0c1eb
This introduces oslo.messaging variables that define the RPC and
Notify transports for the OpenStack services. These parameters
replace the rabbitmq values and are used to generate the messaging
transport_url for the service. The association of the messaging
backend server to the oslo.messaging services will then be
transparent to the cinder service.
This patch:
* Add oslo.messaging variables for RPC and Notify to defaults
* Update transport_url generation
* Add oslo.messaging to inventory
* Add release note
Depends-On: If4326a6848d2d32af284fdbb94798eb0b03734d5
Depends-On: I2b09145b60116c029fc85477399c24f94974b61d
Change-Id: I6b29b89c80889eff34fe78674cd888ea9d398388
Distributions provide packages for the OpenStack services so we add
support for using these instead of the pip ones.
Change-Id: I4ff3cbf5e1e1ce04cd4cdc9c1ce97afdeace5159
Depends-On: I5a78e2120e596d36629b4ba978b2b5df76b149b0
Implements: blueprint openstack-distribution-packages
The cinder v1 API was removed in the queens release. The
'os_keystone_service' module is used to allow removal of existing
services and endpoints. Disabling the v2 API will now also ensure there
is not a registered service or endpoints.
The 'cinder_enable_v3_api' variable has been removed since it had no
effect on cinder's enablement of the v3 API.
Depends-On: https://review.openstack.org/#/c/557016/
Change-Id: I02d2bae8712c0ca223cafb5a43304806c4b83125
Release notes are version independent, so remove version/release
values. We've found that projects now require the service package
to be installed in order to build release notes, and this is entirely
due to the current convention of pulling in the version information.
Release notes should not need installation in order to build, so this
unnecessary version setting needs to be removed.
This is needed for new release notes publishing, see
I56909152975f731a9d2c21b2825b972195e48ee8 and the discussion starting
at
http://lists.openstack.org/pipermail/openstack-dev/2017-November/124480.html
.
Change-Id: Iec5c696e1eac17f7624a44e8876845f255b921bf
This changes the a-r-r with the proper version, and fixes
the repo path for role upgrades:
The role will, during test-upgrade-pre, have its current branch
checked out, and will deploy the current branch infrastructure,
including the generation of the constraints.
Then, the installation of previous branch of the role will use
the constraints for its previous version, but will have no
constraints for it, and fail.
We need to generate the constraints for the previous version too.
This should do it.
On top of that, we needed to update the work for Zuul v3:
This implements the initial OSA zuul v3 role jobs.
This patch implements an initial set of jobs intended to match
the current job execution method. It does not intend to improve
how the jobs are executed - only to replicate what is currently
in openstack-infra/openstack-zuul-jobs and provide the platform
to iterate on.
Change-Id: I2d455e9a47c85b77655e3b55847cf45959901b77
As part of the Pike goals we are moving api services to run as WSGI
apps. cinder-api service is set up as a wsgi app, and this patch moves
it over.
Since this is just a drop in replacement for the existing eventlet
service, operators an deployers should notice no difference.
Change-Id: I0283722d6da56201aa0894089c36168ad426700c
Implements: blueprint goal-deploy-api-in-wsgi
As part of the docs migration work[0] for Pike we need to switch to use the
openstackdocstheme.
[0]https://review.openstack.org/#/c/472275/
Change-Id: I82f9b1915c91a41acb2e9fbd9b007a9efa1388c8
In order to cater for artifact-based installed, and
rolling upgrades, this patch implements a set of local
facts to inform the db sync and online migrations
tasks.
The 'cinder_all_software_updated' variables will be
set by the playbook on each run to ensure that the
online migrations only happen once all venvs are
homogenous. This ensures that the playbook can be
executed in a serialised fashion and the data will
not be corrupted.
Change-Id: I9aacda78f92355374af3f4ab24d2d9a9b47491ed
Option "rpc_backend" from group "DEFAULT" is deprecated for removal.
Its value may be silently ignored in the future.
Change-Id: Iec35aaf6c251d4bf79094ab7013e2fed9d83f8db
Implements: blueprint deprecate-rpc-backend
glance_api_version option is deprecated in Cinder from 11.0.0 (Pike),
so remove from Cinder configuration template.
cinder_glance_api_version is only used in the template, so it is also removed.
Change-Id: Id921bf8f7c81ce7e674f4a4b230de13e47ffe7e2
Closes-bug: #1692750
If self-signed certificates are used for internal endpoints
the current implementation will fail as there is no option
to turn off the certificate validation.
This patch implements a new variable to do so.
Change-Id: I64a80716a8636ab978071e9e6c7aaa19962547ec
Instead of having specific variables do adjust the init
behaviour, the more generalised approach of hard setting
sensible defaults in the template and allowing the use
of config_template to override those is being used.
Change-Id: Id74d06cdfa2cf1e4a6270566d67083a50d82f6ac
Cinder supports both noauth and keystone auth mode. This patch adds
cinder_auth_strategy variable to have abililty to configure Cinder's
auth strategy
Change-Id: I7454c9340aff06628aa438301106f2ae8897765c
This creates a specific slice which all OpenStack services will operate
from. By creating an independent slice these components will be governed
away from the system slice allowing us to better optimise resource
consumption.
See the following for more information on slices:
* https://www.freedesktop.org/software/systemd/man/systemd.slice.html
See for following for more information on resource controls:
* https://www.freedesktop.org/software/systemd/man/systemd.resource-control.html
Tools like ``systemd-cgtop`` and ``systemd-cgls`` will now give us
insight into specific processes, process groups, and resouce consumption
in ways that we've not had access to before. To enable some of this reporting
the accounting options have been added to the [Service] section of the unit
file.
Change-Id: Ic49f5b8fc03789c47d180295aca6e2483071c06f
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>