Revert "Create optional filesystems on resize request"
The support to create the optional filesystems via add request in
zero-touch provision is done, this commit reverts commit 8c25091a58
.
Test Plan:
Passed - install and bootstrap a storage system with this change,
deploy the instances-lv filesystem before the initial unlock.
Story: 2010444
Task: 47128
Signed-off-by: Yuxing Jiang <Yuxing.Jiang@windriver.com>
Change-Id: I6f6e5e3bccc7a10a1d9efc0d448f9561203ae529
This commit is contained in:
parent
1c056d966d
commit
6d1911c01f
|
@ -251,21 +251,12 @@ class HostFsController(rest.RestController):
|
||||||
elif p_obj['path'] == '/size':
|
elif p_obj['path'] == '/size':
|
||||||
size = p_obj['value']
|
size = p_obj['value']
|
||||||
|
|
||||||
# TODO(rchurch): Remove optional filesystem creation once Zero Touch
|
|
||||||
# provisioning properly supports optional creation API. Currently it
|
|
||||||
# only supports resize operations of existing filesystems. Here we
|
|
||||||
# will skip this semantic check, run through the others, then create
|
|
||||||
# the new optional filesystem
|
|
||||||
create_first = False
|
|
||||||
if fs_name not in [fs['name'] for fs in current_host_fs_list]:
|
if fs_name not in [fs['name'] for fs in current_host_fs_list]:
|
||||||
if fs_name not in constants.FS_CREATION_ALLOWED:
|
msg = _("HostFs update failed: invalid filesystem "
|
||||||
msg = _("HostFs update failed: invalid filesystem "
|
"'%s' " % fs_display_name)
|
||||||
"'%s' " % fs_display_name)
|
raise wsme.exc.ClientSideError(msg)
|
||||||
raise wsme.exc.ClientSideError(msg)
|
|
||||||
else:
|
|
||||||
create_first = True
|
|
||||||
|
|
||||||
if not cutils.is_int_like(size):
|
elif not cutils.is_int_like(size):
|
||||||
msg = _("HostFs update failed: filesystem '%s' "
|
msg = _("HostFs update failed: filesystem '%s' "
|
||||||
"size must be an integer " % fs_display_name)
|
"size must be an integer " % fs_display_name)
|
||||||
raise wsme.exc.ClientSideError(msg)
|
raise wsme.exc.ClientSideError(msg)
|
||||||
|
@ -280,24 +271,9 @@ class HostFsController(rest.RestController):
|
||||||
"pending, please retry again later.")
|
"pending, please retry again later.")
|
||||||
raise wsme.exc.ClientSideError(msg)
|
raise wsme.exc.ClientSideError(msg)
|
||||||
|
|
||||||
# TODO(rchurch): Remove optional filesystem creation once Zero Touch
|
current_size = [fs['size'] for
|
||||||
# provisioning properly supports optional creation API.
|
fs in current_host_fs_list
|
||||||
if create_first:
|
if fs['name'] == fs_name][0]
|
||||||
try:
|
|
||||||
new_fs = {'name': fs_name, 'size': 1, 'ihost_uuid': ihost_uuid,
|
|
||||||
constants.FS_OP: constants.FS_OP_RESIZE}
|
|
||||||
_create(new_fs)
|
|
||||||
except exception.SysinvException as e:
|
|
||||||
LOG.exception(e)
|
|
||||||
raise wsme.exc.ClientSideError(_("Invalid data: failed to create a"
|
|
||||||
" filesystem"))
|
|
||||||
current_size = 1
|
|
||||||
# Re-populate host-fs-list
|
|
||||||
current_host_fs_list = pecan.request.dbapi.host_fs_get_by_ihost(ihost_uuid)
|
|
||||||
else:
|
|
||||||
current_size = [fs['size'] for
|
|
||||||
fs in current_host_fs_list
|
|
||||||
if fs['name'] == fs_name][0]
|
|
||||||
|
|
||||||
if int(size) <= int(current_size):
|
if int(size) <= int(current_size):
|
||||||
msg = _("HostFs update failed: size for filesystem '%s' "
|
msg = _("HostFs update failed: size for filesystem '%s' "
|
||||||
|
@ -373,7 +349,6 @@ class HostFsController(rest.RestController):
|
||||||
host_fs_uuid).as_dict()
|
host_fs_uuid).as_dict()
|
||||||
ihost_uuid = host_fs['ihost_uuid']
|
ihost_uuid = host_fs['ihost_uuid']
|
||||||
host = pecan.request.dbapi.ihost_get(ihost_uuid)
|
host = pecan.request.dbapi.ihost_get(ihost_uuid)
|
||||||
host_fs[constants.FS_OP] = constants.FS_OP_DELETE
|
|
||||||
staged = _delete(host_fs)
|
staged = _delete(host_fs)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
@ -401,7 +376,6 @@ class HostFsController(rest.RestController):
|
||||||
|
|
||||||
try:
|
try:
|
||||||
host_fs = host_fs.as_dict()
|
host_fs = host_fs.as_dict()
|
||||||
host_fs[constants.FS_OP] = constants.FS_OP_CREATE
|
|
||||||
(staged, host_fs) = _create(host_fs)
|
(staged, host_fs) = _create(host_fs)
|
||||||
|
|
||||||
ihost_uuid = host_fs['ihost_uuid']
|
ihost_uuid = host_fs['ihost_uuid']
|
||||||
|
@ -416,11 +390,9 @@ class HostFsController(rest.RestController):
|
||||||
# TODO(rchurch): Need to add a state/status column to the host_fs DB
|
# TODO(rchurch): Need to add a state/status column to the host_fs DB
|
||||||
# so status information can be passed to the end-user
|
# so status information can be passed to the end-user
|
||||||
if staged:
|
if staged:
|
||||||
LOG.info("STAGING: %s filesystem on host %s to be created at unlock" % (
|
LOG.info("STAGING: %s filesystem to be created at unlock" % host_fs['name'])
|
||||||
host_fs['name'], host.hostname))
|
|
||||||
else:
|
else:
|
||||||
LOG.info("REQUEST: %s filesystem on host %s will be created NOW" % (
|
LOG.info("REQUEST: %s filesystem will be created NOW" % host_fs['name'])
|
||||||
host_fs['name'], host.hostname))
|
|
||||||
pecan.request.rpcapi.update_host_filesystem_config(
|
pecan.request.rpcapi.update_host_filesystem_config(
|
||||||
pecan.request.context,
|
pecan.request.context,
|
||||||
host=host,
|
host=host,
|
||||||
|
@ -463,12 +435,7 @@ def _check_host_fs(host_fs):
|
||||||
# this filesystem and instances from the nova-local volume group can't exist
|
# this filesystem and instances from the nova-local volume group can't exist
|
||||||
# at the same time as they share a common mount point. No runtime changes to
|
# at the same time as they share a common mount point. No runtime changes to
|
||||||
# nova-local are currently allowed.
|
# nova-local are currently allowed.
|
||||||
#
|
if (constants.WORKER in ihost['subfunctions'] and
|
||||||
# The exception is to support zero-touch provisioning after initial unlock
|
|
||||||
# when the filesystem will be created and resized. A conflict with
|
|
||||||
# nova-local if initially provisioned will be caught below.
|
|
||||||
if (host_fs[constants.FS_OP] != constants.FS_OP_RESIZE and
|
|
||||||
constants.WORKER in ihost['subfunctions'] and
|
|
||||||
host_fs['name'] == constants.FILESYSTEM_NAME_INSTANCES and
|
host_fs['name'] == constants.FILESYSTEM_NAME_INSTANCES and
|
||||||
(ihost['administrative'] != constants.ADMIN_LOCKED or
|
(ihost['administrative'] != constants.ADMIN_LOCKED or
|
||||||
ihost['ihost_action'] == constants.UNLOCK_ACTION)):
|
ihost['ihost_action'] == constants.UNLOCK_ACTION)):
|
||||||
|
|
|
@ -650,11 +650,6 @@ SUPPORTED_REPLICATED_FILEYSTEM_LIST = [
|
||||||
FILESYSTEM_NAME_DOCKER_DISTRIBUTION,
|
FILESYSTEM_NAME_DOCKER_DISTRIBUTION,
|
||||||
]
|
]
|
||||||
|
|
||||||
FS_OP = 'operation'
|
|
||||||
FS_OP_CREATE = 'create'
|
|
||||||
FS_OP_DELETE = 'delete'
|
|
||||||
FS_OP_RESIZE = 'resize'
|
|
||||||
|
|
||||||
# Storage: Volume Group Types
|
# Storage: Volume Group Types
|
||||||
LVG_NOVA_LOCAL = 'nova-local'
|
LVG_NOVA_LOCAL = 'nova-local'
|
||||||
LVG_CGTS_VG = 'cgts-vg'
|
LVG_CGTS_VG = 'cgts-vg'
|
||||||
|
|
Loading…
Reference in New Issue