2.8 KiB
Browbeat-Crucible Network Workload
Introduction
This document provides instructions for running the Browbeat-Crucible Network workload, which is designed to test network performance using Crucible remotehost endpoint.
Prerequisites
Before running the workload, ensure the following prerequisites are met:
Crucible Controller Setup: Set up a Crucible controller on a bare metal host by following the instructions provided in the repository: crucible. This involves cloning the repository and executing the installation script which is a zero touch installation.
Masquerade Rule Configuration: Enable masquerade rule on the host using the following commands:
sudo sysctl -w net.ipv4.ip_forward=1
sudo iptables -t nat -A POSTROUTING -o $(sudo ip r | grep default | awk '{print $5}') -j MASQUERADE
Paramiko Installation: Install Paramiko version 3.2.0 within the Rally virtual environment. Incorrect Paramiko versions may lead to SSH issues with VMs. Activate the virtual environment and install Paramiko as follows:
cd browbeat
source .rally-venv/bin/activate
pip3 uninstall paramiko
pip3 install paramiko==3.2.0
deactivate
Image Setup: Download a RHEL qcow2 image and upload it to Glance. Ensure necessary rhel repos are copied to the directory
/home/stack/crucible_repos
.
Running the Workload
Follow these steps to run the Browbeat-Crucible Network workload:
Edit
browbeat-config.yaml
to enable the Network workload and configure parameters according to your requirements. Adjust the parameters under theNetwork
section, such asnum_provider_networks
,cidr_prefix
,server_client_pairs_per_network
,hostname_or_ip
,user
,password
,crucible_repo_dir_path
, andext_iface
.If you have a custom traffic profile, copy it to the directory
~/browbeat/rally/rally-plugins/workloads/crucible
asmv_params.json
.Execute the workload
./browbeat.py rally
Parameters
- num_provider_networks: Number of provider networks to be created for VM attachment.
- cidr_prefix: CIDR prefix used for the provider networks.
- server_client_pairs_per_network: Number of server and client pairs created per network.
- hostname_or_ip: Crucible controller hostname or IP address.
- user: Username for Crucible controller (root required).
- password: Root password for Crucible controller.
- crucible_repo_dir_path: Path to the directory
containing
.repo
files specific to the image. - ext_iface: External interface of Crucible controller with connectivity to provider networks.
Adjust these parameters according to your specific requirements.