Skip to content

Commit 403572f

Browse files
Merge pull request #627 from atyronesmith/add_openstack_network_exporter
exporters: add support for the openstack-network-exporter
2 parents f27e4dd + 6342ed6 commit 403572f

File tree

7 files changed

+1190
-5
lines changed

7 files changed

+1190
-5
lines changed

api/v1beta1/telemetry_consts.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ const (
2828
DefaultNodeExporterPort = 9100
2929
// DefaultPodmanExporterPort -
3030
DefaultPodmanExporterPort = 9882
31+
// DefaultDataplaneNodeExporterPort -
32+
DefaultOpenStackNetworkExporterPort = 9105
3133
// DefaultScrapeInterval -
3234
DefaultScrapeInterval = "30s"
3335
// PauseBetweenWatchAttempts -

controllers/metricstorage_controller.go

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -830,6 +830,12 @@ func (r *MetricStorageReconciler) createScrapeConfigs(
830830
if err != nil {
831831
return ctrl.Result{}, err
832832
}
833+
// openstack network' exporters
834+
err = r.createComputeScrapeConfig(ctx, instance, helper, telemetry.ServiceName, "openstack-network-exporter", telemetryv1.DefaultOpenStackNetworkExporterPort, false)
835+
if err != nil {
836+
return ctrl.Result{}, err
837+
}
838+
833839
err = r.createComputeScrapeConfig(ctx, instance, helper, telemetry.ServiceName, "podman-exporter", telemetryv1.DefaultPodmanExporterPort, false)
834840
if err != nil {
835841
return ctrl.Result{}, err
@@ -1001,12 +1007,23 @@ func (r *MetricStorageReconciler) createDashboardObjects(ctx context.Context, in
10011007
// Deploy ConfigMaps for dashboards
10021008
// NOTE: Dashboards installed without the custom datasource will default to the openshift-monitoring prometheus causing unexpected results
10031009
if dataSourceSuccess {
1010+
// Only enable DPDK sections of dataplane dashboard if dpdk service is enabled on at least one nodeset
1011+
dpdkConnectionInfo, err := getComputeNodesConnectionInfo(instance, helper, telemetry.DpdkServiceName)
1012+
hasDpdk := false
1013+
if err != nil {
1014+
Log.Info(fmt.Sprintf("Cannot get compute node connection info for dpdk service: %s", err))
1015+
} else {
1016+
if len(dpdkConnectionInfo) > 0 {
1017+
hasDpdk = true
1018+
}
1019+
}
10041020
dashboardCMs := map[string]*corev1.ConfigMap{
1005-
"grafana-dashboard-openstack-cloud": dashboards.OpenstackCloud(datasourceName),
1006-
"grafana-dashboard-openstack-node": dashboards.OpenstackNode(datasourceName),
1007-
"grafana-dashboard-openstack-vm": dashboards.OpenstackVM(datasourceName),
1008-
"grafana-dashboard-openstack-rabbitmq": dashboards.OpenstackRabbitmq(datasourceName),
1009-
"grafana-dashboard-openstack-network-traffic": dashboards.OpenstackNetworkTraffic(datasourceName),
1021+
"grafana-dashboard-openstack-cloud": dashboards.OpenstackCloud(datasourceName),
1022+
"grafana-dashboard-openstack-node": dashboards.OpenstackNode(datasourceName),
1023+
"grafana-dashboard-openstack-openstack-network": dashboards.OpenstackOpenstackNetwork(datasourceName, hasDpdk),
1024+
"grafana-dashboard-openstack-vm": dashboards.OpenstackVM(datasourceName),
1025+
"grafana-dashboard-openstack-rabbitmq": dashboards.OpenstackRabbitmq(datasourceName),
1026+
"grafana-dashboard-openstack-network-traffic": dashboards.OpenstackNetworkTraffic(datasourceName),
10101027
}
10111028

10121029
// atleast one nodeset must have "telemetry-power-monitoring" service enabled for kepler and ipmi dashboard to be created

0 commit comments

Comments
 (0)