]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/dashboard: fix unmanaged snmp service creation
authorNizamudeen A <nia@redhat.com>
Wed, 24 Aug 2022 10:16:54 +0000 (15:46 +0530)
committerNizamudeen A <nia@redhat.com>
Tue, 13 Sep 2022 07:19:46 +0000 (12:49 +0530)
Resolves: rhbz#2080316

Signed-off-by: Nizamudeen A <nia@redhat.com>
(cherry picked from commit a35651ee8586133fa666de189b9d324c0846c3ca)
(cherry picked from commit 088c5d05dcdd4278e6e5c39abe41bb525bddcfe1)

src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/services/service-form/service-form.component.html
src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/services/service-form/service-form.component.ts

index db346efda65ea4d09b030b81273f5542c6427ece..dcd898d8853789ef61a342becaae2e8496839d7c 100644 (file)
@@ -88,8 +88,7 @@
         </div>
 
         <!-- unmanaged -->
-        <div class="form-group row"
-             *ngIf="serviceForm.controls.service_type.value !== 'snmp-gateway'">
+        <div class="form-group row">
           <div class="cd-col-form-offset">
             <div class="custom-control custom-checkbox">
               <input class="custom-control-input"
         </ng-container>
 
         <!-- SNMP-Gateway -->
-        <ng-container *ngIf="!serviceForm.controls.unmanaged.value && serviceForm.controls.service_type.value === 'snmp-gateway'">
+        <ng-container *ngIf="serviceForm.controls.service_type.value === 'snmp-gateway'">
           <!-- snmp-version -->
           <div class="form-group row">
             <label class="cd-col-form-label required"
index 000a6bc536ce1ddd68b3a840a1ffc6daa501216c..4cab7843784f340dd99390817de0d31789b5e637 100644 (file)
@@ -548,6 +548,8 @@ export class ServiceFormComponent extends CdForm implements OnInit {
       serviceSpec['service_id'] = serviceId;
     }
 
+    // These services has some fields to be
+    // filled out even if unmanaged is true
     switch (serviceType) {
       case 'ingress':
         serviceSpec['backend_service'] = values['backend_service'];
@@ -566,6 +568,24 @@ export class ServiceFormComponent extends CdForm implements OnInit {
       case 'iscsi':
         serviceSpec['pool'] = values['pool'];
         break;
+
+      case 'snmp-gateway':
+        serviceSpec['credentials'] = {};
+        serviceSpec['snmp_version'] = values['snmp_version'];
+        serviceSpec['snmp_destination'] = values['snmp_destination'];
+        if (values['snmp_version'] === 'V3') {
+          serviceSpec['engine_id'] = values['engine_id'];
+          serviceSpec['auth_protocol'] = values['auth_protocol'];
+          serviceSpec['credentials']['snmp_v3_auth_username'] = values['snmp_v3_auth_username'];
+          serviceSpec['credentials']['snmp_v3_auth_password'] = values['snmp_v3_auth_password'];
+          if (values['privacy_protocol'] !== null) {
+            serviceSpec['privacy_protocol'] = values['privacy_protocol'];
+            serviceSpec['credentials']['snmp_v3_priv_password'] = values['snmp_v3_priv_password'];
+          }
+        } else {
+          serviceSpec['credentials']['snmp_community'] = values['snmp_community'];
+        }
+        break;
     }
 
     if (!values['unmanaged']) {
@@ -615,23 +635,6 @@ export class ServiceFormComponent extends CdForm implements OnInit {
           }
           serviceSpec['virtual_interface_networks'] = values['virtual_interface_networks'];
           break;
-        case 'snmp-gateway':
-          serviceSpec['credentials'] = {};
-          serviceSpec['snmp_version'] = values['snmp_version'];
-          serviceSpec['snmp_destination'] = values['snmp_destination'];
-          if (values['snmp_version'] === 'V3') {
-            serviceSpec['engine_id'] = values['engine_id'];
-            serviceSpec['auth_protocol'] = values['auth_protocol'];
-            serviceSpec['credentials']['snmp_v3_auth_username'] = values['snmp_v3_auth_username'];
-            serviceSpec['credentials']['snmp_v3_auth_password'] = values['snmp_v3_auth_password'];
-            if (values['privacy_protocol'] !== null) {
-              serviceSpec['privacy_protocol'] = values['privacy_protocol'];
-              serviceSpec['credentials']['snmp_v3_priv_password'] = values['snmp_v3_priv_password'];
-            }
-          } else {
-            serviceSpec['credentials']['snmp_community'] = values['snmp_community'];
-          }
-          break;
       }
     }