diff --git a/docs/api-reference/crds.md b/docs/api-reference/crds.md index a8ce1d8d0ad2827fe07e0eee0a60a0cd2c71c93c..a91e991609f5fe10e90793f34f2ad04c6c5576d0 100644 --- a/docs/api-reference/crds.md +++ b/docs/api-reference/crds.md @@ -257,6 +257,24 @@ The loadGenResourceSets specifies all Kubernetes resources required to start the </tr> </thead> <tbody><tr> + <td><b><a href="#benchmarkspecloadgeneratorafteractionsindex">afterActions</a></b></td> + <td>[]object</td> + <td> + Load generator after actions are executed after the teardown of the load generator.<br/> + <br/> + <i>Default</i>: []<br/> + </td> + <td>false</td> + </tr><tr> + <td><b><a href="#benchmarkspecloadgeneratorbeforeactionsindex">beforeActions</a></b></td> + <td>[]object</td> + <td> + Load generator before actions are executed before the load generator is started.<br/> + <br/> + <i>Default</i>: []<br/> + </td> + <td>false</td> + </tr><tr> <td><b><a href="#benchmarkspecloadgeneratorresourcesindex">resources</a></b></td> <td>[]object</td> <td> @@ -269,6 +287,272 @@ The loadGenResourceSets specifies all Kubernetes resources required to start the </table> +### benchmark.spec.loadGenerator.afterActions[index] +<sup><sup>[↩ Parent](#benchmarkspecloadgenerator)</sup></sup> + + + + + +<table> + <thead> + <tr> + <th>Name</th> + <th>Type</th> + <th>Description</th> + <th>Required</th> + </tr> + </thead> + <tbody><tr> + <td><b><a href="#benchmarkspecloadgeneratorafteractionsindexexec">exec</a></b></td> + <td>object</td> + <td> + Specifies command to be executed.<br/> + </td> + <td>false</td> + </tr><tr> + <td><b><a href="#benchmarkspecloadgeneratorafteractionsindexselector">selector</a></b></td> + <td>object</td> + <td> + The selector specifies which resource should be selected for the execution of the command.<br/> + </td> + <td>false</td> + </tr></tbody> +</table> + + +### benchmark.spec.loadGenerator.afterActions[index].exec +<sup><sup>[↩ Parent](#benchmarkspecloadgeneratorafteractionsindex)</sup></sup> + + + +Specifies command to be executed. + +<table> + <thead> + <tr> + <th>Name</th> + <th>Type</th> + <th>Description</th> + <th>Required</th> + </tr> + </thead> + <tbody><tr> + <td><b>command</b></td> + <td>[]string</td> + <td> + The command to be executed as string array.<br/> + </td> + <td>false</td> + </tr><tr> + <td><b>timeoutSeconds</b></td> + <td>integer</td> + <td> + Specifies the timeout (in seconds) for the specified command.<br/> + </td> + <td>false</td> + </tr></tbody> +</table> + + +### benchmark.spec.loadGenerator.afterActions[index].selector +<sup><sup>[↩ Parent](#benchmarkspecloadgeneratorafteractionsindex)</sup></sup> + + + +The selector specifies which resource should be selected for the execution of the command. + +<table> + <thead> + <tr> + <th>Name</th> + <th>Type</th> + <th>Description</th> + <th>Required</th> + </tr> + </thead> + <tbody><tr> + <td><b>container</b></td> + <td>string</td> + <td> + Specifies the container.<br/> + <br/> + <i>Default</i>: <br/> + </td> + <td>false</td> + </tr><tr> + <td><b><a href="#benchmarkspecloadgeneratorafteractionsindexselectorpod">pod</a></b></td> + <td>object</td> + <td> + Specifies the pod.<br/> + </td> + <td>false</td> + </tr></tbody> +</table> + + +### benchmark.spec.loadGenerator.afterActions[index].selector.pod +<sup><sup>[↩ Parent](#benchmarkspecloadgeneratorafteractionsindexselector)</sup></sup> + + + +Specifies the pod. + +<table> + <thead> + <tr> + <th>Name</th> + <th>Type</th> + <th>Description</th> + <th>Required</th> + </tr> + </thead> + <tbody><tr> + <td><b>matchLabels</b></td> + <td>map[string]string</td> + <td> + The matchLabels of the desired pod.<br/> + <br/> + <i>Default</i>: map[]<br/> + </td> + <td>false</td> + </tr></tbody> +</table> + + +### benchmark.spec.loadGenerator.beforeActions[index] +<sup><sup>[↩ Parent](#benchmarkspecloadgenerator)</sup></sup> + + + + + +<table> + <thead> + <tr> + <th>Name</th> + <th>Type</th> + <th>Description</th> + <th>Required</th> + </tr> + </thead> + <tbody><tr> + <td><b><a href="#benchmarkspecloadgeneratorbeforeactionsindexexec">exec</a></b></td> + <td>object</td> + <td> + Specifies command to be executed.<br/> + </td> + <td>false</td> + </tr><tr> + <td><b><a href="#benchmarkspecloadgeneratorbeforeactionsindexselector">selector</a></b></td> + <td>object</td> + <td> + The selector specifies which resource should be selected for the execution of the command.<br/> + </td> + <td>false</td> + </tr></tbody> +</table> + + +### benchmark.spec.loadGenerator.beforeActions[index].exec +<sup><sup>[↩ Parent](#benchmarkspecloadgeneratorbeforeactionsindex)</sup></sup> + + + +Specifies command to be executed. + +<table> + <thead> + <tr> + <th>Name</th> + <th>Type</th> + <th>Description</th> + <th>Required</th> + </tr> + </thead> + <tbody><tr> + <td><b>command</b></td> + <td>[]string</td> + <td> + The command to be executed as string array.<br/> + </td> + <td>false</td> + </tr><tr> + <td><b>timeoutSeconds</b></td> + <td>integer</td> + <td> + Specifies the timeout (in seconds) for the specified command.<br/> + </td> + <td>false</td> + </tr></tbody> +</table> + + +### benchmark.spec.loadGenerator.beforeActions[index].selector +<sup><sup>[↩ Parent](#benchmarkspecloadgeneratorbeforeactionsindex)</sup></sup> + + + +The selector specifies which resource should be selected for the execution of the command. + +<table> + <thead> + <tr> + <th>Name</th> + <th>Type</th> + <th>Description</th> + <th>Required</th> + </tr> + </thead> + <tbody><tr> + <td><b>container</b></td> + <td>string</td> + <td> + Specifies the container.<br/> + <br/> + <i>Default</i>: <br/> + </td> + <td>false</td> + </tr><tr> + <td><b><a href="#benchmarkspecloadgeneratorbeforeactionsindexselectorpod">pod</a></b></td> + <td>object</td> + <td> + Specifies the pod.<br/> + </td> + <td>false</td> + </tr></tbody> +</table> + + +### benchmark.spec.loadGenerator.beforeActions[index].selector.pod +<sup><sup>[↩ Parent](#benchmarkspecloadgeneratorbeforeactionsindexselector)</sup></sup> + + + +Specifies the pod. + +<table> + <thead> + <tr> + <th>Name</th> + <th>Type</th> + <th>Description</th> + <th>Required</th> + </tr> + </thead> + <tbody><tr> + <td><b>matchLabels</b></td> + <td>map[string]string</td> + <td> + The matchLabels of the desired pod.<br/> + <br/> + <i>Default</i>: map[]<br/> + </td> + <td>false</td> + </tr></tbody> +</table> + + ### benchmark.spec.loadGenerator.resources[index] <sup><sup>[↩ Parent](#benchmarkspecloadgenerator)</sup></sup> @@ -550,6 +834,24 @@ The appResourceSets specifies all Kubernetes resources required to start the sut </tr> </thead> <tbody><tr> + <td><b><a href="#benchmarkspecsutafteractionsindex">afterActions</a></b></td> + <td>[]object</td> + <td> + <br/> + <br/> + <i>Default</i>: []<br/> + </td> + <td>false</td> + </tr><tr> + <td><b><a href="#benchmarkspecsutbeforeactionsindex">beforeActions</a></b></td> + <td>[]object</td> + <td> + SUT before actions are executed before the SUT is started.<br/> + <br/> + <i>Default</i>: []<br/> + </td> + <td>false</td> + </tr><tr> <td><b><a href="#benchmarkspecsutresourcesindex">resources</a></b></td> <td>[]object</td> <td> @@ -562,7 +864,7 @@ The appResourceSets specifies all Kubernetes resources required to start the sut </table> -### benchmark.spec.sut.resources[index] +### benchmark.spec.sut.afterActions[index] <sup><sup>[↩ Parent](#benchmarkspecsut)</sup></sup> @@ -579,29 +881,29 @@ The appResourceSets specifies all Kubernetes resources required to start the sut </tr> </thead> <tbody><tr> - <td><b><a href="#benchmarkspecsutresourcesindexconfigmap">configMap</a></b></td> + <td><b><a href="#benchmarkspecsutafteractionsindexexec">exec</a></b></td> <td>object</td> <td> - The configMap resourceSet loads the Kubernetes manifests from an Kubernetes configMap.<br/> + Specifies command to be executed.<br/> </td> <td>false</td> </tr><tr> - <td><b><a href="#benchmarkspecsutresourcesindexfilesystem">fileSystem</a></b></td> + <td><b><a href="#benchmarkspecsutafteractionsindexselector">selector</a></b></td> <td>object</td> <td> - The fileSystem resourceSet loads the Kubernetes manifests from the filesystem.<br/> + The selector specifies which resource should be selected for the execution of the command.<br/> </td> <td>false</td> </tr></tbody> </table> -### benchmark.spec.sut.resources[index].configMap -<sup><sup>[↩ Parent](#benchmarkspecsutresourcesindex)</sup></sup> +### benchmark.spec.sut.afterActions[index].exec +<sup><sup>[↩ Parent](#benchmarkspecsutafteractionsindex)</sup></sup> -The configMap resourceSet loads the Kubernetes manifests from an Kubernetes configMap. +Specifies command to be executed. <table> <thead> @@ -613,7 +915,273 @@ The configMap resourceSet loads the Kubernetes manifests from an Kubernetes conf </tr> </thead> <tbody><tr> - <td><b>files</b></td> + <td><b>command</b></td> + <td>[]string</td> + <td> + The command to be executed as string array.<br/> + </td> + <td>false</td> + </tr><tr> + <td><b>timeoutSeconds</b></td> + <td>integer</td> + <td> + Specifies the timeout (in seconds) for the specified command.<br/> + </td> + <td>false</td> + </tr></tbody> +</table> + + +### benchmark.spec.sut.afterActions[index].selector +<sup><sup>[↩ Parent](#benchmarkspecsutafteractionsindex)</sup></sup> + + + +The selector specifies which resource should be selected for the execution of the command. + +<table> + <thead> + <tr> + <th>Name</th> + <th>Type</th> + <th>Description</th> + <th>Required</th> + </tr> + </thead> + <tbody><tr> + <td><b>container</b></td> + <td>string</td> + <td> + Specifies the container.<br/> + <br/> + <i>Default</i>: <br/> + </td> + <td>false</td> + </tr><tr> + <td><b><a href="#benchmarkspecsutafteractionsindexselectorpod">pod</a></b></td> + <td>object</td> + <td> + Specifies the pod.<br/> + </td> + <td>false</td> + </tr></tbody> +</table> + + +### benchmark.spec.sut.afterActions[index].selector.pod +<sup><sup>[↩ Parent](#benchmarkspecsutafteractionsindexselector)</sup></sup> + + + +Specifies the pod. + +<table> + <thead> + <tr> + <th>Name</th> + <th>Type</th> + <th>Description</th> + <th>Required</th> + </tr> + </thead> + <tbody><tr> + <td><b>matchLabels</b></td> + <td>map[string]string</td> + <td> + The matchLabels of the desired pod.<br/> + <br/> + <i>Default</i>: map[]<br/> + </td> + <td>false</td> + </tr></tbody> +</table> + + +### benchmark.spec.sut.beforeActions[index] +<sup><sup>[↩ Parent](#benchmarkspecsut)</sup></sup> + + + + + +<table> + <thead> + <tr> + <th>Name</th> + <th>Type</th> + <th>Description</th> + <th>Required</th> + </tr> + </thead> + <tbody><tr> + <td><b><a href="#benchmarkspecsutbeforeactionsindexexec">exec</a></b></td> + <td>object</td> + <td> + Specifies command to be executed.<br/> + </td> + <td>false</td> + </tr><tr> + <td><b><a href="#benchmarkspecsutbeforeactionsindexselector">selector</a></b></td> + <td>object</td> + <td> + The selector specifies which resource should be selected for the execution of the command.<br/> + </td> + <td>false</td> + </tr></tbody> +</table> + + +### benchmark.spec.sut.beforeActions[index].exec +<sup><sup>[↩ Parent](#benchmarkspecsutbeforeactionsindex)</sup></sup> + + + +Specifies command to be executed. + +<table> + <thead> + <tr> + <th>Name</th> + <th>Type</th> + <th>Description</th> + <th>Required</th> + </tr> + </thead> + <tbody><tr> + <td><b>command</b></td> + <td>[]string</td> + <td> + The command to be executed as string array.<br/> + </td> + <td>false</td> + </tr><tr> + <td><b>timeoutSeconds</b></td> + <td>integer</td> + <td> + Specifies the timeout (in seconds) for the specified command.<br/> + </td> + <td>false</td> + </tr></tbody> +</table> + + +### benchmark.spec.sut.beforeActions[index].selector +<sup><sup>[↩ Parent](#benchmarkspecsutbeforeactionsindex)</sup></sup> + + + +The selector specifies which resource should be selected for the execution of the command. + +<table> + <thead> + <tr> + <th>Name</th> + <th>Type</th> + <th>Description</th> + <th>Required</th> + </tr> + </thead> + <tbody><tr> + <td><b>container</b></td> + <td>string</td> + <td> + Specifies the container.<br/> + <br/> + <i>Default</i>: <br/> + </td> + <td>false</td> + </tr><tr> + <td><b><a href="#benchmarkspecsutbeforeactionsindexselectorpod">pod</a></b></td> + <td>object</td> + <td> + Specifies the pod.<br/> + </td> + <td>false</td> + </tr></tbody> +</table> + + +### benchmark.spec.sut.beforeActions[index].selector.pod +<sup><sup>[↩ Parent](#benchmarkspecsutbeforeactionsindexselector)</sup></sup> + + + +Specifies the pod. + +<table> + <thead> + <tr> + <th>Name</th> + <th>Type</th> + <th>Description</th> + <th>Required</th> + </tr> + </thead> + <tbody><tr> + <td><b>matchLabels</b></td> + <td>map[string]string</td> + <td> + The matchLabels of the desired pod.<br/> + <br/> + <i>Default</i>: map[]<br/> + </td> + <td>false</td> + </tr></tbody> +</table> + + +### benchmark.spec.sut.resources[index] +<sup><sup>[↩ Parent](#benchmarkspecsut)</sup></sup> + + + + + +<table> + <thead> + <tr> + <th>Name</th> + <th>Type</th> + <th>Description</th> + <th>Required</th> + </tr> + </thead> + <tbody><tr> + <td><b><a href="#benchmarkspecsutresourcesindexconfigmap">configMap</a></b></td> + <td>object</td> + <td> + The configMap resourceSet loads the Kubernetes manifests from an Kubernetes configMap.<br/> + </td> + <td>false</td> + </tr><tr> + <td><b><a href="#benchmarkspecsutresourcesindexfilesystem">fileSystem</a></b></td> + <td>object</td> + <td> + The fileSystem resourceSet loads the Kubernetes manifests from the filesystem.<br/> + </td> + <td>false</td> + </tr></tbody> +</table> + + +### benchmark.spec.sut.resources[index].configMap +<sup><sup>[↩ Parent](#benchmarkspecsutresourcesindex)</sup></sup> + + + +The configMap resourceSet loads the Kubernetes manifests from an Kubernetes configMap. + +<table> + <thead> + <tr> + <th>Name</th> + <th>Type</th> + <th>Description</th> + <th>Required</th> + </tr> + </thead> + <tbody><tr> + <td><b>files</b></td> <td>[]string</td> <td> (Optional) Specifies which files from the configMap should be loaded. If this field is not set, all files are loaded.<br/> @@ -681,6 +1249,24 @@ The fileSystem resourceSet loads the Kubernetes manifests from the filesystem. </tr> </thead> <tbody><tr> + <td><b><a href="#benchmarkspecinfrastructureafteractionsindex">afterActions</a></b></td> + <td>[]object</td> + <td> + Infrastructure after actions are executed after the teardown of the infrastructure.<br/> + <br/> + <i>Default</i>: []<br/> + </td> + <td>false</td> + </tr><tr> + <td><b><a href="#benchmarkspecinfrastructurebeforeactionsindex">beforeActions</a></b></td> + <td>[]object</td> + <td> + Infrastructure before actions are executed before the infrastructure is set up.<br/> + <br/> + <i>Default</i>: []<br/> + </td> + <td>false</td> + </tr><tr> <td><b><a href="#benchmarkspecinfrastructureresourcesindex">resources</a></b></td> <td>[]object</td> <td> @@ -693,6 +1279,272 @@ The fileSystem resourceSet loads the Kubernetes manifests from the filesystem. </table> +### benchmark.spec.infrastructure.afterActions[index] +<sup><sup>[↩ Parent](#benchmarkspecinfrastructure)</sup></sup> + + + + + +<table> + <thead> + <tr> + <th>Name</th> + <th>Type</th> + <th>Description</th> + <th>Required</th> + </tr> + </thead> + <tbody><tr> + <td><b><a href="#benchmarkspecinfrastructureafteractionsindexexec">exec</a></b></td> + <td>object</td> + <td> + Specifies command to be executed.<br/> + </td> + <td>false</td> + </tr><tr> + <td><b><a href="#benchmarkspecinfrastructureafteractionsindexselector">selector</a></b></td> + <td>object</td> + <td> + The selector specifies which resource should be selected for the execution of the command.<br/> + </td> + <td>false</td> + </tr></tbody> +</table> + + +### benchmark.spec.infrastructure.afterActions[index].exec +<sup><sup>[↩ Parent](#benchmarkspecinfrastructureafteractionsindex)</sup></sup> + + + +Specifies command to be executed. + +<table> + <thead> + <tr> + <th>Name</th> + <th>Type</th> + <th>Description</th> + <th>Required</th> + </tr> + </thead> + <tbody><tr> + <td><b>command</b></td> + <td>[]string</td> + <td> + The command to be executed as string array.<br/> + </td> + <td>false</td> + </tr><tr> + <td><b>timeoutSeconds</b></td> + <td>integer</td> + <td> + Specifies the timeout (in seconds) for the specified command.<br/> + </td> + <td>false</td> + </tr></tbody> +</table> + + +### benchmark.spec.infrastructure.afterActions[index].selector +<sup><sup>[↩ Parent](#benchmarkspecinfrastructureafteractionsindex)</sup></sup> + + + +The selector specifies which resource should be selected for the execution of the command. + +<table> + <thead> + <tr> + <th>Name</th> + <th>Type</th> + <th>Description</th> + <th>Required</th> + </tr> + </thead> + <tbody><tr> + <td><b>container</b></td> + <td>string</td> + <td> + Specifies the container.<br/> + <br/> + <i>Default</i>: <br/> + </td> + <td>false</td> + </tr><tr> + <td><b><a href="#benchmarkspecinfrastructureafteractionsindexselectorpod">pod</a></b></td> + <td>object</td> + <td> + Specifies the pod.<br/> + </td> + <td>false</td> + </tr></tbody> +</table> + + +### benchmark.spec.infrastructure.afterActions[index].selector.pod +<sup><sup>[↩ Parent](#benchmarkspecinfrastructureafteractionsindexselector)</sup></sup> + + + +Specifies the pod. + +<table> + <thead> + <tr> + <th>Name</th> + <th>Type</th> + <th>Description</th> + <th>Required</th> + </tr> + </thead> + <tbody><tr> + <td><b>matchLabels</b></td> + <td>map[string]string</td> + <td> + The matchLabels of the desired pod.<br/> + <br/> + <i>Default</i>: map[]<br/> + </td> + <td>false</td> + </tr></tbody> +</table> + + +### benchmark.spec.infrastructure.beforeActions[index] +<sup><sup>[↩ Parent](#benchmarkspecinfrastructure)</sup></sup> + + + + + +<table> + <thead> + <tr> + <th>Name</th> + <th>Type</th> + <th>Description</th> + <th>Required</th> + </tr> + </thead> + <tbody><tr> + <td><b><a href="#benchmarkspecinfrastructurebeforeactionsindexexec">exec</a></b></td> + <td>object</td> + <td> + Specifies command to be executed.<br/> + </td> + <td>false</td> + </tr><tr> + <td><b><a href="#benchmarkspecinfrastructurebeforeactionsindexselector">selector</a></b></td> + <td>object</td> + <td> + The selector specifies which resource should be selected for the execution of the command.<br/> + </td> + <td>false</td> + </tr></tbody> +</table> + + +### benchmark.spec.infrastructure.beforeActions[index].exec +<sup><sup>[↩ Parent](#benchmarkspecinfrastructurebeforeactionsindex)</sup></sup> + + + +Specifies command to be executed. + +<table> + <thead> + <tr> + <th>Name</th> + <th>Type</th> + <th>Description</th> + <th>Required</th> + </tr> + </thead> + <tbody><tr> + <td><b>command</b></td> + <td>[]string</td> + <td> + The command to be executed as string array.<br/> + </td> + <td>false</td> + </tr><tr> + <td><b>timeoutSeconds</b></td> + <td>integer</td> + <td> + Specifies the timeout (in seconds) for the specified command.<br/> + </td> + <td>false</td> + </tr></tbody> +</table> + + +### benchmark.spec.infrastructure.beforeActions[index].selector +<sup><sup>[↩ Parent](#benchmarkspecinfrastructurebeforeactionsindex)</sup></sup> + + + +The selector specifies which resource should be selected for the execution of the command. + +<table> + <thead> + <tr> + <th>Name</th> + <th>Type</th> + <th>Description</th> + <th>Required</th> + </tr> + </thead> + <tbody><tr> + <td><b>container</b></td> + <td>string</td> + <td> + Specifies the container.<br/> + <br/> + <i>Default</i>: <br/> + </td> + <td>false</td> + </tr><tr> + <td><b><a href="#benchmarkspecinfrastructurebeforeactionsindexselectorpod">pod</a></b></td> + <td>object</td> + <td> + Specifies the pod.<br/> + </td> + <td>false</td> + </tr></tbody> +</table> + + +### benchmark.spec.infrastructure.beforeActions[index].selector.pod +<sup><sup>[↩ Parent](#benchmarkspecinfrastructurebeforeactionsindexselector)</sup></sup> + + + +Specifies the pod. + +<table> + <thead> + <tr> + <th>Name</th> + <th>Type</th> + <th>Description</th> + <th>Required</th> + </tr> + </thead> + <tbody><tr> + <td><b>matchLabels</b></td> + <td>map[string]string</td> + <td> + The matchLabels of the desired pod.<br/> + <br/> + <i>Default</i>: map[]<br/> + </td> + <td>false</td> + </tr></tbody> +</table> + + ### benchmark.spec.infrastructure.resources[index] <sup><sup>[↩ Parent](#benchmarkspecinfrastructure)</sup></sup> diff --git a/theodolite/crd/crd-benchmark.yaml b/theodolite/crd/crd-benchmark.yaml index e3d7f8a97abdc046a7dca297aa3777bfa48e5e53..cd9c9f1e07c38a8727bcd23939319c0955e07645 100644 --- a/theodolite/crd/crd-benchmark.yaml +++ b/theodolite/crd/crd-benchmark.yaml @@ -67,58 +67,76 @@ spec: beforeActions: type: array default: [] + description: Infrastructure before actions are executed before the infrastructure is set up. items: type: object properties: selector: type: object + description: The selector specifies which resource should be selected for the execution of the command. properties: pod: type: object + description: Specifies the pod. properties: matchLabels: type: object + description: The matchLabels of the desired pod. additionalProperties: true x-kubernetes-map-type: "granular" default: { } container: + description: Specifies the container. + default: "" type: string exec: type: object + description: Specifies command to be executed. properties: command: type: array + description: The command to be executed as string array. items: type: string timeoutSeconds: + description: Specifies the timeout (in seconds) for the specified command. type: integer afterActions: type: array default: [] + description: Infrastructure after actions are executed after the teardown of the infrastructure. items: type: object properties: selector: type: object + description: The selector specifies which resource should be selected for the execution of the command. properties: pod: type: object + description: Specifies the pod. properties: matchLabels: type: object + description: The matchLabels of the desired pod. additionalProperties: true x-kubernetes-map-type: "granular" default: { } container: + description: Specifies the container. + default: "" type: string exec: type: object + description: Specifies command to be executed. properties: command: type: array + description: The command to be executed as string array. items: type: string timeoutSeconds: + description: Specifies the timeout (in seconds) for the specified command. type: integer sut: description: The appResourceSets specifies all Kubernetes resources required to start the sut. A resourceSet can be either a configMap resourceSet or a fileSystem resourceSet. @@ -160,30 +178,39 @@ spec: beforeActions: type: array default: [] + description: SUT before actions are executed before the SUT is started. items: type: object properties: selector: type: object + description: The selector specifies which resource should be selected for the execution of the command. properties: pod: type: object + description: Specifies the pod. properties: matchLabels: type: object + description: The matchLabels of the desired pod. additionalProperties: true x-kubernetes-map-type: "granular" default: { } container: + description: Specifies the container. + default: "" type: string exec: type: object + description: Specifies command to be executed. properties: command: type: array + description: The command to be executed as string array. items: type: string timeoutSeconds: + description: Specifies the timeout (in seconds) for the specified command. type: integer afterActions: type: array @@ -193,25 +220,33 @@ spec: properties: selector: type: object + description: The selector specifies which resource should be selected for the execution of the command. properties: pod: type: object + description: Specifies the pod. properties: matchLabels: type: object + description: The matchLabels of the desired pod. additionalProperties: true x-kubernetes-map-type: "granular" default: { } container: + description: Specifies the container. + default: "" type: string exec: type: object + description: Specifies command to be executed. properties: command: type: array + description: The command to be executed as string array. items: type: string timeoutSeconds: + description: Specifies the timeout (in seconds) for the specified command. type: integer loadGenerator: description: The loadGenResourceSets specifies all Kubernetes resources required to start the load generator. A resourceSet can be either a configMap resourceSet or a fileSystem resourceSet. @@ -253,58 +288,76 @@ spec: beforeActions: type: array default: [ ] + description: Load generator before actions are executed before the load generator is started. items: type: object properties: selector: type: object + description: The selector specifies which resource should be selected for the execution of the command. properties: pod: type: object + description: Specifies the pod. properties: matchLabels: type: object + description: The matchLabels of the desired pod. additionalProperties: true x-kubernetes-map-type: "granular" default: { } container: + description: Specifies the container. + default: "" type: string exec: type: object + description: Specifies command to be executed. properties: command: type: array + description: The command to be executed as string array. items: type: string timeoutSeconds: + description: Specifies the timeout (in seconds) for the specified command. type: integer afterActions: type: array default: [] + description: Load generator after actions are executed after the teardown of the load generator. items: type: object properties: selector: type: object + description: The selector specifies which resource should be selected for the execution of the command. properties: pod: type: object + description: Specifies the pod. properties: matchLabels: type: object + description: The matchLabels of the desired pod. additionalProperties: true x-kubernetes-map-type: "granular" default: { } container: + description: Specifies the container. + default: "" type: string exec: type: object + description: Specifies command to be executed. properties: command: type: array + description: The command to be executed as string array. items: type: string timeoutSeconds: + description: Specifies the timeout (in seconds) for the specified command. type: integer resourceTypes: description: A list of resource types that can be scaled for this `benchmark` resource. For each resource type the concrete values are defined in the `execution` object. diff --git a/theodolite/src/main/kotlin/theodolite/benchmark/KubernetesBenchmark.kt b/theodolite/src/main/kotlin/theodolite/benchmark/KubernetesBenchmark.kt index 67d0c80756e65db5a92415990ec19bc6e6a7a207..2514c32158f07f822b34697cb7c4810848bfd27b 100644 --- a/theodolite/src/main/kotlin/theodolite/benchmark/KubernetesBenchmark.kt +++ b/theodolite/src/main/kotlin/theodolite/benchmark/KubernetesBenchmark.kt @@ -67,12 +67,12 @@ class KubernetesBenchmark : KubernetesResource, Benchmark { } override fun teardownInfrastructure() { - this.infrastructure.afterActions.forEach { it.exec(client = client) } val kubernetesManager = K8sManager(this.client) loadKubernetesResources(this.infrastructure.resources) .map{it.second} .forEach { kubernetesManager.remove(it) } - } + this.infrastructure.afterActions.forEach { it.exec(client = client) } + } /** * Builds a deployment.