diff --git a/grafana/create-nodepool.sh b/grafana/create-nodepool.sh index 1627e164cc..1f51b68854 100755 --- a/grafana/create-nodepool.sh +++ b/grafana/create-nodepool.sh @@ -27,3 +27,4 @@ create OVH 'ovh-*' nodepool-ovh.yaml create Vexxhost 'vexxhost-*' nodepool-vexxhost.yaml create Airship-Citycloud 'airship-*' nodepool-airship-citycloud.yaml create OSUOSL 'osuosl-*' nodepool-osuosl.yaml +create InMotion 'inmotion-*' nodepool-inmotion.yaml diff --git a/grafana/nodepool-inmotion.yaml b/grafana/nodepool-inmotion.yaml new file mode 100644 index 0000000000..a4050e42f5 --- /dev/null +++ b/grafana/nodepool-inmotion.yaml @@ -0,0 +1,197 @@ +# +# NOTE: EDIT THE TEMPLATE FILE AND RUN create-nodepool.sh +# + +dashboard: + title: 'Nodepool: InMotion' + templating: + - name: region + includeAll: true + multi: true + query: stats.gauges.nodepool.provider.inmotion-* + refresh: 1 + type: query + rows: + - title: Description + height: 150px + panels: + - title: Description + content: | + InMotion Nodepool Status + ========================== + + This dashboard monitors the status of the nodepool environment for InMotion. + + **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/nodepool/nl02.opendev.org.yaml b/nodepool/nl02.opendev.org.yaml index adb0d3508f..280c54778f 100644 --- a/nodepool/nl02.opendev.org.yaml +++ b/nodepool/nl02.opendev.org.yaml @@ -284,6 +284,89 @@ providers: diskimage: ubuntu-bionic key-name: infra-root-keys-2020-05-13 +providers: + - name: inmotion-iad3 + region-name: 'iad3' + cloud: inmotion + boot-timeout: 120 + launch-timeout: 300 + rate: 0.01 + diskimages: *provider_diskimages + pools: + - name: main + max-servers: 8 + labels: + - name: centos-7 + min-ram: 8000 + flavor-name: 'opendev-zuul' + diskimage: centos-7 + key-name: infra-root-keys-2020-05-13 + - name: centos-8 + min-ram: 8000 + flavor-name: 'opendev-zuul' + diskimage: centos-8 + key-name: infra-root-keys-2020-05-13 + - name: centos-8-stream + min-ram: 8000 + flavor-name: 'opendev-zuul' + diskimage: centos-8-stream + key-name: infra-root-keys-2020-05-13 + - name: debian-bullseye + min-ram: 8000 + flavor-name: 'opendev-zuul' + diskimage: debian-bullseye + key-name: infra-root-keys-2020-05-13 + - name: debian-buster + min-ram: 8000 + flavor-name: 'opendev-zuul' + diskimage: debian-buster + key-name: infra-root-keys-2020-05-13 + - name: debian-stretch + min-ram: 8000 + flavor-name: 'opendev-zuul' + diskimage: debian-stretch + key-name: infra-root-keys-2020-05-13 + - name: fedora-32 + min-ram: 8000 + flavor-name: 'opendev-zuul' + diskimage: fedora-32 + key-name: infra-root-keys-2020-05-13 + - name: gentoo-17-0-systemd + min-ram: 8000 + flavor-name: 'opendev-zuul' + diskimage: gentoo-17-0-systemd + key-name: infra-root-keys-2020-05-13 + - name: opensuse-15 + min-ram: 8000 + flavor-name: 'opendev-zuul' + diskimage: opensuse-15 + key-name: infra-root-keys-2020-05-13 + - name: opensuse-tumbleweed + min-ram: 8000 + flavor-name: 'opendev-zuul' + diskimage: opensuse-tumbleweed + key-name: infra-root-keys-2020-05-13 + - name: ubuntu-bionic + min-ram: 8000 + flavor-name: 'opendev-zuul' + diskimage: ubuntu-bionic + key-name: infra-root-keys-2020-05-13 + - name: ubuntu-bionic-limestone-debug + min-ram: 8000 + flavor-name: 'opendev-zuul' + diskimage: ubuntu-bionic + key-name: infra-root-keys-2020-05-13 + - name: ubuntu-focal + min-ram: 8000 + flavor-name: 'opendev-zuul' + diskimage: ubuntu-focal + key-name: infra-root-keys-2020-05-13 + - name: ubuntu-xenial + min-ram: 8000 + flavor-name: 'opendev-zuul' + diskimage: ubuntu-xenial + key-name: infra-root-keys-2020-05-13 + diskimages: - name: centos-7 - name: centos-8 diff --git a/nodepool/nodepool.yaml b/nodepool/nodepool.yaml index 912375e49b..49d295c0ac 100644 --- a/nodepool/nodepool.yaml +++ b/nodepool/nodepool.yaml @@ -98,6 +98,12 @@ providers: rate: 0.25 diskimages: *provider_diskimages + - name: inmotion-iad3 + region-name: 'iad3' + cloud: inmotion + rate: 0.25 + diskimages: *provider_diskimages + diskimages: - name: base abstract: True