Support for accelerated networking and network security group for scaleset vms (#34788)

* Support for accelerated networking and network security group for scaleset vms
This commit is contained in:
Madhura-CSI 2018-08-17 03:22:12 +05:30 committed by John R Barker
commit 47cb3856b5
2 changed files with 229 additions and 26 deletions

View file

@ -28,6 +28,16 @@
name: testLB
public_ip_address_name: testPublicIP
- name: Create network security group within same resource group of VMSS.
azure_rm_securitygroup:
resource_group: "{{ resource_group }}"
name: testNetworkSecurityGroup
- name: Create network security group in different resource group of VMSS.
azure_rm_securitygroup:
resource_group: "{{ resource_group_secondary }}"
name: testNetworkSecurityGroup2
- name: Create VMSS
azure_rm_virtualmachine_scaleset:
resource_group: "{{ resource_group }}"
@ -132,23 +142,12 @@
state: absent
remove_on_absent: ['all']
vm_size: Standard_DS1_v2
admin_username: testuser
capacity: 2
virtual_network_name: testVnet
subnet_name: testSubnet
upgrade_policy: Manual
tier: Standard
os_disk_caching: ReadWrite
image:
offer: CoreOS
publisher: CoreOS
sku: Stable
version: latest
data_disks:
- lun: 0
disk_size_gb: 64
caching: ReadWrite
managed_disk_type: Standard_LRS
- name: Create VMSS (check mode)
azure_rm_virtualmachine_scaleset:
@ -183,7 +182,7 @@
assert:
that: results.changed
- name: Create VMSS (check mode)
- name: Create VMSS
azure_rm_virtualmachine_scaleset:
resource_group: "{{ resource_group }}"
name: testVMSS{{ rpfx }}1
@ -222,23 +221,186 @@
state: absent
remove_on_absent: ['all']
vm_size: Standard_DS1_v2
admin_username: testuser
capacity: 2
virtual_network_name: testVnet
subnet_name: testSubnet
upgrade_policy: Manual
tier: Standard
os_disk_caching: ReadWrite
image:
offer: CoreOS
publisher: CoreOS
sku: Stable
version: latest
data_disks:
- lun: 0
disk_size_gb: 64
caching: ReadWrite
managed_disk_type: Standard_LRS
- name: Create VMSS with security group in same resource group, with accelerated networking(check mode).
azure_rm_virtualmachine_scaleset:
resource_group: "{{ resource_group }}"
name: testVMSS{{ rpfx }}2
vm_size: Standard_D3_v2
capacity: 1
virtual_network_name: testVnet
subnet_name: testSubnet
admin_username: testuser
ssh_password_enabled: true
admin_password: "Password1234!"
image:
offer: CoreOS
publisher: CoreOS
sku: Stable
version: latest
upgrade_policy: Manual
security_group: testNetworkSecurityGroup
enable_accelerated_networking: yes
register: results
check_mode: yes
- name: Assert that VMSS can be created
assert:
that: results.changed
- name: Create VMSS with security group in same resource group, with accelerated networking.
azure_rm_virtualmachine_scaleset:
resource_group: "{{ resource_group }}"
name: testVMSS{{ rpfx }}2
vm_size: Standard_D3_v2
capacity: 1
virtual_network_name: testVnet
subnet_name: testSubnet
admin_username: testuser
ssh_password_enabled: true
admin_password: "Password1234!"
image:
offer: CoreOS
publisher: CoreOS
sku: Stable
version: latest
upgrade_policy: Manual
security_group: testNetworkSecurityGroup
enable_accelerated_networking: yes
register: results
- name: Assert that VMSS ran
assert:
that:
- 'results.changed'
- 'results.ansible_facts.azure_vmss.properties.virtualMachineProfile.networkProfile.networkInterfaceConfigurations.0.properties.enableAcceleratedNetworking == true'
- 'results.ansible_facts.azure_vmss.properties.virtualMachineProfile.networkProfile.networkInterfaceConfigurations.0.properties.networkSecurityGroup != {}'
- name: Delete VMSS
azure_rm_virtualmachine_scaleset:
resource_group: "{{ resource_group }}"
name: testVMSS{{ rpfx }}2
state: absent
remove_on_absent: ['all']
vm_size: Standard_D3_v2
capacity: 1
image:
offer: CoreOS
publisher: CoreOS
sku: Stable
version: latest
- name: Create VMSS with security group in different resource group(check mode).
azure_rm_virtualmachine_scaleset:
resource_group: "{{ resource_group }}"
name: testVMSS{{ rpfx }}3
vm_size: Standard_DS1_v2
capacity: 1
virtual_network_name: testVnet
subnet_name: testSubnet
admin_username: testuser
ssh_password_enabled: true
admin_password: "Password1234!"
image:
offer: CoreOS
publisher: CoreOS
sku: Stable
version: latest
upgrade_policy: Manual
security_group:
name: testNetworkSecurityGroup2
resource_group: "{{ resource_group_secondary }}"
register: results
check_mode: yes
- name: Assert that VMSS ran
assert:
that: results.changed
- name: Create VMSS with security group in different resource group.
azure_rm_virtualmachine_scaleset:
resource_group: "{{ resource_group }}"
name: testVMSS{{ rpfx }}3
vm_size: Standard_DS1_v2
capacity: 1
virtual_network_name: testVnet
subnet_name: testSubnet
admin_username: testuser
ssh_password_enabled: true
admin_password: "Password1234!"
image:
offer: CoreOS
publisher: CoreOS
sku: Stable
version: latest
upgrade_policy: Manual
security_group:
name: testNetworkSecurityGroup2
resource_group: "{{ resource_group_secondary }}"
register: results
- name: Assert that VMSS ran
assert:
that:
- 'results.changed'
- '"testNetworkSecurityGroup2" in results.ansible_facts.azure_vmss.properties.virtualMachineProfile.networkProfile.networkInterfaceConfigurations.0.properties.networkSecurityGroup.id'
- name: Delete VMSS
azure_rm_virtualmachine_scaleset:
resource_group: "{{ resource_group }}"
name: testVMSS{{ rpfx }}3
state: absent
remove_on_absent: ['all']
vm_size: Standard_DS1_v2
capacity: 1
image:
offer: CoreOS
publisher: CoreOS
sku: Stable
version: latest
- name: Fail when instance type is not supported to enable accelerated networking
azure_rm_virtualmachine_scaleset:
resource_group: "{{ resource_group }}"
name: testVMSS{{ rpfx }}4
vm_size: Standard_DS1_v2
virtual_network_name: testVnet
subnet_name: testSubnet
admin_username: testuser
ssh_password_enabled: true
admin_password: "Password1234!"
image:
offer: CoreOS
publisher: CoreOS
sku: Stable
version: latest
upgrade_policy: Manual
enable_accelerated_networking: yes
register: results
ignore_errors: yes
- name: Assert failure to show that accelerated networking is enabled only with supported instance types.
assert:
that:
- '"VMSizeIsNotPermittedToEnableAcceleratedNetworkingForVmss" in results.msg'
- name: Delete network security group
azure_rm_securitygroup:
resource_group: "{{ resource_group }}"
name: testNetworkSecurityGroup
state: absent
- name: Delete network security group
azure_rm_securitygroup:
resource_group: "{{ resource_group_secondary }}"
name: testNetworkSecurityGroup2
state: absent
- name: Delete load balancer
azure_rm_loadbalancer:
@ -302,4 +464,4 @@
image:
name: invalid-image
register: fail_missing_custom_image_dict
failed_when: fail_missing_custom_image_dict.msg != "Error could not find image with name invalid-image"
failed_when: fail_missing_custom_image_dict.msg != "Error could not find image with name invalid-image"