fix(scaling): min instance count now from right sol006 field and condition fixed...
[osm/POL.git] / osm_policy_module / autoscaling / service.py
index fb3ecaf..57756b7 100644 (file)
@@ -73,7 +73,6 @@ class AutoscalingService:
                             log.debug("No scaling aspect present in vnfd")
                             continue
                         # TODO: Change for multiple instantiation levels support
-                        instantiation_level = df.get('instantiation-level', [{}])[0]
                         scaling_aspects = df['scaling-aspect']
                         all_vnfd_monitoring_params = self._get_all_vnfd_monitoring_params(vnfd)
                         for scaling_aspect in scaling_aspects:
@@ -122,10 +121,12 @@ class AutoscalingService:
                                                 if admin_scale_info["name"] == scaling_aspect["name"]:
                                                     nb_scale_op = admin_scale_info.get("nb-scale-op", 0)
                                                     break
-                                        for vdu_level in instantiation_level.get('vdu-level', ()):
-                                            if vdu_level.get('vdu-id') == vdu_id:
-                                                min_instance_count = int(vdu_level['number-of-instances'])
-                                        if nb_scale_op > min_instance_count:
+                                        min_instance_count = 1
+                                        for vdu_profile in df.get('vdu-profile', ()):
+                                            if vdu_profile.get('id') == vdu_id:
+                                                min_instance_count = int(vdu_profile.get('min-number-of-instances ', 1))
+                                                break
+                                        if nb_scale_op >= min_instance_count:
                                             alarm_uuid = await self.mon_client.create_alarm(
                                                 metric_name=metric_name,
                                                 ns_id=nsr_id,