diff --git a/sysinv/sysinv/sysinv/sysinv/api/controllers/v1/ceph_mon.py b/sysinv/sysinv/sysinv/sysinv/api/controllers/v1/ceph_mon.py index dc0cdfe8ed..b24fa5c4da 100644 --- a/sysinv/sysinv/sysinv/sysinv/api/controllers/v1/ceph_mon.py +++ b/sysinv/sysinv/sysinv/sysinv/api/controllers/v1/ceph_mon.py @@ -308,7 +308,13 @@ class CephMonController(rest.RestController): if rpc_cephmon.ceph_mon_gib != p['value']: is_ceph_mon_gib_changed = True - if not is_ceph_mon_gib_changed: + # TODO This should be removed after resize operation is supported in AIO-DX systems + if is_ceph_mon_gib_changed and cutils.is_aio_duplex_system(pecan.request.dbapi): + raise exception.CephCommandUnsupported( + _("Resize of ceph monitor is not allowed in duplex system.") + ) + + elif not is_ceph_mon_gib_changed: LOG.info("ceph_mon parameters are not changed") raise wsme.exc.ClientSideError( _("Warning: ceph_mon parameters are not changed.")) diff --git a/sysinv/sysinv/sysinv/sysinv/common/exception.py b/sysinv/sysinv/sysinv/sysinv/common/exception.py index 2707c36a70..f110ecdb1a 100644 --- a/sysinv/sysinv/sysinv/sysinv/common/exception.py +++ b/sysinv/sysinv/sysinv/sysinv/common/exception.py @@ -235,6 +235,11 @@ class CephPoolSetParamFailure(CephFailure): "Reason: %(reason)s") +class CephCommandUnsupported(CephFailure): + # 503 means service unavailable which seems appropriate for commands that are unsupported + code = 503 + + class InvalidCPUInfo(Invalid): message = _("Unacceptable CPU info") + ": %(reason)s"