test/automated-robot-suite/Qemu
Felipe Desiglo Ferrare 1516b57d62 Fix pylint warnings hapening in the build process to make Zuul builds clean
Warnings Fixed:
W1514: Using open without explicitly specifying an encoding (unspecified-encoding)
E0702: Raising str while only classes or instances are allowed (raising-bad-type)

Story: 2005892
Task: 43821

Change-Id: I2083fa4f8d994480c79ff557c56cf2f29c56c19f
Signed-off-by: Felipe Desiglo Ferrare <Felipe.DesigloFerrare@windriver.com>
2021-10-29 18:34:41 +00:00
..
configs Update multinode_dedicated_storage.yaml 2020-04-03 14:21:30 +03:00
images [robot] Add configs and environment setup 2019-08-21 14:44:51 +00:00
README.md [robot] Add configs and environment setup 2019-08-21 14:44:51 +00:00
__init__.py [robot] Add configs and environment setup 2019-08-21 14:44:51 +00:00
compute.xml [robot] Add configs and environment setup 2019-08-21 14:44:51 +00:00
master_controller.xml [robot] Add configs and environment setup 2019-08-21 14:44:51 +00:00
nat-network.xml [robot] Add configs and environment setup 2019-08-21 14:44:51 +00:00
qemu_setup.py Fix pylint warnings hapening in the build process to make Zuul builds clean 2021-10-29 18:34:41 +00:00
qemu_setup.yaml [robot] Add configs and environment setup 2019-08-21 14:44:51 +00:00
slave_controller.xml [robot] Add configs and environment setup 2019-08-21 14:44:51 +00:00
storage.xml [robot] Add configs and environment setup 2019-08-21 14:44:51 +00:00

README.md

alt text

Table of Contents

qemu_setup.yml

The purpose of this configurations file is to setup easily QEMU in the host.

Description

YAML is a human-readable data serialization format that takes concepts from programming languages such as C, Perl, and Python, and ideas from XML and the data format of electronic mail. It is available for several programming languages.

Examples

1 controller + 2 computes

Please consider the following example to setup the following configuration:

1 controller + 2 computes

configuration_0:
  controller-0:
    controller_0_partition_a: 20
    controller_0_partition_b: 10
    controller_0_memory_size: 5120
    controller_0_system_cores: 2
  controller-0-compute-0:
    controller_0_compute_0_partition_a: 20
    controller_0_compute_0_partition_b: 20
    controller_0_compute_0_memory_size: 3072
    controller_0_compute_0_system_cores: 1
  controller-0-compute-1:
    controller_0_compute_1_partition_a: 20
    controller_0_compute_1_partition_b: 20
    controller_0_compute_1_memory_size: 3072
    controller_0_compute_1_system_cores: 1

parameters

@param: configuration_0: which contains the controller and the computes.

@param: controller-0: which contains the following:

  • @param: controller_0_partition_a: which is the controller 0 partition size A in GB.
  • @param: controller_0_partition_b: which is the controller 0 partition size B size in GB.
  • @param: controller_0_memory_size: which is the controller 0 memory size in MB.
  • @param: controller_0_system_cores: which is the controller 0 system cores to be assigned.

@param: controller-0-compute-0: which contains the following:

  • @param: controller_0_compute_0_partition_a: which is the controller's compute 0 partition size A in GB.
  • @param: controller_0_compute_0_partition_b: which is the controller's compute 0 partition size B in GB.
  • @param: controller_0_compute_0_memory_size: which is the controller's compute 0 memory size B in MB.
  • @param: controller_0_compute_0_system_cores: which is the controller's compute 0 system cores to be assigned.

@param: controller-0-compute-1: which contains the following:

  • @param: controller_0_compute_1_partition_a: which is the controller's compute 1 partition size A in GB.
  • @param: controller_0_compute_1_partition_b: which is the controller's compute 1 partition size B in GB.
  • @param: controller_0_compute_1_memory_size: which is the controller's compute 1 memory size B in MB.
  • @param: controller_0_compute_1_system_cores: which is the controller's compute 1 system cores to be assigned.

1 controller + 2 computes & 1 controller + 1 compute

Please consider the following example to setup the following configuration:

1 controller + 2 computes & 1 controller + 1 compute

configuration_0:
  controller-0:
    controller_0_partition_a: 20
    controller_0_partition_b: 10
    controller_0_memory_size: 5120
    controller_0_system_cores: 2
  controller-0-compute-0:
    controller_0_compute_0_partition_a: 20
    controller_0_compute_0_partition_b: 20
    controller_0_compute_0_memory_size: 3072
    controller_0_compute_0_system_cores: 1
  controller-0-compute-1:
    controller_0_compute_1_partition_a: 20
    controller_0_compute_1_partition_b: 20
    controller_0_compute_1_memory_size: 3072
    controller_0_compute_1_system_cores: 1
configuration_1:
  controller-1:
    controller_1_partition_a: 15
    controller_1_partition_b: 10
    controller_1_memory_size: 5120
    controller_1_system_cores: 2
  controller-1-compute-0:
    controller_1_compute_0_partition_a: 20
    controller_1_compute_0_partition_b: 20
    controller_1_compute_0_memory_size: 3072
    controller_1_compute_0_system_cores: 1

📓 the parameters description are the same that the section above.

Highlights

Please consider the following when creating the yaml configuration file:

  • The total sum of the partitions must not exceed of the total free disk space in the host.
  • The total sum of the memory size must not exceed of the total free memory size in the host.
  • The total sum of the system cores must not exceed of the total system cores subtracting the os_system_cores assigned in general_system_configurations section.

general_system_configurations section

The general_system_configurations will be explained below:

general_system_configurations:
  os_system_memory: 1024
  disk_space_allocated_to_os: 20
  os_system_cores: 2
  default_mount_point: '/'

@param: general_system_configurations: which contains the following:

  • @param: os_system_memory: which is the system memory reserved for the OS.
  • @param: disk_space_allocated_to_os: which is the disk space reserved for the OS.
  • @param: os_system_cores: which is the system cores reserved for the OS.
  • @param: default_mount_point: which is the mount point where the space in disk will be analyzed by the script.

📓 The first 3 params are used for system reservation and they are for the user's consideration in order to avoid that QEMU takes all the resources making slow the current system.