diff --git a/grafana/create-nodepool.sh b/grafana/create-nodepool.sh index b1a988546b..549095dd4a 100755 --- a/grafana/create-nodepool.sh +++ b/grafana/create-nodepool.sh @@ -25,3 +25,21 @@ create OVH 'ovh-*' nodepool-ovh.yaml create Vexxhost 'vexxhost-*' nodepool-vexxhost.yaml create OSUOSL 'osuosl-*' nodepool-osuosl.yaml create OpenMetal 'openmetal-*' nodepool-openmetal.yaml + +function create_zuul { + local provider="$1" + local stat_list="$2" + local output_file="$3" + + sed -e "s/%PROVIDER%/${provider}/; " \ + -e "s/%STAT_LIST%/${stat_list}/" \ + -e "s/%OUTPUT_FILE%/${output_file}/" \ + zuul-launcher.template > ${output_file} +} + +create_zuul Rackspace 'rax' zuul-launcher-rax.yaml +create_zuul Rackspace-Flex 'raxflex' zuul-launcher-raxflex.yaml +create_zuul OVH 'ovh' zuul-launcher-ovh.yaml +create_zuul Vexxhost 'vexxhost' zuul-launcher-vexxhost.yaml +create_zuul OSUOSL 'osuosl' zuul-launcher-osuosl.yaml +create_zuul OpenMetal 'openmetal' zuul-launcher-openmetal.yaml diff --git a/grafana/zuul-launcher-openmetal.yaml b/grafana/zuul-launcher-openmetal.yaml new file mode 100644 index 0000000000..69495067c2 --- /dev/null +++ b/grafana/zuul-launcher-openmetal.yaml @@ -0,0 +1,91 @@ +# +# NOTE: EDIT THE TEMPLATE FILE AND RUN create-nodepool.sh +# + +dashboard: + title: 'Zuul Launcher: OpenMetal' + templating: + - name: region + includeAll: true + multi: true + query: "stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-openmetal-*-main" + regex: "/.*?zuul-providers-(openmetal-.*?)-main/" + refresh: 1 + type: query + rows: + - title: Description + height: 150px + panels: + - title: Description + content: | + OpenMetal Zuul-Launcher Status + =============================== + + This dashboard monitors the status of Zuul Launcher in OpenMetal. + + **This dashboard is managed by [Grafyaml](https://docs.openstack.org/infra/system-config/grafyaml.html).** + If you would like to make changes to this dashboard, please see the template in the `grafana` directory in + [project-config](https://opendev.org/openstack/project-config/src/branch/master/grafana/zuul-launcher.template). + type: text + + - title: Nodes + showTitle: true + height: 150px + panels: + - title: Building + span: 3 + sparkline: + full: true + show: true + targets: + - target: sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.building) + type: singlestat + valueName: current + - title: Ready + span: 3 + sparkline: + full: true + show: true + targets: + - target: sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.ready) + type: singlestat + valueName: current + - title: In Use + span: 3 + sparkline: + full: true + show: true + targets: + - target: sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.in-use) + type: singlestat + valueName: current + - title: Deleting + span: 3 + sparkline: + full: true + show: true + targets: + - target: sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.deleting) + type: singlestat + valueName: current + + - title: Test Nodes + height: 400px + panels: + - title: Test Node History - $region + type: graph + span: 12 + stack: true + repeat: region + minSpan: 4 + tooltip: + value_type: individual + yaxes: + - label: "nodes" + - show: false + targets: + - target: alias(sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.building), 'Building') + - target: alias(sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.ready), 'Ready') + - target: alias(sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.in-use), 'In Use') + - target: alias(sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.used), 'Used') + - target: alias(sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.deleting), 'Deleting') diff --git a/grafana/zuul-launcher-osuosl.yaml b/grafana/zuul-launcher-osuosl.yaml new file mode 100644 index 0000000000..6ac3480950 --- /dev/null +++ b/grafana/zuul-launcher-osuosl.yaml @@ -0,0 +1,91 @@ +# +# NOTE: EDIT THE TEMPLATE FILE AND RUN create-nodepool.sh +# + +dashboard: + title: 'Zuul Launcher: OSUOSL' + templating: + - name: region + includeAll: true + multi: true + query: "stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-osuosl-*-main" + regex: "/.*?zuul-providers-(osuosl-.*?)-main/" + refresh: 1 + type: query + rows: + - title: Description + height: 150px + panels: + - title: Description + content: | + OSUOSL Zuul-Launcher Status + =============================== + + This dashboard monitors the status of Zuul Launcher in OSUOSL. + + **This dashboard is managed by [Grafyaml](https://docs.openstack.org/infra/system-config/grafyaml.html).** + If you would like to make changes to this dashboard, please see the template in the `grafana` directory in + [project-config](https://opendev.org/openstack/project-config/src/branch/master/grafana/zuul-launcher.template). + type: text + + - title: Nodes + showTitle: true + height: 150px + panels: + - title: Building + span: 3 + sparkline: + full: true + show: true + targets: + - target: sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.building) + type: singlestat + valueName: current + - title: Ready + span: 3 + sparkline: + full: true + show: true + targets: + - target: sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.ready) + type: singlestat + valueName: current + - title: In Use + span: 3 + sparkline: + full: true + show: true + targets: + - target: sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.in-use) + type: singlestat + valueName: current + - title: Deleting + span: 3 + sparkline: + full: true + show: true + targets: + - target: sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.deleting) + type: singlestat + valueName: current + + - title: Test Nodes + height: 400px + panels: + - title: Test Node History - $region + type: graph + span: 12 + stack: true + repeat: region + minSpan: 4 + tooltip: + value_type: individual + yaxes: + - label: "nodes" + - show: false + targets: + - target: alias(sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.building), 'Building') + - target: alias(sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.ready), 'Ready') + - target: alias(sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.in-use), 'In Use') + - target: alias(sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.used), 'Used') + - target: alias(sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.deleting), 'Deleting') diff --git a/grafana/zuul-launcher-ovh.yaml b/grafana/zuul-launcher-ovh.yaml new file mode 100644 index 0000000000..ebbf69f2cf --- /dev/null +++ b/grafana/zuul-launcher-ovh.yaml @@ -0,0 +1,91 @@ +# +# NOTE: EDIT THE TEMPLATE FILE AND RUN create-nodepool.sh +# + +dashboard: + title: 'Zuul Launcher: OVH' + templating: + - name: region + includeAll: true + multi: true + query: "stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-ovh-*-main" + regex: "/.*?zuul-providers-(ovh-.*?)-main/" + refresh: 1 + type: query + rows: + - title: Description + height: 150px + panels: + - title: Description + content: | + OVH Zuul-Launcher Status + =============================== + + This dashboard monitors the status of Zuul Launcher in OVH. + + **This dashboard is managed by [Grafyaml](https://docs.openstack.org/infra/system-config/grafyaml.html).** + If you would like to make changes to this dashboard, please see the template in the `grafana` directory in + [project-config](https://opendev.org/openstack/project-config/src/branch/master/grafana/zuul-launcher.template). + type: text + + - title: Nodes + showTitle: true + height: 150px + panels: + - title: Building + span: 3 + sparkline: + full: true + show: true + targets: + - target: sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.building) + type: singlestat + valueName: current + - title: Ready + span: 3 + sparkline: + full: true + show: true + targets: + - target: sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.ready) + type: singlestat + valueName: current + - title: In Use + span: 3 + sparkline: + full: true + show: true + targets: + - target: sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.in-use) + type: singlestat + valueName: current + - title: Deleting + span: 3 + sparkline: + full: true + show: true + targets: + - target: sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.deleting) + type: singlestat + valueName: current + + - title: Test Nodes + height: 400px + panels: + - title: Test Node History - $region + type: graph + span: 12 + stack: true + repeat: region + minSpan: 4 + tooltip: + value_type: individual + yaxes: + - label: "nodes" + - show: false + targets: + - target: alias(sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.building), 'Building') + - target: alias(sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.ready), 'Ready') + - target: alias(sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.in-use), 'In Use') + - target: alias(sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.used), 'Used') + - target: alias(sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.deleting), 'Deleting') diff --git a/grafana/zuul-launcher-rax.yaml b/grafana/zuul-launcher-rax.yaml new file mode 100644 index 0000000000..6db41237a7 --- /dev/null +++ b/grafana/zuul-launcher-rax.yaml @@ -0,0 +1,91 @@ +# +# NOTE: EDIT THE TEMPLATE FILE AND RUN create-nodepool.sh +# + +dashboard: + title: 'Zuul Launcher: Rackspace' + templating: + - name: region + includeAll: true + multi: true + query: "stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-rax-*-main" + regex: "/.*?zuul-providers-(rax-.*?)-main/" + refresh: 1 + type: query + rows: + - title: Description + height: 150px + panels: + - title: Description + content: | + Rackspace Zuul-Launcher Status + =============================== + + This dashboard monitors the status of Zuul Launcher in Rackspace. + + **This dashboard is managed by [Grafyaml](https://docs.openstack.org/infra/system-config/grafyaml.html).** + If you would like to make changes to this dashboard, please see the template in the `grafana` directory in + [project-config](https://opendev.org/openstack/project-config/src/branch/master/grafana/zuul-launcher.template). + type: text + + - title: Nodes + showTitle: true + height: 150px + panels: + - title: Building + span: 3 + sparkline: + full: true + show: true + targets: + - target: sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.building) + type: singlestat + valueName: current + - title: Ready + span: 3 + sparkline: + full: true + show: true + targets: + - target: sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.ready) + type: singlestat + valueName: current + - title: In Use + span: 3 + sparkline: + full: true + show: true + targets: + - target: sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.in-use) + type: singlestat + valueName: current + - title: Deleting + span: 3 + sparkline: + full: true + show: true + targets: + - target: sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.deleting) + type: singlestat + valueName: current + + - title: Test Nodes + height: 400px + panels: + - title: Test Node History - $region + type: graph + span: 12 + stack: true + repeat: region + minSpan: 4 + tooltip: + value_type: individual + yaxes: + - label: "nodes" + - show: false + targets: + - target: alias(sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.building), 'Building') + - target: alias(sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.ready), 'Ready') + - target: alias(sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.in-use), 'In Use') + - target: alias(sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.used), 'Used') + - target: alias(sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.deleting), 'Deleting') diff --git a/grafana/zuul-launcher-raxflex.yaml b/grafana/zuul-launcher-raxflex.yaml new file mode 100644 index 0000000000..00ea2e20c7 --- /dev/null +++ b/grafana/zuul-launcher-raxflex.yaml @@ -0,0 +1,91 @@ +# +# NOTE: EDIT THE TEMPLATE FILE AND RUN create-nodepool.sh +# + +dashboard: + title: 'Zuul Launcher: Rackspace-Flex' + templating: + - name: region + includeAll: true + multi: true + query: "stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-raxflex-*-main" + regex: "/.*?zuul-providers-(raxflex-.*?)-main/" + refresh: 1 + type: query + rows: + - title: Description + height: 150px + panels: + - title: Description + content: | + Rackspace-Flex Zuul-Launcher Status + =============================== + + This dashboard monitors the status of Zuul Launcher in Rackspace-Flex. + + **This dashboard is managed by [Grafyaml](https://docs.openstack.org/infra/system-config/grafyaml.html).** + If you would like to make changes to this dashboard, please see the template in the `grafana` directory in + [project-config](https://opendev.org/openstack/project-config/src/branch/master/grafana/zuul-launcher.template). + type: text + + - title: Nodes + showTitle: true + height: 150px + panels: + - title: Building + span: 3 + sparkline: + full: true + show: true + targets: + - target: sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.building) + type: singlestat + valueName: current + - title: Ready + span: 3 + sparkline: + full: true + show: true + targets: + - target: sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.ready) + type: singlestat + valueName: current + - title: In Use + span: 3 + sparkline: + full: true + show: true + targets: + - target: sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.in-use) + type: singlestat + valueName: current + - title: Deleting + span: 3 + sparkline: + full: true + show: true + targets: + - target: sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.deleting) + type: singlestat + valueName: current + + - title: Test Nodes + height: 400px + panels: + - title: Test Node History - $region + type: graph + span: 12 + stack: true + repeat: region + minSpan: 4 + tooltip: + value_type: individual + yaxes: + - label: "nodes" + - show: false + targets: + - target: alias(sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.building), 'Building') + - target: alias(sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.ready), 'Ready') + - target: alias(sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.in-use), 'In Use') + - target: alias(sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.used), 'Used') + - target: alias(sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.deleting), 'Deleting') diff --git a/grafana/zuul-launcher-vexxhost.yaml b/grafana/zuul-launcher-vexxhost.yaml new file mode 100644 index 0000000000..034f744091 --- /dev/null +++ b/grafana/zuul-launcher-vexxhost.yaml @@ -0,0 +1,91 @@ +# +# NOTE: EDIT THE TEMPLATE FILE AND RUN create-nodepool.sh +# + +dashboard: + title: 'Zuul Launcher: Vexxhost' + templating: + - name: region + includeAll: true + multi: true + query: "stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-vexxhost-*-main" + regex: "/.*?zuul-providers-(vexxhost-.*?)-main/" + refresh: 1 + type: query + rows: + - title: Description + height: 150px + panels: + - title: Description + content: | + Vexxhost Zuul-Launcher Status + =============================== + + This dashboard monitors the status of Zuul Launcher in Vexxhost. + + **This dashboard is managed by [Grafyaml](https://docs.openstack.org/infra/system-config/grafyaml.html).** + If you would like to make changes to this dashboard, please see the template in the `grafana` directory in + [project-config](https://opendev.org/openstack/project-config/src/branch/master/grafana/zuul-launcher.template). + type: text + + - title: Nodes + showTitle: true + height: 150px + panels: + - title: Building + span: 3 + sparkline: + full: true + show: true + targets: + - target: sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.building) + type: singlestat + valueName: current + - title: Ready + span: 3 + sparkline: + full: true + show: true + targets: + - target: sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.ready) + type: singlestat + valueName: current + - title: In Use + span: 3 + sparkline: + full: true + show: true + targets: + - target: sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.in-use) + type: singlestat + valueName: current + - title: Deleting + span: 3 + sparkline: + full: true + show: true + targets: + - target: sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.deleting) + type: singlestat + valueName: current + + - title: Test Nodes + height: 400px + panels: + - title: Test Node History - $region + type: graph + span: 12 + stack: true + repeat: region + minSpan: 4 + tooltip: + value_type: individual + yaxes: + - label: "nodes" + - show: false + targets: + - target: alias(sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.building), 'Building') + - target: alias(sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.ready), 'Ready') + - target: alias(sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.in-use), 'In Use') + - target: alias(sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.used), 'Used') + - target: alias(sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.deleting), 'Deleting') diff --git a/grafana/zuul-launcher.template b/grafana/zuul-launcher.template new file mode 100644 index 0000000000..22944aecca --- /dev/null +++ b/grafana/zuul-launcher.template @@ -0,0 +1,91 @@ +# +# NOTE: EDIT THE TEMPLATE FILE AND RUN create-nodepool.sh +# + +dashboard: + title: 'Zuul Launcher: %PROVIDER%' + templating: + - name: region + includeAll: true + multi: true + query: "stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-%STAT_LIST%-*-main" + regex: "/.*?zuul-providers-(%STAT_LIST%-.*?)-main/" + refresh: 1 + type: query + rows: + - title: Description + height: 150px + panels: + - title: Description + content: | + %PROVIDER% Zuul-Launcher Status + =============================== + + This dashboard monitors the status of Zuul Launcher in %PROVIDER%. + + **This dashboard is managed by [Grafyaml](https://docs.openstack.org/infra/system-config/grafyaml.html).** + If you would like to make changes to this dashboard, please see the template in the `grafana` directory in + [project-config](https://opendev.org/openstack/project-config/src/branch/master/grafana/zuul-launcher.template). + type: text + + - title: Nodes + showTitle: true + height: 150px + panels: + - title: Building + span: 3 + sparkline: + full: true + show: true + targets: + - target: sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.building) + type: singlestat + valueName: current + - title: Ready + span: 3 + sparkline: + full: true + show: true + targets: + - target: sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.ready) + type: singlestat + valueName: current + - title: In Use + span: 3 + sparkline: + full: true + show: true + targets: + - target: sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.in-use) + type: singlestat + valueName: current + - title: Deleting + span: 3 + sparkline: + full: true + show: true + targets: + - target: sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.deleting) + type: singlestat + valueName: current + + - title: Test Nodes + height: 400px + panels: + - title: Test Node History - $region + type: graph + span: 12 + stack: true + repeat: region + minSpan: 4 + tooltip: + value_type: individual + yaxes: + - label: "nodes" + - show: false + targets: + - target: alias(sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.building), 'Building') + - target: alias(sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.ready), 'Ready') + - target: alias(sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.in-use), 'In Use') + - target: alias(sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.used), 'Used') + - target: alias(sumSeries(stats.gauges.zuul.provider.opendev_org2Fopendev2Fzuul-providers-$region-main.nodes.state.deleting), 'Deleting')