config/sysinv/sysinv/sysinv/sysinv/helm
Delfino Curado c861bc6f34 Fix ceph pool creation during stx-openstack apply
Previously the helm overrides for nova, cinder and glance respectively
defined 512, 256 and 256 as the PG_NUM for their Ceph pools. Until
Mimic, ceph would just issue a warning message if this number was
bigger than the number OSD * 100, now Nautilus returns an error
message
and asks for expected_num_objects parameter or --yes-i-really-mean-it.
Neither of these options is supported by openstack-helm.

The pool creation is adjusted to take into account the number of OSDs
available to choose the PG_NUM.
The steps are:
Number of OSD times 100 minus 1;
Get the nearest power of two numbers below this result;
Limit PG_NUM to the previous defaults, as they are already high
numbers.
This logic roughly results in the same values described here:
https://docs.ceph.com/en/nautilus/rados/operations/placement-groups/#a-preselection-of-pg-num

This was done to solve an error message which demands a
expected_num_objects when PG_NUM is considered too high by ceph.

Test plan:
StarlingX builds successfully
stx-openstack is built successfully
stx-openstack is applied successfully and ceph pools are created
accordingly
It is possible to override PG_NUM on ceph pools by changing chunk_size
value through helm overrides

Closes-Bug: #1949360
Signed-off-by: Delfino Curado <delfinogomes.curadofilho@windriver.com>
Change-Id: I222bee29bcaa09a95a3706c72dd21b8ed3efbe60
2021-11-12 18:07:49 -05:00
..
__init__.py Helm Backend for chart specific system overrides 2018-07-31 15:48:45 -04:00
base.py Fix ceph pool creation during stx-openstack apply 2021-11-12 18:07:49 -05:00
common.py Fixing pylint failures in zuul. 2021-05-18 11:50:20 -05:00
helm.py Remove code breaking app UTs under py39/Bullseye 2021-10-06 00:57:47 -04:00
lifecycle_base.py Force remove or delete application 2021-03-15 23:03:29 +00:00
lifecycle_constants.py Add lifecycle hook to allow to_app application-update semantic checking 2021-04-23 06:55:55 -04:00
lifecycle_generic.py Introduce lifecycle operator 2021-01-19 11:26:20 +02:00
lifecycle_hook.py Send application lifecycle notifications for backup and restore. 2021-04-12 08:29:32 +00:00
lifecycle_utils.py py3: use oslo.serialization 2021-08-12 12:26:09 -04:00
manifest_base.py Specify encoding of the file for yaml load 2021-08-13 16:31:52 +00:00
manifest_generic.py Eliminate unnecessary imported modules 2019-09-23 11:27:05 +08:00
utils.py Address python3 string issues with subprocess 2021-08-11 10:59:49 -04:00