From ed86eb100b1b71d7361c17b289da76d020858c21 Mon Sep 17 00:00:00 2001 From: Ian Wienand Date: Wed, 14 Apr 2021 12:24:18 +1000 Subject: [PATCH] Add OSUOSL resources to nodepool These resouces kindly donated by OSU OSL (https://osuosl.org/) We have about 15 ARM64 nodes, we're sticking with just the regular "os.large" instances. (re)generate the nodepool graphs to account for this The mirror site is active Depends-On: https://review.opendev.org/c/opendev/system-config/+/786155 Change-Id: I8bc34beabd130d4a8bb004b0e029ec96945a95df --- grafana/create-nodepool.sh | 1 + grafana/nodepool-osuosl.yaml | 197 +++++++++++++++++++++++++++++++++ grafana/nodepool-ovh.yaml | 1 - nodepool/nl03.opendev.org.yaml | 61 ++++++++++ 4 files changed, 259 insertions(+), 1 deletion(-) create mode 100644 grafana/nodepool-osuosl.yaml diff --git a/grafana/create-nodepool.sh b/grafana/create-nodepool.sh index 172520046a..762be39a0f 100755 --- a/grafana/create-nodepool.sh +++ b/grafana/create-nodepool.sh @@ -26,3 +26,4 @@ create Linaro 'linaro-*' nodepool-linaro.yaml create OVH 'ovh-*' nodepool-ovh.yaml create Vexxhost 'vexxhost-*' nodepool-vexxhost.yaml create Airship-Citycloud 'airship-*' nodepool-airship-citycloud.yaml +create OSUOSL 'osusol-*' nodepool-osuosl.yaml diff --git a/grafana/nodepool-osuosl.yaml b/grafana/nodepool-osuosl.yaml new file mode 100644 index 0000000000..2ac754e884 --- /dev/null +++ b/grafana/nodepool-osuosl.yaml @@ -0,0 +1,197 @@ +# +# NOTE: EDIT THE TEMPLATE FILE AND RUN create-nodepool.sh +# + +dashboard: + title: 'Nodepool: OSUOSL' + templating: + - name: region + includeAll: true + multi: true + query: stats.gauges.nodepool.provider.osusol-* + refresh: 1 + type: query + rows: + - title: Description + height: 150px + panels: + - title: Description + content: | + OSUOSL Nodepool Status + ========================== + + This dashboard monitors the status of the nodepool environment for 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/nodepool.template). + + type: text + + - title: Nodes + showTitle: true + height: 150px + panels: + - title: Building + span: 3 + sparkline: + full: true + show: true + targets: + - target: sumSeries(stats.gauges.nodepool.provider.$region.nodes.building) + type: singlestat + valueName: current + - title: Ready + span: 3 + sparkline: + full: true + show: true + targets: + - target: sumSeries(stats.gauges.nodepool.provider.$region.nodes.ready) + type: singlestat + valueName: current + - title: In Use + span: 3 + sparkline: + full: true + show: true + targets: + - target: sumSeries(stats.gauges.nodepool.provider.$region.nodes.in-use) + type: singlestat + valueName: current + - title: Deleting + span: 3 + sparkline: + full: true + show: true + targets: + - target: sumSeries(stats.gauges.nodepool.provider.$region.nodes.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.nodepool.provider.$region.nodes.building), 'Building') + - target: alias(sumSeries(stats.gauges.nodepool.provider.$region.nodes.ready), 'Available') + - target: alias(sumSeries(stats.gauges.nodepool.provider.$region.nodes.in-use), 'In Use') + - target: alias(sumSeries(stats.gauges.nodepool.provider.$region.nodes.used), 'Used') + - target: alias(sumSeries(stats.gauges.nodepool.provider.$region.nodes.deleting), 'Deleting') + - target: alias(sumSeries(stats.gauges.nodepool.provider.$region.max_servers), 'Max') + seriesOverrides: + - alias: Max + stack: False + + + - title: Node Launches + showTitle: true + height: 250px + panels: + - title: Ready Node Launch Attempts + type: graph + span: 4 + lines: false + bars: true + nullPointMode: null as zero + yaxes: + - label: "events / min" + - show: false + targets: + - target: aliasSub(summarize(stats_counts.nodepool.launch.provider.$region.ready, '1m'), '.*stats_counts.nodepool.launch.provider.(.*).ready.*', '\1') + - title: Time to Ready + type: graph + span: 4 + lines: false + bars: true + nullPointMode: null as zero + yaxes: + - label: "time" + format: ms + - show: false + targets: + - target: aliasByNode(stats.timers.nodepool.launch.provider.$region.ready.mean, 5) + - title: Error Node Launch Attempts + type: graph + span: 4 + lines: false + bars: true + nullPointMode: null as zero + yaxes: + - label: "events / min" + - show: false + targets: + - target: alias(smartSummarize(sumSeries(stats_counts.nodepool.launch.provider.$region.error.*), '1m'), "All Errors") + + - title: API Operations + showTitle: true + height: 250px + panels: + - title: Create Server + type: graph + lines: true + nullPointMode: connected + span: 4 + yaxes: + - format: ms + label: Time + - show: false + targets: + - target: aliasByNode(stats.timers.nodepool.task.$region.ComputePostServers.mean, 4) + - title: Get Server + type: graph + span: 4 + lines: true + nullPointMode: connected + span: 4 + yaxes: + - format: ms + label: Time + - show: false + targets: + - target: aliasByNode(stats.timers.nodepool.task.$region.ComputePostServers.mean, 4) + - title: Delete Server + type: graph + span: 4 + lines: true + nullPointMode: connected + span: 4 + yaxes: + - format: ms + label: Time + - show: false + targets: + - target: aliasByNode(stats.timers.nodepool.task.$region.ComputePostServers.mean, 4) + - title: List Servers + type: graph + lines: true + nullPointMode: connected + span: 4 + yaxes: + - format: ms + label: Time + - show: false + targets: + - target: aliasByNode(stats.timers.nodepool.task.$region.ComputePostServers.mean, 4) + - title: Get Limits + type: graph + lines: true + nullPointMode: connected + span: 4 + yaxes: + - format: ms + label: Time + - show: false + targets: + - target: aliasByNode(stats.timers.nodepool.task.$region.ComputePostServers.mean, 4) diff --git a/grafana/nodepool-ovh.yaml b/grafana/nodepool-ovh.yaml index 98a6c4e70b..0220e4c90a 100644 --- a/grafana/nodepool-ovh.yaml +++ b/grafana/nodepool-ovh.yaml @@ -11,7 +11,6 @@ dashboard: query: stats.gauges.nodepool.provider.ovh-* refresh: 1 type: query - datasource: OpenStack rows: - title: Description height: 150px diff --git a/nodepool/nl03.opendev.org.yaml b/nodepool/nl03.opendev.org.yaml index b5d1b1954c..c6fa45f8c8 100644 --- a/nodepool/nl03.opendev.org.yaml +++ b/nodepool/nl03.opendev.org.yaml @@ -496,6 +496,67 @@ providers: diskimage: ubuntu-focal-arm64 key-name: infra-root-keys-2020-05-13 + - name: osuosl + region-name: 'RegionOne' + cloud: osuosl + boot-timeout: 600 + launch-timeout: 800 + rate: 0.001 + diskimages: + - name: centos-8-arm64 + config-drive: true + - name: centos-8-stream-arm64 + config-drive: true + - name: debian-buster-arm64 + config-drive: true + - name: debian-stretch-arm64 + config-drive: true + - name: ubuntu-xenial-arm64 + config-drive: true + - name: ubuntu-bionic-arm64 + config-drive: true + - name: ubuntu-focal-arm64 + config-drive: true + pools: + - name: main + max-servers: 15 + labels: + - name: centos-8-arm64 + min-ram: 8000 + flavor-name: 'os.large' + diskimage: centos-8-arm64 + key-name: infra-root-keys-2020-05-13 + - name: centos-8-stream-arm64 + min-ram: 8000 + flavor-name: 'os.large' + diskimage: centos-8-stream-arm64 + key-name: infra-root-keys-2020-05-13 + - name: debian-buster-arm64 + min-ram: 8000 + flavor-name: 'os.large' + diskimage: debian-buster-arm64 + key-name: infra-root-keys-2020-05-13 + - name: debian-stretch-arm64 + min-ram: 8000 + flavor-name: 'os.large' + diskimage: debian-stretch-arm64 + key-name: infra-root-keys-2020-05-13 + - name: ubuntu-xenial-arm64 + min-ram: 8000 + flavor-name: 'os.large' + diskimage: ubuntu-xenial-arm64 + key-name: infra-root-keys-2020-05-13 + - name: ubuntu-bionic-arm64 + min-ram: 8000 + flavor-name: 'os.large' + diskimage: ubuntu-bionic-arm64 + key-name: infra-root-keys-2020-05-13 + - name: ubuntu-focal-arm64 + min-ram: 8000 + flavor-name: 'os.large' + diskimage: ubuntu-focal-arm64 + key-name: infra-root-keys-2020-05-13 + diskimages: - name: centos-7 - name: centos-8