Collapse glance into platform in ControllerFS API

The existing "platform" filesystem is now resizable and added to
the ControllerFS API. The “glance” filesystem is merged into
"platform" and therefore removed from the ControllerFS API. The
"--force" flag is removed from the controllerfs-modify API as
it was only used for glance fs resizing.

The folder /opt/cgcs is removed and the “helm_charts” and “keystone”
folders now resides under /opt/platform.

  ls /opt/platform/
  armada  config  helm  nfv  puppet  sysinv

  ls /opt/cgcs/
  helm_charts  keystone

Resources related to drbd-cgcs and /opt/cgcs are removed from puppet
or updated to use drbd-platform and /opt/platform.

SM is no longer monitoring resources related to drbd-cgcs.

Tested in AIO-SX, AIO-DX and Standard hardware labs.

Partial-Bug: 1830142

Change-Id: I0a80c95a057e9d6d2acec5f33cc4da31cd20955e
Signed-off-by: Kristine Bujold <kristine.bujold@windriver.com>
This commit is contained in:
Kristine Bujold 2019-08-02 13:12:25 -04:00
parent 2590576a9d
commit c0d0a0360c
21 changed files with 109 additions and 259 deletions

View File

@ -10278,12 +10278,12 @@ itemNotFound (404)
"replicated": false, "size": 92 "replicated": false, "size": 92
}, },
{ {
"logical_volume": "cgcs-lv", "logical_volume": "platform-lv",
"uuid": "d30cc018-9218-403e-a1c2-9a5691a8bffb", "uuid": "d30cc018-9218-403e-a1c2-9a5691a8bffb",
"links": [{"href": "http://127.168.204.2:6385/v1/controller_fs/d30cc018-9218-403e-a1c2-9a5691a8bffb", "rel": "self"}, {"href": "http://127.168.204.2:6385/controller_fs/d30cc018-9218-403e-a1c2-9a5691a8bffb", "rel": "bookmark"}], "links": [{"href": "http://127.168.204.2:6385/v1/controller_fs/d30cc018-9218-403e-a1c2-9a5691a8bffb", "rel": "self"}, {"href": "http://127.168.204.2:6385/controller_fs/d30cc018-9218-403e-a1c2-9a5691a8bffb", "rel": "bookmark"}],
"created_at": "2017-09-14T17:54:15.896408+00:00", "created_at": "2017-09-14T17:54:15.896408+00:00",
"updated_at": "2017-09-14T20:59:53.114344+00:00", "updated_at": "2017-09-14T20:59:53.114344+00:00",
"name": "glance", "name": "platform",
"state": "available", "state": "available",
"isystem_uuid": "a5b7f26c-423f-41ed-a660-cd8cff4627eb", "isystem_uuid": "a5b7f26c-423f-41ed-a660-cd8cff4627eb",
"replicated": true, "replicated": true,
@ -10501,12 +10501,12 @@ itemNotFound (404)
"controller_fs": "controller_fs":
[ [
{ {
"logical_volume": "cgcs-lv", "logical_volume": "platform-lv",
"uuid": "d30cc018-9218-403e-a1c2-9a5691a8bffb", "uuid": "d30cc018-9218-403e-a1c2-9a5691a8bffb",
"links": [{"href": "http://127.168.204.2:6385/v1/controller_fs/d30cc018-9218-403e-a1c2-9a5691a8bffb", "rel": "self"}, {"href": "http://127.168.204.2:6385/controller_fs/d30cc018-9218-403e-a1c2-9a5691a8bffb", "rel": "bookmark"}], "links": [{"href": "http://127.168.204.2:6385/v1/controller_fs/d30cc018-9218-403e-a1c2-9a5691a8bffb", "rel": "self"}, {"href": "http://127.168.204.2:6385/controller_fs/d30cc018-9218-403e-a1c2-9a5691a8bffb", "rel": "bookmark"}],
"created_at": "2017-09-14T17:54:15.896408+00:00", "created_at": "2017-09-14T17:54:15.896408+00:00",
"updated_at": "2017-09-14T20:59:53.114344+00:00", "updated_at": "2017-09-14T20:59:53.114344+00:00",
"name": "glance", "name": "platform",
"state": "available", "state": "available",
"isystem_uuid": "a5b7f26c-423f-41ed-a660-cd8cff4627eb", "isystem_uuid": "a5b7f26c-423f-41ed-a660-cd8cff4627eb",
"replicated": true, "replicated": true,

View File

@ -1,5 +1,5 @@
# #
# Copyright (c) 2016-2018 Wind River Systems, Inc. # Copyright (c) 2016-2019 Wind River Systems, Inc.
# #
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
# #
@ -16,7 +16,7 @@ HIERADATA_WORKDIR = '/tmp/hieradata'
HIERADATA_PERMDIR = tsconfig.PUPPET_PATH + 'hieradata' HIERADATA_PERMDIR = tsconfig.PUPPET_PATH + 'hieradata'
ARMADA_PERMDIR = tsconfig.ARMADA_PATH ARMADA_PERMDIR = tsconfig.ARMADA_PATH
HELM_CHARTS_PERMDIR = tsconfig.CGCS_PATH + '/helm_charts' HELM_CHARTS_PERMDIR = tsconfig.PLATFORM_PATH + '/helm_charts'
HELM_OVERRIDES_PERMDIR = tsconfig.HELM_OVERRIDES_PATH HELM_OVERRIDES_PERMDIR = tsconfig.HELM_OVERRIDES_PATH
KEYRING_WORKDIR = '/tmp/python_keyring' KEYRING_WORKDIR = '/tmp/python_keyring'
@ -39,12 +39,8 @@ LINK_MTU_DEFAULT = "1500"
CINDER_LVM_THIN = "thin" CINDER_LVM_THIN = "thin"
CINDER_LVM_THICK = "thick" CINDER_LVM_THICK = "thick"
DEFAULT_CGCS_STOR_SIZE = \
sysinv_constants.DEFAULT_CGCS_STOR_SIZE
DEFAULT_DATABASE_STOR_SIZE = \ DEFAULT_DATABASE_STOR_SIZE = \
sysinv_constants.DEFAULT_DATABASE_STOR_SIZE sysinv_constants.DEFAULT_DATABASE_STOR_SIZE
DEFAULT_SMALL_CGCS_STOR_SIZE = \
sysinv_constants.DEFAULT_SMALL_CGCS_STOR_SIZE
DEFAULT_SMALL_DATABASE_STOR_SIZE = \ DEFAULT_SMALL_DATABASE_STOR_SIZE = \
sysinv_constants.DEFAULT_SMALL_DATABASE_STOR_SIZE sysinv_constants.DEFAULT_SMALL_DATABASE_STOR_SIZE
DEFAULT_SMALL_BACKUP_STOR_SIZE = \ DEFAULT_SMALL_BACKUP_STOR_SIZE = \
@ -55,6 +51,8 @@ DEFAULT_VIRTUAL_BACKUP_STOR_SIZE = \
sysinv_constants.DEFAULT_VIRTUAL_BACKUP_STOR_SIZE sysinv_constants.DEFAULT_VIRTUAL_BACKUP_STOR_SIZE
DEFAULT_EXTENSION_STOR_SIZE = \ DEFAULT_EXTENSION_STOR_SIZE = \
sysinv_constants.DEFAULT_EXTENSION_STOR_SIZE sysinv_constants.DEFAULT_EXTENSION_STOR_SIZE
DEFAULT_PLATFORM_STOR_SIZE = \
sysinv_constants.DEFAULT_PLATFORM_STOR_SIZE
SYSTEM_CONFIG_TIMEOUT = 420 SYSTEM_CONFIG_TIMEOUT = 420
SERVICE_ENABLE_TIMEOUT = 180 SERVICE_ENABLE_TIMEOUT = 180

View File

@ -1,5 +1,5 @@
# #
# Copyright (c) 2016-2018 Wind River Systems, Inc. # Copyright (c) 2016-2019 Wind River Systems, Inc.
# #
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
# #
@ -34,7 +34,6 @@ from tsconfig.tsconfig import SW_VERSION
from tsconfig.tsconfig import PLATFORM_PATH from tsconfig.tsconfig import PLATFORM_PATH
from tsconfig.tsconfig import KEYRING_PATH from tsconfig.tsconfig import KEYRING_PATH
from tsconfig.tsconfig import PLATFORM_CONF_FILE from tsconfig.tsconfig import PLATFORM_CONF_FILE
from tsconfig.tsconfig import CGCS_PATH
from tsconfig.tsconfig import CONFIG_PATH from tsconfig.tsconfig import CONFIG_PATH
from tsconfig.tsconfig import CONTROLLER_UPGRADE_FLAG from tsconfig.tsconfig import CONTROLLER_UPGRADE_FLAG
from tsconfig.tsconfig import CONTROLLER_UPGRADE_COMPLETE_FLAG from tsconfig.tsconfig import CONTROLLER_UPGRADE_COMPLETE_FLAG
@ -725,8 +724,6 @@ def upgrade_controller(from_release, to_release):
# Mount required filesystems from mate controller # Mount required filesystems from mate controller
LOG.info("Mounting filesystems") LOG.info("Mounting filesystems")
nfs_mount_filesystem(PLATFORM_PATH) nfs_mount_filesystem(PLATFORM_PATH)
os.mkdir(CGCS_PATH)
nfs_mount_filesystem(CGCS_PATH)
nfs_mount_filesystem(utils.RABBIT_PATH) nfs_mount_filesystem(utils.RABBIT_PATH)
os.mkdir(POSTGRES_MOUNT_PATH) os.mkdir(POSTGRES_MOUNT_PATH)
nfs_mount_filesystem(utils.POSTGRES_PATH, POSTGRES_MOUNT_PATH) nfs_mount_filesystem(utils.POSTGRES_PATH, POSTGRES_MOUNT_PATH)
@ -885,7 +882,6 @@ def upgrade_controller(from_release, to_release):
# Remove mounts # Remove mounts
LOG.info("Removing mounts") LOG.info("Removing mounts")
unmount_filesystem(PLATFORM_PATH) unmount_filesystem(PLATFORM_PATH)
unmount_filesystem(CGCS_PATH)
unmount_filesystem(utils.RABBIT_PATH) unmount_filesystem(utils.RABBIT_PATH)
unmount_filesystem(POSTGRES_MOUNT_PATH) unmount_filesystem(POSTGRES_MOUNT_PATH)
os.rmdir(POSTGRES_MOUNT_PATH) os.rmdir(POSTGRES_MOUNT_PATH)

View File

@ -1,5 +1,5 @@
# #
# Copyright (c) 2015-2016 Wind River Systems, Inc. # Copyright (c) 2015-2019 Wind River Systems, Inc.
# #
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
# #
@ -256,12 +256,12 @@ def abort_upgrade(from_load, to_load, upgrade):
os.path.join(utils.POSTGRES_PATH, "upgrade"), os.path.join(utils.POSTGRES_PATH, "upgrade"),
os.path.join(utils.POSTGRES_PATH, to_load), os.path.join(utils.POSTGRES_PATH, to_load),
os.path.join(utils.RABBIT_PATH, to_load), os.path.join(utils.RABBIT_PATH, to_load),
os.path.join(tsc.CGCS_PATH, "ironic", to_load), os.path.join(tsc.PLATFORM_PATH, "ironic", to_load),
os.path.join(tsc.PLATFORM_PATH, "nfv/vim", to_load), os.path.join(tsc.PLATFORM_PATH, "nfv/vim", to_load),
os.path.join(tsc.PLATFORM_PATH, ".keyring", to_load), os.path.join(tsc.PLATFORM_PATH, ".keyring", to_load),
os.path.join(tsc.PLATFORM_PATH, "puppet", to_load), os.path.join(tsc.PLATFORM_PATH, "puppet", to_load),
os.path.join(tsc.PLATFORM_PATH, "sysinv", to_load), os.path.join(tsc.PLATFORM_PATH, "sysinv", to_load),
os.path.join(tsc.CGCS_PATH, "ceilometer", to_load), os.path.join(tsc.PLATFORM_PATH, "ceilometer", to_load),
os.path.join(tsc.CONFIG_PATH, 'upgrades') os.path.join(tsc.CONFIG_PATH, 'upgrades')
] ]
@ -327,7 +327,7 @@ def complete_upgrade(from_load, to_load):
os.path.join(utils.POSTGRES_PATH, "upgrade"), os.path.join(utils.POSTGRES_PATH, "upgrade"),
os.path.join(utils.POSTGRES_PATH, from_load), os.path.join(utils.POSTGRES_PATH, from_load),
os.path.join(utils.RABBIT_PATH, from_load), os.path.join(utils.RABBIT_PATH, from_load),
os.path.join(tsc.CGCS_PATH, "ironic", from_load), os.path.join(tsc.PLATFORM_PATH, "ironic", from_load),
os.path.join(tsc.PLATFORM_PATH, "nfv/vim", from_load), os.path.join(tsc.PLATFORM_PATH, "nfv/vim", from_load),
os.path.join(tsc.PLATFORM_PATH, ".keyring", from_load), os.path.join(tsc.PLATFORM_PATH, ".keyring", from_load),
os.path.join(tsc.PLATFORM_PATH, "puppet", from_load), os.path.join(tsc.PLATFORM_PATH, "puppet", from_load),
@ -335,7 +335,7 @@ def complete_upgrade(from_load, to_load):
] ]
upgrade_dirs.append( upgrade_dirs.append(
os.path.join(tsc.CGCS_PATH, "ceilometer", from_load)) os.path.join(tsc.PLATFORM_PATH, "ceilometer", from_load))
for directory in upgrade_dirs: for directory in upgrade_dirs:
try: try:

View File

@ -698,13 +698,10 @@ def shutdown_file_systems():
umount("/var/lib/postgresql") umount("/var/lib/postgresql")
drbd_stop("drbd-pgsql") drbd_stop("drbd-pgsql")
stop_service("www-pages-helm_charts.mount")
umount("/opt/platform") umount("/opt/platform")
drbd_stop("drbd-platform") drbd_stop("drbd-platform")
stop_service("www-pages-helm_charts.mount")
umount("/opt/cgcs")
drbd_stop("drbd-cgcs")
umount("/opt/extension") umount("/opt/extension")
drbd_stop("drbd-extension") drbd_stop("drbd-extension")

View File

@ -34,9 +34,9 @@ class openstack::keystone (
$::platform::params::distributed_cloud_role == 'subcloud') { $::platform::params::distributed_cloud_role == 'subcloud') {
include ::platform::amqp::params include ::platform::amqp::params
include ::platform::network::mgmt::params include ::platform::network::mgmt::params
include ::platform::drbd::cgcs::params include ::platform::drbd::platform::params
$keystone_key_repo_path = "${::platform::drbd::cgcs::params::mountpoint}/keystone" $keystone_key_repo_path = "${::platform::drbd::platform::params::mountpoint}/keystone"
$eng_workers = $::platform::params::eng_workers $eng_workers = $::platform::params::eng_workers
# FIXME(mpeters): binding to wildcard address to allow bootstrap transition # FIXME(mpeters): binding to wildcard address to allow bootstrap transition
@ -196,9 +196,9 @@ class openstack::keystone::bootstrap(
) { ) {
include ::platform::params include ::platform::params
include ::platform::amqp::params include ::platform::amqp::params
include ::platform::drbd::cgcs::params include ::platform::drbd::platform::params
$keystone_key_repo_path = "${::platform::drbd::cgcs::params::mountpoint}/keystone" $keystone_key_repo_path = "${::platform::drbd::platform::params::mountpoint}/keystone"
$eng_workers = $::platform::params::eng_workers $eng_workers = $::platform::params::eng_workers
$bind_host = '[::]' $bind_host = '[::]'
@ -223,7 +223,7 @@ class openstack::keystone::bootstrap(
owner => 'root', owner => 'root',
group => 'root', group => 'root',
mode => '0755', mode => '0755',
require => Class['::platform::drbd::cgcs'], require => Class['::platform::drbd::platform'],
} }
-> file { '/etc/keystone/keystone-extra.conf': -> file { '/etc/keystone/keystone-extra.conf':
ensure => present, ensure => present,
@ -407,18 +407,18 @@ class openstack::keystone::upgrade (
include ::platform::params include ::platform::params
include ::platform::amqp::params include ::platform::amqp::params
include ::platform::network::mgmt::params include ::platform::network::mgmt::params
include ::platform::drbd::cgcs::params include ::platform::drbd::platform::params
# the unit address is actually the configured default of the loopback address. # the unit address is actually the configured default of the loopback address.
$bind_host = $::platform::network::mgmt::params::controller0_address $bind_host = $::platform::network::mgmt::params::controller0_address
$eng_workers = $::platform::params::eng_workers $eng_workers = $::platform::params::eng_workers
$keystone_key_repo = "${::platform::drbd::cgcs::params::mountpoint}/keystone" $keystone_key_repo = "${::platform::drbd::platform::params::mountpoint}/keystone"
# TODO(aning): For R5->R6 upgrade, a local keystone fernet keys repository may # TODO(aning): For R5->R6 upgrade, a local keystone fernet keys repository may
# need to be setup for the local keystone instance on standby controller to # need to be setup for the local keystone instance on standby controller to
# service specific upgrade operations, since we need to keep the keys repository # service specific upgrade operations, since we need to keep the keys repository
# in /opt/cgcs/keystone/fernet-keys intact so that service won't fail on active # in /opt/platform/keystone/fernet-keys intact so that service won't fail on active
# controller during upgrade. Once the upgade finishes, the temparary local # controller during upgrade. Once the upgade finishes, the temparary local
# fernet keys repository will be deleted. # fernet keys repository will be deleted.

View File

@ -170,7 +170,7 @@ class platform::drbd::rabbit ()
class platform::drbd::platform::params ( class platform::drbd::platform::params (
$device = '/dev/drbd2', $device = '/dev/drbd2',
$lv_name = 'platform-lv', $lv_name = 'platform-lv',
$lv_size = '2', $lv_size = '10',
$mountpoint = '/opt/platform', $mountpoint = '/opt/platform',
$port = '7790', $port = '7790',
$vg_name = 'cgts-vg', $vg_name = 'cgts-vg',
@ -192,31 +192,6 @@ class platform::drbd::platform ()
} }
class platform::drbd::cgcs::params (
$device = '/dev/drbd3',
$lv_name = 'cgcs-lv',
$lv_size = '2',
$mountpoint = '/opt/cgcs',
$port = '7791',
$resource_name = 'drbd-cgcs',
$vg_name = 'cgts-vg',
) {}
class platform::drbd::cgcs ()
inherits ::platform::drbd::cgcs::params {
platform::drbd::filesystem { $resource_name:
vg_name => $vg_name,
lv_name => $lv_name,
lv_size => $lv_size,
port => $port,
device => $device,
mountpoint => $mountpoint,
resync_after => 'drbd-platform',
}
}
class platform::drbd::extension::params ( class platform::drbd::extension::params (
$device = '/dev/drbd5', $device = '/dev/drbd5',
$lv_name = 'extension-lv', $lv_name = 'extension-lv',
@ -231,10 +206,10 @@ class platform::drbd::extension (
) inherits ::platform::drbd::extension::params { ) inherits ::platform::drbd::extension::params {
include ::platform::params include ::platform::params
include ::platform::drbd::cgcs::params include ::platform::drbd::platform::params
if str2bool($::is_primary_disk_rotational) { if str2bool($::is_primary_disk_rotational) {
$resync_after = $::platform::drbd::cgcs::params::resource_name $resync_after = $::platform::drbd::platform::params::resource_name
} else { } else {
$resync_after = undef $resync_after = undef
} }
@ -499,7 +474,6 @@ class platform::drbd(
include ::platform::drbd::pgsql include ::platform::drbd::pgsql
include ::platform::drbd::rabbit include ::platform::drbd::rabbit
include ::platform::drbd::platform include ::platform::drbd::platform
include ::platform::drbd::cgcs
include ::platform::drbd::extension include ::platform::drbd::extension
include ::platform::drbd::patch_vault include ::platform::drbd::patch_vault
include ::platform::drbd::etcd include ::platform::drbd::etcd
@ -530,7 +504,6 @@ class platform::drbd::bootstrap {
include ::platform::drbd::pgsql include ::platform::drbd::pgsql
include ::platform::drbd::rabbit include ::platform::drbd::rabbit
include ::platform::drbd::platform include ::platform::drbd::platform
include ::platform::drbd::cgcs
include ::platform::drbd::extension include ::platform::drbd::extension
} }
@ -558,10 +531,10 @@ class platform::drbd::pgsql::runtime {
} }
class platform::drbd::cgcs::runtime { class platform::drbd::platform::runtime {
include ::platform::drbd::params include ::platform::drbd::params
include ::platform::drbd::runtime_service_enable include ::platform::drbd::runtime_service_enable
include ::platform::drbd::cgcs include ::platform::drbd::platform
} }

View File

@ -1,5 +1,5 @@
class platform::helm::repositories::params( class platform::helm::repositories::params(
$source_helm_repos_base_dir = '/opt/cgcs/helm_charts', $source_helm_repos_base_dir = '/opt/platform/helm_charts',
$target_helm_repos_base_dir = '/www/pages/helm_charts', $target_helm_repos_base_dir = '/www/pages/helm_charts',
$helm_repositories = [ 'stx-platform', 'starlingx' ], $helm_repositories = [ 'stx-platform', 'starlingx' ],
) {} ) {}

View File

@ -39,7 +39,6 @@ class platform::network::mgmt::params(
$mtu = 1500, $mtu = 1500,
# network type specific parameters # network type specific parameters
$platform_nfs_address = undef, $platform_nfs_address = undef,
$cgcs_nfs_address = undef,
) { } ) { }
class platform::network::oam::params( class platform::network::oam::params(

View File

@ -46,11 +46,6 @@ class platform::sm
$ironic_ip_param_ip = $::platform::network::ironic::params::controller_address $ironic_ip_param_ip = $::platform::network::ironic::params::controller_address
$ironic_ip_param_mask = $::platform::network::ironic::params::subnet_prefixlen $ironic_ip_param_mask = $::platform::network::ironic::params::subnet_prefixlen
include ::platform::drbd::cgcs::params
$cgcs_drbd_resource = $::platform::drbd::cgcs::params::resource_name
$cgcs_fs_device = $::platform::drbd::cgcs::params::device
$cgcs_fs_directory = $::platform::drbd::cgcs::params::mountpoint
include ::platform::drbd::pgsql::params include ::platform::drbd::pgsql::params
$pg_drbd_resource = $::platform::drbd::pgsql::params::resource_name $pg_drbd_resource = $::platform::drbd::pgsql::params::resource_name
$pg_fs_device = $::platform::drbd::pgsql::params::device $pg_fs_device = $::platform::drbd::pgsql::params::device
@ -130,18 +125,12 @@ class platform::sm
$platform_nfs_ip_param_mask = $::platform::network::mgmt::params::subnet_prefixlen $platform_nfs_ip_param_mask = $::platform::network::mgmt::params::subnet_prefixlen
$platform_nfs_ip_network_url = $::platform::network::mgmt::params::subnet_network_url $platform_nfs_ip_network_url = $::platform::network::mgmt::params::subnet_network_url
# CGCS NFS network is over the management network
$cgcs_nfs_ip_interface = $::platform::network::mgmt::params::interface_name
$cgcs_nfs_ip_param_ip = $::platform::network::mgmt::params::cgcs_nfs_address
$cgcs_nfs_ip_network_url = $::platform::network::mgmt::params::subnet_network_url
$cgcs_nfs_ip_param_mask = $::platform::network::mgmt::params::subnet_prefixlen
$platform_nfs_subnet_url = "${platform_nfs_ip_network_url}/${platform_nfs_ip_param_mask}" $platform_nfs_subnet_url = "${platform_nfs_ip_network_url}/${platform_nfs_ip_param_mask}"
$cgcs_nfs_subnet_url = "${cgcs_nfs_ip_network_url}/${cgcs_nfs_ip_param_mask}"
# lint:ignore:140chars # lint:ignore:140chars
$nfs_server_mgmt_exports = "${cgcs_nfs_subnet_url}:${cgcs_fs_directory},${platform_nfs_subnet_url}:${platform_fs_directory},${platform_nfs_subnet_url}:${extension_fs_directory}" $nfs_server_mgmt_exports = "${platform_nfs_subnet_url}:${platform_fs_directory},${platform_nfs_subnet_url}:${extension_fs_directory}"
$nfs_server_mgmt_mounts = "${cgcs_fs_device}:${cgcs_fs_directory},${platform_fs_device}:${platform_fs_directory},${extension_fs_device}:${extension_fs_directory}" $nfs_server_mgmt_mounts = "${platform_fs_device}:${platform_fs_directory},${extension_fs_device}:${extension_fs_directory}"
# lint:endignore:140chars # lint:endignore:140chars
################## Openstack Parameters ###################### ################## Openstack Parameters ######################
@ -367,18 +356,6 @@ class platform::sm
command => "sm-configure service_instance dockerdistribution-fs dockerdistribution-fs \"device=${dockerdistribution_fs_device},directory=${dockerdistribution_fs_directory},options=noatime,nodiratime,fstype=ext4,check_level=20\"", command => "sm-configure service_instance dockerdistribution-fs dockerdistribution-fs \"device=${dockerdistribution_fs_device},directory=${dockerdistribution_fs_directory},options=noatime,nodiratime,fstype=ext4,check_level=20\"",
} }
exec { 'Configure CGCS DRBD':
command => "sm-configure service_instance drbd-cgcs drbd-cgcs:${hostunit} drbd_resource=${cgcs_drbd_resource}",
}
exec { 'Configure CGCS FileSystem':
command => "sm-configure service_instance cgcs-fs cgcs-fs \"device=${cgcs_fs_device},directory=${cgcs_fs_directory},options=noatime,nodiratime,fstype=ext4,check_level=20\"",
}
exec { 'Configure CGCS Export FileSystem':
command => "sm-configure service_instance cgcs-export-fs cgcs-export-fs \"fsid=1,directory=${cgcs_fs_directory},options=rw,sync,no_root_squash,no_subtree_check,clientspec=${cgcs_nfs_subnet_url},unlock_on_stop=true\"",
}
exec { 'Configure Extension DRBD': exec { 'Configure Extension DRBD':
command => "sm-configure service_instance drbd-extension drbd-extension:${hostunit} \"drbd_resource=${extension_drbd_resource}\"", command => "sm-configure service_instance drbd-extension drbd-extension:${hostunit} \"drbd_resource=${extension_drbd_resource}\"",
} }
@ -420,16 +397,6 @@ class platform::sm
command => "sm-configure service_instance etcd-fs etcd-fs \"device=${etcd_fs_device},directory=${etcd_fs_directory},options=noatime,nodiratime,fstype=ext4,check_level=20\"", command => "sm-configure service_instance etcd-fs etcd-fs \"device=${etcd_fs_device},directory=${etcd_fs_directory},options=noatime,nodiratime,fstype=ext4,check_level=20\"",
} }
if $system_mode == 'duplex-direct' or $system_mode == 'simplex' {
exec { 'Configure CGCS NFS':
command => "sm-configure service_instance cgcs-nfs-ip cgcs-nfs-ip \"ip=${cgcs_nfs_ip_param_ip},cidr_netmask=${cgcs_nfs_ip_param_mask},nic=${cgcs_nfs_ip_interface},arp_count=7,dc=yes\"",
}
} else {
exec { 'Configure CGCS NFS':
command => "sm-configure service_instance cgcs-nfs-ip cgcs-nfs-ip \"ip=${cgcs_nfs_ip_param_ip},cidr_netmask=${cgcs_nfs_ip_param_mask},nic=${cgcs_nfs_ip_interface},arp_count=7\"",
}
}
# TODO: region code needs to be revisited # TODO: region code needs to be revisited
if $region_config { if $region_config {
# In a default Multi-Region configuration, Keystone is running as a # In a default Multi-Region configuration, Keystone is running as a

View File

@ -12,12 +12,12 @@ class platform::sysinv
include ::platform::params include ::platform::params
include ::platform::amqp::params include ::platform::amqp::params
include ::platform::drbd::cgcs::params include ::platform::drbd::platform::params
# sysinv-agent is started on all hosts # sysinv-agent is started on all hosts
include ::sysinv::agent include ::sysinv::agent
$keystone_key_repo_path = "${::platform::drbd::cgcs::params::mountpoint}/keystone" $keystone_key_repo_path = "${::platform::drbd::platform::params::mountpoint}/keystone"
group { 'sysinv': group { 'sysinv':
ensure => 'present', ensure => 'present',

View File

@ -1,2 +1,2 @@
SRC_DIR="cgts-client" SRC_DIR="cgts-client"
TIS_PATCH_VER=69 TIS_PATCH_VER=70

View File

@ -40,10 +40,6 @@ def _print_controller_fs_show(controller_fs):
action='append', action='append',
default=[], default=[],
help="Modify controller filesystem sizes") help="Modify controller filesystem sizes")
@utils.arg('-f', '--force',
action='store_true',
default=False,
help="Force the resize operation ")
def do_controllerfs_modify(cc, args): def do_controllerfs_modify(cc, args):
"""Modify controller filesystem sizes.""" """Modify controller filesystem sizes."""
@ -58,14 +54,9 @@ def do_controllerfs_modify(cc, args):
except ValueError: except ValueError:
raise exc.CommandError('Attributes must be a list of ' raise exc.CommandError('Attributes must be a list of '
'FS_NAME=SIZE not "%s"' % attr) 'FS_NAME=SIZE not "%s"' % attr)
if args.force is True:
patch_list.append([{'op': 'replace',
'path': '/action',
'value': 'force_action'}])
try: try:
controller_fs = cc.controller_fs.update_many(cc.isystem.list()[0].uuid, cc.controller_fs.update_many(cc.isystem.list()[0].uuid, patch_list)
patch_list)
except exc.HTTPNotFound: except exc.HTTPNotFound:
raise exc.CommandError('Failed to modify controller filesystems') raise exc.CommandError('Failed to modify controller filesystems')

View File

@ -41,8 +41,6 @@ from sysinv import objects
from sysinv.openstack.common import log from sysinv.openstack.common import log
from sysinv.openstack.common.gettextutils import _ from sysinv.openstack.common.gettextutils import _
from sysinv.common.storage_backend_conf import StorageBackendConfig
LOG = log.getLogger(__name__) LOG = log.getLogger(__name__)
@ -59,12 +57,6 @@ class ControllerFs(base.APIBase):
between the internal object model and the API representation of between the internal object model and the API representation of
a ControllerFs. a ControllerFs.
The database GiB of controller_fs - maps to
/var/lib/postgresql (pgsql-lv)
The image GiB of controller_fs - maps to
/opt/cgcs (cgcs-lv)
The extension GiB of controller_fs - maps to
/opt/extension (extension-lv)
""" """
uuid = types.uuid uuid = types.uuid
@ -122,10 +114,6 @@ class ControllerFs(base.APIBase):
# never expose the isystem_id attribute # never expose the isystem_id attribute
controller_fs.isystem_id = wtypes.Unset controller_fs.isystem_id = wtypes.Unset
# we display the cgcs file system as glance to the customer
if controller_fs.name == constants.FILESYSTEM_NAME_CGCS:
controller_fs.name = constants.FILESYSTEM_DISPLAY_NAME_CGCS
# never expose the isystem_id attribute, allow exposure for now # never expose the isystem_id attribute, allow exposure for now
# controller_fs.forisystemid = wtypes.Unset # controller_fs.forisystemid = wtypes.Unset
controller_fs.links = [ controller_fs.links = [
@ -200,14 +188,14 @@ def _check_relative_controller_multi_fs(controller_fs_new_list):
:return: None. Raise Client exception on failure. :return: None. Raise Client exception on failure.
""" """
backup_gib_min = constants.BACKUP_OVERHEAD
chosts = pecan.request.dbapi.ihost_get_by_personality(constants.CONTROLLER) chosts = pecan.request.dbapi.ihost_get_by_personality(constants.CONTROLLER)
for chost in chosts: for chost in chosts:
# Get the current backup size for the controller host # Get the current backup size for the controller host
backup_gib = 0 backup_gib = 0
backup_gib_min = constants.BACKUP_OVERHEAD
hostfs_list = pecan.request.dbapi.host_fs_get_by_ihost(chost.uuid) hostfs_list = pecan.request.dbapi.host_fs_get_by_ihost(chost.uuid)
for host_fs in hostfs_list: for host_fs in hostfs_list:
if host_fs['name'] == constants.FILESYSTEM_NAME_BACKUP: if host_fs['name'] == constants.FILESYSTEM_NAME_BACKUP:
@ -218,8 +206,8 @@ def _check_relative_controller_multi_fs(controller_fs_new_list):
if fs.name == constants.FILESYSTEM_NAME_DATABASE: if fs.name == constants.FILESYSTEM_NAME_DATABASE:
database_gib = fs.size database_gib = fs.size
backup_gib_min += fs.size backup_gib_min += fs.size
elif fs.name == constants.FILESYSTEM_NAME_CGCS: elif fs.name == constants.FILESYSTEM_NAME_PLATFORM:
cgcs_gib = fs.size platform_gib = fs.size
backup_gib_min += fs.size backup_gib_min += fs.size
LOG.info( LOG.info(
@ -229,14 +217,14 @@ def _check_relative_controller_multi_fs(controller_fs_new_list):
raise wsme.exc.ClientSideError(_("backup size of %d is " raise wsme.exc.ClientSideError(_("backup size of %d is "
"insufficient for host %s. " "insufficient for host %s. "
"Minimum backup size of %d is " "Minimum backup size of %d is "
"required based upon glance size %d " "required based upon platform size %d "
"and database size %d. " "and database size %d. "
"Rejecting modification " "Rejecting modification "
"request." % "request." %
(backup_gib, (backup_gib,
chost.hostname, chost.hostname,
backup_gib_min, backup_gib_min,
cgcs_gib, platform_gib,
database_gib database_gib
))) )))
@ -274,7 +262,7 @@ def _check_controller_multi_fs(controller_fs_new_list,
if ceph_mon_gib_new: if ceph_mon_gib_new:
msg = _( msg = _(
"Total target growth size %s GiB for database " "Total target growth size %s GiB for database "
"(doubled for upgrades), glance, " "(doubled for upgrades), platform, "
"scratch, backup, extension and ceph-mon exceeds " "scratch, backup, extension and ceph-mon exceeds "
"growth limit of %s GiB." % "growth limit of %s GiB." %
(cgtsvg_growth_gib, cgtsvg_max_free_GiB) (cgtsvg_growth_gib, cgtsvg_max_free_GiB)
@ -282,7 +270,7 @@ def _check_controller_multi_fs(controller_fs_new_list,
else: else:
msg = _( msg = _(
"Total target growth size %s GiB for database " "Total target growth size %s GiB for database "
"(doubled for upgrades), glance, scratch, " "(doubled for upgrades), platform, scratch, "
"backup and extension exceeds growth limit of %s GiB." % "backup and extension exceeds growth limit of %s GiB." %
(cgtsvg_growth_gib, cgtsvg_max_free_GiB) (cgtsvg_growth_gib, cgtsvg_max_free_GiB)
) )
@ -298,7 +286,7 @@ def _check_relative_controller_fs(controller_fs_new, controller_fs_list):
""" """
database_gib = 0 database_gib = 0
cgcs_gib = 0 platform_gib = 0
chosts = pecan.request.dbapi.ihost_get_by_personality( chosts = pecan.request.dbapi.ihost_get_by_personality(
constants.CONTROLLER) constants.CONTROLLER)
@ -316,8 +304,8 @@ def _check_relative_controller_fs(controller_fs_new, controller_fs_list):
if controller_fs_new and fs['name'] == controller_fs_new['name']: if controller_fs_new and fs['name'] == controller_fs_new['name']:
fs['size'] = controller_fs_new['size'] fs['size'] = controller_fs_new['size']
if fs['name'] == constants.DRBD_CGCS: if fs['name'] == constants.FILESYSTEM_NAME_PLATFORM:
cgcs_gib = fs['size'] platform_gib = fs['size']
elif fs['name'] == constants.FILESYSTEM_NAME_DATABASE: elif fs['name'] == constants.FILESYSTEM_NAME_DATABASE:
database_gib = fs['size'] database_gib = fs['size']
@ -327,21 +315,21 @@ def _check_relative_controller_fs(controller_fs_new, controller_fs_list):
return return
# Required mininum backup filesystem size # Required mininum backup filesystem size
backup_gib_min = cgcs_gib + database_gib + constants.BACKUP_OVERHEAD backup_gib_min = platform_gib + database_gib + constants.BACKUP_OVERHEAD
if backup_gib < backup_gib_min: if backup_gib < backup_gib_min:
raise wsme.exc.ClientSideError(_("backup size of %d is " raise wsme.exc.ClientSideError(_("backup size of %d is "
"insufficient for host %s. " "insufficient for host %s. "
"Minimum backup size of %d is " "Minimum backup size of %d is "
"required based on upon " "required based on upon "
"glance=%d and database=%d and " "platform=%d and database=%d and "
"backup overhead of %d. " "backup overhead of %d. "
"Rejecting modification " "Rejecting modification "
"request." % "request." %
(backup_gib, (backup_gib,
chost.hostname, chost.hostname,
backup_gib_min, backup_gib_min,
cgcs_gib, platform_gib,
database_gib, database_gib,
constants.BACKUP_OVERHEAD constants.BACKUP_OVERHEAD
))) )))
@ -459,7 +447,7 @@ def _check_controller_multi_fs_data(context, controller_fs_list_new):
cgtsvg_growth_gib = 0 cgtsvg_growth_gib = 0
lvdisplay_keys = [constants.FILESYSTEM_LV_DICT[constants.FILESYSTEM_NAME_DATABASE], lvdisplay_keys = [constants.FILESYSTEM_LV_DICT[constants.FILESYSTEM_NAME_DATABASE],
constants.FILESYSTEM_LV_DICT[constants.FILESYSTEM_NAME_CGCS]] constants.FILESYSTEM_LV_DICT[constants.FILESYSTEM_NAME_PLATFORM]]
lvdisplay_dict = pecan.request.rpcapi.get_controllerfs_lv_sizes(context) lvdisplay_dict = pecan.request.rpcapi.get_controllerfs_lv_sizes(context)
@ -601,57 +589,28 @@ class ControllerFsController(rest.RestController):
reinstall_required = False reinstall_required = False
reboot_required = False reboot_required = False
force_resize = False
modified_fs = [] modified_fs = []
for p_list in patch:
p_obj_list = jsonpatch.JsonPatch(p_list)
for p_obj in p_obj_list:
if p_obj['path'] == '/action':
value = p_obj['value']
patch.remove(p_list)
if value == constants.FORCE_ACTION:
force_resize = True
LOG.info("Force action resize selected")
break
for p_list in patch: for p_list in patch:
p_obj_list = jsonpatch.JsonPatch(p_list) p_obj_list = jsonpatch.JsonPatch(p_list)
for p_obj in p_obj_list: for p_obj in p_obj_list:
if p_obj['path'] == '/name': if p_obj['path'] == '/name':
fs_display_name = p_obj['value'] fs_name = p_obj['value']
if fs_display_name == constants.FILESYSTEM_DISPLAY_NAME_CGCS:
fs_name = constants.FILESYSTEM_NAME_CGCS
else:
fs_name = fs_display_name
elif p_obj['path'] == '/size': elif p_obj['path'] == '/size':
size = p_obj['value'] size = p_obj['value']
if fs_name not in valid_fs_list.keys() or fs_display_name == constants.FILESYSTEM_NAME_CGCS: if fs_name not in valid_fs_list.keys():
msg = _("ControllerFs update failed: invalid filesystem " msg = _("ControllerFs update failed: invalid filesystem "
"'%s' " % fs_display_name) "'%s' " % fs_name)
raise wsme.exc.ClientSideError(msg) raise wsme.exc.ClientSideError(msg)
elif not cutils.is_int_like(size): elif not cutils.is_int_like(size):
msg = _("ControllerFs update failed: filesystem '%s' " msg = _("ControllerFs update failed: filesystem '%s' "
"size must be an integer " % fs_display_name) "size must be an integer " % fs_name)
raise wsme.exc.ClientSideError(msg) raise wsme.exc.ClientSideError(msg)
elif int(size) <= int(valid_fs_list[fs_name]): elif int(size) <= int(valid_fs_list[fs_name]):
msg = _("ControllerFs update failed: size for filesystem '%s' " msg = _("ControllerFs update failed: size for filesystem '%s' "
"should be bigger than %s " % ( "should be bigger than %s " % (fs_name, valid_fs_list[fs_name]))
fs_display_name, valid_fs_list[fs_name]))
raise wsme.exc.ClientSideError(msg) raise wsme.exc.ClientSideError(msg)
elif (fs_name == constants.FILESYSTEM_NAME_CGCS and
StorageBackendConfig.get_backend(pecan.request.dbapi,
constants.CINDER_BACKEND_CEPH)):
if force_resize:
LOG.warn("Force resize ControllerFs: %s, though Ceph "
"storage backend is configured" % fs_display_name)
else:
raise wsme.exc.ClientSideError(
_("ControllerFs %s size is not modifiable as Ceph is "
"configured. Update size via Ceph Storage Pools." %
fs_display_name))
if fs_name in constants.SUPPORTED_REPLICATED_FILEYSTEM_LIST: if fs_name in constants.SUPPORTED_REPLICATED_FILEYSTEM_LIST:
if utils.is_drbd_fs_resizing(): if utils.is_drbd_fs_resizing():
@ -668,10 +627,6 @@ class ControllerFsController(rest.RestController):
for p_list in patch: for p_list in patch:
p_obj_list = jsonpatch.JsonPatch(p_list) p_obj_list = jsonpatch.JsonPatch(p_list)
for p_obj in p_obj_list: for p_obj in p_obj_list:
if p_obj['path'] == '/name':
if p_obj['value'] == constants.FILESYSTEM_DISPLAY_NAME_CGCS:
p_obj['value'] = constants.FILESYSTEM_NAME_CGCS
if p_obj['value'] == fs['name']: if p_obj['value'] == fs['name']:
try: try:
controller_fs_list_new += [ControllerFs( controller_fs_list_new += [ControllerFs(

View File

@ -197,7 +197,6 @@ class NetworkController(rest.RestController):
addresses[constants.CONTROLLER_0_HOSTNAME] = None addresses[constants.CONTROLLER_0_HOSTNAME] = None
addresses[constants.CONTROLLER_1_HOSTNAME] = None addresses[constants.CONTROLLER_1_HOSTNAME] = None
addresses[constants.CONTROLLER_PLATFORM_NFS] = None addresses[constants.CONTROLLER_PLATFORM_NFS] = None
addresses[constants.CONTROLLER_CGCS_NFS] = None
if pool.gateway_address is not None: if pool.gateway_address is not None:
if utils.get_distributed_cloud_role() == \ if utils.get_distributed_cloud_role() == \

View File

@ -154,7 +154,6 @@ CONTROLLER_0_HOSTNAME = '%s-0' % CONTROLLER_HOSTNAME
CONTROLLER_1_HOSTNAME = '%s-1' % CONTROLLER_HOSTNAME CONTROLLER_1_HOSTNAME = '%s-1' % CONTROLLER_HOSTNAME
CONTROLLER_GATEWAY = '%s-gateway' % CONTROLLER_HOSTNAME CONTROLLER_GATEWAY = '%s-gateway' % CONTROLLER_HOSTNAME
CONTROLLER_PLATFORM_NFS = '%s-platform-nfs' % CONTROLLER_HOSTNAME CONTROLLER_PLATFORM_NFS = '%s-platform-nfs' % CONTROLLER_HOSTNAME
CONTROLLER_CGCS_NFS = '%s-nfs' % CONTROLLER_HOSTNAME
CONTROLLER_CINDER = '%s-cinder' % CONTROLLER_HOSTNAME CONTROLLER_CINDER = '%s-cinder' % CONTROLLER_HOSTNAME
CONTROLLER_0_MGMT = '%s-mgmt' % CONTROLLER_0_HOSTNAME CONTROLLER_0_MGMT = '%s-mgmt' % CONTROLLER_0_HOSTNAME
@ -283,11 +282,10 @@ VSWITCH_TYPE_NUAGE_VRS = "nuage_vrs"
VSWITCH_TYPE_NONE = "none" VSWITCH_TYPE_NONE = "none"
# Partition default sizes # Partition default sizes
DEFAULT_CGCS_STOR_SIZE = 20 DEFAULT_PLATFORM_STOR_SIZE = 10
DEFAULT_DOCKER_STOR_SIZE = 1 DEFAULT_DOCKER_STOR_SIZE = 1
DEFAULT_DOCKER_DISTRIBUTION_STOR_SIZE = 1 DEFAULT_DOCKER_DISTRIBUTION_STOR_SIZE = 1
DEFAULT_DATABASE_STOR_SIZE = 20 DEFAULT_DATABASE_STOR_SIZE = 20
DEFAULT_SMALL_CGCS_STOR_SIZE = 10
DEFAULT_SMALL_DATABASE_STOR_SIZE = 10 DEFAULT_SMALL_DATABASE_STOR_SIZE = 10
DEFAULT_SMALL_BACKUP_STOR_SIZE = 40 DEFAULT_SMALL_BACKUP_STOR_SIZE = 40
DEFAULT_VIRTUAL_DATABASE_STOR_SIZE = 5 DEFAULT_VIRTUAL_DATABASE_STOR_SIZE = 5
@ -300,13 +298,12 @@ DEFAULT_ETCD_STORE_SIZE = 1
DEFAULT_SMALL_DISK_SIZE = 240 DEFAULT_SMALL_DISK_SIZE = 240
# The minimum disk size needed to create all partitions # The minimum disk size needed to create all partitions
# Value based on the following calculation: # Value based on the following calculation:
# DEFAULT_SMALL_CGCS_STOR_SIZE 10
# 2*DEFAULT_SMALL_DATABASE_STOR_SIZE 20 (2*10) # 2*DEFAULT_SMALL_DATABASE_STOR_SIZE 20 (2*10)
# DEFAULT_SMALL_BACKUP_STOR_SIZE 40 # DEFAULT_SMALL_BACKUP_STOR_SIZE 40
# LOG_VOL_SIZE (reserved in kickstarts) 8 # LOG_VOL_SIZE (reserved in kickstarts) 8
# SCRATCH_VOL_SIZE (reserved in kickstarts) 8 # SCRATCH_VOL_SIZE (reserved in kickstarts) 8
# RABBIT_LV 2 # RABBIT_LV 2
# PLATFORM_LV 2 # PLATFORM_LV 10
# ANCHOR_LV 1 # ANCHOR_LV 1
# DEFAULT_EXTENSION_STOR_SIZE 1 # DEFAULT_EXTENSION_STOR_SIZE 1
# KUBERNETES_DOCKER_STOR_SIZE (--kubernetes) 30 # KUBERNETES_DOCKER_STOR_SIZE (--kubernetes) 30
@ -318,8 +315,8 @@ DEFAULT_SMALL_DISK_SIZE = 240
# boot partition (created in kickstarts) 1 # boot partition (created in kickstarts) 1
# buffer for partition creation 1 # buffer for partition creation 1
# ------------------------------------------------------- # -------------------------------------------------------
# 186 # 184
MINIMUM_DISK_SIZE = 186 MINIMUM_DISK_SIZE = 184
KUBERNETES_DOCKER_STOR_SIZE = 30 KUBERNETES_DOCKER_STOR_SIZE = 30
DOCKER_DISTRIBUTION_STOR_SIZE = 16 DOCKER_DISTRIBUTION_STOR_SIZE = 16
@ -431,7 +428,7 @@ SB_TIER_STATUS_IN_USE = 'in-use'
SB_TYPE_CEPH_CONF_FILENAME = "ceph.conf" SB_TYPE_CEPH_CONF_FILENAME = "ceph.conf"
# Glance images path when it is file backended # Glance images path when it is file backended
GLANCE_IMAGE_PATH = tsc.CGCS_PATH + "/" + SB_SVC_GLANCE + "/images" GLANCE_IMAGE_PATH = tsc.PLATFORM_PATH + "/" + SB_SVC_GLANCE + "/images"
# Path for Ceph (internal and external) config files # Path for Ceph (internal and external) config files
CEPH_CONF_PATH = "/etc/ceph/" CEPH_CONF_PATH = "/etc/ceph/"
@ -490,8 +487,8 @@ CONTROLLER_FS_RESIZING_IN_PROGRESS = 'drbd_fs_resizing_in_progress'
CONTROLLER_FS_AVAILABLE = 'available' CONTROLLER_FS_AVAILABLE = 'available'
# DRBD File Systems # DRBD File Systems
DRBD_PLATFORM = 'platform'
DRBD_PGSQL = 'pgsql' DRBD_PGSQL = 'pgsql'
DRBD_CGCS = 'cgcs'
DRBD_EXTENSION = 'extension' DRBD_EXTENSION = 'extension'
DRBD_PATCH_VAULT = 'patch-vault' DRBD_PATCH_VAULT = 'patch-vault'
DRBD_ETCD = 'etcd' DRBD_ETCD = 'etcd'
@ -499,8 +496,7 @@ DRBD_DOCKER_DISTRIBUTION = 'docker-distribution'
# File system names # File system names
FILESYSTEM_NAME_BACKUP = 'backup' FILESYSTEM_NAME_BACKUP = 'backup'
FILESYSTEM_NAME_CGCS = 'cgcs' FILESYSTEM_NAME_PLATFORM = 'platform'
FILESYSTEM_DISPLAY_NAME_CGCS = 'glance'
FILESYSTEM_NAME_CINDER = 'cinder' FILESYSTEM_NAME_CINDER = 'cinder'
FILESYSTEM_NAME_DATABASE = 'database' FILESYSTEM_NAME_DATABASE = 'database'
FILESYSTEM_NAME_SCRATCH = 'scratch' FILESYSTEM_NAME_SCRATCH = 'scratch'
@ -512,7 +508,7 @@ FILESYSTEM_NAME_PATCH_VAULT = 'patch-vault'
FILESYSTEM_NAME_KUBELET = 'kubelet' FILESYSTEM_NAME_KUBELET = 'kubelet'
FILESYSTEM_LV_DICT = { FILESYSTEM_LV_DICT = {
FILESYSTEM_NAME_CGCS: 'cgcs-lv', FILESYSTEM_NAME_PLATFORM: 'platform-lv',
FILESYSTEM_NAME_BACKUP: 'backup-lv', FILESYSTEM_NAME_BACKUP: 'backup-lv',
FILESYSTEM_NAME_SCRATCH: 'scratch-lv', FILESYSTEM_NAME_SCRATCH: 'scratch-lv',
FILESYSTEM_NAME_DOCKER: 'docker-lv', FILESYSTEM_NAME_DOCKER: 'docker-lv',
@ -552,7 +548,7 @@ FILESYSTEM_HOSTS_SUPPORTED_LIST_DICT = {
SUPPORTED_LOGICAL_VOLUME_LIST = FILESYSTEM_LV_DICT.values() SUPPORTED_LOGICAL_VOLUME_LIST = FILESYSTEM_LV_DICT.values()
SUPPORTED_REPLICATED_FILEYSTEM_LIST = [ SUPPORTED_REPLICATED_FILEYSTEM_LIST = [
FILESYSTEM_NAME_CGCS, FILESYSTEM_NAME_PLATFORM,
FILESYSTEM_NAME_DATABASE, FILESYSTEM_NAME_DATABASE,
FILESYSTEM_NAME_EXTENSION, FILESYSTEM_NAME_EXTENSION,
FILESYSTEM_NAME_PATCH_VAULT, FILESYSTEM_NAME_PATCH_VAULT,

View File

@ -1660,8 +1660,8 @@ def get_default_controller_fs_backup_size(rootfs_device):
database_storage = constants.DEFAULT_DATABASE_STOR_SIZE database_storage = constants.DEFAULT_DATABASE_STOR_SIZE
cgcs_lv_size = constants.DEFAULT_CGCS_STOR_SIZE platform_lv_size = constants.DEFAULT_PLATFORM_STOR_SIZE
backup_lv_size = database_storage + cgcs_lv_size + \ backup_lv_size = database_storage + platform_lv_size + \
constants.BACKUP_OVERHEAD constants.BACKUP_OVERHEAD
elif disk_size >= constants.MINIMUM_DISK_SIZE: elif disk_size >= constants.MINIMUM_DISK_SIZE:
@ -1670,7 +1670,7 @@ def get_default_controller_fs_backup_size(rootfs_device):
(rootfs_device, disk_size)) (rootfs_device, disk_size))
# Due to the small size of the disk we can't provide the # Due to the small size of the disk we can't provide the
# proper amount of backup space which is (database + cgcs_lv # proper amount of backup space which is (database + platform_lv
# + BACKUP_OVERHEAD) so we are using a smaller default. # + BACKUP_OVERHEAD) so we are using a smaller default.
backup_lv_size = constants.DEFAULT_SMALL_BACKUP_STOR_SIZE backup_lv_size = constants.DEFAULT_SMALL_BACKUP_STOR_SIZE

View File

@ -5463,8 +5463,8 @@ class ConductorManager(service.PeriodicService):
'platform::drbd::dockerdistribution::runtime', 'platform::drbd::dockerdistribution::runtime',
constants.FILESYSTEM_NAME_DATABASE: constants.FILESYSTEM_NAME_DATABASE:
'platform::drbd::pgsql::runtime', 'platform::drbd::pgsql::runtime',
constants.FILESYSTEM_NAME_CGCS: constants.FILESYSTEM_NAME_PLATFORM:
'platform::drbd::cgcs::runtime', 'platform::drbd::platform::runtime',
constants.FILESYSTEM_NAME_EXTENSION: constants.FILESYSTEM_NAME_EXTENSION:
'platform::drbd::extension::runtime', 'platform::drbd::extension::runtime',
constants.FILESYSTEM_NAME_PATCH_VAULT: constants.FILESYSTEM_NAME_PATCH_VAULT:
@ -6739,7 +6739,6 @@ class ConductorManager(service.PeriodicService):
:param rootfs_device: the root disk device :param rootfs_device: the root disk device
""" """
database_storage = 0 database_storage = 0
cgcs_lv_size = 0
# Add the extension storage # Add the extension storage
extension_lv_size = constants.DEFAULT_EXTENSION_STOR_SIZE extension_lv_size = constants.DEFAULT_EXTENSION_STOR_SIZE
@ -6761,25 +6760,23 @@ class ConductorManager(service.PeriodicService):
# Min size of the cgts-vg PV is: # Min size of the cgts-vg PV is:
# 202.0 G - PV for cgts-vg (specified in the kickstart) # 202.0 G - PV for cgts-vg (specified in the kickstart)
# or # or
# 210.0 G - (for DCSC non-AIO) # 198.0 G - (for DCSC non-AIO)
# 8 G - /var/log (reserved in kickstart) # 8 G - /var/log (reserved in kickstart)
# 8 G - /scratch (reserved in kickstart) # 8 G - /scratch (reserved in kickstart)
# 2 G - cgcs_lv (DRBD bootstrap manifest)
# 2 G - pgsql_lv (DRBD bootstrap manifest) # 2 G - pgsql_lv (DRBD bootstrap manifest)
# 2 G - rabbit_lv (DRBD bootstrap manifest) # 2 G - rabbit_lv (DRBD bootstrap manifest)
# 2 G - platform_lv (DRBD bootstrap manifest) # 10 G - platform_lv (DRBD bootstrap manifest)
# 1 G - extension_lv (DRBD bootstrap manifest) # 1 G - extension_lv (DRBD bootstrap manifest)
# ----- # -----
# 25 G - cgts-vg contents when we get to these checks # 31 G - cgts-vg contents when we get to these checks
# #
# #
# Final defaults view after controller manifests # Final defaults view after controller manifests
# 8 G - /var/log (reserved in kickstart) # 8 G - /var/log (reserved in kickstart)
# 8 G - /scratch (reserved in kickstart) # 8 G - /scratch (reserved in kickstart)
# 20 G - /opt/cgcs
# 40 G - /var/lib/postgresql # 40 G - /var/lib/postgresql
# 2 G - /var/lib/rabbitmq # 2 G - /var/lib/rabbitmq
# 2 G - /opt/platform # 10 G - /opt/platform
# 1 G - /opt/extension # 1 G - /opt/extension
# 50 G - /opt/backup # 50 G - /opt/backup
# 30 G - /var/lib/docker (--kubernetes) # 30 G - /var/lib/docker (--kubernetes)
@ -6789,17 +6786,17 @@ class ConductorManager(service.PeriodicService):
# 8 G - /opt/patch-vault (DRBD ctlr manifest for # 8 G - /opt/patch-vault (DRBD ctlr manifest for
# Distributed Cloud System Controller non-AIO only) # Distributed Cloud System Controller non-AIO only)
# ----- # -----
# 210 G (for DCSC non-AIO) or 202 # 198 G (for DCSC non-AIO) or 202
# #
# The absolute minimum disk size for these default settings: # The absolute minimum disk size for these default settings:
# 0.5 G - /boot # 0.5 G - /boot
# 20.0 G - / # 20.0 G - /
# 202.0 G - cgts-vg PV # 202.0 G - cgts-vg PV
# or 210.0 G - (DCSC non-AIO) # or 198.0 G - (DCSC non-AIO)
# ------- # -------
# 222.5 G => ~223G min size disk # 222.5 G => ~223G min size disk
# or # or
# 230.5 G => ~231G min size disk # 218.5 G => ~219G min size disk
# #
# If required disk is size 500G: # If required disk is size 500G:
# 1) Standard controller - will use all free space for the PV # 1) Standard controller - will use all free space for the PV
@ -6815,8 +6812,6 @@ class ConductorManager(service.PeriodicService):
# #
database_storage = constants.DEFAULT_DATABASE_STOR_SIZE database_storage = constants.DEFAULT_DATABASE_STOR_SIZE
cgcs_lv_size = constants.DEFAULT_CGCS_STOR_SIZE
elif disk_size >= constants.MINIMUM_DISK_SIZE: elif disk_size >= constants.MINIMUM_DISK_SIZE:
LOG.info("Disk size : %s ... small disk defaults" % disk_size) LOG.info("Disk size : %s ... small disk defaults" % disk_size)
@ -6826,25 +6821,23 @@ class ConductorManager(service.PeriodicService):
# Min size of the cgts-vg PV is: # Min size of the cgts-vg PV is:
# 170.0 G - PV for cgts-vg (specified in the kickstart) # 170.0 G - PV for cgts-vg (specified in the kickstart)
# or # or
# 162.0 G - (for DCSC non-AIO) # 168.0 G - (for DCSC non-AIO)
# 8 G - /var/log (reserved in kickstart) # 8 G - /var/log (reserved in kickstart)
# 8 G - /scratch (reserved in kickstart) # 8 G - /scratch (reserved in kickstart)
# 2 G - cgcs_lv (DRBD bootstrap manifest)
# 2 G - pgsql_lv (DRBD bootstrap manifest) # 2 G - pgsql_lv (DRBD bootstrap manifest)
# 2 G - rabbit_lv (DRBD bootstrap manifest) # 2 G - rabbit_lv (DRBD bootstrap manifest)
# 2 G - platform_lv (DRBD bootstrap manifest) # 10 G - platform_lv (DRBD bootstrap manifest)
# 1 G - extension_lv (DRBD bootstrap manifest) # 1 G - extension_lv (DRBD bootstrap manifest)
# ----- # -----
# 25 G - cgts-vg contents when we get to these checks # 31 G - cgts-vg contents when we get to these checks
# #
# #
# Final defaults view after controller manifests # Final defaults view after controller manifests
# 8 G - /var/log (reserved in kickstart) # 8 G - /var/log (reserved in kickstart)
# 8 G - /scratch (reserved in kickstart) # 8 G - /scratch (reserved in kickstart)
# 10 G - /opt/cgcs
# 20 G - /var/lib/postgresql # 20 G - /var/lib/postgresql
# 2 G - /var/lib/rabbitmq # 2 G - /var/lib/rabbitmq
# 2 G - /opt/platform # 10 G - /opt/platform
# 1 G - /opt/extension # 1 G - /opt/extension
# 40 G - /opt/backup # 40 G - /opt/backup
# 30 G - /var/lib/docker (--kubernetes) # 30 G - /var/lib/docker (--kubernetes)
@ -6853,18 +6846,18 @@ class ConductorManager(service.PeriodicService):
# 5 G - /opt/etcd (--kubernetes) # 5 G - /opt/etcd (--kubernetes)
# 8 G - /opt/patch-vault (DRBD ctlr manifest for DCSC non-AIO only) # 8 G - /opt/patch-vault (DRBD ctlr manifest for DCSC non-AIO only)
# ----- # -----
# 170 G (for DCSC non-AIO) or 162 G # 168 G (for DCSC non-AIO) or 170 G
# #
# The absolute minimum disk size for these default settings: # The absolute minimum disk size for these default settings:
# 0.5 G - /boot # 0.5 G - /boot
# 20.0 G - / # 20.0 G - /
# 162.0 G - cgts-vg PV # 162.0 G - cgts-vg PV
# or # or
# 170.0 G - (for DCSC non-AIO) # 168.0 G - (for DCSC non-AIO)
# ------- # -------
# 182.5 G => ~183G min size disk # 182.5 G => ~183G min size disk
# or # or
# 190.5 G => ~191G min size disk # 188.5 G => ~189G min size disk
# #
# If required disk is size 240G: # If required disk is size 240G:
# 1) Standard controller - will use all free space for the PV # 1) Standard controller - will use all free space for the PV
@ -6880,17 +6873,15 @@ class ConductorManager(service.PeriodicService):
database_storage = \ database_storage = \
constants.DEFAULT_SMALL_DATABASE_STOR_SIZE constants.DEFAULT_SMALL_DATABASE_STOR_SIZE
cgcs_lv_size = constants.DEFAULT_SMALL_CGCS_STOR_SIZE
else: else:
LOG.info("Disk size : %s ... disk too small" % disk_size) LOG.info("Disk size : %s ... disk too small" % disk_size)
raise exception.SysinvException("Disk size requirements not met.") raise exception.SysinvException("Disk size requirements not met.")
data = { data = {
'name': constants.FILESYSTEM_NAME_CGCS, 'name': constants.FILESYSTEM_NAME_PLATFORM,
'size': cgcs_lv_size, 'size': constants.DEFAULT_PLATFORM_STOR_SIZE,
'logical_volume': constants.FILESYSTEM_LV_DICT[ 'logical_volume': constants.FILESYSTEM_LV_DICT[
constants.FILESYSTEM_NAME_CGCS], constants.FILESYSTEM_NAME_PLATFORM],
'replicated': True, 'replicated': True,
} }
LOG.info("Creating FS:%s:%s %d" % ( LOG.info("Creating FS:%s:%s %d" % (
@ -6919,7 +6910,7 @@ class ConductorManager(service.PeriodicService):
data['name'], data['logical_volume'], data['size'])) data['name'], data['logical_volume'], data['size']))
self.dbapi.controller_fs_create(data) self.dbapi.controller_fs_create(data)
# ETCD fs added to cgts-lv # ETCD fs added to etcd-lv
etcd_lv_size = constants.ETCD_STOR_SIZE etcd_lv_size = constants.ETCD_STOR_SIZE
data_etcd = { data_etcd = {
@ -7237,8 +7228,8 @@ class ConductorManager(service.PeriodicService):
# Check PausedSyncS as well as drbd sync is changed to serial # Check PausedSyncS as well as drbd sync is changed to serial
if "drbd-pgsql" in row and ("SyncSource" in row or "PausedSyncS" in row): if "drbd-pgsql" in row and ("SyncSource" in row or "PausedSyncS" in row):
fs.append(constants.DRBD_PGSQL) fs.append(constants.DRBD_PGSQL)
if "drbd-cgcs" in row and ("SyncSource" in row or "PausedSyncS" in row): if "drbd-platform" in row and ("SyncSource" in row or "PausedSyncS" in row):
fs.append(constants.DRBD_CGCS) fs.append(constants.DRBD_PLATFORM)
if "drbd-extension" in row and ("SyncSource" in row or "PausedSyncS" in row): if "drbd-extension" in row and ("SyncSource" in row or "PausedSyncS" in row):
fs.append(constants.DRBD_EXTENSION) fs.append(constants.DRBD_EXTENSION)
if "drbd-patch-vault" in row and ("SyncSource" in row or "PausedSyncS" in row): if "drbd-patch-vault" in row and ("SyncSource" in row or "PausedSyncS" in row):
@ -7279,8 +7270,8 @@ class ConductorManager(service.PeriodicService):
if 'drbd-pgsql' in row: if 'drbd-pgsql' in row:
drbd_pgsql_size = size drbd_pgsql_size = size
if 'drbd-cgcs' in row: if 'drbd-platform' in row:
drbd_cgcs_size = size drbd_platform_size = size
if 'drbd-extension' in row: if 'drbd-extension' in row:
drbd_extension_size = size drbd_extension_size = size
if 'drbd-patch-vault' in row: if 'drbd-patch-vault' in row:
@ -7293,8 +7284,8 @@ class ConductorManager(service.PeriodicService):
lvdisplay_dict = self.get_controllerfs_lv_sizes(context) lvdisplay_dict = self.get_controllerfs_lv_sizes(context)
if lvdisplay_dict.get('pgsql-lv', None): if lvdisplay_dict.get('pgsql-lv', None):
pgsql_lv_size = float(lvdisplay_dict['pgsql-lv']) pgsql_lv_size = float(lvdisplay_dict['pgsql-lv'])
if lvdisplay_dict.get('cgcs-lv', None): if lvdisplay_dict.get('platform-lv', None):
cgcs_lv_size = float(lvdisplay_dict['cgcs-lv']) platform_lv_size = float(lvdisplay_dict['platform-lv'])
if lvdisplay_dict.get('extension-lv', None): if lvdisplay_dict.get('extension-lv', None):
extension_lv_size = float(lvdisplay_dict['extension-lv']) extension_lv_size = float(lvdisplay_dict['extension-lv'])
if lvdisplay_dict.get('patch-vault-lv', None): if lvdisplay_dict.get('patch-vault-lv', None):
@ -7304,14 +7295,14 @@ class ConductorManager(service.PeriodicService):
if lvdisplay_dict.get('dockerdistribution-lv', None): if lvdisplay_dict.get('dockerdistribution-lv', None):
dockerdistribution_lv_size = float(lvdisplay_dict['dockerdistribution-lv']) dockerdistribution_lv_size = float(lvdisplay_dict['dockerdistribution-lv'])
LOG.info("drbd-overview: pgsql-%s, cgcs-%s, extension-%s, patch-vault-%s, etcd-%s, dockerdistribution-%s", drbd_pgsql_size, drbd_cgcs_size, drbd_extension_size, drbd_patch_size, drbd_etcd_size, dockerdistribution_size) LOG.info("drbd-overview: pgsql-%s, platform-%s, extension-%s, patch-vault-%s, etcd-%s, dockerdistribution-%s", drbd_pgsql_size, drbd_platform_size, drbd_extension_size, drbd_patch_size, drbd_etcd_size, dockerdistribution_size)
LOG.info("lvdisplay: pgsql-%s, cgcs-%s, extension-%s, patch-vault-%s, etcd-%s, dockerdistribution-%s", pgsql_lv_size, cgcs_lv_size, extension_lv_size, patch_lv_size, etcd_lv_size, dockerdistribution_lv_size) LOG.info("lvdisplay: pgsql-%s, platform-%s, extension-%s, patch-vault-%s, etcd-%s, dockerdistribution-%s", pgsql_lv_size, platform_lv_size, extension_lv_size, patch_lv_size, etcd_lv_size, dockerdistribution_lv_size)
drbd_fs_updated = [] drbd_fs_updated = []
if math.ceil(drbd_pgsql_size) < math.ceil(pgsql_lv_size): if math.ceil(drbd_pgsql_size) < math.ceil(pgsql_lv_size):
drbd_fs_updated.append(constants.DRBD_PGSQL) drbd_fs_updated.append(constants.DRBD_PGSQL)
if math.ceil(drbd_cgcs_size) < math.ceil(cgcs_lv_size): if math.ceil(drbd_platform_size) < math.ceil(platform_lv_size):
drbd_fs_updated.append(constants.DRBD_CGCS) drbd_fs_updated.append(constants.DRBD_PLATFORM)
if math.ceil(drbd_extension_size) < math.ceil(extension_lv_size): if math.ceil(drbd_extension_size) < math.ceil(extension_lv_size):
drbd_fs_updated.append(constants.DRBD_EXTENSION) drbd_fs_updated.append(constants.DRBD_EXTENSION)
if math.ceil(drbd_patch_size) < math.ceil(patch_lv_size): if math.ceil(drbd_patch_size) < math.ceil(patch_lv_size):
@ -7347,7 +7338,7 @@ class ConductorManager(service.PeriodicService):
cutils.touch(CFS_DRBDADM_RECONFIGURED) cutils.touch(CFS_DRBDADM_RECONFIGURED)
pgsql_resized = False pgsql_resized = False
cgcs_resized = False platform_resized = False
extension_resized = False extension_resized = False
patch_resized = False patch_resized = False
etcd_resized = False etcd_resized = False
@ -7369,16 +7360,16 @@ class ConductorManager(service.PeriodicService):
LOG.info("Performed %s" % progress) LOG.info("Performed %s" % progress)
pgsql_resized = True pgsql_resized = True
if constants.DRBD_CGCS in drbd_fs_updated: if constants.DRBD_PLATFORM in drbd_fs_updated:
if (not cgcs_resized and if (not platform_resized and
(not standby_host or (standby_host and (not standby_host or (standby_host and
constants.DRBD_CGCS in self._drbd_fs_sync()))): constants.DRBD_PLATFORM in self._drbd_fs_sync()))):
# cgcs_gib /opt/cgcs # platform_gib /opt/platform
progress = "resize2fs drbd3" progress = "resize2fs drbd2"
cmd = ["resize2fs", "/dev/drbd3"] cmd = ["resize2fs", "/dev/drbd2"]
stdout, __ = cutils.execute(*cmd, attempts=retry_attempts, run_as_root=True) stdout, __ = cutils.execute(*cmd, attempts=retry_attempts, run_as_root=True)
LOG.info("Performed %s" % progress) LOG.info("Performed %s" % progress)
cgcs_resized = True platform_resized = True
if constants.DRBD_EXTENSION in drbd_fs_updated: if constants.DRBD_EXTENSION in drbd_fs_updated:
if (not extension_resized and if (not extension_resized and
@ -7432,7 +7423,7 @@ class ConductorManager(service.PeriodicService):
for drbd in drbd_fs_updated: for drbd in drbd_fs_updated:
if drbd == constants.DRBD_PGSQL and not pgsql_resized: if drbd == constants.DRBD_PGSQL and not pgsql_resized:
all_resized = False all_resized = False
elif drbd == constants.DRBD_CGCS and not cgcs_resized: elif drbd == constants.DRBD_PLATFORM and not platform_resized:
all_resized = False all_resized = False
elif drbd == constants.DRBD_EXTENSION and not extension_resized: elif drbd == constants.DRBD_EXTENSION and not extension_resized:
all_resized = False all_resized = False
@ -9025,7 +9016,7 @@ class ConductorManager(service.PeriodicService):
lvdisplay_command = 'lvdisplay --columns --options lv_size,lv_name ' \ lvdisplay_command = 'lvdisplay --columns --options lv_size,lv_name ' \
'--units g --noheading --nosuffix ' \ '--units g --noheading --nosuffix ' \
'/dev/cgts-vg/pgsql-lv /dev/cgts-vg/backup-lv ' \ '/dev/cgts-vg/pgsql-lv /dev/cgts-vg/backup-lv ' \
'/dev/cgts-vg/cgcs-lv ' \ '/dev/cgts-vg/platform-lv ' \
'/dev/cgts-vg/scratch-lv ' \ '/dev/cgts-vg/scratch-lv ' \
'/dev/cgts-vg/extension-lv ' \ '/dev/cgts-vg/extension-lv ' \
'/dev/cgts-vg/docker-lv ' \ '/dev/cgts-vg/docker-lv ' \

View File

@ -52,19 +52,11 @@ class NetworkingPuppet(base.BasePuppet):
except exception.AddressNotFoundByName: except exception.AddressNotFoundByName:
gateway_address = None gateway_address = None
try:
cgcs_nfs_address = self._get_address_by_name(
constants.CONTROLLER_CGCS_NFS, networktype).address
except exception.AddressNotFoundByName:
cgcs_nfs_address = None
config.update({ config.update({
'platform::network::%s::params::gateway_address' % networktype: 'platform::network::%s::params::gateway_address' % networktype:
gateway_address, gateway_address,
'platform::network::%s::params::platform_nfs_address' % networktype: 'platform::network::%s::params::platform_nfs_address' % networktype:
platform_nfs_address, platform_nfs_address,
'platform::network::%s::params::cgcs_nfs_address' % networktype:
cgcs_nfs_address,
}) })
return config return config

View File

@ -119,10 +119,6 @@ class PlatformPuppet(base.BasePuppet):
constants.CONTROLLER_PLATFORM_NFS, constants.CONTROLLER_PLATFORM_NFS,
constants.NETWORK_TYPE_MGMT), constants.NETWORK_TYPE_MGMT),
(constants.CONTROLLER_CGCS_NFS,
constants.CONTROLLER_CGCS_NFS,
constants.NETWORK_TYPE_MGMT),
# pxeboot network hosts # pxeboot network hosts
(constants.PXECONTROLLER_HOSTNAME, (constants.PXECONTROLLER_HOSTNAME,
constants.CONTROLLER_HOSTNAME, constants.CONTROLLER_HOSTNAME,

View File

@ -37,9 +37,9 @@ class StoragePuppet(base.BasePuppet):
config.update({ config.update({
'platform::drbd::pgsql::params::lv_size': pgsql_gib 'platform::drbd::pgsql::params::lv_size': pgsql_gib
}) })
elif controller_fs.name == constants.FILESYSTEM_NAME_CGCS: elif controller_fs.name == constants.FILESYSTEM_NAME_PLATFORM:
config.update({ config.update({
'platform::drbd::cgcs::params::lv_size': controller_fs.size 'platform::drbd::platform::params::lv_size': controller_fs.size
}) })
elif controller_fs.name == constants.FILESYSTEM_NAME_EXTENSION: elif controller_fs.name == constants.FILESYSTEM_NAME_EXTENSION:
config.update({ config.update({