Commit Graph

77 Commits

Author SHA1 Message Date
Simon Hensel 3c014fb2b6 Reduce memory consumption in Cinder services
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
2023-07-10 11:35:06 +02:00
Dmitriy Rabotyagov f16036e1f1 Add way to periodically trim Cinder DB
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
2023-05-18 08:10:21 +00:00
OpenStack Release Bot 492e519b98 Update master for stable/zed
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
2022-12-13 13:12:58 +00:00
Dmitriy Rabotyagov 9a8ea212c0 Forcefully remove Cinder v2 endpoints
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
2022-06-14 11:16:07 +02:00
siavash sardari 66eb424de5 Add the ability to disable send_actions option in cinder-volume-usage-audit service.
Change-Id: I351279dab0d90e60573df7db4c80b63320dff787
Closes-Bug: #1968734
2022-04-13 16:06:34 +04:30
Andrew Bonney 6efa45e2bd Add configuration option for heartbeat_in_pthread
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
2022-03-15 10:52:22 +00:00
Dmitriy Rabotyagov 71eb6c4c10 Disable Cinder v2 API
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
2021-05-28 11:22:02 +03:00
Dmitriy Rabotyagov d9bfa963e8 Use global service variables
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
2021-01-05 19:09:06 +02:00
Dmitriy Rabotyagov c6b9f011b7 Explicitly enable/disable active/active
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
2020-06-17 18:49:39 +03:00
Andreas Jaeger de65cf9eb1 Use newer openstackdocstheme and reno versions
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
2020-06-03 19:12:38 +02:00
OpenStack Release Bot 679371ce38 Update master for stable/ussuri
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
2020-06-01 13:12:48 +00:00
Andreas Jaeger 0e60009c89 Update docstheme for style
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
2020-05-20 18:47:22 +02:00
Dmitriy Rabotyagov 1d45ccefce Replace git.openstack.org with opendev.org
This patch replaces git.openstack.org with opendev.org as redirection
from old path was enabled.
Also we change upper constraints url due to [1]

[1] http://lists.openstack.org/pipermail/openstack-discuss/2019-May/006478.html

Depends-On: https://review.opendev.org/693841/
Change-Id: Iafcaac9c1f67daf06dfca5a3a49e96b3bc72a11d
2019-11-14 16:22:15 +00:00
ShangXiao 453166431a Fix typos in the yml files
Change-Id: I0d113aa3d1c1eb89ce98f1cbc6febf9ac3173a7c
2019-11-05 16:33:34 +08:00
OpenStack Release Bot 1bbf7605d8 Update master for stable/train
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
2019-10-22 18:57:13 +00:00
Mohammed Naser c148d77e29 rbd: start using active-active
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
2019-07-22 12:10:38 -04:00
Mohammed Naser 6132d03c19 release: added release note for ceph backend issue
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
2019-06-18 12:21:23 -04:00
OpenStack Release Bot 2063a0fcd7 Update master for stable/stein
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
2019-04-08 09:17:31 +00:00
Florian Haas ffbd0a1aaf Introduce cinder_scheduler_default_filters
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
2019-02-15 20:57:57 +01:00
Domingues Luis Filipe a04b6cb15e Add possibility to have private cinder volume types
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
2018-11-22 15:46:04 +01:00
Zuul b641b12c84 Merge "Fix Cinder backup to use full class path" 2018-11-13 08:37:29 +00:00
Mohammed Naser e5d5116ac5 Fix Cinder backup to use full class path
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
2018-11-08 16:00:43 +00:00
Francois Deppierraz 85dfdb2e3b releasenotes: oslo-messaging-separate-backends add project name
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
2018-10-15 16:54:53 +02:00
OpenStack Release Bot 0c01063de9 Update reno for stable/rocky
Change-Id: I36d464135237be19e7c6e9756b9a56259b626f78
2018-08-10 16:46:15 +00:00
Kevin Carter (cloudnull) 12ea9635ff
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 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>
2018-07-31 15:09:58 -05:00
Mohammed Naser 6d75b48de0 Change deprecated option iscsi_helper to target_helper
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
2018-07-20 03:21:42 +00:00
Jesse Pretorius c5ecc77f46 Execute service setup against a delegated host using Ansible built-in modules
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
2018-07-13 13:42:58 +01:00
Andrew Smith e8eae7d067 Update to use oslo.messaging service for RPC and Notify
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
2018-06-04 13:39:05 -04:00
Markos Chandras ba7c1e29d9 Add support for using distribution packages for OpenStack services
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
2018-05-04 17:08:45 +01:00
Jimmy McCrory f9ceec9cd5 Remove cinder v1 service and endpoints
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
2018-03-27 12:35:10 -07:00
OpenStack Release Bot f026f33f78 Update reno for stable/queens
Change-Id: I3fbce5122275ae102d70d1cdf93c6abc1f589b4d
2018-02-14 15:47:39 +00:00
Andreas Jaeger 7a43e60eee Remove setting of version/release from releasenotes
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
2017-11-17 07:55:29 +01:00
Zuul feba9fd908 Merge "Adds support for specifying GID AND UID for cinder system user" 2017-10-20 09:14:11 +00:00
Marcus Murwall e350f899ae Adds support for specifying GID AND UID for cinder system user
Change-Id: I141509b9e2fdb132357542c6b5204ffaa6f33d56
2017-10-18 10:05:29 +00:00
Jean-Philippe Evrard 3815c5bb4e Update upgrade role for Queens from P
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
2017-10-17 18:28:22 +00:00
OpenStack Release Bot bf8570536b Update reno for stable/pike
Change-Id: I6d9e81f25720dbce475505dabd3e5a9437a51f6f
2017-08-21 10:31:33 +01:00
Andy McCrae f7f45e118e Implement uWSGI for cinder-api
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
2017-07-25 15:57:19 +01:00
ZhongShengping 631521139c Fix openstackdocstheme settings
To use openstackdocstheme 1.11.0 properly, this patch fixes
some settings according to follow[0].

[0]https://docs.openstack.org/openstackdocstheme/latest/

Change-Id: I119094190a2ad63ae45cae0879679cf8a46c82c0
2017-07-03 16:13:25 +08:00
ZhongShengping c64ac5e36e Switch from oslosphinx to openstackdocstheme
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
2017-06-26 11:31:31 +08:00
Jenkins 0051dbbdff Merge "Deprecate rpc_backend option" 2017-06-21 17:31:31 +00:00
Jesse Pretorius bca5c325eb Implement data migrations for rolling upgrades
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
2017-06-19 15:53:35 +00:00
ZhongShengping 84072c248c Deprecate rpc_backend option
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
2017-06-19 12:25:59 +00:00
Duong Ha-Quang 49435e21fe Remove deprecated glance_api_version option
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
2017-05-31 14:55:28 +07:00
Jesse Pretorius 8b7fc595e7 Support no validation of internal SSL endpoints
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
2017-05-12 10:54:29 +00:00
Jesse Pretorius b620dc00e9 Replace var approach with config_template approach
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
2017-04-26 13:08:09 +00:00
Ivan Kolodyazhny fe32f9f169 Make Cinder Auth Strategy configurable
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
2017-04-20 16:13:16 +00:00
Andy McCrae 00d97e5b0f Rename reno to avoid conflict on integrated repo
Change-Id: Ie4c447749db17c2773a4940f2c4315fb5af35d47
2017-04-11 11:59:32 +01:00
Jenkins 35d3e242ec Merge "Deprecate auth_plugin option" 2017-04-05 03:21:32 +00:00
Jenkins 8cec09204b Merge "Ensure the components are isolated from the system" 2017-03-29 11:03:35 +00:00
Kevin Carter c2d4045a23 Ensure the components are isolated from the system
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>
2017-03-28 18:43:06 -05:00