[Compute] `az vmss scale`: Add new logic to support scaling VMSS in edge zone (#30704)

This commit is contained in:
Jing-song 2025-01-23 16:59:23 +08:00 коммит произвёл GitHub
Родитель afb9602847
Коммит 61b92eec28
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: B5690EEEBB952194
3 изменённых файлов: 1461 добавлений и 0 удалений

Просмотреть файл

@ -3940,6 +3940,8 @@ def scale_vmss(cmd, resource_group_name, vm_scale_set_name, new_capacity, no_wai
vmss.sku.capacity = new_capacity
vmss_new = VirtualMachineScaleSet(location=vmss.location, sku=vmss.sku)
if vmss.extended_location is not None:
vmss_new.extended_location = vmss.extended_location
return sdk_no_wait(no_wait, client.virtual_machine_scale_sets.begin_create_or_update,
resource_group_name, vm_scale_set_name, vmss_new)

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Просмотреть файл

@ -4170,6 +4170,29 @@ class VMSSCreateAndModify(ScenarioTest):
self.check('scaleInPolicy.forceDeletion', True)
])
@ResourceGroupPreparer(name_prefix='cli_test_vmss_scale_extended_location', location='westus')
def test_vmss_scale_extended_location(self, resource_group):
self.kwargs.update({
'nsg': self.create_random_name('nsg', 10),
'ssh_key': TEST_SSH_KEY_PUB,
'vmss': self.create_random_name('vmss', 15)
})
self.cmd('network nsg create -g {rg} -n {nsg}')
self.cmd('vmss create -n {vmss} -g {rg} --image OpenLogic:CentOS:7.7:latest --admin-username clittester --lb-sku standard --public-ip-per-vm --dns-servers 10.0.0.6 10.0.0.5 --nsg {nsg} --admin-username vmsstest --admin-password Test123456789# --orchestration-mode Uniform -l westus --edge-zone losangeles')
self.cmd('vmss show -n {vmss} -g {rg}', checks=[
self.check('extendedLocation.name', 'losangeles'),
self.check('sku.capacity', 2)
])
self.cmd('vmss scale -n {vmss} -g {rg} --new-capacity 5', checks=[
self.check('extendedLocation.name', 'losangeles'),
self.check('extendedLocation.type', 'EdgeZone'),
])
self.cmd('vmss show -n {vmss} -g {rg}', checks=[
self.check('extendedLocation.name', 'losangeles'),
self.check('extendedLocation.type', 'EdgeZone'),
self.check('sku.capacity', 5)
])
class VMSSCreateOptions(ScenarioTest):