Files
project-config/grafana/create-nodepool.sh
James E. Blair d06a48229f Revise zuul-launcher dashboards
This makes the following changes to the zuul-launcher dashboards:
* Adds gauges that show current/max quota values for
  instances, cores, ram
* Converts the template from YAML to JSON due to the complexity
  required for the gauges
* Since it's not easy to template which quota values are present,
  two templates are provided: one with all 3, and another with only
  instances and ram (for rax)
* Updates the test node history graph to stack (so that we can compare
  the total of building+ready+used+etc to the max line (the max line
  is not stacked)
* Adds a 10% opaque background to all lines except max to make
  the stacking more apparent
* Adds a "requested" node state (which is new in niz)
* Removes the unused "deleted" singlestat and replaces it with
  "requested"

Change-Id: I0d3f28d46fc4bf272bcd3246ce18476073220d73
2025-07-02 09:14:06 -07:00

51 lines
1.7 KiB
Bash
Executable File

#!/bin/bash
#
# Creates graphs for nodepool regions from a given provider
#
# Note we are somewhat particular about keeping these separate to
# avoid the idea that we are providing some sort of cross-provider
# benchmark.
#
function create {
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}/" \
nodepool.template > ${output_file}
}
create Rackspace 'rax-*' nodepool-rax.yaml
create Rackspace-Flex 'raxflex-*' nodepool-raxflex.yaml
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 template="$1"
local provider="$2"
local stat_list="$3"
local output_file="$4"
sed -e "s/%PROVIDER%/${provider}/; " \
-e "s/%STAT_LIST%/${stat_list}/" \
-e "s/%TEMPLATE%/${template}/" \
${template} > ${output_file}
}
# Templates vary depending on which resource limits are included:
# zuul-launcher-ram-ir.template : instances, ram
# zuul-launcher-ram-icr.template : instances, cores, ram
create_zuul zuul-launcher-ir.template Rackspace 'rax' zuul-launcher-rax.json
create_zuul zuul-launcher-ir.template Rackspace-Flex 'raxflex' zuul-launcher-raxflex.json
create_zuul zuul-launcher-icr.template OVH 'ovh' zuul-launcher-ovh.json
create_zuul zuul-launcher-icr.template Vexxhost 'vexxhost' zuul-launcher-vexxhost.json
create_zuul zuul-launcher-icr.template OSUOSL 'osuosl' zuul-launcher-osuosl.json
create_zuul zuul-launcher-icr.template OpenMetal 'openmetal' zuul-launcher-openmetal.json