Allocating of space on the root disk was done in kickstart, combined with config_controller. Various checks for disk and volume group space made it difficult to add new filesystem partitions. To simplify this, all checks are now merged under disk size checks. Kickstart files now create the partitions of the same size for rootfs and log partitions, no matter the disk size, with the only variable size being the cgts-vg size. Thus, any future changes will only need to consider only this size for ensuring enough space is present. The limit between small and big disks is 240GB, with a minimum disk size of 120GB. Depends-On: https://review.openstack.org/#/c/600743/ Change-Id: I37ecc8eb5468811d1ca3a71f8e2a0629525e8fad Closes-bug: 1791170 Signed-off-by: Stefan Dinescu <stefan.dinescu@windriver.com>
109 lines
3.9 KiB
INI
Executable File
109 lines
3.9 KiB
INI
Executable File
|
|
## NOTE: updates to partition sizes need to be also reflected in
|
|
## _controller_filesystem_limits() in sysinv/api/controllers/v1/istorconfig.py
|
|
##
|
|
## NOTE: When adding partitions, we currently have a max of 4 primary partitions.
|
|
## If more than 4 partitions are required, we can use a max of 3 --asprimary,
|
|
## to allow 1 primary logical partition with extended partitions
|
|
##
|
|
## NOTE: Max default PV size must align with the default controllerfs sizes
|
|
##
|
|
## BACKUP_OVERHEAD = 20
|
|
##
|
|
## Physical install (for disks over 240GB)
|
|
## - DB size is doubled to allow for upgrades
|
|
##
|
|
## DEFAULT_IMAGE_STOR_SIZE = 10
|
|
## DEFAULT_DATABASE_STOR_SIZE = 20
|
|
## DEFAULT_IMG_CONVERSION_STOR_SIZE = 20
|
|
## BACKUP = DEFAULT_DATABASE_STOR_SIZE + DEFAULT_IMAGE_STOR_SIZE
|
|
## + BACKUP_OVERHEAD = 50
|
|
## LOG_VOL_SIZE = 8192
|
|
## SCRATCH_VOL_SIZE = 8192
|
|
## RABBIT = 2048
|
|
## PLATFORM = 2048
|
|
## ANCHOR = 1024
|
|
## EXTENSION = 1024
|
|
## GNOCCHI = 5120
|
|
## RESERVED_PE = 16 (based on pesize=32768)
|
|
##
|
|
## CGCS_PV_SIZE = 10240 + 2*20480 + 20480 + 51200 + 8196 +
|
|
## 8196 + 2048 + 2048 + 1024 + 1024 + 5120 + 16 = 150544
|
|
##
|
|
## small install - (for disks below 240GB)
|
|
## - DB size is doubled to allow for upgrades
|
|
##
|
|
## DEFAULT_SMALL_IMAGE_STOR_SIZE = 10
|
|
## DEFAULT_SMALL_DATABASE_STOR_SIZE = 10
|
|
## DEFAULT_SMALL_IMG_CONVERSION_STOR_SIZE = 10
|
|
## DEFAULT_SMALL_BACKUP_STOR_SIZE = 30
|
|
##
|
|
## LOG_VOL_SIZE = 8192
|
|
## SCRATCH_VOL_SIZE = 8192
|
|
## RABBIT = 2048
|
|
## PLATFORM = 2048
|
|
## ANCHOR = 1024
|
|
## EXTENSION = 1024
|
|
## GNOCCHI = 5120
|
|
## RESERVED_PE = 16 (based on pesize=32768)
|
|
##
|
|
## CGCS_PV_SIZE = 10240 + 2*10240 + 10240 + 30720 + 8192 +
|
|
## 8192 + 2048 + 2048 + 1024 + 1024 + 5120 +16 = 99344
|
|
##
|
|
## NOTE: To maintain upgrade compatability within the volume group, keep the
|
|
## undersized LOG_VOL_SIZE and SCRATCH_VOL_SIZE, but size the minimally size
|
|
## physical volume correctly.
|
|
##
|
|
## R4 AIO installations:
|
|
## - R4 (case #1): /boot (0.5G), / (20G),
|
|
## cgts-vg PV (239G), /local_pv (239G)
|
|
## - R4 (case #2): /boot (0.5G), / (20G),
|
|
## cgts-vg PV (239G), cgts-vg (239G)
|
|
##
|
|
## Upgrade migration will start with R5 install and create a partition to align
|
|
## above so filesystems within the volume group will be able to maintain their
|
|
## sizes in R5
|
|
## - R5 install : /boot (0.5G), / (20G),
|
|
## cgts-vg PV (142G), un-partitioned (336G)
|
|
## - R5 (case #1): /boot (0.5G), / (20G),
|
|
## cgts-vg PV (142G), cgts-vg PV (97G), unpartitioned (239G)
|
|
## - R5 (case #2): /boot (0.5G), / (20G),
|
|
## cgts-vg PV (142G), cgts-vg PV (336G)
|
|
##
|
|
|
|
sz=$(blockdev --getsize64 $(get_disk $rootfs_device))
|
|
if [ $sz -le $((240*$gb)) ] ; then
|
|
# Round CGCS_PV_SIZE to the closest upper valued
|
|
# that can be divided by 1024. 99344/1024= 97.01 so
|
|
# CGCS_PV_SIZE=98*1024=100352
|
|
# Using a disk with a size under 120GB as install
|
|
# disk will allow the system to install, but
|
|
# config_controller will fail
|
|
CGCS_PV_SIZE=100352
|
|
else
|
|
CGCS_PV_SIZE=150544
|
|
fi
|
|
|
|
ROOTFS_SIZE=20000
|
|
LOG_VOL_SIZE=8000
|
|
SCRATCH_VOL_SIZE=8000
|
|
|
|
ROOTFS_OPTIONS="defaults"
|
|
profile_mode=`cat /proc/cmdline |xargs -n1 echo |grep security_profile= | grep extended`
|
|
if [ -n "$profile_mode" ]; then
|
|
# Enable iversion labelling for rootfs when IMA is enabled
|
|
ROOTFS_OPTIONS="${ROOTFS_OPTIONS},iversion"
|
|
fi
|
|
|
|
cat<<EOF>>/tmp/part-include
|
|
part /boot --fstype=ext4 --asprimary --size=500 --ondrive=$(get_disk $rootfs_device) --fsoptions="$ROOTFS_OPTIONS"
|
|
part pv.253004 --grow --size=500 --maxsize=$CGCS_PV_SIZE --ondrive=$(get_disk $rootfs_device)
|
|
volgroup cgts-vg --pesize=32768 pv.253004
|
|
logvol /var/log --fstype=ext4 --vgname=cgts-vg --size=$LOG_VOL_SIZE --name=log-lv
|
|
logvol /scratch --fstype=ext4 --vgname=cgts-vg --size=$SCRATCH_VOL_SIZE --name=scratch-lv
|
|
part / --fstype=ext4 --asprimary --size=$ROOTFS_SIZE --ondrive=$(get_disk $rootfs_device) --fsoptions="$ROOTFS_OPTIONS"
|
|
EOF
|
|
|
|
%end
|
|
|