Grid‘5000 integration

Grid‘5000 tools

There are 2 tools developped in kwapi that can be used in Grid‘5000:

  • kwapi-g5k-conf
  • kwapi-g5k-check

kwapi-g5k-conf

This tool is used to generate Kwapi drivers configuration. It uses content of /etc/kwapi/drivers.conf.orig as an initial content and use the Grid‘5000 API (with execo) to retrieve power configuration and network configuration.

This script is compatible with both SNMP and JSON drivers. It creates 1 entry per PDU and 1 entry per switch. Only compute nodes are configured with power monitoring. Only nodes, servers, interswitch links, Renater links and addtionnal virtual links described in Grid‘5000 API are configured for network monitoring. Resolution is set at 1 mesure per second by default.

kwapi-g5k-check

This tool is used to check Kwapi configuration. It uses execo to get Grid‘5000 status and reserve the nodes with the API. It has to be launched from Grid‘5000 frontend.

It will reserve the nodes of a site and stress then one by one. By pulling the measurement API, it will check that power metrics increase for the node concerned by the test. At the end, it will show a list of nodes for which the check fail.

A network version has been added to this script but was never tested on Grid‘5000.

Reference-repository configuration

PDU entries in Grid‘5000 API has to be well defined in order to generate correctly the scripts. We will take each examples of the exemple section and see how to expose them through Grid‘5000 API.

Warning

As a reference, you should probably read before:

1 PDU 2 nodes

2 nodes connected to 1 PDU.

_images/1pdu2nodes.png
pdus.yaml
---
pdus:
  grisou-pdu1:
    vendor: APC
    model: AP8653
    sensors:
     - power:
        per_outlets: true
        snmp:
          available: true
          total_oids:
            - iso.3.6.1.4.1.318.1.1.12.1.16.0
          unit: W
          outlet_prefix_oid: iso.3.6.1.4.1.318.1.1.26.9.4.3.1.7
        resolution: 1
grisou.yaml
---
nodes:
  grisou-[1-2]:
    monitoring:
      wattmeter: true
      metric: power 
  grisou-1:
    pdu:
      - uid: grisou-pdu1
        port: 1
  grisou-2:
    pdu:
      - uid: grisou-pdu1
        port: 2

1 PDU, 1 node, multiple PSU

1 Node with 2 PSU (Power Supply Unit) connected to 1 PDU.

_images/1pdu1node_multi.png
pdus.yaml
---
pdus:
  grisou-pdu1:
    vendor: APC
    model: AP8653
    sensors:
     - power:
        per_outlets: true
        snmp:
          available: true
          total_oids:
            - iso.3.6.1.4.1.318.1.1.12.1.16.0
          unit: W
          outlet_prefix_oid: iso.3.6.1.4.1.318.1.1.26.9.4.3.1.7
        resolution: 1
grisou.yaml
---
nodes:
  grisou-1:
    monitoring:
      wattmeter: multiple
      metric: power 
    pdu:
      - uid: grisou-pdu1
        port: 1
      - uid: grisou-pdu1
        port: 2

1 PDU, shared measure, 2 nodes

2 nodes connected to a non-monitorable PDU. The non-monitorable PDU in red is connected to a monitorable PDU. It is equivalent to a shared consumption measure for the 2 nodes.

_images/1pdu2nodes_shared.png
pdus.yaml
---
pdus:
  grisou-pdu1:
    vendor: APC
    model: AP7953
    sensors:
     - power:
        per_outlets: false
        snmp:
          available: true
          total_oids:
            - iso.3.6.1.4.1.318.1.1.12.1.16.0
          unit: W
        resolution: 1
    monitoring:
      wattmeter: true
      metric: power 
    pdu:
      - uid: grisou-pdu2
        port: 1
  grisou-pdu2:
    vendor: APC
    model: AP8653
    sensors:
     - power:
        per_outlets: true
        snmp:
          available: true
          total_oids:
            - iso.3.6.1.4.1.318.1.1.12.1.16.0
          unit: W
          outlet_prefix_oid: iso.3.6.1.4.1.318.1.1.26.9.4.3.1.7
        resolution: 1
grisou.yaml
---
nodes:
  grisou-[1-2]:
    monitoring:
      wattmeter: shared
      metric: power 
  grisou-1:
    pdu:
      - uid: grisou-pdu1
        port: 1
  grisou-2:
    pdu:
      - uid: grisou-pdu1
        port: 2

2 PDU, 1 node, 2 PSU

1 node with 2 PSU connected to 2 different PDU.

_images/2pdu1node_multi.png
pdus.yaml
---
pdus:
  grisou-pdu1:
    vendor: APC
    model: AP8653
    sensors:
     - power:
        per_outlets: true
        snmp:
          available: true
          total_oids:
            - iso.3.6.1.4.1.318.1.1.12.1.16.0
          unit: W
          outlet_prefix_oid: iso.3.6.1.4.1.318.1.1.26.9.4.3.1.7
        resolution: 1
  grisou-pdu2:
    vendor: APC
    model: AP8653
    sensors:
     - power:
        per_outlets: true
        snmp:
          available: true
          total_oids:
            - iso.3.6.1.4.1.318.1.1.12.1.16.0
          unit: W
          outlet_prefix_oid: iso.3.6.1.4.1.318.1.1.26.9.4.3.1.7
        resolution: 1
grisou.yaml
---
nodes:
  grisou-1:
    monitoring:
      wattmeter: multiple
      metric: power 
    pdu:
      - uid: grisou-pdu1
        port: 1
      - uid: grisou-pdu2
        port: 1