|
28 | 28 | from azure.cli.command_modules.acs.tests.latest.data.certs import CUSTOM_CA_TEST_CERT_STR |
29 | 29 | from azure.cli.command_modules.acs.tests.latest.recording_processors import \ |
30 | 30 | KeyReplacer |
| 31 | + |
| 32 | +from azure.cli.command_modules.acs._consts import CONST_WORKLOAD_RUNTIME_KATA_VM_ISOLATION |
31 | 33 | from azure.cli.command_modules.acs.tests.latest.utils import get_test_data_file_path |
32 | 34 | from azure.cli.core.azclierror import ClientRequestError, CLIInternalError |
33 | 35 | from azure.cli.testsdk import ScenarioTest, live_only |
@@ -2729,124 +2731,98 @@ def test_aks_create_update_fips_flow(self, resource_group, resource_group_locati |
2729 | 2731 | checks=[self.is_empty()], |
2730 | 2732 | ) |
2731 | 2733 |
|
2732 | | - # TODO(mheberling): Add kata tests |
2733 | 2734 | @AllowLargeResponse() |
2734 | 2735 | @AKSCustomResourceGroupPreparer( |
2735 | | - random_name_length=17, name_prefix="clitest", location="westcentralus" |
| 2736 | + random_name_length=17, name_prefix="clitest", location="westus2" |
2736 | 2737 | ) |
2737 | | - def test_aks_create_kata_flow(self, resource_group, resource_group_location): |
| 2738 | + def test_aks_cluster_kata( |
| 2739 | + self, resource_group, resource_group_location |
| 2740 | + ): |
2738 | 2741 | # reset the count so in replay mode the random names will start with 0 |
2739 | 2742 | self.test_resources_count = 0 |
| 2743 | + # kwargs for string formatting |
2740 | 2744 | aks_name = self.create_random_name("cliakstest", 16) |
2741 | | - node_pool_name = self.create_random_name("c", 6) |
2742 | | - # node_pool_name_second = self.create_random_name("c", 6) |
2743 | 2745 | self.kwargs.update( |
2744 | 2746 | { |
2745 | 2747 | "resource_group": resource_group, |
2746 | 2748 | "name": aks_name, |
2747 | 2749 | "dns_name_prefix": self.create_random_name("cliaksdns", 16), |
2748 | 2750 | "location": resource_group_location, |
2749 | 2751 | "resource_type": "Microsoft.ContainerService/ManagedClusters", |
2750 | | - "node_pool_name": node_pool_name, |
2751 | | - # "node_pool_name_second": node_pool_name_second, |
2752 | | - # "ssh_key_value": self.generate_ssh_keys(), |
| 2752 | + "workload_runtime": CONST_WORKLOAD_RUNTIME_KATA_VM_ISOLATION, |
| 2753 | + "ssh_key_value": self.generate_ssh_keys(), |
2753 | 2754 | } |
2754 | 2755 | ) |
2755 | 2756 |
|
2756 | | - # 1. create |
| 2757 | + # create |
2757 | 2758 | create_cmd = ( |
2758 | 2759 | "aks create --resource-group={resource_group} --name={name} --location={location} " |
2759 | | - "--nodepool-name {node_pool_name} --os-sku AzureLinux --node-count 1 --workload-runtime KataVmIsolation " |
2760 | | - "--vm-size Standard_D4s_v3" |
2761 | | - # "--ssh-key-value={ssh_key_value} " |
2762 | | - # '--aks-custom-headers AKSHTTPCustomFeatures=Microsoft.ContainerService/MutableFipsPreview ' |
2763 | | - # "--enable-fips-image" |
| 2760 | + "--os-sku AzureLinux --workload-runtime {workload_runtime} --node-count 1 " |
| 2761 | + "--ssh-key-value={ssh_key_value} --node-vm-size Standard_D4s_v3" |
2764 | 2762 | ) |
2765 | 2763 | self.cmd( |
2766 | 2764 | create_cmd, |
2767 | 2765 | checks=[ |
| 2766 | + self.exists("fqdn"), |
| 2767 | + self.exists("nodeResourceGroup"), |
2768 | 2768 | self.check("provisioningState", "Succeeded"), |
2769 | | - self.check("agentPoolProfiles[0].enableFips", True), |
2770 | | - ], |
2771 | | - ) |
2772 | | - |
2773 | | - # verify no flag no change |
2774 | | - self.cmd( |
2775 | | - "aks nodepool update --resource-group={resource_group} --cluster-name={name} --name={node_pool_name} " |
2776 | | - '--aks-custom-headers AKSHTTPCustomFeatures=Microsoft.ContainerService/MutableFipsPreview', |
2777 | | - checks=[ |
2778 | | - self.check("provisioningState", "Succeeded"), |
2779 | | - self.check("enableFips", True), |
2780 | | - ], |
2781 | | - ) |
2782 | | - |
2783 | | - # verify same update no change |
2784 | | - self.cmd( |
2785 | | - "aks nodepool update --resource-group={resource_group} --cluster-name={name} --name={node_pool_name} " |
2786 | | - '--aks-custom-headers AKSHTTPCustomFeatures=Microsoft.ContainerService/MutableFipsPreview ' |
2787 | | - "--enable-fips-image", |
2788 | | - checks=[ |
2789 | | - self.check("provisioningState", "Succeeded"), |
2790 | | - self.check("enableFips", True), |
| 2769 | + self.check("agentPoolProfiles[0].workloadRuntime", CONST_WORKLOAD_RUNTIME_KATA_VM_ISOLATION), |
2791 | 2770 | ], |
2792 | 2771 | ) |
2793 | 2772 |
|
2794 | | - # update nodepool1 to disable |
| 2773 | + # delete |
2795 | 2774 | self.cmd( |
2796 | | - "aks nodepool update --resource-group={resource_group} --cluster-name={name} --name={node_pool_name} " |
2797 | | - '--aks-custom-headers AKSHTTPCustomFeatures=Microsoft.ContainerService/MutableFipsPreview ' |
2798 | | - "--disable-fips-image", |
2799 | | - checks=[ |
2800 | | - self.check("provisioningState", "Succeeded"), |
2801 | | - self.check("enableFips", False), |
2802 | | - ], |
| 2775 | + "aks delete -g {resource_group} -n {name} --yes --no-wait", |
| 2776 | + checks=[self.is_empty()], |
2803 | 2777 | ) |
2804 | 2778 |
|
2805 | | - # 2. add nodepool2 |
2806 | | - self.cmd( |
2807 | | - "aks nodepool add " |
2808 | | - "--resource-group={resource_group} " |
2809 | | - "--cluster-name={name} " |
2810 | | - "--name={node_pool_name_second} " |
2811 | | - "--os-type Linux " |
2812 | | - '--aks-custom-headers AKSHTTPCustomFeatures=Microsoft.ContainerService/MutableFipsPreview ', |
2813 | | - checks=[ |
2814 | | - self.check("provisioningState", "Succeeded"), |
2815 | | - self.check("enableFips", False), |
2816 | | - ], |
| 2779 | + @AllowLargeResponse() |
| 2780 | + @AKSCustomResourceGroupPreparer( |
| 2781 | + random_name_length=17, name_prefix="clitest", location="westus2" |
| 2782 | + ) |
| 2783 | + def test_aks_nodepool_add_with_kata( |
| 2784 | + self, resource_group, resource_group_location |
| 2785 | + ): |
| 2786 | + # reset the count so in replay mode the random names will start with 0 |
| 2787 | + self.test_resources_count = 0 |
| 2788 | + # kwargs for string formatting |
| 2789 | + aks_name = self.create_random_name("cliakstest", 16) |
| 2790 | + node_pool_name = self.create_random_name('c', 6) |
| 2791 | + node_pool_name_second = self.create_random_name('c', 6) |
| 2792 | + self.kwargs.update( |
| 2793 | + { |
| 2794 | + "resource_group": resource_group, |
| 2795 | + "name": aks_name, |
| 2796 | + "node_pool_name": node_pool_name, |
| 2797 | + "node_pool_name_second": node_pool_name_second, |
| 2798 | + "location": resource_group_location, |
| 2799 | + "resource_type": "Microsoft.ContainerService/ManagedClusters", |
| 2800 | + "workload_runtime": CONST_WORKLOAD_RUNTIME_KATA_VM_ISOLATION, |
| 2801 | + "ssh_key_value": self.generate_ssh_keys(), |
| 2802 | + } |
2817 | 2803 | ) |
2818 | 2804 |
|
2819 | | - # verify no flag no change |
2820 | | - self.cmd( |
2821 | | - "aks nodepool update --resource-group={resource_group} --cluster-name={name} --name={node_pool_name_second} " |
2822 | | - '--aks-custom-headers AKSHTTPCustomFeatures=Microsoft.ContainerService/MutableFipsPreview', |
2823 | | - checks=[ |
2824 | | - self.check("provisioningState", "Succeeded"), |
2825 | | - self.check("enableFips", False), |
2826 | | - ], |
| 2805 | + # create |
| 2806 | + create_cmd = ( |
| 2807 | + "aks create --resource-group={resource_group} --name={name} " |
| 2808 | + "--nodepool-name {node_pool_name} -c 1 --ssh-key-value={ssh_key_value}" |
2827 | 2809 | ) |
| 2810 | + self.cmd(create_cmd, checks=[ |
| 2811 | + self.check('provisioningState', 'Succeeded'), |
| 2812 | + ]) |
2828 | 2813 |
|
2829 | | - # verify same update no change |
2830 | | - self.cmd( |
2831 | | - "aks nodepool update --resource-group={resource_group} --cluster-name={name} --name={node_pool_name_second} " |
2832 | | - '--aks-custom-headers AKSHTTPCustomFeatures=Microsoft.ContainerService/MutableFipsPreview ' |
2833 | | - "--disable-fips-image", |
2834 | | - checks=[ |
2835 | | - self.check("provisioningState", "Succeeded"), |
2836 | | - self.check("enableFips", False), |
2837 | | - ], |
| 2814 | + # nodepool update with kata |
| 2815 | + update_cmd = ( |
| 2816 | + "aks nodepool add --cluster-name={name} --resource-group={resource_group} " |
| 2817 | + "--name={node_pool_name_second} --os-sku AzureLinux " |
| 2818 | + "--workload-runtime KataVmIsolation --node-vm-size Standard_D4s_v3" |
2838 | 2819 | ) |
2839 | 2820 |
|
2840 | | - # update nodepool2 to enable |
2841 | 2821 | self.cmd( |
2842 | | - "aks nodepool update --resource-group={resource_group} --cluster-name={name} --name={node_pool_name_second} " |
2843 | | - "--nodepool-name {node_pool_name} --os-sku AzureLinux --node-count 1 --workload-runtime KataVmIsolation " |
2844 | | - "--vm-size Standard_D4s_v3" |
2845 | | - # '--aks-custom-headers AKSHTTPCustomFeatures=Microsoft.ContainerService/MutableFipsPreview ' |
2846 | | - # "--enable-fips-image", |
| 2822 | + update_cmd, |
2847 | 2823 | checks=[ |
2848 | 2824 | self.check("provisioningState", "Succeeded"), |
2849 | | - self.check("enableFips", True), |
| 2825 | + self.check("workloadRuntime", "KataVmIsolation"), |
2850 | 2826 | ], |
2851 | 2827 | ) |
2852 | 2828 |
|
|
0 commit comments