213 lines
7.4 KiB
YAML
213 lines
7.4 KiB
YAML
- set_fact:
|
|
rpfx: "{{ resource_group | hash('md5') | truncate(8, True, '') }}"
|
|
|
|
- name: Find available k8s version
|
|
azure_rm_aks_version:
|
|
location: eastus
|
|
register: versions
|
|
|
|
- name: Create an AKS instance (check mode)
|
|
azure_rm_aks:
|
|
name: "aks{{ rpfx }}"
|
|
resource_group: "{{ resource_group }}"
|
|
location: eastus
|
|
dns_prefix: "aks{{ rpfx }}"
|
|
kubernetes_version: "{{ versions.azure_aks_versions[0] }}"
|
|
service_principal:
|
|
client_id: "{{ azure_client_id }}"
|
|
client_secret: "{{ azure_secret }}"
|
|
linux_profile:
|
|
admin_username: azureuser
|
|
ssh_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDSPmiqkvDH1/+MDAVDZT8381aYqp73Odz8cnD5hegNhqtXajqtiH0umVg7HybX3wt1HjcrwKJovZURcIbbcDvzdH2bnYbF93T4OLXA0bIfuIp6M86x1iutFtXdpN3TTicINrmSXEE2Ydm51iMu77B08ZERjVaToya2F7vC+egfoPvibf7OLxE336a5tPCywavvNihQjL8sjgpDT5AAScjb3YqK/6VLeQ18Ggt8/ufINsYkb+9/Ji/3OcGFeflnDXq80vPUyF3u4iIylob6RSZenC38cXmQB05tRNxS1B6BXCjMRdy0v4pa7oKM2GA4ADKpNrr0RI9ed+peRFwmsclH test@ansible
|
|
agent_pool_profiles:
|
|
- name: default
|
|
count: 1
|
|
vm_size: Standard_DS1_v2
|
|
enable_rbac: yes
|
|
check_mode: yes
|
|
|
|
- name: Check there is no AKS created
|
|
azure_rm_aks_facts:
|
|
name: "aks{{ rpfx }}"
|
|
resource_group: "{{ resource_group }}"
|
|
register: fact
|
|
|
|
- name: Check there is no AKS created
|
|
assert:
|
|
that:
|
|
- "fact.aks | length == 0"
|
|
|
|
- name: Create an AKS instance
|
|
azure_rm_aks:
|
|
name: "aks{{ rpfx }}"
|
|
resource_group: "{{ resource_group }}"
|
|
location: eastus
|
|
dns_prefix: "aks{{ rpfx }}"
|
|
kubernetes_version: "{{ versions.azure_aks_versions[0] }}"
|
|
service_principal:
|
|
client_id: "{{ azure_client_id }}"
|
|
client_secret: "{{ azure_secret }}"
|
|
linux_profile:
|
|
admin_username: azureuser
|
|
ssh_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDSPmiqkvDH1/+MDAVDZT8381aYqp73Odz8cnD5hegNhqtXajqtiH0umVg7HybX3wt1HjcrwKJovZURcIbbcDvzdH2bnYbF93T4OLXA0bIfuIp6M86x1iutFtXdpN3TTicINrmSXEE2Ydm51iMu77B08ZERjVaToya2F7vC+egfoPvibf7OLxE336a5tPCywavvNihQjL8sjgpDT5AAScjb3YqK/6VLeQ18Ggt8/ufINsYkb+9/Ji/3OcGFeflnDXq80vPUyF3u4iIylob6RSZenC38cXmQB05tRNxS1B6BXCjMRdy0v4pa7oKM2GA4ADKpNrr0RI9ed+peRFwmsclH test@ansible
|
|
agent_pool_profiles:
|
|
- name: default
|
|
count: 1
|
|
vm_size: Standard_DS1_v2
|
|
enable_rbac: yes
|
|
register: output
|
|
|
|
- name: Assert the AKS instance is well created
|
|
assert:
|
|
that:
|
|
- output.changed
|
|
- output.provisioning_state == 'Succeeded'
|
|
|
|
- name: Get AKS fact
|
|
azure_rm_aks_facts:
|
|
name: "aks{{ rpfx }}"
|
|
resource_group: "{{ resource_group }}"
|
|
register: fact
|
|
|
|
- name: Assert fact returns the created one
|
|
assert:
|
|
that:
|
|
- "fact.aks | length == 1"
|
|
- fact.aks[0].id == output.id
|
|
|
|
- name: Create an AKS instance (idempotent)
|
|
azure_rm_aks:
|
|
name: "aks{{ rpfx }}"
|
|
resource_group: "{{ resource_group }}"
|
|
location: eastus
|
|
dns_prefix: "aks{{ rpfx }}"
|
|
kubernetes_version: "{{ versions.azure_aks_versions[0] }}"
|
|
service_principal:
|
|
client_id: "{{ azure_client_id }}"
|
|
linux_profile:
|
|
admin_username: azureuser
|
|
ssh_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDSPmiqkvDH1/+MDAVDZT8381aYqp73Odz8cnD5hegNhqtXajqtiH0umVg7HybX3wt1HjcrwKJovZURcIbbcDvzdH2bnYbF93T4OLXA0bIfuIp6M86x1iutFtXdpN3TTicINrmSXEE2Ydm51iMu77B08ZERjVaToya2F7vC+egfoPvibf7OLxE336a5tPCywavvNihQjL8sjgpDT5AAScjb3YqK/6VLeQ18Ggt8/ufINsYkb+9/Ji/3OcGFeflnDXq80vPUyF3u4iIylob6RSZenC38cXmQB05tRNxS1B6BXCjMRdy0v4pa7oKM2GA4ADKpNrr0RI9ed+peRFwmsclH test@ansible
|
|
agent_pool_profiles:
|
|
- name: default
|
|
count: 1
|
|
vm_size: Standard_DS1_v2
|
|
enable_rbac: yes
|
|
register: output
|
|
|
|
- name: Assert idempotent
|
|
assert:
|
|
that:
|
|
- not output.changed
|
|
|
|
- name: Get available version
|
|
azure_rm_aks_version:
|
|
location: eastus
|
|
version: "{{ versions.azure_aks_versions[0] }}"
|
|
register: version1
|
|
|
|
- name: Upgrade the AKS instance with addon
|
|
azure_rm_aks:
|
|
name: "aks{{ rpfx }}"
|
|
resource_group: "{{ resource_group }}"
|
|
location: eastus
|
|
dns_prefix: "aks{{ rpfx }}"
|
|
kubernetes_version: "{{ version1.azure_aks_versions[0] }}"
|
|
service_principal:
|
|
client_id: "{{ azure_client_id }}"
|
|
linux_profile:
|
|
admin_username: azureuser
|
|
ssh_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDSPmiqkvDH1/+MDAVDZT8381aYqp73Odz8cnD5hegNhqtXajqtiH0umVg7HybX3wt1HjcrwKJovZURcIbbcDvzdH2bnYbF93T4OLXA0bIfuIp6M86x1iutFtXdpN3TTicINrmSXEE2Ydm51iMu77B08ZERjVaToya2F7vC+egfoPvibf7OLxE336a5tPCywavvNihQjL8sjgpDT5AAScjb3YqK/6VLeQ18Ggt8/ufINsYkb+9/Ji/3OcGFeflnDXq80vPUyF3u4iIylob6RSZenC38cXmQB05tRNxS1B6BXCjMRdy0v4pa7oKM2GA4ADKpNrr0RI9ed+peRFwmsclH test@ansible
|
|
agent_pool_profiles:
|
|
- name: default
|
|
count: 1
|
|
vm_size: Standard_DS1_v2
|
|
addon:
|
|
http_application_routing: {}
|
|
network_profile:
|
|
network_plugin: kubenet
|
|
enable_rbac: yes
|
|
register: output
|
|
|
|
- name: Assert the AKS instance is upgraded
|
|
assert:
|
|
that:
|
|
- output.changed
|
|
- output.kubernetes_version == version1.azure_aks_versions[0]
|
|
- output.addon.httpApplicationRouting.enabled == True
|
|
- output.agent_pool_profiles[0].count == 1
|
|
- output.network_profile.network_plugin == 'kubenet'
|
|
|
|
- name: Upgrade the AKS instance with addon (idempontent)
|
|
azure_rm_aks:
|
|
name: "aks{{ rpfx }}"
|
|
resource_group: "{{ resource_group }}"
|
|
location: eastus
|
|
dns_prefix: "aks{{ rpfx }}"
|
|
kubernetes_version: "{{ version1.azure_aks_versions[0] }}"
|
|
service_principal:
|
|
client_id: "{{ azure_client_id }}"
|
|
linux_profile:
|
|
admin_username: azureuser
|
|
ssh_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDSPmiqkvDH1/+MDAVDZT8381aYqp73Odz8cnD5hegNhqtXajqtiH0umVg7HybX3wt1HjcrwKJovZURcIbbcDvzdH2bnYbF93T4OLXA0bIfuIp6M86x1iutFtXdpN3TTicINrmSXEE2Ydm51iMu77B08ZERjVaToya2F7vC+egfoPvibf7OLxE336a5tPCywavvNihQjL8sjgpDT5AAScjb3YqK/6VLeQ18Ggt8/ufINsYkb+9/Ji/3OcGFeflnDXq80vPUyF3u4iIylob6RSZenC38cXmQB05tRNxS1B6BXCjMRdy0v4pa7oKM2GA4ADKpNrr0RI9ed+peRFwmsclH test@ansible
|
|
agent_pool_profiles:
|
|
- name: default
|
|
count: 1
|
|
vm_size: Standard_DS1_v2
|
|
addon:
|
|
http_application_routing: {}
|
|
network_profile:
|
|
network_plugin: kubenet
|
|
enable_rbac: yes
|
|
register: output
|
|
|
|
- assert:
|
|
that:
|
|
- not output.changed
|
|
|
|
- name: Get AKS fact
|
|
azure_rm_aks_facts:
|
|
name: "aks{{ rpfx }}"
|
|
resource_group: "{{ resource_group }}"
|
|
show_kubeconfig: user
|
|
register: fact
|
|
|
|
- name: Assert fact returns the created one
|
|
assert:
|
|
that:
|
|
- "fact.aks | length == 1"
|
|
- fact.aks[0].kube_config == output.kube_config
|
|
|
|
- name: Delete the AKS instance
|
|
azure_rm_aks:
|
|
name: "aks{{ rpfx }}"
|
|
resource_group: "{{ resource_group }}"
|
|
state: absent
|
|
register: output
|
|
|
|
- name: Assert the AKS instance is well deleted
|
|
assert:
|
|
that:
|
|
- output.changed
|
|
|
|
- name: Delete the AKS instance (idempotent)
|
|
azure_rm_aks:
|
|
name: "aks{{ rpfx }}"
|
|
resource_group: "{{ resource_group }}"
|
|
state: absent
|
|
register: output
|
|
|
|
- name: Assert idempotent
|
|
assert:
|
|
that:
|
|
- not output.changed
|
|
|
|
- name: Get AKS fact
|
|
azure_rm_aks_facts:
|
|
name: "aks{{ rpfx }}"
|
|
resource_group: "{{ resource_group }}"
|
|
register: fact
|
|
|
|
- name: Assert fact returns empty
|
|
assert:
|
|
that:
|
|
- "fact.aks | length == 0"
|