]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
Merge pull request #27760 from ricardoasmarques/wip-39454-nautilus
authorYuri Weinstein <yweinste@redhat.com>
Wed, 29 May 2019 21:58:49 +0000 (14:58 -0700)
committerGitHub <noreply@github.com>
Wed, 29 May 2019 21:58:49 +0000 (14:58 -0700)
nautilus: mgr/dashboard: Validate if any client belongs to more than one group

Reviewed-by: Lenz Grimmer <lgrimmer@suse.com>
1  2 
src/pybind/mgr/dashboard/controllers/iscsi.py
src/pybind/mgr/dashboard/frontend/src/app/ceph/block/iscsi-target-form/iscsi-target-form.component.spec.ts
src/pybind/mgr/dashboard/frontend/src/app/ceph/block/iscsi-target-form/iscsi-target-form.component.ts
src/pybind/mgr/dashboard/tests/test_iscsi.py

index 0ae0116642133c19afb3c17cba8130c62d0ee6f4,71926960667797a32c8b1da0e39881ec34c8c482..da25f4c70a6d9717b304306cf982666c15e49e08
@@@ -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: