[qemu_logo]: ./images/qemu_logo.png ![alt text][qemu_logo] Table of Contents - [qemu_setup.yml](#qemu_setupyml) - [Description](#description) - [Examples](#examples) - [1 controller + 2 compute](#1-controller--2-computes) - [parameters](#parameters) - [1 controller + 2 computes & 1 controller + 1 compute](#1-controller--2-computes--1-controller--1-compute) - [Highlights](#highlights) - [general_system_configurations section](#general_system_configurations-section) # 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` ```yaml 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` ```yaml 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 ``` :notebook: the parameters description are the same that the [section above](#parameters). ## 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: ```yaml 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. :notebook: 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.