[deprecated] Initial ansible proof of concept #3588
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What this PR does / why we need it:
We have been running smoketests in regions manually. This is error-prone and needs to be automated. As a first step here is the minimum viable Ansible playbook that creates a cluster, waits for it to become healthy via kube api, runs
az aro update
, then deletes the cluster. This is designed to run Ansible from a container so that users' development hosts don't need to have Ansible installed and will facilitate running smoketests in an automated fashion in the future.This will allow us to evaluate the following questions:
Test plan for issue:
To test, make sure you've got a valid
az login
session. This is passed through to the container via your~/.azure
directory.Then run
This will first build the required aro-smoketest container image if it doesn't exist, then it will execute
ansible-playbook
in the container. By default, the /smoketest files are baked into the container image to ensure when this is automated in the future the ansible playbook is in a known state. To test local changes, use thetarget; this will mount your /smoketest tree into the container.
To personalize the resulting resource groups, set the CLUSTERPREFIX as desired. For example
The default region used is
eastus
. Set the REGION parameter to choose a different region:To choose one or more cluster configurations, set the CLUSTERPATTERN parameter to a wildcard string that matches the cluster scenarios you wish to test:
Currently implemented cluster configurations are:
smoketest-basic
: Simplest cluster, nothing fancysmoketest-private
: Simple cluster with apiserver and ingress visibility set to privatesmoketest-enc
: Encryption-at-host enabledsmoketest-udr
: UserDefinedRouting with a blackhole Route Tablesmoketest-byok
: Disk encryption using bring-your-own-keyIs there any documentation that needs to be updated for this PR?
Yes
How do you know this will function as expected in production?