modules/python/clusterloader2/network-load/config/load-config.yaml (108 lines of code) (raw):

name: load-config # generic config {{$groupName := DefaultParam .CL2_GROUP_NAME "network-load"}} {{$operationTimeout := DefaultParam .CL2_OPERATION_TIMEOUT "15m"}} {{$apiServerCallsPerSecond := DefaultParam .CL2_API_SERVER_CALLS_PER_SECOND 100}} # repetition config {{$deploymentRecreationCount := DefaultParam .CL2_DEPLOYMENT_RECREATION_COUNT 1}} {{$roundsToCreateOrRecreate := AddInt 1 $deploymentRecreationCount}} # scale logistics {{$podStartupLatencyThreshold := DefaultParam .CL2_POD_STARTUP_LATENCY_THRESHOLD "3m"}} # topology config {{$nodes := DefaultParam .CL2_NODES 10}} {{$fortioServersPerNode := DefaultParam .CL2_FORTIO_SERVERS_PER_NODE 10}} {{$fortioClientsPerNode := DefaultParam .CL2_FORTIO_CLIENTS_PER_NODE 10}} {{$fortioClientQueriesPerSecond := DefaultParam .CL2_FORTIO_CLIENT_QUERIES_PER_SECOND 1000}} {{$fortioClientConnections := DefaultParam .CL2_FORTIO_CLIENT_CONNECTIONS 10}} {{$fortioNamespaces := DefaultParam .CL2_FORTIO_NAMESPACES 1}} {{$fortioDeploymentsPerNamespace := DefaultParam .CL2_FORTIO_DEPLOYMENTS_PER_NAMESPACE 1}} {{$fortioPodCPU := DefaultParam .CL2_FORTIO_POD_CPU 10}} {{$fortioPodMemory := DefaultParam .CL2_FORTIO_POD_MEMORY 50}} # be weary of integer division resulting in less pods than expected {{$fortioServerClientDeployments := MultiplyInt $fortioDeploymentsPerNamespace $fortioNamespaces}} {{$fortioServerReplicas := DivideInt (DivideInt (MultiplyInt $fortioServersPerNode $nodes) $fortioServerClientDeployments) $fortioNamespaces}} {{$fortioClientReplicas := DivideInt (DivideInt (MultiplyInt $fortioClientsPerNode $nodes) $fortioServerClientDeployments) $fortioNamespaces}} {{$totalServerPods := MultiplyInt $fortioClientReplicas $fortioNamespaces}} {{$totalClientPods := MultiplyInt $fortioClientReplicas $fortioNamespaces}} {{$totalDeployments := MultiplyInt 2 $fortioServerClientDeployments}} # other test toggles {{$applyFqdnCnp := DefaultParam .CL2_APPLY_FQDN_CNP true}} # prometheus config {{$ciliumMetricsEnabled := DefaultParam .CL2_CILIUM_METRICS_ENABLED false}} namespace: number: {{$fortioNamespaces}} prefix: network-load deleteAutomanagedNamespaces: false enableExistingNamespaces: false tuningSets: - name: Sequence parallelismLimitedLoad: parallelismLimit: 1 - name: DeploymentCreateQps qpsLoad: qps: {{$apiServerCallsPerSecond}} - name: DeploymentDeleteQps qpsLoad: qps: {{$apiServerCallsPerSecond}} steps: - name: Log - totalServerPods={{$totalServerPods}}, totalClientPods={{$totalClientPods}}, totalServices={{$fortioNamespaces}}, totalIdentities={{$totalDeployments}} measurements: - Identifier: Dummy Method: Sleep Params: action: start duration: 1ms - module: path: /modules/measurements.yaml params: action: start group: {{$groupName}} {{if $ciliumMetricsEnabled}} - module: path: /modules/cilium-measurements.yaml params: action: start {{end}} # create resources that won't change - module: path: /modules/services.yaml params: actionName: "Creating" namespaces: {{$fortioNamespaces}} {{if $applyFqdnCnp}} - module: path: /modules/ciliumnetworkpolicy.yaml params: actionName: "Creating" namespaces: {{$fortioNamespaces}} Group: {{$groupName}} cnpsPerNamespace: 1 {{end}} # deployment creation {{range $i := Loop $roundsToCreateOrRecreate}} - module: path: /modules/reconcile-objects.yaml params: actionName: "create" tuningSet: DeploymentCreateQps operationTimeout: {{$operationTimeout}} Group: {{$groupName}} namespaces: {{$fortioNamespaces}} fortioDeploymentsPerNamespace: {{$fortioDeploymentsPerNamespace}} fortioServerReplicas: {{$fortioServerReplicas}} fortioClientReplicas: {{$fortioClientReplicas}} fortioClientQueriesPerSecond: {{$fortioClientQueriesPerSecond}} fortioClientConnections: {{$fortioClientConnections}} CpuRequest: {{$fortioPodCPU}}m MemoryRequest: {{$fortioPodMemory}}M deploymentLabel: start # FIXME sleep intervals - name: Log - totalServerPods={{$totalServerPods}}, totalClientPods={{$totalClientPods}}, totalServices={{$fortioNamespaces}}, totalIdentities={{$totalDeployments}} measurements: - Identifier: Dummy Method: Sleep Params: action: start duration: 1m30s # - module: # path: /modules/reconcile-objects.yaml # params: # actionName: "delete" # tuningSet: DeploymentDeleteQps # operationTimeout: {{$operationTimeout}} # Group: {{$groupName}} # namespaces: {{$fortioNamespaces}} # fortioDeploymentsPerNamespace: {{$fortioDeploymentsPerNamespace}} # fortioServerReplicas: {{$fortioServerReplicas}} # fortioClientReplicas: {{$fortioClientReplicas}} # fortioClientQueriesPerSecond: {{$fortioClientQueriesPerSecond}} # fortioClientConnections: {{$fortioClientConnections}} # CpuRequest: {{$fortioPodCPU}}m # MemoryRequest: {{$fortioPodMemory}}M # deploymentLabel: start {{end}} {{if $ciliumMetricsEnabled}} - module: path: /modules/cilium-measurements.yaml params: action: gather {{end}} # FIXME: is this needed? - module: path: /modules/measurements.yaml params: action: gather group: {{$groupName}}