Skip to content
Merged
12 changes: 11 additions & 1 deletion src/azure-cli/azure/cli/command_modules/acs/_format.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,12 +48,22 @@ def aks_machine_list_table_format(results):
def aks_machine_show_table_format(result):
def parser(entry):
ip_addresses = ""
if isinstance(entry["zones"], list):
zones = ', '.join(part.strip() for part in entry["zones"] if part and part.strip())
elif isinstance(entry["zones"], str):
# If it's a single string, just use it directly
zones = entry["zones"].strip()
else:
# Handle empty or None case
zones = ""

Comment thread
skuchipudi295 marked this conversation as resolved.
Outdated
for k in entry["properties"]["network"]["ipAddresses"]:
ip_addresses += "ip:" + k["ip"] + "," + "family:" + k["family"] + ";"
entry["ip"] = ip_addresses
parsed = compile_jmes("""{
name: name,
ip: ip
ip: ip,
zones: zones,
}""")
return parsed.search(entry, Options(dict_cls=OrderedDict))
return parser(result)
Expand Down
10 changes: 5 additions & 5 deletions src/azure-cli/azure/cli/command_modules/acs/_help.py
Original file line number Diff line number Diff line change
Expand Up @@ -2583,9 +2583,9 @@
- name: --nodepool-name
type: string
short-summary: Name of the agentpool of a managed cluster
exmaples:
- name: Get information about IP Addresses, Hostname for all machines in an agentpool
text: az aks machine list --cluster-name <clusterName> --nodepool-name <apName>
examples:
- name: Get information about IP Addresses, Hostname, Availability Zones for all machines in an agentpool
text: az aks machine list --resource-group <rg> --cluster-name <clusterName> --nodepool-name <apName>
"""
helps['aks machine show'] = """
type: command
Expand All @@ -2601,6 +2601,6 @@
type: string
short-summary: Name of the machine in the agentpool of a managed cluster
exmaples:
Comment thread
skuchipudi295 marked this conversation as resolved.
- name: Get IP Addresses, Hostname for a specific machine in an agentpool
text: az aks machine show --cluster-name <clusterName> --nodepool-name <apName> --machine-name <machineName>
- name: Get IP Addresses, Hostname, Availability Zones for a specific machine in an agentpool
text: az aks machine show --resource-group <rg> --cluster-name <clusterName> --nodepool-name <apName> --machine-name <machineName>
"""
Original file line number Diff line number Diff line change
Expand Up @@ -2165,10 +2165,11 @@ def test_aks_machine_cmds(self, resource_group, resource_group_location):
self.kwargs.update({
'resource_group': resource_group,
'name': aks_name,
'ssh_key_value': self.generate_ssh_keys()
'ssh_key_value': self.generate_ssh_keys(),
'zones': "1 2 3"
})
create_cmd = 'aks create --resource-group={resource_group} --name={name} --enable-managed-identity ' \
'--ssh-key-value={ssh_key_value} -o json'
'--ssh-key-value={ssh_key_value} --zones {zones} -o json'
self.cmd(create_cmd, checks=[
self.check('provisioningState', 'Succeeded'),
self.check('addonProfiles.openServiceMesh', None),
Expand All @@ -2179,12 +2180,13 @@ def test_aks_machine_cmds(self, resource_group, resource_group_location):
'name': aks_name,
'node_pool_name': node_pool_name,
'ssh_key_value': self.generate_ssh_keys(),
'zones': "1 2 3"
})
# add nodepool
self.cmd('aks nodepool add ' \
' --resource-group={resource_group} ' \
' --cluster-name={name} ' \
' --name={node_pool_name} --node-count=2', checks=[
' --name={node_pool_name} --node-count=2 --zones {zones}', checks=[
self.check('provisioningState', 'Succeeded')
])
list_cmd = 'aks machine list ' \
Expand All @@ -2194,6 +2196,7 @@ def test_aks_machine_cmds(self, resource_group, resource_group_location):
assert len(machine_list) == 2
aks_machine_list_table_format(machine_list)
machine_name = machine_list[0]["name"]
assert len(machine_list[0]["zones"]) != 0
self.kwargs.update({
'resource_group': resource_group,
'name': aks_name,
Expand All @@ -2206,6 +2209,7 @@ def test_aks_machine_cmds(self, resource_group, resource_group_location):
'--nodepool-name={node_pool_name} --machine-name={machine_name} -o json'
machine_show = self.cmd(show_cmd).get_output_in_json()
assert machine_show["name"] == machine_name
assert len(machine_show["zones"]) != 0

@AllowLargeResponse()
@AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2')
Expand Down
Loading