Collect consumption metrics from Azure in DAG
[osm/NG-SA.git] / src / osm_ngsa / dags / multivim_vm_metrics.py
index 72ceca4..caca9ea 100644 (file)
@@ -23,13 +23,14 @@ from airflow import DAG
 from airflow.decorators import task
 from osm_mon.core.common_db import CommonDbClient
 from osm_mon.core.config import Config
+from osm_mon.vim_connectors.azure import AzureCollector
 from osm_mon.vim_connectors.openstack import OpenStackCollector
 from prometheus_client import CollectorRegistry, Gauge, push_to_gateway
 
 
 SCHEDULE_INTERVAL = 5
 COLLECTOR_MAX_METRICS_PER_TASK = 100
-SUPPORTED_VIM_TYPES = ["openstack", "vio"]
+SUPPORTED_VIM_TYPES = ["openstack", "vio", "azure"]
 PROMETHEUS_PUSHGW = "pushgateway-prometheus-pushgateway:9091"
 PROMETHEUS_JOB_PREFIX = "airflow_osm_vm_metrics_"
 PROMETHEUS_METRICS = {
@@ -111,7 +112,6 @@ def create_dag(dag_id, dag_number, dag_description, vim_id):
         },
         description=dag_description,
         is_paused_upon_creation=False,
-        # schedule_interval=timedelta(minutes=SCHEDULE_INTERVAL),
         schedule_interval=f"*/{SCHEDULE_INTERVAL} * * * *",
         start_date=datetime(2022, 1, 1),
         tags=["osm", "vdu"],
@@ -227,6 +227,8 @@ def create_dag(dag_id, dag_number, dag_description, vim_id):
                     vim_type = "openstack"
             if vim_type == "openstack":
                 collector = OpenStackCollector(vim_account)
+            elif vim_type == "azure":
+                collector = AzureCollector(vim_account)
             else:
                 logger.error(f"VIM type '{vim_type}' not supported")
                 return None