Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Add autoosupgrade tests
- Remove application package test
- add sleep for timeout error
  • Loading branch information
cRui861 committed Mar 22, 2024
commit 38f756ef0e514fe36fba9e0faa72972de6318fc1
70 changes: 50 additions & 20 deletions sdk/batch/azure-batch/tests/test_batch.py
Original file line number Diff line number Diff line change
Expand Up @@ -255,25 +255,6 @@ def test_batch_create_pools(self, **kwargs):
assert disk_pool.virtual_machine_configuration.data_disks[0].lun == 1
assert disk_pool.virtual_machine_configuration.data_disks[0].disk_size_gb == 50

# Test Create Pool with Application Licenses
test_app_pool = models.PoolAddParameter(
id=self.get_resource_name('batch_app_'),
vm_size=DEFAULT_VM_SIZE,
application_licenses=["maya"],
virtual_machine_configuration=models.VirtualMachineConfiguration(
image_reference=models.ImageReference(
publisher='Canonical',
offer='UbuntuServer',
sku='18.04-LTS'
),
node_agent_sku_id='batch.node.ubuntu 18.04',
data_disks=[data_disk])
)
response = client.pool.add(test_app_pool)
assert response is None
app_pool = client.pool.get(test_app_pool.id)
assert app_pool.application_licenses[0] == "maya"

# Test Create Pool with Azure Disk Encryption
test_ade_pool = models.PoolAddParameter(
id=self.get_resource_name('batch_ade_'),
Expand Down Expand Up @@ -376,6 +357,52 @@ def test_batch_create_pools(self, **kwargs):
assert osdisk_pool.virtual_machine_configuration.os_disk.managed_disk.storage_account_type == "premium_lrs"
assert osdisk_pool.virtual_machine_configuration.os_disk.disk_size_gb == 10


# Test Create Pool with Upgrade Policy
test_upgradepolicy_pool = models.PoolAddParameter(
id=self.get_resource_name('batch_upgradepolicy_'),
vm_size='standard_d2s_v3',
virtual_machine_configuration=models.VirtualMachineConfiguration(
image_reference=models.ImageReference(
publisher='Canonical',
offer='UbuntuServer',
sku='18.04-LTS'
),
node_placement_configuration=models.NodePlacementConfiguration(
policy=models.NodePlacementPolicyType.zonal
),
node_agent_sku_id='batch.node.ubuntu 18.04'
),
upgrade_policy=models.UpgradePolicy(
mode=models.UpgradeMode.automatic,
automatic_os_upgrade_policy=models.AutomaticOSUpgradePolicy(
disable_automatic_rollback=True,
enable_automatic_os_upgrade=True,
use_rolling_upgrade_policy=True,
os_rolling_upgrade_deferral=True
),
rolling_upgrade_policy=models.RollingUpgradePolicy(
enable_cross_zone_upgrade=True,
max_batch_instance_percent=20,
max_unhealthy_instance_percent=20,
max_unhealthy_upgraded_instance_percent=20,
pause_time_between_batches=datetime.timedelta(seconds=5),
prioritize_unhealthy_instances=False,
rollback_failed_instances_on_policy_breach=False
)
)
)

response = client.pool.add(test_upgradepolicy_pool)
assert response is None
upgradepolicy_pool = client.pool.get(test_upgradepolicy_pool.id)
upgradepolicy_details = upgradepolicy_pool.upgrade_policy
assert upgradepolicy_details.mode == "automatic"
assert upgradepolicy_details.automatic_os_upgrade_policy.disable_automatic_rollback is True
assert upgradepolicy_details.automatic_os_upgrade_policy.enable_automatic_os_upgrade is True
assert upgradepolicy_details.rolling_upgrade_policy.enable_cross_zone_upgrade is True
assert upgradepolicy_details.rolling_upgrade_policy.max_batch_instance_percent == 20

# Test List Pools without Filters
pools = list(client.pool.list())
assert len(pools) > 1
Expand All @@ -388,7 +415,7 @@ def test_batch_create_pools(self, **kwargs):

# Test List Pools with Filter
options = models.PoolListOptions(
filter='startswith(id,\'batch_app_\')',
filter='startswith(id,\'batch_disk_\')',
select='id,state',
expand='stats')
pools = list(client.pool.list(options))
Expand Down Expand Up @@ -503,6 +530,9 @@ def test_batch_update_pools(self, **kwargs):
@AccountPreparer(location=AZURE_LOCATION, batch_environment=BATCH_ENVIRONMENT)
@PoolPreparer(location=AZURE_LOCATION)
def test_batch_scale_pools(self, **kwargs):

time.sleep(10) # temporary fix for timeout issue

batch_pool = kwargs.pop("batch_pool")
client = self.create_sharedkey_client(**kwargs)
# Test Enable Autoscale
Expand Down