Skip to content

Plugin IntelRDT Tests

Florian Forster edited this page Nov 21, 2023 · 1 revision

This page contains tests instructions for the IntelRDT plugin. This page is meant to aid in testing at release time and be a guide for developing automated tests. Please add any tests that you have run when testing this plugin.

OPNFV Barometer

Intel_rdt plugin tests

Test Environment details:

  • Bare Metal, U16.04
  • Kernel version: 3.13.0-96-generic

Repo/branch used:

  • collectd/master

Tests precondition:

  • Installed PQoS/Intel(R) RDT library (libpqos).
  • Installed collectd and enabled csv plugin.
  • Enable intel_rdt plugin with default values

#

Description

Test steps

Expected result

1

Verify user can setup simple configuration for intel_rdt plugin.

1. Start collectd daemon:

 $ /install_folder/sbin/collectd

2. Navigate to folder:

 $ cd /var/lib/csv/hostname_folder/

3. Check that separate files for all available CPU monitoring statistic are present in folder:

 $ ls /intel_rdt-0

  • Folder intel_rdt-0 is created.
  • Collectd starts, files corresponding to intel_rdt are created

2

Check user can add different group combinations for intel_rdt plugin.

1. Change configuration for intel_rdt plugin into collectd.conf file: set up Cores TestData

2. Start collecd deamon:

 $ /install_folder/sbin/collectd

3. Navigate to folder:

 $ cd var/lib/csv/hostname_folder/

4. Check that separate files for all available CPU monitoring statistic are present in appropriate folders:

 $ ls /intel_rdt-Core_Group

 TestData = [ "1"; "0-1"; "5,6,7,10-12"; "1","2","3"; "0-2" "3,4,6" "8-10,12"; "" ]

  • Folders in format "intel_rdt-Core_Group" were created.
  • Files in format "bytes-llc-YYYY-MM-DD" and "ips-YYYY-MM-DD" were created for all TestData

3

Verify if user setup intel_rdt plugin using unsupported values error message appears and collectd start

1. Open collecd.conf file:

 $ vim /install_folder/etc/collectd.conf

2. Set up Cores fielld in intel_rdt plugin section to TestData

3. Start collecd deamon:

 $ /install_folder/sbin/collectd

4. Verify that collectd is started with appropriate intel_rdt warning.

 TestData = [ "*df"; "1, *%"; "0.1"]

  • Error raises for all TestData and collectd start

4

Check new data are collected by intel_rdt with a defined interval

1. Start collectd deamon:

 $ /install_folder/sbin/collectd

2. Navigate to folder

 $ /lib/csv/intel_rdt-0 folder.

3. Open files with collected info

4. Verify that collected values were renewed and written every 10 second (default value).

  • Every 10 second new data writes into file

5

Verify user can change interval for writing data into file

1. Open collectd.conf file

 $ vim /install_folder/etc/collectd.conf

2. Configure intel_rdt:

  <LoadPlugin intel_rdt>
    Interval 1
  </LoadPlugin>

3. Start collectd daemon:

 $ /install_folder/sbin/collectd

4. Navigate to folder

 $ /lib/csv/intel_rdt-0 folder.

5. Open files with collected info

6. Verify that collected values were renewed and written every second.

  • Files in format "bytes-llc-YYYY-MM-DD" and "ips-YYYY-MM-DD" were created
  • Every second new data writes into file

6

Check if LoadPlugin section in collectd.conf is commented out, warning message appears

1. Open collectd.conf file:

 $ vim /install_folder/etc/collectd.conf

2. Configure intel_rdt: Comment out

 #LoadPlugin intel_rdt

3. Start collectd deamon:

 $ /install_folder/sbin/collectd

  • Warning message appears: "Loadplugin Found a configuration for the `intel_rdtmon ' plugin, but the plugin isn't loaded or didn't register a configuration callback."
  • Collectd has started.

7

Verify if Cores is empty in collectd.conf , error appears

1. Open collectd.conf file:

 $ vim /install_folder/etc/collectd.conf

2. Configure intel_rdt: leave Cores section blank

3. Start collectd deamon:

 $ /install_folder/sbin/collectd

  • Error raises "Reading the config file failed!"
  • Collectd was not started

8

Check if Cores keyword is changed, warning message appears

1. Open collecd.conf file: vim /install_folder/etc/collectd.conf

2. Configure intel_rdt : change Cores to "Core"

3. Start collecd deamon : /install_folder/sbin/collectd

  • Message appears : "intel_rdt: Unknown configuration parameter "Core"".
  • Collectd have started.

9

Verify if in intel_rdt section is present extra keyword with value, collectd and intel_rdt have started

1. Open collecd.conf file:

 $ vim /install_folder/etc/collectd.conf

2. Configure intel_rdt : add extra key - value: Interval 1

3. Start collecd deamon :

 $ /install_folder/sbin/collectd

  • Intel_rdt: Unknown configuration parameter "Interval".
  • Intel_rdt and collectd have started

10

Check if Core is used by another process (pqos), error message appears

1. Start pqos -m: 0 (pqos will monitored Core 0 for same parameters as intel_rdt).

2. Start collecd deamon : /install_folder/sbin/collectd

  • Error starting monitoring group 0 (pqos status=3)
  • Collectd have started.

SNMP Intel_rdt plugin tests

Test Environment details:

  • Bare Metal, U16.04

Tests precondition:

  • Installed PQoS/Intel(R) RDT library (libpqos).
  • Installed collectd and enabled csv plugin.
  • Enabled snmp oids for intel_rdt plugin.

Limitations:

  • The testing platform supported only rdtLlc, rdtIpc parameters testing. So, due to platform limitation only rdtLlc, rdtIpc have been verified.
  • These tests have not been executed rdtMbmRemote, rdtMbmLocal.

#

Description

Test steps

Expected result

1

Compare rdt information read by SNMP and write plugin for one core group

1. Start collectd (default group "0-2").

2. Read the following cache attributes on system via SNMP: rdtLlc, rdtIpc.

3. Verify retrieved values are equal to values written by csv plugin for one group.

  • RdtLlc and RdtIpc values retrieved by snmpwalk is equal to values written by csv plugin for one core group.

2

Compare rdt information read by SNMP and write plugin for multiple core groups

1. Enable monitoring all core groups in collectd and start collectd service. e.g.:Cores "0", "1", "2", "4-5".

2. Read the following cache attributes on system via SNMP: rdtLlc, rdtIpc.

3. Verify retrieved values are equal to values written by csv plugin for multiple groups.

  • RdtLlc and RdtIpc values retrieved by snmpwalk is equal to values written by csv plugin for multiple core groups.

3.

Compare rdt information read by SNMP and write plugin for all core groups

1. Enable monitoring all core groups in collectd and start collectd service. e.g.: Cores "0-87".

2. Make sure that the following rdt information can be retrieved by SNMP for all core groups: rdtGroupDescr, rdtLlc, rdtIpc.

3. Verify retrieved values are equal to values written by csv plugin for all core groups.

  • RdtLlc and RdtIpc values retrieved by snmpwalk is equal to values written by csv plugin for all core groups.

4

Verify that rdtLlc values are not reset to zero during continuous snmpwalk for 2 time intervals

  • Enable monitoring all core groups, decrease time interval in collectd to 4 seconds. Start collectd service.
  • Verify rdtLlc information can be retrieved by SNMP for all core groups for: rdtGroupDescr, rdtLlc, rdtIpc, rdtMbmRemote, rdtMbmLocal.
  • Verify retrieved values are equal to values written by csv plugin (rdtGroupDescr, rdtLlc, rdtIpc).
  • Values are retrieved for rdtGroupDescr, rdtLlc, rdtIpc, rdtMbmRemote, rdtMbmLocal by snmpwalk.
  • RdtLlc values retrieved by snmpwalk are not reset to zero and are equal to values written by csv plugin for all core groups for rdtGroupDescr, rdtLlc, rdtIpc.

5

Verify that float rdtIpc values are not rounded in SNMP

1. Enable monitoring two core groups in collectd and start collectd service.

2. Verify that rdtIpc information can be retrieved by SNMP for both core groups.

3. Verify retrieved values are not rounded to zero.

  • RdtIpc values retrieved by snmpwalk are not rounded to zero and are equal to values written by csv plugin.

See also

Clone this wiki locally