Working with Rancher: Release Validation Pipelines - rancher/shepherd GitHub Wiki
Release Validation Pipelines are pipelines that include multiple stages to set the environment, do some necessary preparation steps before running the test runs, and run standalone tests in a designed flow.
Going forward, doing some necessary preparation steps before running the test runs or setups is going to be called "Pipeline Packages" as their job is purely to handle flow between different pipeline stages.
This section explains pipeline packages that are used in multiple-release validation pipelines. Pipeline packages for Rancher Release Validation Pipelines can be found here.
This pipeline package is responsible for creating Rancher HA with the Corral. The environment flag called InstallRancher
affects the behavior of the package.
When InstallRancher
environment flag is not provided:
- Install the given Rancher HA Corral Package from the configuration
- Create admin token for the Rancher HA Instance
- Update the configuration file to store the admin token
- Run the HA Post Install
When InstallRancher
environment flag is not provided:
- Skips Rancher Installation
More information can be found in this directory.
HA Install Configuration
corralConfigs:
corralConfigVars:
agent_count: 0 #Integer
aws_access_key: "" #String
aws_ami: "" #String
aws_hostname_prefix: "" #String
aws_region: "" #String
aws_route53_zone: "" #String
aws_secret_key: "" #String
aws_security_group: "" #String
aws_ssh_user: "" #String
aws_subnet: "" #String
aws_volume_size: 0 #Integer
aws_volume_type: "" #String
aws_vpc: "" #String
corral_name: "" #String
kubernetes_version: "vMyVersion" #String, with prefix v
rancher_version: "myVersion" #String, without prefix
server_count: 0 #Integer
instance_type: "" #String
#Above is only for rancher AWS HA Corral Package.
#For other packages such as Airgap or Private Registry; you might need to add or remove new corral config variables
corralSSHPath: "myPEMKeyPath" #String
corralPackages:
corralPackageImages:
rancherha: "myPathToCorralRancherHAPackage" #String
corralRancherHA:
name: "rancherha" #String, needs to match with the above package name
This pipeline package is usually used after an HA Rancher instance creation. This package is designed to be used after the Legacy Python HA Creation.
- Create an admin token
- Create a temporary configuration file to instantiate a Shepherd client
- Generate a kubeconfig with the client
- Generate a groovy file to store the base64 value of kubeconfig and token
After the last step, this groovy file that stores base64 kubeconfig and admin token can be copied to the Jenkins layer to be used. More information can be found in this directory.
This pipeline package is usually used to clean up the downstream clusters and indirectly the clusters' resources with them.
- Create an admin token
- Create a temporary configuration file to instantiate a Shepherd client
- Loop through the clusters list; delete the downstream clusters and wait for its
Deleted
watch event
More information can be found in this directory.
Similar to Downstream Cleanup, this pipeline package is usually used to clean up the downstream clusters and Corral Packages. With this pipeline package, including the Rancher HA, all Corral Packages can be deleted.
- Loop through the clusters list; deletes the downstream clusters and waits for its
Deleted
watch event - Delete all Corral Packages
More information can be found in this directory.
This pipeline package is responsible for generating different configuration files depending on the given cluster matrix. It's usually used when the outputs for the downstream clusters varies and the user needs more flexible downstream creations.
- Map HA-related fields as this can be used with both HA Post Install and HA Install packages
- Update original configuration file to have hard-coded go test regexes, and to have an environment flag called
UpdateClusterName
- Loop through different cluster types and generates a new configuration file; to match given i.e. images, ssh user, kubernetes versions
- Populate each configuration file in a created directory called
cattle-configs
.
Notes:
- An environment flag called
UpdateClusterName
updates the test configuration's YAML cluster name field, in all provisioning tests, after the cluster creation steps. - Provider names and different user types, particularly for all provisioning tests, are hardcoded in their corresponding test case regexp while generating the configuration files.
More information can be found in this directory.
Release Upgrade Configuration
clusters:
rke1:
nodeProvider:
- provider: "" # Name of the provider
kubernetesVersion: "vMYVERSION" # String with prefix v, as UI shows
kubernetesVersionToUpgrade: "vMYVERSION" # String with prefix v, as UI shows
image: "" # String
sshUser: "" # String
cni: ["calico"] # Slice of strings, options can be found in provisioning configuration
enabledFeatures:
chart: false # Boolean, pre/post upgrade checks, default is false
ingress: false # Boolean, pre/post upgrade checks, default is false
tags: "" #String, tagged tests that are going to run against this cluster
#This is a slice of structs, elements are expandable
custom:
- provider: "" # Name of the provider
kubernetesVersion: "vMYVERSION" # String with prefix v, as UI shows
kubernetesVersionToUpgrade: "vMYVERSION" # String with prefix v, as UI shows
image: "" # String
sshUser: "" # String
cni: ["calico"] # Slice of strings, options can be found in provisioning configuration
enabledFeatures:
chart: false # Boolean, pre/post upgrade checks, default is false
ingress: false # Boolean, pre/post upgrade checks, default is false
tags: "" #String, tagged tests that are going to run against this cluster
#This is a slice of structs, elements are expandable
rke2:
nodeProvider:
- provider: "" # Name of the provider
kubernetesVersion: "vMYVERSION" # String with prefix v, as UI shows
kubernetesVersionToUpgrade: "vMYVERSION" # String with prefix v, as UI shows
image: "" # String
sshUser: "" # String
cni: ["calico"] # Slice of strings, options can be found in provisioning configuration
enabledFeatures:
chart: false # Boolean, pre/post upgrade checks, default is false
ingress: false # Boolean, pre/post upgrade checks, default is false
tags: "" #String, tagged tests that are going to run against this cluster
#This is a slice of structs, elements are expandable
custom:
- provider: "" # Name of the provider
kubernetesVersion: "vMYVERSION" # String with prefix v, as UI shows
kubernetesVersionToUpgrade: "vMYVERSION" # String with prefix v, as UI shows
image: "" # String
sshUser: "" # String
cni: ["calico"] # Slice of strings, options can be found in provisioning configuration
enabledFeatures:
chart: false # Boolean, pre/post upgrade checks, default is false
ingress: false # Boolean, pre/post upgrade checks, default is false
tags: "" #String, tagged tests that are going to run against this cluster
#This is a slice of structs, elements are expandable
k3s:
nodeProvider:
- provider: "" # Name of the provider
kubernetesVersion: "vMYVERSION" # String with prefix v, as UI shows
kubernetesVersionToUpgrade: "vMYVERSION" # String with prefix v, as UI shows
image: "" # String
sshUser: "" # String
cni: ["calico"] # Slice of strings, options can be found in provisioning configuration
enabledFeatures:
chart: false # Boolean, pre/post upgrade checks, default is false
ingress: false # Boolean, pre/post upgrade checks, default is false
tags: "" #String, tagged tests that are going to run against this cluster
#This is a slice of structs, elements are expandable
custom:
- provider: "" # Name of the provider
kubernetesVersion: "vMYVERSION" # String with prefix v, as UI shows
kubernetesVersionToUpgrade: "vMYVERSION" # String with prefix v, as UI shows
image: "" # String
sshUser: "" # String
cni: ["calico"] # Slice of strings, options can be found in provisioning configuration
enabledFeatures:
chart: false # Boolean, pre/post upgrade checks, default is false
ingress: false # Boolean, pre/post upgrade checks, default is false
tags: "" #String, tagged tests that are going to run against this cluster
#This is a slice of structs, elements are expandable
hosted:
- provider: "" # Name of the provider
kubernetesVersion: "MYVERSION" # String without prefix v, as UI shows
kubernetesVersionToUpgrade: "MYVERSION" # String without prefix v, as UI shows
enabledFeatures:
chart: false # Boolean, pre/post upgrade checks, default is false
ingress: false # Boolean, pre/post upgrade checks, default is false
tags: "" #String, tagged tests that are going to run against this cluster
- provider: "" # Name of the provider
kubernetesVersion: "MYVERSION" # String without prefix v, as UI shows
kubernetesVersionToUpgrade: "MYVERSION" # String without prefix v, as UI shows
enabledFeatures:
chart: false # Boolean, pre/post upgrade checks, default is false
ingress: false # Boolean, pre/post upgrade checks, default is false
tags: "" #String, tagged tests that are going to run against this cluster
- provider: "" # Name of the provider
kubernetesVersion: "MYVERSION" # String without prefix v, as UI shows
kubernetesVersionToUpgrade: "MYVERSION" # String without prefix v, as UI shows
enabledFeatures:
chart: false # Boolean, pre/post upgrade checks, default is false
ingress: false # Boolean, pre/post upgrade checks, default is false
tags: "" #String, tagged tests that are going to run against this cluster
# This is a slice of structs, elements are expandable
Qase pipeline package is responsible for reporting the test runs on Qase. It has two package in it.
- Reporter: Updates Qase with test cases and their statuses
- Test run: Starts and ends test runs for our recurring runs pipelines
- Create a Qase configuration with its embedded HTTP client
- After the token is added to this configuration, a Qase Go client is instantiated
- Get the Qase Test Run ID
- Parsed Go Tests are reported under this Qase Test Run
More information can be found in this directory.
- Create a Qase configuration with its embedded HTTP client
- After the token is added to this configuration, a Qase Go client is instantiated
- When a flag called
startRun
is provided, creates a test run; otherwise completes the test run
More information can be found in this directory.
This section covers Release Test Validation Pipelines with their steps, purposes, and pipeline packages. Read more about the Pipeline Packages, here.
Release Airgap Pipeline is a pipeline for the Rancher release testing process that covers:
- Deploy Private Registry
- Deploy Rancher on a specified version and cluster type
- Run Airgap checks
Airgap Pipeline uses Corral Package. For Rancher and Airgap setups, you can check the required corral config variables from this package.
You can learn more about the Pipeline here.
Release Airgap Pipeline Configuration - Combined and Ready to Hit Run
#Corral HA & Airgap Packages Configuration ----- START -----
corralConfigs:
corralConfigVars:
agent_count: 0 #Integer, Agent Count
server_count: 0 #Integer, Server Count
aws_access_key: "" #String, AWS Access Key
aws_ami: "" #String, AWS AMI
aws_hostname_prefix: "" #String, AWS Hostname Prefix
aws_region: "" #String, AWS Region
aws_route53_zone: "" #String, AWS Route 53
aws_secret_key: "" #String, AWS Secret Key
aws_security_group: "" #String, AWS Security Group
aws_ssh_user: "" #String, AWS SSH User
aws_subnet: "" #String, AWS Subnet
aws_vpc: "" #String, AWS VPC
bastion_ip: "" #String, Only use if the air gap setup was created beforehand
rancher_version: "" #String, Rancher version
kubernetes_version: "" #String, Kubernetes version
corral_private_key: #String, only use if the air gap setup has been created beforehand you need this key when provisioning an airgap custom cluser
corral_public_key: #String, only use if the air gap setup has been created beforehand you need this key when provisioning an airgap custom cluser
instance_type: "" #String AWS Instance Type
registry_cert: "" #String, registry certification when provisioning a airgap setup
registry_key: "" #String, registry key when provisioning a airgap setup
corralSSHPath: "myPEMKeyPath" #String
corralPackages:
corralPackageImages:
airgapCustomCluster: "myPathToCorralRancherAirgapCustomClusterPackage" #String
rancherha: "myPathToCorralRancherHAPackage" #String, this should match corralRancherHA input
corralRancherHA:
name: "rancherha" #String, needs to match with the above package name
#Corral HA & Airgap Packages Configuration ----- END -----
#Shepherd and Validation Tests Configuration ----- START -----
provisioningInput: "" #Provisioning Input, from the v2/validation provisioning tests
providers:
- aws
k3sKubernetesVersion:
- "vMYVERSION" # String with prefix v, as UI shows
# This is a slice of structs, elements are expandable
rke1KubernetesVersion:
- "vMYVERSION" # String with prefix v, as UI shows
# This is a slice of structs, elements are expandable
rke2KubernetesVersion:
- "vMYVERSION" # String with prefix v, as UI shows
# This is a slice of structs, elements are expandable
#Provisioning Input needs more input, and those inputs can be found v2/validation provisioning tests
registries:
existingNoAuthRegistry: "" #String, only add if the registry has been created beforehand
flags:
desiredflags: "" #Environmentflags as strings, f.e. UseExistingRegistries
rancher:
host: "" #String, this should match what the corral will airgap rancher cluster hostname would be
adminToken: "" #String, only have if the rancher air gap setup has been created beforehand
#Shepherd and Validation Tests Configuration ----- END -----
Release HA Upgrade Pipeline is a pipeline for the Rancher release testing process that covers:
- Deploy Rancher on a specified version
- Deploy clusters
- Run pre-upgrade checks
- Upgrade Rancher
- Run post-upgrade checks
- Upgrade cluster versions
- Run post-upgrade checks
- Deploy new clusters
You can learn more about the Pipeline here.
Release HA Upgrade Pipeline Configuration - Combined and Ready to Hit Run
#HA Configuration (with v3 Legacy HA Deploy) ----- START -----
ha:
host: "" # String, needs to be URL
chartVersion: "" # String without any prefix, no v in front of version
chartVersionToUpgrade: "" # String without any prefix, no v in front of version
rkeVersion: "" # String with prefix v
imageTag: "" # String with prefix v
imageTagToUpgrade: "" # String with prefix v
helmExtraSettings: "" # String, Helm extra settings
helmExtraSettingsToUpgrade: "" #String, Helm extra Settings while Upgrading Rancher
helmRepo: "" # String
certOption: "" # String
insecure: false # String
cleanup: false # String, default is true
#HA Configuration (with v3 Legacy HA Deploy) ----- END -----
#Release Upgrade Pipeline Package Configuration ----- START -----
clusters:
rke1:
nodeProvider:
- provider: "" # Name of the provider
kubernetesVersion: "vMYVERSION" # String with prefix v, as UI shows
kubernetesVersionToUpgrade: "vMYVERSION" # String with prefix v, as UI shows
image: "" # String
sshUser: "" # String
cni: ["calico"] # Slice of strings, options can be found in provisioning configuration
enabledFeatures:
chart: false # Boolean, pre/post upgrade checks, default is false
ingress: false # Boolean, pre/post upgrade checks, default is false
#This is a slice of structs, elements are expandable
custom:
- provider: "" # Name of the provider
kubernetesVersion: "vMYVERSION" # String with prefix v, as UI shows
kubernetesVersionToUpgrade: "vMYVERSION" # String with prefix v, as UI shows
image: "" # String
sshUser: "" # String
cni: ["calico"] # Slice of strings, options can be found in provisioning configuration
enabledFeatures:
chart: false # Boolean, pre/post upgrade checks, default is false
ingress: false # Boolean, pre/post upgrade checks, default is false
#This is a slice of structs, elements are expandable
rke2:
nodeProvider:
- provider: "" # Name of the provider
kubernetesVersion: "vMYVERSION" # String with prefix v, as UI shows
kubernetesVersionToUpgrade: "vMYVERSION" # String with prefix v, as UI shows
image: "" # String
sshUser: "" # String
cni: ["calico"] # Slice of strings, options can be found in provisioning configuration
enabledFeatures:
chart: false # Boolean, pre/post upgrade checks, default is false
ingress: false # Boolean, pre/post upgrade checks, default is false
- provider: "aws"
kubernetesVersion: "vMYVERSION" # String with prefix v, as UI shows
kubernetesVersionToUpgrade: "vMYVERSION" # String with prefix v, as UI shows
image: "" # String
sshUser: "ubuntu"
cni: ["calico"]
enabledFeatures:
chart: false # Boolean, pre/post upgrade checks, default is false
ingress: false # Boolean, pre/post upgrade checks, default is false
#This is a slice of structs, elements are expandable
custom:
- provider: "" # Name of the provider
kubernetesVersion: "vMYVERSION" # String with prefix v, as UI shows
kubernetesVersionToUpgrade: "vMYVERSION" # String with prefix v, as UI shows
image: "" # String
sshUser: "" # String
cni: ["calico"] # Slice of strings, options can be found in provisioning configuration
enabledFeatures:
chart: false # Boolean, pre/post upgrade checks, default is false
ingress: false # Boolean, pre/post upgrade checks, default is false
#This is a slice of structs, elements are expandable
k3s:
nodeProvider:
- provider: "" # Name of the provider
kubernetesVersion: "vMYVERSION" # String with prefix v, as UI shows
kubernetesVersionToUpgrade: "vMYVERSION" # String with prefix v, as UI shows
image: "" # String
sshUser: "" # String
cni: ["calico"] # Slice of strings, options can be found in provisioning configuration
enabledFeatures:
chart: false # Boolean, pre/post upgrade checks, default is false
ingress: false # Boolean, pre/post upgrade checks, default is false
#This is a slice of structs, elements are expandable
- provider: "" # Name of the provider
kubernetesVersion: "vMYVERSION" # String with prefix v, as UI shows
kubernetesVersionToUpgrade: "vMYVERSION" # String with prefix v, as UI shows
image: "" # String
sshUser: "" # String
cni: ["calico"] # Slice of strings, options can be found in provisioning configuration
enabledFeatures:
chart: false # Boolean, pre/post upgrade checks, default is false
ingress: false # Boolean, pre/post upgrade checks, default is false
#This is a slice of structs, elements are expandable
custom:
- provider: "" # Name of the provider
kubernetesVersion: "vMYVERSION" # String with prefix v, as UI shows
kubernetesVersionToUpgrade: "vMYVERSION" # String with prefix v, as UI shows
image: "" # String
sshUser: "" # String
cni: ["calico"] # Slice of strings, options can be found in provisioning configuration
enabledFeatures:
chart: false # Boolean, pre/post upgrade checks, default is false
ingress: false # Boolean, pre/post upgrade checks, default is false
#This is a slice of structs, elements are expandable
hosted:
- provider: "" # Name of the provider
kubernetesVersion: "MYVERSION" # String without prefix v, as UI shows
kubernetesVersionToUpgrade: "MYVERSION" # String without prefix v, as UI shows
enabledFeatures:
chart: false # Boolean, pre/post upgrade checks, default is false
ingress: false # Boolean, pre/post upgrade checks, default is false
- provider: "" # Name of the provider
kubernetesVersion: "MYVERSION" # String without prefix v, as UI shows
kubernetesVersionToUpgrade: "MYVERSION" # String without prefix v, as UI shows
enabledFeatures:
chart: false # Boolean, pre/post upgrade checks, default is false
ingress: false # Boolean, pre/post upgrade checks, default is false
- provider: "" # Name of the provider
kubernetesVersion: "MYVERSION" # String without prefix v, as UI shows
kubernetesVersionToUpgrade: "MYVERSION" # String without prefix v, as UI shows
enabledFeatures:
chart: false # Boolean, pre/post upgrade checks, default is false
ingress: false # Boolean, pre/post upgrade checks, default is false
#This is a slice of structs, elements are expandable
#Release Upgrade Pipeline Package Configuration ----- END -----
#Standalone Tests Configuration ----- START -----
provisioningInput: #Provisioning Input, from the v2/validation provisioning tests, only Node and Machine Pools are needed, other values get overwritten from the cluster matrix above
nodePools: #Node Pools from r/r v2/validation provisioning tests
machinePools: #Machine Pools from r/r v2/validation provisioning tests
#Depending on the cluster types you want to test, the required provisioning test-related inputs may vary, you can learn more about them from r/r v2/validation provisioning packages readmes
#Standalone Tests Configuration ----- END -----
Release Local Upgrade Pipeline is a pipeline for the Rancher release testing process that covers:
- Deploy Rancher on a specified version and cluster type
- Deploy clusters
- Run preupgrade checks
- Upgrade Local cluster Kubernetes version
- Run postupgrade checks
- Upgrade cluster versions
- Run postupgrade checks
- Deploy new clusters
Release Local Upgrade Pipeline uses Corral Package. For Rancher Instance creation, you can check the required corral config variables from these package; Rancher with K3s, RKE1 and RKE2 local cluster options.
You can learn more about the Pipeline here.
Release Local Upgrade Pipeline Configuration - Combined and Ready to Hit Run
#Corral HA Configuration ----- START -----
corralConfigs:
corralConfigVars:
agent_count: 0 #Integer
aws_access_key: "" #String
aws_ami: "" #String
aws_hostname_prefix: "" #String
aws_region: "" #String
aws_route53_zone: "" #String
aws_secret_key: "" #String
aws_security_group: "" #String
aws_ssh_user: "" #String
aws_subnet: "" #String
aws_volume_size: 0 #Integer
aws_volume_type: "" #String
aws_vpc: "" #String
corral_name: "" #String
kubernetes_version: "vMyVersion" #String, with prefix v
rancher_version: "myVersion" #String, without prefix
server_count: 0 #Integer
instance_type: "" #String
# Above is only for rancher AWS HA Corral Package.
# For other packages such as Airgap or Private Registry; you might need to add or remove new corral config variables
corralSSHPath: "myPEMKeyPath" #String
corralPackages:
corralPackageImages:
rancherha: "myPathToCorralRancherHAPackage" #String
corralRancherHA:
name: "rancherha" #String, needs to match with the above package name
#Corral HA Configuration ----- END -----
#Release Upgrade Pipeline Package Configuration ----- START -----
clusters:
local:
kubernetesVersion: "vMYVERSION" # String with prefix v, as UI shows
kubernetesVersionToUpgrade: "vMYVERSION" # String with prefix v, as UI shows
enabledFeatures:
chart: false # Boolean, pre/post upgrade checks, default is false
ingress: false # Boolean, pre/post upgrade checks, default is false
rke1:
nodeProvider:
- provider: "" # Name of the provider
kubernetesVersion: "vMYVERSION" # String with prefix v, as UI shows
kubernetesVersionToUpgrade: "vMYVERSION" # String with prefix v, as UI shows
image: "" # String
sshUser: "" # String
cni: ["calico"] # Slice of strings, options can be found in provisioning configuration
enabledFeatures:
chart: false # Boolean, pre/post upgrade checks, default is false
ingress: false # Boolean, pre/post upgrade checks, default is false
#This is a slice of structs, elements are expandable
custom:
- provider: "" # Name of the provider
kubernetesVersion: "vMYVERSION" # String with prefix v, as UI shows
kubernetesVersionToUpgrade: "vMYVERSION" # String with prefix v, as UI shows
image: "" # String
sshUser: "" # String
cni: ["calico"] # Slice of strings, options can be found in provisioning configuration
enabledFeatures:
chart: false # Boolean, pre/post upgrade checks, default is false
ingress: false # Boolean, pre/post upgrade checks, default is false
#This is a slice of structs, elements are expandable
rke2:
nodeProvider:
- provider: "" # Name of the provider
kubernetesVersion: "vMYVERSION" # String with prefix v, as UI shows
kubernetesVersionToUpgrade: "vMYVERSION" # String with prefix v, as UI shows
image: "" # String
sshUser: "" # String
cni: ["calico"] # Slice of strings, options can be found in provisioning configuration
enabledFeatures:
chart: false # Boolean, pre/post upgrade checks, default is false
ingress: false # Boolean, pre/post upgrade checks, default is false
- provider: "aws"
kubernetesVersion: "vMYVERSION" # String with prefix v, as UI shows
kubernetesVersionToUpgrade: "vMYVERSION" # String with prefix v, as UI shows
image: "" # String
sshUser: "ubuntu"
cni: ["calico"]
enabledFeatures:
chart: false # Boolean, pre/post upgrade checks, default is false
ingress: false # Boolean, pre/post upgrade checks, default is false
#This is a slice of structs, elements are expandable
custom:
- provider: "" # Name of the provider
kubernetesVersion: "vMYVERSION" # String with prefix v, as UI shows
kubernetesVersionToUpgrade: "vMYVERSION" # String with prefix v, as UI shows
image: "" # String
sshUser: "" # String
cni: ["calico"] # Slice of strings, options can be found in provisioning configuration
enabledFeatures:
chart: false # Boolean, pre/post upgrade checks, default is false
ingress: false # Boolean, pre/post upgrade checks, default is false
#This is a slice of structs, elements are expandable
k3s:
nodeProvider:
- provider: "" # Name of the provider
kubernetesVersion: "vMYVERSION" # String with prefix v, as UI shows
kubernetesVersionToUpgrade: "vMYVERSION" # String with prefix v, as UI shows
image: "" # String
sshUser: "" # String
cni: ["calico"] # Slice of strings, options can be found in provisioning configuration
enabledFeatures:
chart: false # Boolean, pre/post upgrade checks, default is false
ingress: false # Boolean, pre/post upgrade checks, default is false
#This is a slice of structs, elements are expandable
- provider: "" # Name of the provider
kubernetesVersion: "vMYVERSION" # String with prefix v, as UI shows
kubernetesVersionToUpgrade: "vMYVERSION" # String with prefix v, as UI shows
image: "" # String
sshUser: "" # String
cni: ["calico"] # Slice of strings, options can be found in provisioning configuration
enabledFeatures:
chart: false # Boolean, pre/post upgrade checks, default is false
ingress: false # Boolean, pre/post upgrade checks, default is false
#This is a slice of structs, elements are expandable
custom:
- provider: "" # Name of the provider
kubernetesVersion: "vMYVERSION" # String with prefix v, as UI shows
kubernetesVersionToUpgrade: "vMYVERSION" # String with prefix v, as UI shows
image: "" # String
sshUser: "" # String
cni: ["calico"] # Slice of strings, options can be found in provisioning configuration
enabledFeatures:
chart: false # Boolean, pre/post upgrade checks, default is false
ingress: false # Boolean, pre/post upgrade checks, default is false
#This is a slice of structs, elements are expandable
hosted:
- provider: "" # Name of the provider
kubernetesVersion: "MYVERSION" # String without prefix v, as UI shows
kubernetesVersionToUpgrade: "MYVERSION" # String without prefix v, as UI shows
enabledFeatures:
chart: false # Boolean, pre/post upgrade checks, default is false
ingress: false # Boolean, pre/post upgrade checks, default is false
- provider: "" # Name of the provider
kubernetesVersion: "MYVERSION" # String without prefix v, as UI shows
kubernetesVersionToUpgrade: "MYVERSION" # String without prefix v, as UI shows
enabledFeatures:
chart: false # Boolean, pre/post upgrade checks, default is false
ingress: false # Boolean, pre/post upgrade checks, default is false
- provider: "" # Name of the provider
kubernetesVersion: "MYVERSION" # String without prefix v, as UI shows
kubernetesVersionToUpgrade: "MYVERSION" # String without prefix v, as UI shows
enabledFeatures:
chart: false # Boolean, pre/post upgrade checks, default is false
ingress: false # Boolean, pre/post upgrade checks, default is false
#This is a slice of structs, elements are expandable
#Release Upgrade Pipeline Package Configuration ----- END -----
#Standalone Tests Configuration ----- START -----
provisioningInput: #Provisioning Input, from the v2/validation provisioning tests, only Node and Machine Pools are needed, other values get overwritten from the cluster matrix above
nodePools: #Node Pools from r/r v2/validation provisioning tests
machinePools: #Machine Pools from r/r v2/validation provisioning tests
#Depending on the cluster types you want to test, the required provisioning test-related inputs may vary, you can learn more about them from r/r v2/validation provisioning packages readmes
#Standalone Tests Configuration ----- END -----
Release Private Registries Pipeline is a pipeline for the Rancher release testing process that covers:
- Deploy Private Registry
- Deploy Rancher on a specified version and cluster type
- Run Private Registry checks
You can learn more about the Pipeline here.
Private Registires Pipeline uses [Corral Package][rancher-registiries-corral]. For Rancher and Private Registry setups, you can check the required corral config variables from this package.
Release Private Registries Pipeline Configuration - Combined and Ready to Hit Run
#Corral HA & Registries Packages Configuration ----- START -----
corralConfigs:
corralConfigVars:
agent_count: 0 #Integer, Agent Count
server_count: 0 #Integer, Server Count
aws_access_key: "" #String, AWS Access Key
aws_ami: "" #String, AWS AMI
aws_hostname_prefix: "" #String, AWS Hostname Prefix
aws_region: "" #String, AWS Region
aws_route53_zone: "" #String, AWS Route 53
aws_secret_key: "" #String, AWS Secret Key
aws_security_group: "" #String, AWS Security Group
aws_ssh_user: "" #String, AWS SSH User
aws_subnet: "" #String, AWS Subnet
aws_vpc: "" #String, AWS VPC
bastion_ip: "" #String, Only use if the air gap setup was created beforehand
rancher_version: "" #String, Rancher version
kubernetes_version: "" #String, Kubernetes version
corral_private_key: #String, only use if the air gap setup has been created beforehand you need this key when provisioning an registry custom cluser
corral_public_key: #String, only use if the air gap setup has been created beforehand you need this key when provisioning an registry custom cluser
instance_type: "" #String AWS Instance Type
registry_cert: "" #String, registry certification when provisioning a registry setup
registry_key: "" #String, registry key when provisioning a registry setup
corralSSHPath: "myPEMKeyPath" #String
corralPackages:
corralPackageImages:
registryauthdisabled: "myPathToRegistryAuthDisabledPackage" #String
registryauthenabled: "myPathToRegistryAuthEnabledPackage" #String
rancherha: "myPathToCorralRancherHAPackage" #String, this should match corralRancherHA input
corralRancherHA:
name: "rancherha" #String, needs to match with the above package name
#Corral HA & Private Registries Packages Configuration ----- END -----
#Shepherd and Validation Tests Configuration ----- START -----
registries:
existingAuthRegistry: # Configuration for existing auth registry (optional)
password: "" #String
url: "" #String
username: corral
ecrRegistryConfig: # Configuration for existing ecr registry (optional)
url: <ID>.dkr.ecr.us-west-1.amazonaws.com
password: "" #String
awsAccessKeyId: "" #String
awsSecretAccessKey: "" #String
existingNoAuthRegistry: "" #String
registryConfigNames:
- registryauthdisabled
- registryauthenabled
- corralecr
provisioningInput: "" #Provisioning Input, from the v2/validation provisioning tests
providers:
- aws
k3sKubernetesVersion:
- "vMYVERSION" # String with prefix v, as UI shows
#This is a slice of structs, elements are expandable
rke1KubernetesVersion:
- "vMYVERSION" # String with prefix v, as UI shows
#This is a slice of structs, elements are expandable
rke2KubernetesVersion:
- "vMYVERSION" # String with prefix v, as UI shows
#This is a slice of structs, elements are expandable
#Provisioning Input needs more input, and those inputs can be found v2/validation provisioning tests
registries:
existingNoAuthRegistry: "" #String, only add if the registry has been created beforehand
flags:
desiredflags: "" #Environmentflags as strings, f.e. UseExistingRegistries
rancher:
host: "" #String, this should match what the corral will registry rancher cluster hostname would be
adminToken: "" #String, only have if the rancher air gap setup has been created beforehand
#Shepherd and Validation Tests Configuration ----- END -----