-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Describe the bug
Fleet hub test in Fleet extension failing with error trace : cmd = <azure.cli.core.commands.AzCliCommand object at 0x7f2e41937d40>
client = <azext_fleet.vendored_sdks.v2025_04_01_preview.operations._operations.FleetsOperations object at 0x7f2e418fd9d0>
resource_group_name = 'cli-000001', name = 'fl-000002', location = 'westus', tags = None, enable_hub = True
vm_size = 'Standard_A8_v2', dns_name_prefix = None, enable_private_cluster = False, enable_vnet_integration = False
apiserver_subnet_id = None, agent_subnet_id = None, enable_managed_identity = False, assign_identity = None
no_wait = False
def create_fleet(cmd,
client,
resource_group_name,
name,
location=None,
tags=None,
enable_hub=False,
vm_size=None,
dns_name_prefix=None,
enable_private_cluster=False,
enable_vnet_integration=False,
apiserver_subnet_id=None,
agent_subnet_id=None,
enable_managed_identity=False,
assign_identity=None,
no_wait=False):
fleet_model = cmd.get_models(
"Fleet",
resource_type=CUSTOM_MGMT_FLEET,
operation_group="fleets"
)
poll_interval = 5
if enable_hub:
poll_interval = 30
fleet_hub_profile_model = cmd.get_models(
"FleetHubProfile",
resource_type=CUSTOM_MGMT_FLEET,
operation_group="fleets"
)
api_server_access_profile_model = cmd.get_models(
"APIServerAccessProfile",
resource_type=CUSTOM_MGMT_FLEET,
operation_group="fleets"
)
agent_profile_model = cmd.get_models(
"AgentProfile",
resource_type=CUSTOM_MGMT_FLEET,
operation_group="fleets",
)
api_server_access_profile = api_server_access_profile_model(
enable_private_cluster=enable_private_cluster,
enable_vnet_integration=enable_vnet_integration,
subnet_id=apiserver_subnet_id
)
agent_profile = agent_profile_model(
subnet_id=agent_subnet_id,
vm_size=vm_size
)
fleet_hub_profile = fleet_hub_profile_model(
dns_prefix=dns_name_prefix,
api_server_access_profile=api_server_access_profile,
agent_profile=agent_profile)
else:
if dns_name_prefix is not None or \
enable_private_cluster or \
enable_vnet_integration or \
apiserver_subnet_id is not None or \
agent_subnet_id is not None:
raise CLIError(
"The parameters for private cluster, vnet & subnet integration are only valid if hub is enabled.")
fleet_hub_profile = None
fleet_managed_service_identity_model = cmd.get_models(
"ManagedServiceIdentity",
resource_type=CUSTOM_MGMT_FLEET,
operation_group="fleets"
)
managed_service_identity = fleet_managed_service_identity_model(type="None")
if enable_managed_identity:
managed_service_identity.type = "SystemAssigned"
if assign_identity is not None:
user_assigned_identity_model = cmd.get_models(
"UserAssignedIdentity",
resource_type=CUSTOM_MGMT_FLEET,
operation_group="fleets"
)
managed_service_identity.type = "UserAssigned"
managed_service_identity.user_assigned_identities = {assign_identity: user_assigned_identity_model()}
elif assign_identity is not None:
raise CLIError("Cannot assign identity without enabling managed identity.")
fleet_properties = cmd.get_models(
"FleetProperties",
resource_type=CUSTOM_MGMT_FLEET,
operation_group="fleets"
)()
if fleet_hub_profile:
fleet_properties.hub_profile = fleet_hub_profile
fleet = fleet_model(
location=location,
tags=tags,
properties=fleet_properties,
identity=managed_service_identity
)
if enable_private_cluster:
assign_network_contributor_role_to_subnet(cmd, agent_subnet_id)
return sdk_no_wait(no_wait,
client.begin_create_or_update,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
resource_group_name,
name,
fleet,
polling_interval=poll_interval)
E AttributeError: 'FleetsOperations' object has no attribute 'begin_create_or_update'
../../custom.py:127: AttributeError
- generated xml file: /home/audrastump/.azdev/env_config/home/audrastump/go/src/go.goms.io/azure-cli-extensions/env/test_results.xml -
============================================== short test summary info ==============================================
FAILED test_fleet_hubful_scenario.py::FleetHubfulScenarioTest::test_fleet_hubful
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! stopping after 1 failures !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! xdist.dsession.Interrupted: stopping after 1 failures !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
=========================================== 1 failed, 26 passed in 4.62s ============================================
Related command
Fleet unit tests
Errors
cmd = <azure.cli.core.commands.AzCliCommand object at 0x7f2e41937d40>
client = <azext_fleet.vendored_sdks.v2025_04_01_preview.operations._operations.FleetsOperations object at 0x7f2e418fd9d0>
resource_group_name = 'cli-000001', name = 'fl-000002', location = 'westus', tags = None, enable_hub = True
vm_size = 'Standard_A8_v2', dns_name_prefix = None, enable_private_cluster = False, enable_vnet_integration = False
apiserver_subnet_id = None, agent_subnet_id = None, enable_managed_identity = False, assign_identity = None
no_wait = False
def create_fleet(cmd,
client,
resource_group_name,
name,
location=None,
tags=None,
enable_hub=False,
vm_size=None,
dns_name_prefix=None,
enable_private_cluster=False,
enable_vnet_integration=False,
apiserver_subnet_id=None,
agent_subnet_id=None,
enable_managed_identity=False,
assign_identity=None,
no_wait=False):
fleet_model = cmd.get_models(
"Fleet",
resource_type=CUSTOM_MGMT_FLEET,
operation_group="fleets"
)
poll_interval = 5
if enable_hub:
poll_interval = 30
fleet_hub_profile_model = cmd.get_models(
"FleetHubProfile",
resource_type=CUSTOM_MGMT_FLEET,
operation_group="fleets"
)
api_server_access_profile_model = cmd.get_models(
"APIServerAccessProfile",
resource_type=CUSTOM_MGMT_FLEET,
operation_group="fleets"
)
agent_profile_model = cmd.get_models(
"AgentProfile",
resource_type=CUSTOM_MGMT_FLEET,
operation_group="fleets",
)
api_server_access_profile = api_server_access_profile_model(
enable_private_cluster=enable_private_cluster,
enable_vnet_integration=enable_vnet_integration,
subnet_id=apiserver_subnet_id
)
agent_profile = agent_profile_model(
subnet_id=agent_subnet_id,
vm_size=vm_size
)
fleet_hub_profile = fleet_hub_profile_model(
dns_prefix=dns_name_prefix,
api_server_access_profile=api_server_access_profile,
agent_profile=agent_profile)
else:
if dns_name_prefix is not None or \
enable_private_cluster or \
enable_vnet_integration or \
apiserver_subnet_id is not None or \
agent_subnet_id is not None:
raise CLIError(
"The parameters for private cluster, vnet & subnet integration are only valid if hub is enabled.")
fleet_hub_profile = None
fleet_managed_service_identity_model = cmd.get_models(
"ManagedServiceIdentity",
resource_type=CUSTOM_MGMT_FLEET,
operation_group="fleets"
)
managed_service_identity = fleet_managed_service_identity_model(type="None")
if enable_managed_identity:
managed_service_identity.type = "SystemAssigned"
if assign_identity is not None:
user_assigned_identity_model = cmd.get_models(
"UserAssignedIdentity",
resource_type=CUSTOM_MGMT_FLEET,
operation_group="fleets"
)
managed_service_identity.type = "UserAssigned"
managed_service_identity.user_assigned_identities = {assign_identity: user_assigned_identity_model()}
elif assign_identity is not None:
raise CLIError("Cannot assign identity without enabling managed identity.")
fleet_properties = cmd.get_models(
"FleetProperties",
resource_type=CUSTOM_MGMT_FLEET,
operation_group="fleets"
)()
if fleet_hub_profile:
fleet_properties.hub_profile = fleet_hub_profile
fleet = fleet_model(
location=location,
tags=tags,
properties=fleet_properties,
identity=managed_service_identity
)
if enable_private_cluster:
assign_network_contributor_role_to_subnet(cmd, agent_subnet_id)
return sdk_no_wait(no_wait,
client.begin_create_or_update,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
resource_group_name,
name,
fleet,
polling_interval=poll_interval)
E AttributeError: 'FleetsOperations' object has no attribute 'begin_create_or_update'
../../custom.py:127: AttributeError
- generated xml file: /home/audrastump/.azdev/env_config/home/audrastump/go/src/go.goms.io/azure-cli-extensions/env/test_results.xml -
============================================== short test summary info ==============================================
FAILED test_fleet_hubful_scenario.py::FleetHubfulScenarioTest::test_fleet_hubful
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! stopping after 1 failures !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! xdist.dsession.Interrupted: stopping after 1 failures !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
=========================================== 1 failed, 26 passed in 4.62s ============================================
Issue script & Debug output
Unit tests should all pass when creating python venv:
To test
- python3 -m venv env
source env/bin/activate
-
Install pip and azdev
pip install --upgrade pip
pip install azdev
-
Navigate to azure-cli-extensions directory
cd azure-cli-extensions
Setup azdev with both repositories
azdev setup -c /path/to/azure-cli -r /path/to/azure-cli-extensions -e fleet
then azdev linter fleet
then azdev test fleet
Expected behavior
Unit tests should all pass when creating python venv:
To test
- python3 -m venv env
source env/bin/activate
-
Install pip and azdev
pip install --upgrade pip
pip install azdev
-
Navigate to azure-cli-extensions directory
cd azure-cli-extensions
Setup azdev with both repositories
azdev setup -c /path/to/azure-cli -r /path/to/azure-cli-extensions -e fleet
then azdev linter fleet
then azdev test fleet
Environment Summary
N/A
Additional context
No response