Skip to content

Latest commit

 

History

History
135 lines (103 loc) · 3.95 KB

README.rst

File metadata and controls

135 lines (103 loc) · 3.95 KB

Generic system models

This repo contains general reclass system level of salt model. It is to be used along with service models and concrete cluster deployment model.

Network configuration

Enable SR-IOV support

Include class at cluster.<name>.openstack.compute

- system.nova.compute.nfv.sriov

For single SR-IOV interface setup you can set parameters:

sriov_nic01_device_name
Name of the Physical Function interface (pF)
sriov_nic01_numvfs
Number of Virtual Functions (VF), for number of supported VF check documentation for your network interface card.
sriov_nic01_physical_network
Default physnet1, label for physical network the interface belongs to.
sriov_unsafe_interrupts
Default False, needs to be set True if your hw platform does not support interrupt remapping.

Multiple SR-IOV interface setup:

By default, the metadata model contains configuration for 1 NIC dedicated for SR-IOV, so we need to setup network interfaces like in the following example.

...
  nova:
    compute:
      sriov:
        sriov_nic01:
          devname: eth1
          physical_network: physnet3
        sriov_nic02:
          devname: eth2
          physical_network: physnet4
        sriov_nic03:
          devname: eth3
          physical_network: physnet3
        sriov_nic04:
          devname: eth4
          physical_network: physnet6
  linux:
    system:
      kernel:
        sriov: True
        unsafe_interrupts: False
      rc:
        local: |
          #!/bin/sh -e
          # Enabling 7 VFs on eth1 PF
          echo 7 > /sys/class/net/eth1/device/sriov_numvfs; sleep 2; ip link set eth1 up
          # Enabling 15 VFs on eth2 PF
          echo 15 > /sys/class/net/eth2/device/sriov_numvfs; sleep 2; ip link set eth2 up
          # Enabling 15 VFs on eth3 PF
          echo 15 > /sys/class/net/eth3/device/sriov_numvfs; sleep 2; ip link set eth3 up
          # Enabling 7 VFs on eth4 PF
          echo 7 > /sys/class/net/eth4/device/sriov_numvfs; sleep 2; ip link set eth4 up
          exit 0

Grafana

Configure Grafana client

The grafana.client talks to Grafana server to create datasource(s) and install Grafana plugin(s).

User models must first include this class and define corresponding parameters:

  • grafana.client - grafana_protocol (default: http) - grafana_address - grafana_port (default: 3000) - grafana_user - grafana_password

Then include datasource(s) and define corresponding parameters:

  • grafana.client.datasource.influxdb - grafana_influxdb_address - grafana_influxdb_port - grafana_influxdb_user - grafana_influxdb_password - grafana_influxdb_database - grafana_influxdb_is_default (default true)
  • grafana.client.datasource.prometheus - grafana_prometheus_address - grafana_prometheus_port - grafana_prometheus_is_default (default true)

Backward compatiblity

The class grafana.client.single configures grafana client and an InfluxDB datasource. This is the legacy of LMA (aka StackLight) integration with Grafana and InfluxDB.

Nagios Monitoring

Configure Hosts dynamically

The nagios formula looks up grains.items throught Salt mines to discover hosts. There are two different parameters that tell the nagios formula how to determine the hosts' IP address:

  • nagios_monitoring_network: IP subnet(s) in CIDR notation (can be a list)
  • nagios_monitoring_interface: interface name(s). Default ['eth0', 'ens3'].

'nagios_monitoring_network' parameter takes precedence over 'nagios_monitoring_interface' list.