From: Yuri Weinstein Date: Wed, 29 May 2019 21:58:49 +0000 (-0700) Subject: Merge pull request #27760 from ricardoasmarques/wip-39454-nautilus X-Git-Tag: v14.2.2~155 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=e38388f40fc700387e45085145aa1ffe12ffd997;p=ceph.git Merge pull request #27760 from ricardoasmarques/wip-39454-nautilus nautilus: mgr/dashboard: Validate if any client belongs to more than one group Reviewed-by: Lenz Grimmer --- e38388f40fc700387e45085145aa1ffe12ffd997 diff --cc src/pybind/mgr/dashboard/controllers/iscsi.py index 0ae01166421,71926960667..da25f4c70a6 --- a/src/pybind/mgr/dashboard/controllers/iscsi.py +++ b/src/pybind/mgr/dashboard/controllers/iscsi.py @@@ -431,12 -431,20 +431,20 @@@ class IscsiTarget(RESTController) image = disk['image'] backstore = disk['backstore'] required_rbd_features = settings['required_rbd_features'][backstore] - supported_rbd_features = settings['supported_rbd_features'][backstore] + unsupported_rbd_features = settings['unsupported_rbd_features'][backstore] IscsiTarget._validate_image(pool, image, backstore, required_rbd_features, - supported_rbd_features) + unsupported_rbd_features) + initiators = [] + for group in groups: + initiators = initiators + group['members'] + if len(initiators) != len(set(initiators)): + raise DashboardException(msg='Each initiator can only be part of 1 group at a time', + code='initiator_in_multiple_groups', + component='iscsi') + @staticmethod - def _validate_image(pool, image, backstore, required_rbd_features, supported_rbd_features): + def _validate_image(pool, image, backstore, required_rbd_features, unsupported_rbd_features): try: ioctx = mgr.rados.open_ioctx(pool) try: