You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Instance Readiness Testing (IRT) is a framework built to orchestrate real-world workloads for testing of the Azure Operator Nexus Platform.
15
15
16
-
## Environment Requirements
16
+
## Environment requirements
17
17
18
-
1. A Linux environment (Ubuntu suggested) capable of calling Azure APIs
19
-
1. Knowledge of networks to use for the test
18
+
- A Linux environment (Ubuntu suggested) capable of calling Azure APIs
19
+
- Knowledge of networks to use for the test
20
20
* Networks to use for the test are specified in a "networks-blueprint.yml" file, see [Input Configuration](#input-configuration).
21
-
1. curl or wget to download IRT package
21
+
- curl or wget to download IRT package
22
22
23
23
## Before execution
24
24
25
-
1. From your Linux environment, download nexus-irt.tar.gz from aka.ms/nexus-irt `curl -Lo nexus-irt.tar.gz aka.ms/nexus-irt`
26
-
1. Extract the tarball to the local file system: `mkdir -p irt && tar xf nexus-irt.tar.gz --directory ./irt`
27
-
1. Switch to the new directory `cd irt`
28
-
1. The `setup.sh` script is provided to aid in the initial set up an environment.
25
+
1. From your Linux environment, download nexus-irt.tar.gz from aka.ms/nexus-irt `curl -Lo nexus-irt.tar.gz aka.ms/nexus-irt`.
26
+
1. Extract the tarball to the local file system: `mkdir -p irt && tar xf nexus-irt.tar.gz --directory ./irt`.
27
+
1. Switch to the new directory `cd irt`.
28
+
1. The `setup.sh` script is provided to aid in the initial set up of an environment.
29
29
*`setup.sh` assumes a nonroot user and attempts to use `sudo`, which installs:
30
30
1.`jq` version 1.6
31
31
1.`yq` version 4.33
@@ -34,33 +34,33 @@ Instance Readiness Testing (IRT) is a framework built to orchestrate real-world
34
34
1.`elinks` for viewing html files on the command line
35
35
1.`tree` for viewing directory structures
36
36
1.`moreutils` utilities for viewing progress from the ACI container
37
-
1.[Optional] Set up a storage account to archive test results over time. For help, see the [instructions](#uploading-results-to-your-own-archive)
38
-
1. Log into Azure, if not already logged in: `az login --use-device`
37
+
1.[Optional] Set up a storage account to archive test results over time. For help, see the [instructions](#uploading-results-to-your-own-archive).
38
+
1. Log into Azure, if not already logged in: `az login --use-device`.
39
39
* User should have `Contributor` role
40
40
1. Create an Azure Managed Identity for the container to use.
41
41
* Using the provided script: `MI_RESOURCE_GROUP="<your resource group> MI_NAME="<managed identity name>" SUBSCRIPTION="<subscription>" ./create-managed-identity.sh`
42
42
* Can be created manually via the Azure portal, refer to the script for needed permissions
43
43
1. Create a service principal and security group. The service principal is used as the executor of the test. The group informs the kubernetes cluster of valid users. The service principal must be a part of the security group, so it has the ability to log into the cluster.
44
-
* You can provide your own, or use our provided script, here's an example of how it could be executed; `AAD_GROUP_NAME=external-test-aad-group-8 SERVICE_PRINCIPAL_NAME=external-test-sp-8 ./irt/create-service-principal.sh`
44
+
* You can provide your own, or use our provided script, here's an example of how it could be executed; `AAD_GROUP_NAME=external-test-aad-group-8 SERVICE_PRINCIPAL_NAME=external-test-sp-8 ./irt/create-service-principal.sh`.
45
45
* This script prints four key/value pairs for you to include in your input file.
46
46
1. If necessary, create the isolation domains required to execute the tests. They aren't lifecycled as part of this test scenario.
47
-
***Note:**if deploying isolation domains, your network blueprint must define at least one external network per isolation domain. see `networks-blueprint.example.yml` for help with configuring your network blueprint.
47
+
***Note:**If deploying isolation domains, your network blueprint must define at least one external network per isolation domain. see `networks-blueprint.example.yml` for help with configuring your network blueprint.
48
48
*`create-l3-isolation-domains.sh` takes one parameter, a path to your networks blueprint file; here's an example of the script being invoked:
1. Build your input file. The IRT tarball provides `irt-input.example.yml` as an example. These values **will not work for all instances**, they need to be manually changed and the file also needs to be renamed to `irt-input.yml`
54
-
1. define the values of networks-blueprint input, an example of this file is given in networks-blueprint.example.yml
53
+
1. Build your input file. The IRT tarball provides `irt-input.example.yml` as an example. These values **will not work for all instances**, they need to be manually changed and the file also needs to be renamed to `irt-input.yml`.
54
+
1. define the values of networks-blueprint input, an example of this file is given in networks-blueprint.example.yml.
55
55
56
56
The network blueprint input schema for IRT is defined in the networks-blueprint.example.yml. Currently IRT has the following network requirements. The networks are created as part of the test, provide network details that aren't in use.
57
57
58
-
1. Three(3) L3 Networks
58
+
1. Three(3) L3 Networks
59
59
60
60
* Two of them with MTU 1500
61
-
*one of them with MTU 9000 and shouldn't have fabric_asn definition
61
+
*One of them with MTU 9000 and shouldn't have fabric_asn definition
62
62
63
-
1. One(1) Trunked Network
63
+
1. One(1) Trunked Network
64
64
1. All vlans should be greater than 500
65
65
66
66
## Execution
@@ -72,7 +72,7 @@ The network blueprint input schema for IRT is defined in the networks-blueprint.
72
72
73
73
1. A file named `summary-<cluster_name>-<timestamp>.html` is downloaded at the end of the run and contains the testing results. It can be viewed:
74
74
1. From any browser
75
-
1.using elinks or lynx to view from the command line; for example:
75
+
1.Using elinks or lynx to view from the command line; for example:
1. When an SAS Token is provided for the `PUBLISH_RESULTS_TO` parameter the results are uploaded to the blob container you specified. It can be previewed by navigating to the link presented to you at the end of the IRT run.
78
78
@@ -84,5 +84,5 @@ The network blueprint input schema for IRT is defined in the networks-blueprint.
84
84
1. SUBSCRIPTION
85
85
1. STORAGE_ACCOUNT_NAME
86
86
1. STORAGE_CONTAINER_NAME
87
-
1. Copy the last output from the script, into your IRT YAML input. The output looks like this;
87
+
1. Copy the last output from the script, into your IRT YAML input. The output looks like this:
0 commit comments