From c87021b73f316ecdbfa5d9c1c03b42147c91ca01 Mon Sep 17 00:00:00 2001 From: Julien Stroheker Date: Thu, 20 Sep 2018 18:45:00 -0400 Subject: [PATCH 01/19] Add OSA create show delete scale --- .../azure/cli/testsdk/__init__.py | 4 +- .../azure/cli/testsdk/preparers.py | 39 ++ .../command_modules/acs/_client_factory.py | 9 + .../azure/cli/command_modules/acs/_help.py | 70 +++ .../azure/cli/command_modules/acs/_params.py | 16 + .../azure/cli/command_modules/acs/commands.py | 16 + .../azure/cli/command_modules/acs/custom.py | 114 +++++ ...test_openshift_create_default_service.yaml | 450 ++++++++++++++++++ ...test_openshift_create_service_no_wait.yaml | 416 ++++++++++++++++ .../acs/tests/latest/test_osa_commands.py | 117 +++++ 10 files changed, 1249 insertions(+), 2 deletions(-) create mode 100644 src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/tests/latest/recordings/test_openshift_create_default_service.yaml create mode 100644 src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/tests/latest/recordings/test_openshift_create_service_no_wait.yaml create mode 100644 src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/tests/latest/test_osa_commands.py diff --git a/src/azure-cli-testsdk/azure/cli/testsdk/__init__.py b/src/azure-cli-testsdk/azure/cli/testsdk/__init__.py index fa6db78d5cf..78934bcbc93 100644 --- a/src/azure-cli-testsdk/azure/cli/testsdk/__init__.py +++ b/src/azure-cli-testsdk/azure/cli/testsdk/__init__.py @@ -7,7 +7,7 @@ from .base import ScenarioTest, LiveScenarioTest from .preparers import (StorageAccountPreparer, ResourceGroupPreparer, RoleBasedServicePrincipalPreparer, - KeyVaultPreparer) + ManagedApplicationPreparer, KeyVaultPreparer) from .exceptions import CliTestError from .checkers import (JMESPathCheck, JMESPathCheckExists, JMESPathCheckGreaterThan, NoneCheck, StringCheck, StringContainCheck) @@ -15,7 +15,7 @@ from .utilities import create_random_name __all__ = ['ScenarioTest', 'LiveScenarioTest', 'ResourceGroupPreparer', 'StorageAccountPreparer', - 'RoleBasedServicePrincipalPreparer', 'CliTestError', 'JMESPathCheck', 'JMESPathCheckExists', 'NoneCheck', + 'RoleBasedServicePrincipalPreparer', 'ManagedApplicationPreparer', 'CliTestError', 'JMESPathCheck', 'JMESPathCheckExists', 'NoneCheck', 'live_only', 'record_only', 'StringCheck', 'StringContainCheck', 'get_sha1_hash', 'KeyVaultPreparer', 'JMESPathCheckGreaterThan', 'api_version_constraint', 'create_random_name'] diff --git a/src/azure-cli-testsdk/azure/cli/testsdk/preparers.py b/src/azure-cli-testsdk/azure/cli/testsdk/preparers.py index 88357d81265..3dc6ba3354f 100644 --- a/src/azure-cli-testsdk/azure/cli/testsdk/preparers.py +++ b/src/azure-cli-testsdk/azure/cli/testsdk/preparers.py @@ -173,6 +173,45 @@ def remove_resource(self, name, **kwargs): if not self.dev_setting_sp_name: execute(self.cli_ctx, 'az ad sp delete --id {}'.format(self.result['appId'])) +# Managed Application preparer + +# pylint: disable=too-many-instance-attributes +class ManagedApplicationPreparer(AbstractPreparer, SingleValueReplacer): + def __init__(self, name_prefix='clitest', parameter_name='aad_client_app_id', + parameter_secret='aad_client_app_secret', app_name='app_name', + parameter_tenant='aad_tenant_id', + dev_setting_app_name='AZURE_CLI_TEST_DEV_APP_NAME', + dev_setting_app_secret='AZURE_CLI_TEST_DEV_APP_SECRET', + dev_setting_app_tenant='AZURE_CLI_TEST_DEV_APP_TENANT', + key='app'): + super(ManagedApplicationPreparer, self).__init__(name_prefix, 24) + self.cli_ctx = get_dummy_cli() + self.parameter_name = parameter_name + self.parameter_secret = parameter_secret + self.parameter_tenant = parameter_tenant + self.result = {} + self.app_name=app_name + self.dev_setting_app_name = os.environ.get(dev_setting_app_name, None) + self.dev_setting_app_secret = os.environ.get(dev_setting_app_secret, None) + self.dev_setting_app_tenant = os.environ.get(dev_setting_app_tenant, None) + self.key = key + + def create_resource(self, name, **kwargs): + if not self.dev_setting_app_name: + template = 'az ad app create --display-name {} --key-type Password --password {} --identifier-uris http://microsoft.onmicrosoft.com/{}' + self.result = execute(self.cli_ctx, template.format(name,name,name)).get_output_in_json() + self.test_class_instance.kwargs[self.key] = name + # The slice is the easiest way for know to return the Teanant from the same command + return {self.parameter_name: self.result['appId'], self.parameter_secret: name, + self.parameter_tenant: self.result['odata.metadata'][26:62]} + self.test_class_instance.kwargs[self.key] = name + return {self.parameter_name: self.dev_setting_sp_name, + self.parameter_secret: self.dev_setting_app_secret, + self.parameter_tenant: self.dev_setting_app_tenant} + + def remove_resource(self, name, **kwargs): + if not self.dev_setting_app_name: + execute(self.cli_ctx, 'az ad app delete --id {}'.format(self.result['appId'])) # Utility diff --git a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_client_factory.py b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_client_factory.py index 5c70f70ffa0..e01471a34ba 100644 --- a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_client_factory.py +++ b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_client_factory.py @@ -19,6 +19,10 @@ def cf_managed_clusters(cli_ctx, *_): return get_container_service_client(cli_ctx).managed_clusters +def cf_openshift_managed_clusters(cli_ctx, *_): + return get_osa_container_service_client(cli_ctx).open_shift_managed_clusters + + def cf_resource_groups(cli_ctx, subscription_id=None): return get_mgmt_service_client(cli_ctx, ResourceType.MGMT_RESOURCE_RESOURCES, subscription_id=subscription_id).resource_groups @@ -45,6 +49,11 @@ def get_container_service_client(cli_ctx, **_): return get_mgmt_service_client(cli_ctx, ContainerServiceClient) +def get_osa_container_service_client(cli_ctx, **_): + from azure.mgmt.containerservice import ContainerServiceClient + + return get_mgmt_service_client(cli_ctx, ContainerServiceClient) + def get_graph_rbac_management_client(cli_ctx, **_): from azure.cli.core.commands.client_factory import configure_common_settings diff --git a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_help.py b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_help.py index 43a21b3398b..f3e5c780092 100644 --- a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_help.py +++ b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_help.py @@ -526,3 +526,73 @@ text: |- az aks wait -g MyResourceGroup -n MyManagedCluster --updated --interval 60 --timeout 1800 """ + +# OpenShift command help + +helps['openshift'] = """ + type: group + short-summary: Manage Azure OpenShift Services. +""" + +helps['openshift create'] = """ + type: command + short-summary: Create a new managed OpenShift cluster. + parameters: + - name: --node-vm-size -s + type: string + short-summary: Size of Virtual Machines to create as OpenShift nodes. + - name: --node-count -c + type: int + short-summary: Number of nodes in the OpenShift node pool. + - name: --fqdn + type: string + short-summary: FQDN for OpenShift API server loadbalancer internal hostname. For example + myopenshiftcluster.eastus.cloudapp.azure.com + - name: --aad-client-app-id + type: string + short-summary: The ID of an Azure Active Directory client application of type "Native". + - name: --aad-client-app-secret + type: string + short-summary: The secret of an Azure Active Directory client application. + - name: --aad-tenant-id + type: string + short-summary: The ID of an Azure Active Directory tenant. + + examples: + - name: Create an OpenShift cluster. + text: az openshift create -g MyResourceGroup -n MyManagedCluster --fqdn + --aad-client-app-id --aad-client-app-secret --aad-tenant-id + - name: Create an OpenShift cluster with 5 compute nodes. + text: az openshift create -g MyResourceGroup -n MyManagedCluster --fqdn + --aad-client-app-id --aad-client-app-secret --aad-tenant-id --node-count 5 +""" + +helps['openshift scale'] = """ + type: command + short-summary: Scale the compute pool in a managed OpenShift cluster. + parameters: + - name: --node-count -c + type: int + short-summary: Number of nodes in the OpenShift compute pool. +""" + +helps['openshift show'] = """ + type: command + short-summary: Show the details for a managed OpenShift cluster. +""" + +helps['openshift delete'] = """ + type: command + short-summary: Delete a managed OpenShift cluster. +""" + +helps['openshift wait'] = """ + type: command + short-summary: Wait for a managed OpenShift cluster to reach a desired state. + long-summary: If an operation on a cluster was interrupted or was started with `--no-wait`, use this command to + wait for it to complete. + examples: + - name: Wait for a cluster to be upgraded, polling every minute for up to thirty minutes. + text: |- + az openshift wait -g MyResourceGroup -n MyManagedCluster --updated --interval 60 --timeout 1800 +""" \ No newline at end of file diff --git a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_params.py b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_params.py index 520eb6d1002..899b4ec5b6a 100644 --- a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_params.py +++ b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_params.py @@ -228,6 +228,22 @@ def load_arguments(self, _): with self.argument_context('aks remove-dev-spaces') as c: c.argument('prompt', options_list=['--yes', '-y'], action='store_true', help='Do not prompt for confirmation') + # OpenShift command argument configuration + with self.argument_context('openshift') as c: + c.argument('resource_name', name_type, help='Name of the managed OpenShift cluster.', + completer=get_resource_name_completion_list('Microsoft.ContainerService/OpenShiftManagedClusters')) + c.argument('name', name_type, help='Name of the managed OpenShift cluster.', + completer=get_resource_name_completion_list('Microsoft.ContainerService/OpenShiftManagedClusters')) + c.argument('node_count', options_list=['--node-count', '-c'], type=int, default=4) + c.argument('tags', tags_type) + + with self.argument_context('openshift create') as c: + c.argument('name', validator=validate_linux_host_name) + c.argument('node_vm_size', options_list=['--node-vm-size', '-s']) + c.argument('fqdn') + c.argument('aad_client_app_id') + c.argument('aad_client_app_secret') + c.argument('aad_tenant_id') def _get_default_install_location(exe_name): system = platform.system() diff --git a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/commands.py b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/commands.py index 587c622c097..a89737fdd4a 100644 --- a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/commands.py +++ b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/commands.py @@ -8,6 +8,7 @@ from ._client_factory import cf_container_services from ._client_factory import cf_managed_clusters +from ._client_factory import cf_openshift_managed_clusters from ._format import aks_list_table_format from ._format import aks_show_table_format from ._format import aks_upgrades_table_format @@ -28,6 +29,12 @@ def load_command_table(self, _): client_factory=cf_managed_clusters ) + openshift_managed_clusters_sdk = CliCommandType( + operations_tmpl='azure.mgmt.containerservice.operations.' + 'open_shift_managed_clusters_operations#OpenShiftManagedClustersOperations.{}', + client_factory=cf_openshift_managed_clusters + ) + # ACS base commands with self.command_group('acs', container_services_sdk, client_factory=cf_container_services) as g: g.custom_command('browse', 'acs_browse') @@ -76,3 +83,12 @@ def load_command_table(self, _): with self.command_group('aks', container_services_sdk, client_factory=cf_container_services) as g: g.custom_command('get-versions', 'aks_get_versions', table_transformer=aks_versions_table_format) + + # OSA commands + with self.command_group('openshift', openshift_managed_clusters_sdk, client_factory=cf_openshift_managed_clusters) as g: + g.custom_command('create', 'openshift_create', supports_no_wait=True) + g.command('delete', 'delete', supports_no_wait=True, confirmation=True) + g.custom_command('scale', 'openshift_scale', supports_no_wait=True) + g.custom_show_command('show', 'openshift_show') + g.wait_command('wait') + diff --git a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/custom.py b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/custom.py index 42d9bd1ab79..9c406fd633d 100644 --- a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/custom.py +++ b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/custom.py @@ -56,6 +56,17 @@ from azure.mgmt.containerservice.models import ManagedClusterAADProfile from azure.mgmt.containerservice.models import ManagedClusterAddonProfile from azure.mgmt.containerservice.models import ManagedClusterAgentPoolProfile +from azure.mgmt.containerservice.models import OpenShiftManagedClusterAgentPoolProfile +from azure.mgmt.containerservice.models import OSType +from azure.mgmt.containerservice.models import OpenShiftAgentPoolProfileRole +from azure.mgmt.containerservice.models import OpenShiftManagedClusterIdentityProviders +from azure.mgmt.containerservice.models import OpenShiftManagedClusterServiceAADIdentityProvider +from azure.mgmt.containerservice.models import OpenShiftManagedCluster +from azure.mgmt.containerservice.models import OpenShiftManagedClusterMasterPoolProfile +from azure.mgmt.containerservice.models import OpenShiftContainerServiceVMSize +from azure.mgmt.containerservice.models import OpenShiftRouterProfile +from azure.mgmt.containerservice.models import OpenShiftManagedClusterAuthProfile + from ._client_factory import cf_container_services from ._client_factory import cf_resource_groups from ._client_factory import get_auth_management_client @@ -2153,3 +2164,106 @@ def _validate_aci_location(norm_location): if norm_location not in aci_locations: raise CLIError('Azure Container Instance is not available at location "{}".'.format(norm_location) + ' The available locations are "{}"'.format(','.join(aci_locations))) + + +def openshift_create(cmd, client, resource_group_name, name, # pylint: disable=too-many-locals + location=None, + node_vm_size="Standard_D4s_v3", + node_count=3, + fqdn='', + aad_client_app_id=None, + aad_client_app_secret=None, + aad_tenant_id=None, + tags=None, + no_wait=False): + + subscription_id = _get_subscription_id(cmd.cli_ctx) + + rg_location = _get_rg_location(cmd.cli_ctx, resource_group_name) + if location is None: + location = rg_location + + agent_pool_profiles = [] + agent_node_pool_profile = OpenShiftManagedClusterAgentPoolProfile( + name='compute', # Must be 12 chars or less before ACS RP adds to it + count=int(node_count), + vm_size=node_vm_size, + os_type="Linux", + role=OpenShiftAgentPoolProfileRole.compute + ) + + agent_infra_pool_profile = OpenShiftManagedClusterAgentPoolProfile( + name='infra', # Must be 12 chars or less before ACS RP adds to it + count=int(2), + vm_size="Standard_D4s_v3", + os_type="Linux", + role=OpenShiftAgentPoolProfileRole.infra + ) + + agent_pool_profiles.append(agent_node_pool_profile) + agent_pool_profiles.append(agent_infra_pool_profile) + + agent_master_pool_profile = OpenShiftManagedClusterAgentPoolProfile( + name='master', # Must be 12 chars or less before ACS RP adds to it + count=int(3), + vm_size="Standard_D2s_v3", + os_type="Linux" + ) + identity_providers = [] + + if any([aad_client_app_id, aad_client_app_secret, aad_tenant_id]): + identity_providers.append( + OpenShiftManagedClusterIdentityProviders( + name='Azure AD', + provider=OpenShiftManagedClusterServiceAADIdentityProvider( + kind='AADIdentityProvider', + client_id=aad_client_app_id, + secret=aad_client_app_secret, + tenant_id=aad_tenant_id + ) + ) + ) + auth_profile=OpenShiftManagedClusterAuthProfile(identity_providers=identity_providers) + + default_router_profile=OpenShiftRouterProfile(name='default') + + osamc = OpenShiftManagedCluster( + location=location, tags=tags, + open_shift_version="v3.10", + fqdn=fqdn, + auth_profile=auth_profile, + agent_pool_profiles=agent_pool_profiles, + master_pool_profile=agent_master_pool_profile, + router_profiles=[default_router_profile]) + + # We don't creating the AADIdentity for the user right now but maybe later so keeping this + # Keeping this Due to SPN replication latency, we do a few retries here + max_retry = 30 + retry_exception = Exception(None) + for _ in range(0, max_retry): + try: + # long_running_operation_timeout=300 + return sdk_no_wait(no_wait, client.create_or_update, + resource_group_name=resource_group_name, resource_name=name, parameters=osamc) + except CloudError as ex: + retry_exception = ex + if 'not found in Active Directory tenant' in ex.message: + time.sleep(3) + else: + raise ex + raise retry_exception + +def openshift_show(cmd, client, resource_group_name, name): + mc = client.get(resource_group_name, name) + return [mc][0] + +def openshift_scale(cmd, client, resource_group_name, name, node_count, no_wait=False): + instance = client.get(resource_group_name, name) + # TODO: change this approach when we support multiple agent pools. + instance.agent_pool_profiles[0].count = int(node_count) # pylint: disable=no-member + + # null out the AAD profile and add manually the masterAP name because otherwise validation complains + instance.master_pool_profile.name = "master" + instance.auth_profile = None + + return sdk_no_wait(no_wait, client.create_or_update, resource_group_name, name, instance) \ No newline at end of file diff --git a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/tests/latest/recordings/test_openshift_create_default_service.yaml b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/tests/latest/recordings/test_openshift_create_default_service.yaml new file mode 100644 index 00000000000..5acfe258fbe --- /dev/null +++ b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/tests/latest/recordings/test_openshift_create_default_service.yaml @@ -0,0 +1,450 @@ +interactions: +- request: + body: '{"location": "eastus", "tags": {"product": "azurecli", "cause": "automation", + "date": "2018-09-20T22:14:49Z"}}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [group create] + Connection: [keep-alive] + Content-Length: ['110'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.7.0 (Darwin-17.7.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 resourcemanagementclient/2.0.0 Azure-SDK-For-Python + AZURECLI/2.0.46] + accept-language: [en-US] + method: PUT + uri: https://management.management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2018-05-01 + response: + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","location":"eastus","tags":{"product":"azurecli","cause":"automation","date":"2018-09-20T22:14:49Z"},"properties":{"provisioningState":"Succeeded"}}'} + headers: + cache-control: [no-cache] + content-length: ['268'] + content-type: [application/json; charset=utf-8] + date: ['Thu, 20 Sep 2018 22:14:51 GMT'] + expires: ['-1'] + pragma: [no-cache] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1197'] + status: {code: 201, message: Created} +- request: + body: 'b''{"availableToOtherTenants": false, "displayName": "clitest000002", "identifierUris": + ["http://microsoft.onmicrosoft.com/clitest000002"], "passwordCredentials": [{"startDate": + "2018-09-20T22:14:52.140616Z", "endDate": "2019-09-20T22:14:52.140616Z", "keyId": + "f511c99c-8c30-49fb-8408-4f758273f885", "value": "clitest000002"}]}''' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [ad app create] + Connection: [keep-alive] + Content-Length: ['357'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.7.0 (Darwin-17.7.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-graphrbac/0.40.0 Azure-SDK-For-Python + AZURECLI/2.0.46] + accept-language: [en-US] + method: POST + uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/applications?api-version=1.6 + response: + body: {string: '{"odata.metadata":"https://graph.windows.net/00000000-0000-0000-0000-000000000000/$metadata#directoryObjects/Microsoft.DirectoryServices.Application/@Element","odata.type":"Microsoft.DirectoryServices.Application","objectType":"Application","objectId":"bd9631c9-9d18-497a-8ceb-c71609dc544b","deletionTimestamp":null,"acceptMappedClaims":null,"addIns":[],"appId":"575f86d0-2ae4-4495-98fd-0b664dc3d36e","appRoles":[],"availableToOtherTenants":false,"displayName":"clitest000002","errorUrl":null,"groupMembershipClaims":null,"homepage":null,"identifierUris":["http://microsoft.onmicrosoft.com/clitest000002"],"informationalUrls":{"termsOfService":null,"support":null,"privacy":null,"marketing":null},"isDeviceOnlyAuthSupported":null,"keyCredentials":[],"knownClientApplications":[],"logoutUrl":null,"logo@odata.mediaContentType":"application/json;odata=minimalmetadata; + charset=utf-8","logoUrl":null,"oauth2AllowIdTokenImplicitFlow":true,"oauth2AllowImplicitFlow":false,"oauth2AllowUrlPathMatching":false,"oauth2Permissions":[{"adminConsentDescription":"Allow + the application to access clitest000002 on behalf of the signed-in user.","adminConsentDisplayName":"Access + clitest000002","id":"4e8e7530-b850-416c-b428-cddfbb2e6835","isEnabled":true,"type":"User","userConsentDescription":"Allow + the application to access clitest000002 on your behalf.","userConsentDisplayName":"Access + clitest000002","value":"user_impersonation"}],"oauth2RequirePostResponse":false,"optionalClaims":null,"orgRestrictions":[],"parentalControlSettings":{"countriesBlockedForMinors":[],"legalAgeGroupRule":"Allow"},"passwordCredentials":[{"customKeyIdentifier":null,"endDate":"2019-09-20T22:14:52.140616Z","keyId":"f511c99c-8c30-49fb-8408-4f758273f885","startDate":"2018-09-20T22:14:52.140616Z","value":null}],"publicClient":null,"publisherDomain":null,"recordConsentConditions":null,"replyUrls":[],"requiredResourceAccess":[],"samlMetadataUrl":null,"signInAudience":"AzureADMyOrg","tokenEncryptionKeyId":null}'} + headers: + access-control-allow-origin: ['*'] + cache-control: [no-cache] + content-length: ['2048'] + content-type: [application/json; odata=minimalmetadata; streaming=true; charset=utf-8] + dataserviceversion: [3.0;] + date: ['Thu, 20 Sep 2018 22:14:54 GMT'] + duration: ['7433360'] + expires: ['-1'] + location: ['https://graph.windows.net/00000000-0000-0000-0000-000000000000/directoryObjects/bd9631c9-9d18-497a-8ceb-c71609dc544b/Microsoft.DirectoryServices.Application'] + ocp-aad-diagnostics-server-name: [flQBgrwiZdgfrwyQn7i7mb8tOHe8Zm56rla4LDh9+Zw=] + ocp-aad-session-key: [VL4formqkpa6bCfMwovzxZnJZ_8PVwgibQzj13liLyUyd3UZLo32HI_jgl65MM13n8KjXAfiWr5aDm0A1ZYy21mslyRsGzfwh7Z9TFV8vjrSg6qvjq0kutbPVvZAyuuZe2s9xXmpnY6Pglay26FClw.O_d62ARZahLJgmRt4W6VEoJUyh_YH197DxXDI7BB4nA] + pragma: [no-cache] + request-id: [c86e52f3-ba93-4dd6-997c-3d1c6e103422] + server: [Microsoft-IIS/10.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-aspnet-version: [4.0.30319] + x-content-type-options: [nosniff] + x-ms-dirapi-data-contract-version: ['1.6'] + x-powered-by: [ASP.NET] + status: {code: 201, message: Created} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.7.0 (Darwin-17.7.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 resourcemanagementclient/2.0.0 Azure-SDK-For-Python + AZURECLI/2.0.46] + accept-language: [en-US] + method: GET + uri: https://management.management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2018-05-01 + response: + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","location":"eastus","tags":{"product":"azurecli","cause":"automation","date":"2018-09-20T22:14:49Z"},"properties":{"provisioningState":"Succeeded"}}'} + headers: + cache-control: [no-cache] + content-length: ['268'] + content-type: [application/json; charset=utf-8] + date: ['Thu, 20 Sep 2018 22:14:54 GMT'] + expires: ['-1'] + pragma: [no-cache] + strict-transport-security: [max-age=31536000; includeSubDomains] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: 'b''b\''{"location": "eastus", "properties": {"openShiftVersion": "v3.10", + "fqdn": "cliosatest000003.eastus.cloudapp.azure.com", "routerProfiles": [{"name": + "default"}], "masterPoolProfile": {"name": "master", "count": 3, "vmSize": "Standard_D2s_v3", + "osType": "Linux"}, "agentPoolProfiles": [{"name": "compute", "count": 1, "vmSize": + "Standard_D4s_v3", "osType": "Linux", "role": "compute"}, {"name": "infra", + "count": 2, "vmSize": "Standard_D4s_v3", "osType": "Linux", "role": "infra"}], + "authProfile": {"identityProviders": [{"name": "Azure AD", "provider": {"kind": + "AADIdentityProvider", "clientId": "575f86d0-2ae4-4495-98fd-0b664dc3d36e", "secret": + "clitest000002", "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47"}}]}}}\''''' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + Content-Length: ['731'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.7.0 (Darwin-17.7.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.46] + accept-language: [en-US] + method: PUT + uri: https://management.management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/openShiftManagedClusters/cliosatest000003?api-version=2018-09-30-preview + response: + body: {string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/openshiftmanagedClusters/cliosatest000003\",\n + \ \"location\": \"eastus\",\n \"name\": \"cliosatest000003\",\n \"type\": + \"Microsoft.ContainerService/OpenShiftManagedClusters\",\n \"properties\": + {\n \"provisioningState\": \"Creating\",\n \"openShiftVersion\": \"v3.10\",\n + \ \"fqdn\": \"cliosatest000003.eastus.cloudapp.azure.com\",\n \"routerProfiles\": + [\n {\n \"name\": \"default\"\n }\n ],\n \"masterPoolProfile\": + {\n \"count\": 3,\n \"vmSize\": \"Standard_D2s_v3\"\n },\n \"agentPoolProfiles\": + [\n {\n \"name\": \"compute\",\n \"count\": 1,\n \"vmSize\": + \"Standard_D4s_v3\",\n \"osType\": \"Linux\",\n \"role\": \"compute\"\n + \ },\n {\n \"name\": \"infra\",\n \"count\": 2,\n \"vmSize\": + \"Standard_D4s_v3\",\n \"osType\": \"Linux\",\n \"role\": \"infra\"\n + \ }\n ],\n \"authProfile\": {\n \"identityProviders\": [\n {\n + \ \"name\": \"Azure AD\",\n \"provider\": {\n \"kind\": \"AADIdentityProvider\",\n + \ \"clientId\": \"575f86d0-2ae4-4495-98fd-0b664dc3d36e\",\n \"tenantId\": + \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n }\n }\n ]\n }\n }\n + }"} + headers: + azure-asyncoperation: ['https://management.management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/18395084-bdb1-4811-bc17-b62645bea1c2?api-version=2017-08-31'] + cache-control: [no-cache] + content-length: ['1167'] + content-type: [application/json] + date: ['Thu, 20 Sep 2018 22:14:58 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1195'] + status: {code: 201, message: Created} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-17.7.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.46] + method: GET + uri: https://management.management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/18395084-bdb1-4811-bc17-b62645bea1c2?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"84503918-b1bd-1148-bc17-b62645bea1c2\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-20T22:14:59.0420745Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 20 Sep 2018 22:15:30 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-17.7.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.46] + method: GET + uri: https://management.management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/18395084-bdb1-4811-bc17-b62645bea1c2?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"84503918-b1bd-1148-bc17-b62645bea1c2\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-20T22:14:59.0420745Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 20 Sep 2018 22:16:01 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-17.7.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.46] + method: GET + uri: https://management.management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/18395084-bdb1-4811-bc17-b62645bea1c2?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"84503918-b1bd-1148-bc17-b62645bea1c2\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-20T22:14:59.0420745Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 20 Sep 2018 22:16:32 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-17.7.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.46] + method: GET + uri: https://management.management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/18395084-bdb1-4811-bc17-b62645bea1c2?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"84503918-b1bd-1148-bc17-b62645bea1c2\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-20T22:14:59.0420745Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 20 Sep 2018 22:17:03 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-17.7.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.46] + method: GET + uri: https://management.management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/18395084-bdb1-4811-bc17-b62645bea1c2?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"84503918-b1bd-1148-bc17-b62645bea1c2\",\n \"status\": + \"Failed\",\n \"startTime\": \"2018-09-20T22:14:59.0420745Z\",\n \"endTime\": + \"2018-09-20T22:17:21.9035309Z\",\n \"error\": {\n \"code\": \"CreateManagedAppError\",\n + \ \"message\": \"unable to create managed app. error: Code=\\\"ApplianceDeploymentFailed\\\" + Message=\\\"The operation to create appliance failed. Please check operations + of deployment 'OS_clitest000001_cliosatest000003_eastus' under resource group + '/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fd21a11a-e4b9-4ea1-a663-ce22463ba32a'. + Error message: 'At least one resource deployment operation failed. Please + list deployment operations for details. Please see https://aka.ms/arm-debug + for usage details.'\\\" Details=[{\\\"code\\\":\\\"BadRequest\\\",\\\"message\\\":\\\"{\\\\r\\\\n + \ \\\\\\\"error\\\\\\\": {\\\\r\\\\n \\\\\\\"code\\\\\\\": \\\\\\\"InvalidTemplate\\\\\\\",\\\\r\\\\n + \ \\\\\\\"message\\\\\\\": \\\\\\\"Deployment template validation failed: + 'The template resource 'dummyResource' for type 'Microsoft.ContainerService/locations/openShiftClusters' + at line '23' and column '9' has incorrect segment lengths. A nested resource + type must have identical number of segments as its resource name. A root resource + type must have segment length one greater than its resource name. Please see + https://aka.ms/arm-template/#resources for usage details.'.\\\\\\\"\\\\r\\\\n + \ }\\\\r\\\\n}\\\"}]\"\n }\n }"} + headers: + cache-control: [no-cache] + content-length: ['1362'] + content-type: [application/json] + date: ['Thu, 20 Sep 2018 22:17:34 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [ad app delete] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.7.0 (Darwin-17.7.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-graphrbac/0.40.0 Azure-SDK-For-Python + AZURECLI/2.0.46] + accept-language: [en-US] + method: GET + uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/applications?$filter=identifierUris%2Fany%28s%3As%20eq%20%27575f86d0-2ae4-4495-98fd-0b664dc3d36e%27%29&api-version=1.6 + response: + body: {string: '{"odata.metadata":"https://graph.windows.net/00000000-0000-0000-0000-000000000000/$metadata#directoryObjects","value":[]}'} + headers: + access-control-allow-origin: ['*'] + cache-control: [no-cache] + content-length: ['121'] + content-type: [application/json; odata=minimalmetadata; streaming=true; charset=utf-8] + dataserviceversion: [3.0;] + date: ['Thu, 20 Sep 2018 22:17:35 GMT'] + duration: ['445360'] + expires: ['-1'] + ocp-aad-diagnostics-server-name: [M8bzLRFk5jNyTiwULITGQ7y6Ps81Gpu3TLkjk7AqFnQ=] + ocp-aad-session-key: [eGf7nZalflfTQ31mdq7Un0puQ1Hkev_vgJ6fuoB8CJeSBkkDkoSaNDAtzJVM4FI-27catRvRl9z4Gd4UOqmtTmsFlpGJIoYIw46driO9beg7fiIMdXLKLCpzEySyILuR-4sGDw3HPI40nfDKDSFxqQ.mrypzgg1Z6ST1rgX71Y5fw_ycXqBOsupBj3CduD_B88] + pragma: [no-cache] + request-id: [435b9cd4-6d6d-4c66-b3e4-cc91d107bd9f] + server: [Microsoft-IIS/10.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-aspnet-version: [4.0.30319] + x-ms-dirapi-data-contract-version: ['1.6'] + x-powered-by: [ASP.NET] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [ad app delete] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.7.0 (Darwin-17.7.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-graphrbac/0.40.0 Azure-SDK-For-Python + AZURECLI/2.0.46] + accept-language: [en-US] + method: GET + uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/applications?$filter=appId%20eq%20%27575f86d0-2ae4-4495-98fd-0b664dc3d36e%27&api-version=1.6 + response: + body: {string: '{"odata.metadata":"https://graph.windows.net/00000000-0000-0000-0000-000000000000/$metadata#directoryObjects","value":[{"odata.type":"Microsoft.DirectoryServices.Application","objectType":"Application","objectId":"bd9631c9-9d18-497a-8ceb-c71609dc544b","deletionTimestamp":null,"acceptMappedClaims":null,"addIns":[],"appId":"575f86d0-2ae4-4495-98fd-0b664dc3d36e","appRoles":[],"availableToOtherTenants":false,"displayName":"clitest000002","errorUrl":null,"groupMembershipClaims":null,"homepage":null,"identifierUris":["http://microsoft.onmicrosoft.com/clitest000002"],"informationalUrls":{"termsOfService":null,"support":null,"privacy":null,"marketing":null},"isDeviceOnlyAuthSupported":null,"keyCredentials":[],"knownClientApplications":[],"logoutUrl":null,"logo@odata.mediaEditLink":"directoryObjects/bd9631c9-9d18-497a-8ceb-c71609dc544b/Microsoft.DirectoryServices.Application/logo","logoUrl":null,"mainLogo@odata.mediaEditLink":"directoryObjects/bd9631c9-9d18-497a-8ceb-c71609dc544b/Microsoft.DirectoryServices.Application/mainLogo","oauth2AllowIdTokenImplicitFlow":true,"oauth2AllowImplicitFlow":false,"oauth2AllowUrlPathMatching":false,"oauth2Permissions":[{"adminConsentDescription":"Allow + the application to access clitest000002 on behalf of the signed-in user.","adminConsentDisplayName":"Access + clitest000002","id":"4e8e7530-b850-416c-b428-cddfbb2e6835","isEnabled":true,"type":"User","userConsentDescription":"Allow + the application to access clitest000002 on your behalf.","userConsentDisplayName":"Access + clitest000002","value":"user_impersonation"}],"oauth2RequirePostResponse":false,"optionalClaims":null,"orgRestrictions":[],"parentalControlSettings":{"countriesBlockedForMinors":[],"legalAgeGroupRule":"Allow"},"passwordCredentials":[{"customKeyIdentifier":null,"endDate":"2019-09-20T22:14:52.140616Z","keyId":"f511c99c-8c30-49fb-8408-4f758273f885","startDate":"2018-09-20T22:14:52.140616Z","value":null}],"publicClient":null,"publisherDomain":null,"recordConsentConditions":null,"replyUrls":[],"requiredResourceAccess":[],"samlMetadataUrl":null,"signInAudience":"AzureADMyOrg","tokenEncryptionKeyId":null}]}'} + headers: + access-control-allow-origin: ['*'] + cache-control: [no-cache] + content-length: ['2189'] + content-type: [application/json; odata=minimalmetadata; streaming=true; charset=utf-8] + dataserviceversion: [3.0;] + date: ['Thu, 20 Sep 2018 22:17:35 GMT'] + duration: ['452570'] + expires: ['-1'] + ocp-aad-diagnostics-server-name: [Zy/5UjtVBNGnRa9GOx8EKhlbFAuGpRF0v0oD53+WLoM=] + ocp-aad-session-key: [q5Tw8MCMOI_-V74oJ4rjjrN-XnPLw93LCOWqGirj3pdC70fev8leTBxYYROnBdPE36rZP_pWV725NWz7umcNR1w5V8v8BLt39uuUQbc47Zdp0GilE0nU-aNmYSDqM_4yRC2f21e0yjOlgd4wFUwmGQ.ZhNS9a1zpo8S9bZpX3b1Ok6gRwTQA5ivqN6we19SenY] + pragma: [no-cache] + request-id: [6a52ab99-f975-41ad-b738-bf5fe58ff400] + server: [Microsoft-IIS/10.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-aspnet-version: [4.0.30319] + x-ms-dirapi-data-contract-version: ['1.6'] + x-powered-by: [ASP.NET] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [ad app delete] + Connection: [keep-alive] + Content-Length: ['0'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.7.0 (Darwin-17.7.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-graphrbac/0.40.0 Azure-SDK-For-Python + AZURECLI/2.0.46] + accept-language: [en-US] + method: DELETE + uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/applications/bd9631c9-9d18-497a-8ceb-c71609dc544b?api-version=1.6 + response: + body: {string: ''} + headers: + access-control-allow-origin: ['*'] + cache-control: [no-cache] + dataserviceversion: [1.0;] + date: ['Thu, 20 Sep 2018 22:17:35 GMT'] + duration: ['2461088'] + expires: ['-1'] + ocp-aad-diagnostics-server-name: [jgkTREa8VkJkXrnKFVYN6GLgBytsPCC0/I/2wc2dZSk=] + ocp-aad-session-key: [IrNtBAxRr-0HBf_KPac_Y6ObZK7RulWMuLdf7MiqE80DIfP4En37lJYzY7q5FhgB-J66YGtS1QTJvMjjkoSGSQi1JGdTL4YQFzdy0d6fbfXcmZo_AswmBt6Ep5zrhDsjmb1Xz_KTe6tJnaZAX3u9UA.0v9_hkNIXL62KIOCTF2Z4_9Wr0jkLEQmRHqiZufYouc] + pragma: [no-cache] + request-id: [7b9331dc-e0da-44cc-9e2b-67e6721713eb] + server: [Microsoft-IIS/10.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-aspnet-version: [4.0.30319] + x-content-type-options: [nosniff] + x-ms-dirapi-data-contract-version: ['1.6'] + x-powered-by: [ASP.NET] + status: {code: 204, message: No Content} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [group delete] + Connection: [keep-alive] + Content-Length: ['0'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.7.0 (Darwin-17.7.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 resourcemanagementclient/2.0.0 Azure-SDK-For-Python + AZURECLI/2.0.46] + accept-language: [en-US] + method: DELETE + uri: https://management.management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2018-05-01 + response: + body: {string: ''} + headers: + cache-control: [no-cache] + content-length: ['0'] + date: ['Thu, 20 Sep 2018 22:17:37 GMT'] + expires: ['-1'] + location: ['https://management.management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUSlJaU1BPN05QSy1FQVNUVVMiLCJqb2JMb2NhdGlvbiI6ImVhc3R1cyJ9?api-version=2018-05-01'] + pragma: [no-cache] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-deletes: ['14998'] + status: {code: 202, message: Accepted} +version: 1 diff --git a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/tests/latest/recordings/test_openshift_create_service_no_wait.yaml b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/tests/latest/recordings/test_openshift_create_service_no_wait.yaml new file mode 100644 index 00000000000..d88daac807b --- /dev/null +++ b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/tests/latest/recordings/test_openshift_create_service_no_wait.yaml @@ -0,0 +1,416 @@ +interactions: +- request: + body: '{"location": "eastus", "tags": {"product": "azurecli", "cause": "automation", + "date": "2018-09-20T22:17:37Z"}}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [group create] + Connection: [keep-alive] + Content-Length: ['110'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.7.0 (Darwin-17.7.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 resourcemanagementclient/2.0.0 Azure-SDK-For-Python + AZURECLI/2.0.46] + accept-language: [en-US] + method: PUT + uri: https://management.management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2018-05-01 + response: + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","location":"eastus","tags":{"product":"azurecli","cause":"automation","date":"2018-09-20T22:17:37Z"},"properties":{"provisioningState":"Succeeded"}}'} + headers: + cache-control: [no-cache] + content-length: ['268'] + content-type: [application/json; charset=utf-8] + date: ['Thu, 20 Sep 2018 22:17:38 GMT'] + expires: ['-1'] + pragma: [no-cache] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1197'] + status: {code: 201, message: Created} +- request: + body: 'b''{"availableToOtherTenants": false, "displayName": "clitest000002", "identifierUris": + ["http://microsoft.onmicrosoft.com/clitest000002"], "passwordCredentials": [{"startDate": + "2018-09-20T22:17:39.166298Z", "endDate": "2019-09-20T22:17:39.166298Z", "keyId": + "7f3fd494-e70e-46d2-8572-a5dbe63902ed", "value": "clitest000002"}]}''' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [ad app create] + Connection: [keep-alive] + Content-Length: ['357'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.7.0 (Darwin-17.7.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-graphrbac/0.40.0 Azure-SDK-For-Python + AZURECLI/2.0.46] + accept-language: [en-US] + method: POST + uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/applications?api-version=1.6 + response: + body: {string: '{"odata.metadata":"https://graph.windows.net/00000000-0000-0000-0000-000000000000/$metadata#directoryObjects/Microsoft.DirectoryServices.Application/@Element","odata.type":"Microsoft.DirectoryServices.Application","objectType":"Application","objectId":"bb155a1e-6819-438d-ac58-2dad29201f90","deletionTimestamp":null,"acceptMappedClaims":null,"addIns":[],"appId":"a128a611-32a7-441a-a2ac-4c4e2fe6e943","appRoles":[],"availableToOtherTenants":false,"displayName":"clitest000002","errorUrl":null,"groupMembershipClaims":null,"homepage":null,"identifierUris":["http://microsoft.onmicrosoft.com/clitest000002"],"informationalUrls":{"termsOfService":null,"support":null,"privacy":null,"marketing":null},"isDeviceOnlyAuthSupported":null,"keyCredentials":[],"knownClientApplications":[],"logoutUrl":null,"logo@odata.mediaContentType":"application/json;odata=minimalmetadata; + charset=utf-8","logoUrl":null,"oauth2AllowIdTokenImplicitFlow":true,"oauth2AllowImplicitFlow":false,"oauth2AllowUrlPathMatching":false,"oauth2Permissions":[{"adminConsentDescription":"Allow + the application to access clitest000002 on behalf of the signed-in user.","adminConsentDisplayName":"Access + clitest000002","id":"5c53dce5-d00d-4c78-9f6e-dc2869a072e3","isEnabled":true,"type":"User","userConsentDescription":"Allow + the application to access clitest000002 on your behalf.","userConsentDisplayName":"Access + clitest000002","value":"user_impersonation"}],"oauth2RequirePostResponse":false,"optionalClaims":null,"orgRestrictions":[],"parentalControlSettings":{"countriesBlockedForMinors":[],"legalAgeGroupRule":"Allow"},"passwordCredentials":[{"customKeyIdentifier":null,"endDate":"2019-09-20T22:17:39.166298Z","keyId":"7f3fd494-e70e-46d2-8572-a5dbe63902ed","startDate":"2018-09-20T22:17:39.166298Z","value":null}],"publicClient":null,"publisherDomain":null,"recordConsentConditions":null,"replyUrls":[],"requiredResourceAccess":[],"samlMetadataUrl":null,"signInAudience":"AzureADMyOrg","tokenEncryptionKeyId":null}'} + headers: + access-control-allow-origin: ['*'] + cache-control: [no-cache] + content-length: ['2048'] + content-type: [application/json; odata=minimalmetadata; streaming=true; charset=utf-8] + dataserviceversion: [3.0;] + date: ['Thu, 20 Sep 2018 22:17:39 GMT'] + duration: ['13540925'] + expires: ['-1'] + location: ['https://graph.windows.net/00000000-0000-0000-0000-000000000000/directoryObjects/bb155a1e-6819-438d-ac58-2dad29201f90/Microsoft.DirectoryServices.Application'] + ocp-aad-diagnostics-server-name: [Zd5WAvvhFiXEGhyCaTKadU4m8fPlsgyEroxPvDDhe7Q=] + ocp-aad-session-key: [eTuKIzvADb3nGaSMWgeJadFEBOeSgiGnD-BGyeartje7iGPjGtQm5N_qEZ45TeV3TShQw1eVL9LEga_nX0C8bzu8tzM1GsUX3bTv7xOL1RBPuEjAdAaRn5r4PTKDFz7fR4Y3QOhNklUkCz0NuSttjA.Dpxw1ETxbTFR6R1A4mVcD30cDoZRekv9Z2SuG3597D8] + pragma: [no-cache] + request-id: [788ba168-f403-4104-a4ec-8f9aa83bb83d] + server: [Microsoft-IIS/10.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-aspnet-version: [4.0.30319] + x-content-type-options: [nosniff] + x-ms-dirapi-data-contract-version: ['1.6'] + x-powered-by: [ASP.NET] + status: {code: 201, message: Created} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.7.0 (Darwin-17.7.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 resourcemanagementclient/2.0.0 Azure-SDK-For-Python + AZURECLI/2.0.46] + accept-language: [en-US] + method: GET + uri: https://management.management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2018-05-01 + response: + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","location":"eastus","tags":{"product":"azurecli","cause":"automation","date":"2018-09-20T22:17:37Z"},"properties":{"provisioningState":"Succeeded"}}'} + headers: + cache-control: [no-cache] + content-length: ['268'] + content-type: [application/json; charset=utf-8] + date: ['Thu, 20 Sep 2018 22:17:41 GMT'] + expires: ['-1'] + pragma: [no-cache] + strict-transport-security: [max-age=31536000; includeSubDomains] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: 'b''b\''{"location": "eastus", "tags": {"scenario_test": ""}, "properties": + {"openShiftVersion": "v3.10", "fqdn": "cliosatest000003.eastus.cloudapp.azure.com", + "routerProfiles": [{"name": "default"}], "masterPoolProfile": {"name": "master", + "count": 3, "vmSize": "Standard_D2s_v3", "osType": "Linux"}, "agentPoolProfiles": + [{"name": "compute", "count": 1, "vmSize": "Standard_D4s_v3", "osType": "Linux", + "role": "compute"}, {"name": "infra", "count": 2, "vmSize": "Standard_D4s_v3", + "osType": "Linux", "role": "infra"}], "authProfile": {"identityProviders": [{"name": + "Azure AD", "provider": {"kind": "AADIdentityProvider", "clientId": "a128a611-32a7-441a-a2ac-4c4e2fe6e943", + "secret": "clitest000002", "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47"}}]}}}\''''' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + Content-Length: ['762'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.7.0 (Darwin-17.7.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.46] + accept-language: [en-US] + method: PUT + uri: https://management.management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/openShiftManagedClusters/cliosatest000003?api-version=2018-09-30-preview + response: + body: {string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/openshiftmanagedClusters/cliosatest000003\",\n + \ \"location\": \"eastus\",\n \"name\": \"cliosatest000003\",\n \"tags\": + {\n \"scenario_test\": \"\"\n },\n \"type\": \"Microsoft.ContainerService/OpenShiftManagedClusters\",\n + \ \"properties\": {\n \"provisioningState\": \"Creating\",\n \"openShiftVersion\": + \"v3.10\",\n \"fqdn\": \"cliosatest000003.eastus.cloudapp.azure.com\",\n + \ \"routerProfiles\": [\n {\n \"name\": \"default\"\n }\n ],\n + \ \"masterPoolProfile\": {\n \"count\": 3,\n \"vmSize\": \"Standard_D2s_v3\"\n + \ },\n \"agentPoolProfiles\": [\n {\n \"name\": \"compute\",\n \"count\": + 1,\n \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": \"Linux\",\n \"role\": + \"compute\"\n },\n {\n \"name\": \"infra\",\n \"count\": 2,\n + \ \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": \"Linux\",\n \"role\": + \"infra\"\n }\n ],\n \"authProfile\": {\n \"identityProviders\": + [\n {\n \"name\": \"Azure AD\",\n \"provider\": {\n \"kind\": + \"AADIdentityProvider\",\n \"clientId\": \"a128a611-32a7-441a-a2ac-4c4e2fe6e943\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n }\n }\n + \ ]\n }\n }\n }"} + headers: + azure-asyncoperation: ['https://management.management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/7a6e938a-a169-4ed1-a315-f72f523079f6?api-version=2017-08-31'] + cache-control: [no-cache] + content-length: ['1207'] + content-type: [application/json] + date: ['Thu, 20 Sep 2018 22:17:44 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1194'] + status: {code: 201, message: Created} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift wait] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-17.7.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.46] + accept-language: [en-US] + method: GET + uri: https://management.management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/openShiftManagedClusters/cliosatest000003?api-version=2018-09-30-preview + response: + body: {string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/openshiftmanagedClusters/cliosatest000003\",\n + \ \"location\": \"eastus\",\n \"name\": \"cliosatest000003\",\n \"tags\": + {\n \"scenario_test\": \"\"\n },\n \"type\": \"Microsoft.ContainerService/OpenShiftManagedClusters\",\n + \ \"properties\": {\n \"provisioningState\": \"Creating\",\n \"openShiftVersion\": + \"v3.10\",\n \"fqdn\": \"cliosatest000003.eastus.cloudapp.azure.com\",\n + \ \"routerProfiles\": [\n {\n \"name\": \"default\"\n }\n ],\n + \ \"masterPoolProfile\": {\n \"count\": 3,\n \"vmSize\": \"Standard_D2s_v3\"\n + \ },\n \"agentPoolProfiles\": [\n {\n \"name\": \"compute\",\n \"count\": + 1,\n \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": \"Linux\",\n \"role\": + \"compute\"\n },\n {\n \"name\": \"infra\",\n \"count\": 2,\n + \ \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": \"Linux\",\n \"role\": + \"infra\"\n }\n ],\n \"authProfile\": {\n \"identityProviders\": + [\n {\n \"name\": \"Azure AD\",\n \"provider\": {\n \"kind\": + \"AADIdentityProvider\",\n \"clientId\": \"a128a611-32a7-441a-a2ac-4c4e2fe6e943\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n }\n }\n + \ ]\n }\n }\n }"} + headers: + cache-control: [no-cache] + content-length: ['1207'] + content-type: [application/json] + date: ['Thu, 20 Sep 2018 22:17:45 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift wait] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-17.7.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.46] + accept-language: [en-US] + method: GET + uri: https://management.management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/openShiftManagedClusters/cliosatest000003?api-version=2018-09-30-preview + response: + body: {string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/openshiftmanagedClusters/cliosatest000003\",\n + \ \"location\": \"eastus\",\n \"name\": \"cliosatest000003\",\n \"tags\": + {\n \"scenario_test\": \"\"\n },\n \"type\": \"Microsoft.ContainerService/OpenShiftManagedClusters\",\n + \ \"properties\": {\n \"provisioningState\": \"Creating\",\n \"openShiftVersion\": + \"v3.10\",\n \"fqdn\": \"cliosatest000003.eastus.cloudapp.azure.com\",\n + \ \"routerProfiles\": [\n {\n \"name\": \"default\"\n }\n ],\n + \ \"masterPoolProfile\": {\n \"count\": 3,\n \"vmSize\": \"Standard_D2s_v3\"\n + \ },\n \"agentPoolProfiles\": [\n {\n \"name\": \"compute\",\n \"count\": + 1,\n \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": \"Linux\",\n \"role\": + \"compute\"\n },\n {\n \"name\": \"infra\",\n \"count\": 2,\n + \ \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": \"Linux\",\n \"role\": + \"infra\"\n }\n ],\n \"authProfile\": {\n \"identityProviders\": + [\n {\n \"name\": \"Azure AD\",\n \"provider\": {\n \"kind\": + \"AADIdentityProvider\",\n \"clientId\": \"a128a611-32a7-441a-a2ac-4c4e2fe6e943\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n }\n }\n + \ ]\n }\n }\n }"} + headers: + cache-control: [no-cache] + content-length: ['1207'] + content-type: [application/json] + date: ['Thu, 20 Sep 2018 22:18:16 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift wait] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-17.7.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.46] + accept-language: [en-US] + method: GET + uri: https://management.management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/openShiftManagedClusters/cliosatest000003?api-version=2018-09-30-preview + response: + body: {string: '{"error":{"code":"ExpiredAuthenticationToken","message":"The access + token expiry UTC time ''9/20/2018 10:18:30 PM'' is earlier than current UTC + time ''9/20/2018 10:18:47 PM''."}}'} + headers: + cache-control: [no-cache] + connection: [close] + content-length: ['174'] + content-type: [application/json; charset=utf-8] + date: ['Thu, 20 Sep 2018 22:18:46 GMT'] + expires: ['-1'] + pragma: [no-cache] + strict-transport-security: [max-age=31536000; includeSubDomains] + www-authenticate: ['Bearer authorization_uri="https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47", + error="invalid_token", error_description="The access token has expired."'] + x-content-type-options: [nosniff] + x-ms-failure-cause: [gateway] + status: {code: 401, message: Unauthorized} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [ad app delete] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.7.0 (Darwin-17.7.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-graphrbac/0.40.0 Azure-SDK-For-Python + AZURECLI/2.0.46] + accept-language: [en-US] + method: GET + uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/applications?$filter=identifierUris%2Fany%28s%3As%20eq%20%27a128a611-32a7-441a-a2ac-4c4e2fe6e943%27%29&api-version=1.6 + response: + body: {string: '{"odata.metadata":"https://graph.windows.net/00000000-0000-0000-0000-000000000000/$metadata#directoryObjects","value":[]}'} + headers: + access-control-allow-origin: ['*'] + cache-control: [no-cache] + content-length: ['121'] + content-type: [application/json; odata=minimalmetadata; streaming=true; charset=utf-8] + dataserviceversion: [3.0;] + date: ['Thu, 20 Sep 2018 22:18:46 GMT'] + duration: ['379651'] + expires: ['-1'] + ocp-aad-diagnostics-server-name: [B34tkdosGb0C92OtDeVF7+Ya/Ec9VzUkXG9UuWWZ1dQ=] + ocp-aad-session-key: [y0h680cN-1FZCnJd77js0XvSC56mrN3sWbQP8XoadyMcqBPSGPpE3LFLQMd0tPNvUPGxkIzhXoIYIK_lDGvlEVWqamyW2O88Y3122m-7ZwzItdZ90uNwsSUcpsfkRW6X688CsPCAIjTvWTpn9s1A2g.CLliH45EnL_7XeqsWZjgobHglwJhfm0dgQ6lwnlZV1Y] + pragma: [no-cache] + request-id: [34381086-e6ed-46d8-ae75-f5f631773af0] + server: [Microsoft-IIS/10.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-aspnet-version: [4.0.30319] + x-ms-dirapi-data-contract-version: ['1.6'] + x-powered-by: [ASP.NET] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [ad app delete] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.7.0 (Darwin-17.7.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-graphrbac/0.40.0 Azure-SDK-For-Python + AZURECLI/2.0.46] + accept-language: [en-US] + method: GET + uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/applications?$filter=appId%20eq%20%27a128a611-32a7-441a-a2ac-4c4e2fe6e943%27&api-version=1.6 + response: + body: {string: '{"odata.metadata":"https://graph.windows.net/00000000-0000-0000-0000-000000000000/$metadata#directoryObjects","value":[{"odata.type":"Microsoft.DirectoryServices.Application","objectType":"Application","objectId":"bb155a1e-6819-438d-ac58-2dad29201f90","deletionTimestamp":null,"acceptMappedClaims":null,"addIns":[],"appId":"a128a611-32a7-441a-a2ac-4c4e2fe6e943","appRoles":[],"availableToOtherTenants":false,"displayName":"clitest000002","errorUrl":null,"groupMembershipClaims":null,"homepage":null,"identifierUris":["http://microsoft.onmicrosoft.com/clitest000002"],"informationalUrls":{"termsOfService":null,"support":null,"privacy":null,"marketing":null},"isDeviceOnlyAuthSupported":null,"keyCredentials":[],"knownClientApplications":[],"logoutUrl":null,"logo@odata.mediaEditLink":"directoryObjects/bb155a1e-6819-438d-ac58-2dad29201f90/Microsoft.DirectoryServices.Application/logo","logoUrl":null,"mainLogo@odata.mediaEditLink":"directoryObjects/bb155a1e-6819-438d-ac58-2dad29201f90/Microsoft.DirectoryServices.Application/mainLogo","oauth2AllowIdTokenImplicitFlow":true,"oauth2AllowImplicitFlow":false,"oauth2AllowUrlPathMatching":false,"oauth2Permissions":[{"adminConsentDescription":"Allow + the application to access clitest000002 on behalf of the signed-in user.","adminConsentDisplayName":"Access + clitest000002","id":"5c53dce5-d00d-4c78-9f6e-dc2869a072e3","isEnabled":true,"type":"User","userConsentDescription":"Allow + the application to access clitest000002 on your behalf.","userConsentDisplayName":"Access + clitest000002","value":"user_impersonation"}],"oauth2RequirePostResponse":false,"optionalClaims":null,"orgRestrictions":[],"parentalControlSettings":{"countriesBlockedForMinors":[],"legalAgeGroupRule":"Allow"},"passwordCredentials":[{"customKeyIdentifier":null,"endDate":"2019-09-20T22:17:39.166298Z","keyId":"7f3fd494-e70e-46d2-8572-a5dbe63902ed","startDate":"2018-09-20T22:17:39.166298Z","value":null}],"publicClient":null,"publisherDomain":null,"recordConsentConditions":null,"replyUrls":[],"requiredResourceAccess":[],"samlMetadataUrl":null,"signInAudience":"AzureADMyOrg","tokenEncryptionKeyId":null}]}'} + headers: + access-control-allow-origin: ['*'] + cache-control: [no-cache] + content-length: ['2189'] + content-type: [application/json; odata=minimalmetadata; streaming=true; charset=utf-8] + dataserviceversion: [3.0;] + date: ['Thu, 20 Sep 2018 22:18:47 GMT'] + duration: ['1097110'] + expires: ['-1'] + ocp-aad-diagnostics-server-name: [65KUq+uCKgQ0Q/96SXTqFRzSr0G+pBPmD6u12XQmt6M=] + ocp-aad-session-key: [ONd_ADwOMUrjPXTz1cpzZMvbCS2bW9TfPPnh45gDpiwpIP_Aa4LfxAFrQOuexzvJ6Kt8Dd0R8TauTKMyuLiotBpAIUGa8GmW-iFWDKSCRRlUc6o2mnZFRZyZtepCM2mKKRVQWI2cTx-JGo-uVk3uJw.tFNa_LcZkSNLI05UJ_DJfCWp6Kcfb052WdqQWQkBAYM] + pragma: [no-cache] + request-id: [a2852328-be97-4f78-9d52-7652b95af3c0] + server: [Microsoft-IIS/10.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-aspnet-version: [4.0.30319] + x-ms-dirapi-data-contract-version: ['1.6'] + x-powered-by: [ASP.NET] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [ad app delete] + Connection: [keep-alive] + Content-Length: ['0'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.7.0 (Darwin-17.7.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-graphrbac/0.40.0 Azure-SDK-For-Python + AZURECLI/2.0.46] + accept-language: [en-US] + method: DELETE + uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/applications/bb155a1e-6819-438d-ac58-2dad29201f90?api-version=1.6 + response: + body: {string: ''} + headers: + access-control-allow-origin: ['*'] + cache-control: [no-cache] + dataserviceversion: [1.0;] + date: ['Thu, 20 Sep 2018 22:18:48 GMT'] + duration: ['2212750'] + expires: ['-1'] + ocp-aad-diagnostics-server-name: [vMSz5D6d8uI7Gscnh6NQzR0ElGWHFZJ/TeXEmQRsXJs=] + ocp-aad-session-key: [CfoNgnhzSmoluGP1Fypge1ve20QovbhAoH6rT5sDd3u9Bb1gaeILF-pvVg43ZLK2w04KlaA2xoo3Ca1WKRI_eJOTemI7jqK2MGDmLxpDCU9fPGiiGSKmxPOD1KHnxCMvLe-0nc4-djL4dFqOT9AcEQ.ST8Ou3z4DK4Qsrr-uObNIbzbLnDJhbmdl0E021B0aTQ] + pragma: [no-cache] + request-id: [bbd49837-b29a-4671-a9e4-690d13b377bc] + server: [Microsoft-IIS/10.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-aspnet-version: [4.0.30319] + x-content-type-options: [nosniff] + x-ms-dirapi-data-contract-version: ['1.6'] + x-powered-by: [ASP.NET] + status: {code: 204, message: No Content} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [group delete] + Connection: [keep-alive] + Content-Length: ['0'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.7.0 (Darwin-17.7.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 resourcemanagementclient/2.0.0 Azure-SDK-For-Python + AZURECLI/2.0.46] + accept-language: [en-US] + method: DELETE + uri: https://management.management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2018-05-01 + response: + body: {string: '{"error":{"code":"ExpiredAuthenticationToken","message":"The access + token expiry UTC time ''9/20/2018 10:18:30 PM'' is earlier than current UTC + time ''9/20/2018 10:18:48 PM''."}}'} + headers: + cache-control: [no-cache] + connection: [close] + content-length: ['174'] + content-type: [application/json; charset=utf-8] + date: ['Thu, 20 Sep 2018 22:18:48 GMT'] + expires: ['-1'] + pragma: [no-cache] + strict-transport-security: [max-age=31536000; includeSubDomains] + www-authenticate: ['Bearer authorization_uri="https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47", + error="invalid_token", error_description="The access token has expired."'] + x-content-type-options: [nosniff] + x-ms-failure-cause: [gateway] + status: {code: 401, message: Unauthorized} +version: 1 diff --git a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/tests/latest/test_osa_commands.py b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/tests/latest/test_osa_commands.py new file mode 100644 index 00000000000..9873b54ed78 --- /dev/null +++ b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/tests/latest/test_osa_commands.py @@ -0,0 +1,117 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import os +import tempfile +import unittest + +from knack.util import CLIError + +from azure.cli.testsdk import ( + ResourceGroupPreparer, ManagedApplicationPreparer, ScenarioTest, live_only) +from azure_devtools.scenario_tests import AllowLargeResponse +from azure.cli.testsdk.checkers import ( + StringContainCheck, StringContainCheckIgnoreCase) + +# flake8: noqa + + +class AzureOpenShiftServiceScenarioTest(ScenarioTest): + + @ResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='eastus') + @ManagedApplicationPreparer() + def test_openshift_create_default_service(self, resource_group, resource_group_location, aad_client_app_id, aad_client_app_secret, aad_tenant_id): + # kwargs for string formatting + osa_name = self.create_random_name('cliosatest', 16) + self.kwargs.update({ + 'resource_group': resource_group, + 'name': osa_name, + 'fqdn': self.generate_random_fqdn(osa_name, resource_group_location), + 'location': resource_group_location, + 'aad_client_app_id': aad_client_app_id, + 'aad_client_app_secret': aad_client_app_secret, + 'aad_tenant_id': aad_tenant_id, + 'resource_type': 'Microsoft.ContainerService/OpenShiftManagedClusters' + }) + + # create + create_cmd = 'openshift create --resource-group={resource_group} --name={name} --location={location} ' \ + '--fqdn={fqdn} --node-count=1 ' \ + '--aad-client-app-id {aad_client_app_id} --aad-client-app-secret {aad_client_app_secret} ' \ + '--aad-tenant-id {aad_tenant_id}' + self.cmd(create_cmd, checks=[ + self.exists('fqdn'), + self.check('provisioningState', 'Succeeded') + ]) + + # show + self.cmd('openshift show -g {resource_group} -n {name}', checks=[ + self.check('type', '{resource_type}'), + self.check('name', '{name}'), + self.check('resourceGroup', '{resource_group}'), + self.check('agentPoolProfiles[0].count', 1), + self.check('agentPoolProfiles[0].osType', 'Linux'), + self.check('agentPoolProfiles[0].vmSize', 'Standard_DS4_v2'), + self.check('fqdn', '{fqdn}'), + self.exists('openshiftVersion') + ]) + + # scale up + self.cmd('openshift scale -g {resource_group} -n {name} --node-count 3', checks=[ + self.check('agentPoolProfiles[0].count', 3) + ]) + + # show again + self.cmd('openshift show -g {resource_group} -n {name}', checks=[ + self.check('agentPoolProfiles[0].count', 3) + ]) + + # delete + self.cmd('openshift delete -g {resource_group} -n {name} --yes --no-wait', checks=[self.is_empty()]) + + @ResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='eastus') + @ManagedApplicationPreparer() + def test_openshift_create_service_no_wait(self, resource_group, resource_group_location, aad_client_app_id, aad_client_app_secret, aad_tenant_id): + # kwargs for string formatting + osa_name = self.create_random_name('cliosatest', 16) + self.kwargs.update({ + 'resource_group': resource_group, + 'name': osa_name, + 'fqdn': self.generate_random_fqdn(osa_name, resource_group_location), + 'location': resource_group_location, + 'aad_client_app_id': aad_client_app_id, + 'aad_client_app_secret': aad_client_app_secret, + 'aad_tenant_id': aad_tenant_id + }) + + # create --no-wait + create_cmd = 'openshift create -g {resource_group} -n {name} --fqdn {fqdn} ' \ + '-l {location} -c 1 --aad-client-app-id {aad_client_app_id} ' \ + '--aad-client-app-secret {aad_client_app_secret} --aad-tenant-id {aad_tenant_id} ' \ + '--tags scenario_test --no-wait' + self.cmd(create_cmd, checks=[self.is_empty()]) + + # wait + self.cmd('openshift wait -g {resource_group} -n {name} --created', checks=[self.is_empty()]) + + # show + self.cmd('openshift show -g {resource_group} -n {name}', checks=[ + self.check('name', '{name}'), + self.check('resourceGroup', '{resource_group}'), + self.check('agentPoolProfiles[0].count', 1), + self.check('agentPoolProfiles[0].vmSize', 'Standard_DS4_v2'), + self.check('fqdn', '{fqdn}'), + self.check('provisioningState', 'Succeeded') + ]) + + # delete + self.cmd('openshift delete -g {resource_group} -n {name} --yes', checks=[self.is_empty()]) + + # show again and expect failure + self.cmd('openshift show -g {resource_group} -n {name}', expect_failure=True) + + @classmethod + def generate_random_fqdn(self, name, location): + return "{}.{}.cloudapp.azure.com".format(name, location) From cd8e4e62e974c0da3bc8ccec6db7cac0932618ba Mon Sep 17 00:00:00 2001 From: Julien Stroheker Date: Thu, 20 Sep 2018 18:53:08 -0400 Subject: [PATCH 02/19] Bump the version --- src/command_modules/azure-cli-acs/HISTORY.rst | 4 ++++ src/command_modules/azure-cli-acs/setup.py | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/command_modules/azure-cli-acs/HISTORY.rst b/src/command_modules/azure-cli-acs/HISTORY.rst index e5b4db22066..1c086f55a02 100644 --- a/src/command_modules/azure-cli-acs/HISTORY.rst +++ b/src/command_modules/azure-cli-acs/HISTORY.rst @@ -3,6 +3,10 @@ Release History =============== +2.3.6 ++++++ +* Add Managed OpenShift commands + 2.3.5 +++++ * bugfix: Fall back to 'scp' when Parimiko fails. diff --git a/src/command_modules/azure-cli-acs/setup.py b/src/command_modules/azure-cli-acs/setup.py index 7d0aa5f71ae..0d645877f45 100644 --- a/src/command_modules/azure-cli-acs/setup.py +++ b/src/command_modules/azure-cli-acs/setup.py @@ -14,7 +14,7 @@ logger.warn("Wheel is not available, disabling bdist_wheel hook") cmdclass = {} -VERSION = "2.3.5" +VERSION = "2.3.6" CLASSIFIERS = [ 'Development Status :: 5 - Production/Stable', 'Intended Audience :: Developers', From dda8819971969e160cbe6efd105bb6f4e36de358 Mon Sep 17 00:00:00 2001 From: Julien Stroheker Date: Thu, 20 Sep 2018 19:21:55 -0400 Subject: [PATCH 03/19] pep8 --- src/azure-cli-testsdk/HISTORY.rst | 4 ++ .../azure/cli/testsdk/preparers.py | 8 ++-- src/azure-cli-testsdk/setup.py | 2 +- .../command_modules/acs/_client_factory.py | 3 +- .../azure/cli/command_modules/acs/_help.py | 2 +- .../azure/cli/command_modules/acs/_params.py | 1 + .../azure/cli/command_modules/acs/commands.py | 1 - .../azure/cli/command_modules/acs/custom.py | 38 +++++++++---------- 8 files changed, 33 insertions(+), 26 deletions(-) diff --git a/src/azure-cli-testsdk/HISTORY.rst b/src/azure-cli-testsdk/HISTORY.rst index 59e34af8535..5681305ee8b 100644 --- a/src/azure-cli-testsdk/HISTORY.rst +++ b/src/azure-cli-testsdk/HISTORY.rst @@ -3,6 +3,10 @@ Release History =============== +0.2.2 ++++++ +* Add ManagedApplicationPreparer + 0.2.1 +++++ * Minor fixes diff --git a/src/azure-cli-testsdk/azure/cli/testsdk/preparers.py b/src/azure-cli-testsdk/azure/cli/testsdk/preparers.py index 3dc6ba3354f..4f447d662f7 100644 --- a/src/azure-cli-testsdk/azure/cli/testsdk/preparers.py +++ b/src/azure-cli-testsdk/azure/cli/testsdk/preparers.py @@ -173,6 +173,7 @@ def remove_resource(self, name, **kwargs): if not self.dev_setting_sp_name: execute(self.cli_ctx, 'az ad sp delete --id {}'.format(self.result['appId'])) + # Managed Application preparer # pylint: disable=too-many-instance-attributes @@ -190,7 +191,7 @@ def __init__(self, name_prefix='clitest', parameter_name='aad_client_app_id', self.parameter_secret = parameter_secret self.parameter_tenant = parameter_tenant self.result = {} - self.app_name=app_name + self.app_name = app_name self.dev_setting_app_name = os.environ.get(dev_setting_app_name, None) self.dev_setting_app_secret = os.environ.get(dev_setting_app_secret, None) self.dev_setting_app_tenant = os.environ.get(dev_setting_app_tenant, None) @@ -198,8 +199,9 @@ def __init__(self, name_prefix='clitest', parameter_name='aad_client_app_id', def create_resource(self, name, **kwargs): if not self.dev_setting_app_name: - template = 'az ad app create --display-name {} --key-type Password --password {} --identifier-uris http://microsoft.onmicrosoft.com/{}' - self.result = execute(self.cli_ctx, template.format(name,name,name)).get_output_in_json() + template = 'az ad app create --display-name {} --key-type Password --password {} --identifier-uris ' \ + 'http://microsoft.onmicrosoft.com/{}' + self.result = execute(self.cli_ctx, template.format(name, name, name)).get_output_in_json() self.test_class_instance.kwargs[self.key] = name # The slice is the easiest way for know to return the Teanant from the same command return {self.parameter_name: self.result['appId'], self.parameter_secret: name, diff --git a/src/azure-cli-testsdk/setup.py b/src/azure-cli-testsdk/setup.py index 503d1d1c414..139ea992379 100644 --- a/src/azure-cli-testsdk/setup.py +++ b/src/azure-cli-testsdk/setup.py @@ -14,7 +14,7 @@ logger.warn("Wheel is not available, disabling bdist_wheel hook") cmdclass = {} -VERSION = "0.2.1" +VERSION = "0.2.2" CLASSIFIERS = [ 'Development Status :: 3 - Alpha', diff --git a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_client_factory.py b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_client_factory.py index e01471a34ba..9d0330d625d 100644 --- a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_client_factory.py +++ b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_client_factory.py @@ -21,7 +21,7 @@ def cf_managed_clusters(cli_ctx, *_): def cf_openshift_managed_clusters(cli_ctx, *_): return get_osa_container_service_client(cli_ctx).open_shift_managed_clusters - + def cf_resource_groups(cli_ctx, subscription_id=None): return get_mgmt_service_client(cli_ctx, ResourceType.MGMT_RESOURCE_RESOURCES, @@ -49,6 +49,7 @@ def get_container_service_client(cli_ctx, **_): return get_mgmt_service_client(cli_ctx, ContainerServiceClient) + def get_osa_container_service_client(cli_ctx, **_): from azure.mgmt.containerservice import ContainerServiceClient diff --git a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_help.py b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_help.py index f3e5c780092..1e3ea8f2010 100644 --- a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_help.py +++ b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_help.py @@ -595,4 +595,4 @@ - name: Wait for a cluster to be upgraded, polling every minute for up to thirty minutes. text: |- az openshift wait -g MyResourceGroup -n MyManagedCluster --updated --interval 60 --timeout 1800 -""" \ No newline at end of file +""" diff --git a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_params.py b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_params.py index 899b4ec5b6a..1d18815887b 100644 --- a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_params.py +++ b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_params.py @@ -245,6 +245,7 @@ def load_arguments(self, _): c.argument('aad_client_app_secret') c.argument('aad_tenant_id') + def _get_default_install_location(exe_name): system = platform.system() if system == 'Windows': diff --git a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/commands.py b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/commands.py index a89737fdd4a..f89fdd13747 100644 --- a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/commands.py +++ b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/commands.py @@ -91,4 +91,3 @@ def load_command_table(self, _): g.custom_command('scale', 'openshift_scale', supports_no_wait=True) g.custom_show_command('show', 'openshift_show') g.wait_command('wait') - diff --git a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/custom.py b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/custom.py index bac10aa0a98..176d25648b1 100644 --- a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/custom.py +++ b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/custom.py @@ -2178,17 +2178,15 @@ def _validate_aci_location(norm_location): def openshift_create(cmd, client, resource_group_name, name, # pylint: disable=too-many-locals - location=None, - node_vm_size="Standard_D4s_v3", - node_count=3, - fqdn='', - aad_client_app_id=None, - aad_client_app_secret=None, - aad_tenant_id=None, - tags=None, - no_wait=False): - - subscription_id = _get_subscription_id(cmd.cli_ctx) + location=None, + node_vm_size="Standard_D4s_v3", + node_count=3, + fqdn='', + aad_client_app_id=None, + aad_client_app_secret=None, + aad_tenant_id=None, + tags=None, + no_wait=False): rg_location = _get_rg_location(cmd.cli_ctx, resource_group_name) if location is None: @@ -2225,18 +2223,18 @@ def openshift_create(cmd, client, resource_group_name, name, # pylint: disable= if any([aad_client_app_id, aad_client_app_secret, aad_tenant_id]): identity_providers.append( OpenShiftManagedClusterIdentityProviders( - name='Azure AD', + name='Azure AD', provider=OpenShiftManagedClusterServiceAADIdentityProvider( - kind='AADIdentityProvider', - client_id=aad_client_app_id, - secret=aad_client_app_secret, + kind='AADIdentityProvider', + client_id=aad_client_app_id, + secret=aad_client_app_secret, tenant_id=aad_tenant_id ) ) ) - auth_profile=OpenShiftManagedClusterAuthProfile(identity_providers=identity_providers) + auth_profile = OpenShiftManagedClusterAuthProfile(identity_providers=identity_providers) - default_router_profile=OpenShiftRouterProfile(name='default') + default_router_profile = OpenShiftRouterProfile(name='default') osamc = OpenShiftManagedCluster( location=location, tags=tags, @@ -2247,7 +2245,7 @@ def openshift_create(cmd, client, resource_group_name, name, # pylint: disable= master_pool_profile=agent_master_pool_profile, router_profiles=[default_router_profile]) - # We don't creating the AADIdentity for the user right now but maybe later so keeping this + # We don't creating the AADIdentity for the user right now but maybe later so keeping this # Keeping this Due to SPN replication latency, we do a few retries here max_retry = 30 retry_exception = Exception(None) @@ -2264,10 +2262,12 @@ def openshift_create(cmd, client, resource_group_name, name, # pylint: disable= raise ex raise retry_exception + def openshift_show(cmd, client, resource_group_name, name): mc = client.get(resource_group_name, name) return [mc][0] + def openshift_scale(cmd, client, resource_group_name, name, node_count, no_wait=False): instance = client.get(resource_group_name, name) # TODO: change this approach when we support multiple agent pools. @@ -2277,4 +2277,4 @@ def openshift_scale(cmd, client, resource_group_name, name, node_count, no_wait= instance.master_pool_profile.name = "master" instance.auth_profile = None - return sdk_no_wait(no_wait, client.create_or_update, resource_group_name, name, instance) \ No newline at end of file + return sdk_no_wait(no_wait, client.create_or_update, resource_group_name, name, instance) From a47fd2a900fbc55d4e9a35329245890ee7fc5e47 Mon Sep 17 00:00:00 2001 From: Julien Stroheker Date: Thu, 27 Sep 2018 18:08:03 -0400 Subject: [PATCH 04/19] Update Unit Tests Add _ensure_osa_aad --- .../azure/cli/testsdk/preparers.py | 12 +- .../azure/cli/command_modules/acs/_help.py | 5 +- .../azure/cli/command_modules/acs/custom.py | 53 ++- ...test_openshift_create_default_service.yaml | 450 ------------------ ...test_openshift_create_service_no_wait.yaml | 416 ---------------- .../acs/tests/latest/test_osa_commands.py | 70 ++- 6 files changed, 103 insertions(+), 903 deletions(-) delete mode 100644 src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/tests/latest/recordings/test_openshift_create_default_service.yaml delete mode 100644 src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/tests/latest/recordings/test_openshift_create_service_no_wait.yaml diff --git a/src/azure-cli-testsdk/azure/cli/testsdk/preparers.py b/src/azure-cli-testsdk/azure/cli/testsdk/preparers.py index 4f447d662f7..48ccd0a0f25 100644 --- a/src/azure-cli-testsdk/azure/cli/testsdk/preparers.py +++ b/src/azure-cli-testsdk/azure/cli/testsdk/preparers.py @@ -180,36 +180,30 @@ def remove_resource(self, name, **kwargs): class ManagedApplicationPreparer(AbstractPreparer, SingleValueReplacer): def __init__(self, name_prefix='clitest', parameter_name='aad_client_app_id', parameter_secret='aad_client_app_secret', app_name='app_name', - parameter_tenant='aad_tenant_id', dev_setting_app_name='AZURE_CLI_TEST_DEV_APP_NAME', dev_setting_app_secret='AZURE_CLI_TEST_DEV_APP_SECRET', - dev_setting_app_tenant='AZURE_CLI_TEST_DEV_APP_TENANT', key='app'): super(ManagedApplicationPreparer, self).__init__(name_prefix, 24) self.cli_ctx = get_dummy_cli() self.parameter_name = parameter_name self.parameter_secret = parameter_secret - self.parameter_tenant = parameter_tenant self.result = {} self.app_name = app_name self.dev_setting_app_name = os.environ.get(dev_setting_app_name, None) self.dev_setting_app_secret = os.environ.get(dev_setting_app_secret, None) - self.dev_setting_app_tenant = os.environ.get(dev_setting_app_tenant, None) self.key = key def create_resource(self, name, **kwargs): if not self.dev_setting_app_name: template = 'az ad app create --display-name {} --key-type Password --password {} --identifier-uris ' \ - 'http://microsoft.onmicrosoft.com/{}' + 'http://{}' self.result = execute(self.cli_ctx, template.format(name, name, name)).get_output_in_json() self.test_class_instance.kwargs[self.key] = name # The slice is the easiest way for know to return the Teanant from the same command - return {self.parameter_name: self.result['appId'], self.parameter_secret: name, - self.parameter_tenant: self.result['odata.metadata'][26:62]} + return {self.parameter_name: self.result['appId'], self.parameter_secret: name} self.test_class_instance.kwargs[self.key] = name return {self.parameter_name: self.dev_setting_sp_name, - self.parameter_secret: self.dev_setting_app_secret, - self.parameter_tenant: self.dev_setting_app_tenant} + self.parameter_secret: self.dev_setting_app_secret} def remove_resource(self, name, **kwargs): if not self.dev_setting_app_name: diff --git a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_help.py b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_help.py index 1e3ea8f2010..e8888a654c4 100644 --- a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_help.py +++ b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_help.py @@ -559,10 +559,9 @@ short-summary: The ID of an Azure Active Directory tenant. examples: - - name: Create an OpenShift cluster. + - name: Create an OpenShift cluster and auto create an AAD Client text: az openshift create -g MyResourceGroup -n MyManagedCluster --fqdn - --aad-client-app-id --aad-client-app-secret --aad-tenant-id - - name: Create an OpenShift cluster with 5 compute nodes. + - name: Create an OpenShift cluster with 5 compute nodes and a custom AAD Client. text: az openshift create -g MyResourceGroup -n MyManagedCluster --fqdn --aad-client-app-id --aad-client-app-secret --aad-tenant-id --node-count 5 """ diff --git a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/custom.py b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/custom.py index 176d25648b1..92fc1dfec31 100644 --- a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/custom.py +++ b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/custom.py @@ -2049,6 +2049,38 @@ def _ensure_aks_service_principal(cli_ctx, store_acs_service_principal(subscription_id, client_secret, service_principal, file_name=file_name_aks) return load_acs_service_principal(subscription_id, file_name=file_name_aks) +def _ensure_osa_aad(cli_ctx, + aad_client_app_id=None, + aad_client_app_secret=None, + aad_tenant_id=None, + identifier=None, + name=None): + # TODO: This really needs to be unit tested. + rbac_client = get_graph_rbac_management_client(cli_ctx) + if not aad_client_app_id: + if not aad_client_app_secret: + aad_client_app_secret = binascii.b2a_hex(os.urandom(10)).decode('utf-8') + reply_url = 'https://{}/oauth2callback/Azure%20AD'.format(identifier) + result = create_application(client=rbac_client.applications, + display_name=identifier, + identifier_uris=[reply_url], + reply_urls=[reply_url], + homepage=reply_url, + password=aad_client_app_secret) + aad_client_app_id=result.app_id + logger.info('Created an AAD: %s', aad_client_app_id) + + # Get the TenantID + if aad_tenant_id is None: + profile = Profile(cli_ctx=cli_ctx) + _, _, aad_tenant_id = profile.get_login_credentials() + + return OpenShiftManagedClusterServiceAADIdentityProvider( + client_id=aad_client_app_id, + secret=aad_client_app_secret, + tenant_id=aad_tenant_id, + kind='AADIdentityProvider') + def _ensure_service_principal(cli_ctx, service_principal=None, @@ -2220,18 +2252,17 @@ def openshift_create(cmd, client, resource_group_name, name, # pylint: disable= ) identity_providers = [] - if any([aad_client_app_id, aad_client_app_secret, aad_tenant_id]): - identity_providers.append( - OpenShiftManagedClusterIdentityProviders( - name='Azure AD', - provider=OpenShiftManagedClusterServiceAADIdentityProvider( - kind='AADIdentityProvider', - client_id=aad_client_app_id, - secret=aad_client_app_secret, - tenant_id=aad_tenant_id - ) - ) + osa_aad_identity = _ensure_osa_aad(cmd.cli_ctx, + aad_client_app_id=aad_client_app_id, + aad_client_app_secret=aad_client_app_secret, + identifier=fqdn, name=name) + + identity_providers.append( + OpenShiftManagedClusterIdentityProviders( + name='Azure AD', + provider=osa_aad_identity ) + ) auth_profile = OpenShiftManagedClusterAuthProfile(identity_providers=identity_providers) default_router_profile = OpenShiftRouterProfile(name='default') diff --git a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/tests/latest/recordings/test_openshift_create_default_service.yaml b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/tests/latest/recordings/test_openshift_create_default_service.yaml deleted file mode 100644 index 5acfe258fbe..00000000000 --- a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/tests/latest/recordings/test_openshift_create_default_service.yaml +++ /dev/null @@ -1,450 +0,0 @@ -interactions: -- request: - body: '{"location": "eastus", "tags": {"product": "azurecli", "cause": "automation", - "date": "2018-09-20T22:14:49Z"}}' - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [group create] - Connection: [keep-alive] - Content-Length: ['110'] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.7.0 (Darwin-17.7.0-x86_64-i386-64bit) requests/2.19.1 - msrest/0.5.5 msrest_azure/0.4.34 resourcemanagementclient/2.0.0 Azure-SDK-For-Python - AZURECLI/2.0.46] - accept-language: [en-US] - method: PUT - uri: https://management.management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2018-05-01 - response: - body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","location":"eastus","tags":{"product":"azurecli","cause":"automation","date":"2018-09-20T22:14:49Z"},"properties":{"provisioningState":"Succeeded"}}'} - headers: - cache-control: [no-cache] - content-length: ['268'] - content-type: [application/json; charset=utf-8] - date: ['Thu, 20 Sep 2018 22:14:51 GMT'] - expires: ['-1'] - pragma: [no-cache] - strict-transport-security: [max-age=31536000; includeSubDomains] - x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1197'] - status: {code: 201, message: Created} -- request: - body: 'b''{"availableToOtherTenants": false, "displayName": "clitest000002", "identifierUris": - ["http://microsoft.onmicrosoft.com/clitest000002"], "passwordCredentials": [{"startDate": - "2018-09-20T22:14:52.140616Z", "endDate": "2019-09-20T22:14:52.140616Z", "keyId": - "f511c99c-8c30-49fb-8408-4f758273f885", "value": "clitest000002"}]}''' - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [ad app create] - Connection: [keep-alive] - Content-Length: ['357'] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.7.0 (Darwin-17.7.0-x86_64-i386-64bit) requests/2.19.1 - msrest/0.5.5 msrest_azure/0.4.34 azure-graphrbac/0.40.0 Azure-SDK-For-Python - AZURECLI/2.0.46] - accept-language: [en-US] - method: POST - uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/applications?api-version=1.6 - response: - body: {string: '{"odata.metadata":"https://graph.windows.net/00000000-0000-0000-0000-000000000000/$metadata#directoryObjects/Microsoft.DirectoryServices.Application/@Element","odata.type":"Microsoft.DirectoryServices.Application","objectType":"Application","objectId":"bd9631c9-9d18-497a-8ceb-c71609dc544b","deletionTimestamp":null,"acceptMappedClaims":null,"addIns":[],"appId":"575f86d0-2ae4-4495-98fd-0b664dc3d36e","appRoles":[],"availableToOtherTenants":false,"displayName":"clitest000002","errorUrl":null,"groupMembershipClaims":null,"homepage":null,"identifierUris":["http://microsoft.onmicrosoft.com/clitest000002"],"informationalUrls":{"termsOfService":null,"support":null,"privacy":null,"marketing":null},"isDeviceOnlyAuthSupported":null,"keyCredentials":[],"knownClientApplications":[],"logoutUrl":null,"logo@odata.mediaContentType":"application/json;odata=minimalmetadata; - charset=utf-8","logoUrl":null,"oauth2AllowIdTokenImplicitFlow":true,"oauth2AllowImplicitFlow":false,"oauth2AllowUrlPathMatching":false,"oauth2Permissions":[{"adminConsentDescription":"Allow - the application to access clitest000002 on behalf of the signed-in user.","adminConsentDisplayName":"Access - clitest000002","id":"4e8e7530-b850-416c-b428-cddfbb2e6835","isEnabled":true,"type":"User","userConsentDescription":"Allow - the application to access clitest000002 on your behalf.","userConsentDisplayName":"Access - clitest000002","value":"user_impersonation"}],"oauth2RequirePostResponse":false,"optionalClaims":null,"orgRestrictions":[],"parentalControlSettings":{"countriesBlockedForMinors":[],"legalAgeGroupRule":"Allow"},"passwordCredentials":[{"customKeyIdentifier":null,"endDate":"2019-09-20T22:14:52.140616Z","keyId":"f511c99c-8c30-49fb-8408-4f758273f885","startDate":"2018-09-20T22:14:52.140616Z","value":null}],"publicClient":null,"publisherDomain":null,"recordConsentConditions":null,"replyUrls":[],"requiredResourceAccess":[],"samlMetadataUrl":null,"signInAudience":"AzureADMyOrg","tokenEncryptionKeyId":null}'} - headers: - access-control-allow-origin: ['*'] - cache-control: [no-cache] - content-length: ['2048'] - content-type: [application/json; odata=minimalmetadata; streaming=true; charset=utf-8] - dataserviceversion: [3.0;] - date: ['Thu, 20 Sep 2018 22:14:54 GMT'] - duration: ['7433360'] - expires: ['-1'] - location: ['https://graph.windows.net/00000000-0000-0000-0000-000000000000/directoryObjects/bd9631c9-9d18-497a-8ceb-c71609dc544b/Microsoft.DirectoryServices.Application'] - ocp-aad-diagnostics-server-name: [flQBgrwiZdgfrwyQn7i7mb8tOHe8Zm56rla4LDh9+Zw=] - ocp-aad-session-key: [VL4formqkpa6bCfMwovzxZnJZ_8PVwgibQzj13liLyUyd3UZLo32HI_jgl65MM13n8KjXAfiWr5aDm0A1ZYy21mslyRsGzfwh7Z9TFV8vjrSg6qvjq0kutbPVvZAyuuZe2s9xXmpnY6Pglay26FClw.O_d62ARZahLJgmRt4W6VEoJUyh_YH197DxXDI7BB4nA] - pragma: [no-cache] - request-id: [c86e52f3-ba93-4dd6-997c-3d1c6e103422] - server: [Microsoft-IIS/10.0] - strict-transport-security: [max-age=31536000; includeSubDomains] - x-aspnet-version: [4.0.30319] - x-content-type-options: [nosniff] - x-ms-dirapi-data-contract-version: ['1.6'] - x-powered-by: [ASP.NET] - status: {code: 201, message: Created} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [openshift create] - Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.7.0 (Darwin-17.7.0-x86_64-i386-64bit) requests/2.19.1 - msrest/0.5.5 msrest_azure/0.4.34 resourcemanagementclient/2.0.0 Azure-SDK-For-Python - AZURECLI/2.0.46] - accept-language: [en-US] - method: GET - uri: https://management.management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2018-05-01 - response: - body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","location":"eastus","tags":{"product":"azurecli","cause":"automation","date":"2018-09-20T22:14:49Z"},"properties":{"provisioningState":"Succeeded"}}'} - headers: - cache-control: [no-cache] - content-length: ['268'] - content-type: [application/json; charset=utf-8] - date: ['Thu, 20 Sep 2018 22:14:54 GMT'] - expires: ['-1'] - pragma: [no-cache] - strict-transport-security: [max-age=31536000; includeSubDomains] - vary: [Accept-Encoding] - x-content-type-options: [nosniff] - status: {code: 200, message: OK} -- request: - body: 'b''b\''{"location": "eastus", "properties": {"openShiftVersion": "v3.10", - "fqdn": "cliosatest000003.eastus.cloudapp.azure.com", "routerProfiles": [{"name": - "default"}], "masterPoolProfile": {"name": "master", "count": 3, "vmSize": "Standard_D2s_v3", - "osType": "Linux"}, "agentPoolProfiles": [{"name": "compute", "count": 1, "vmSize": - "Standard_D4s_v3", "osType": "Linux", "role": "compute"}, {"name": "infra", - "count": 2, "vmSize": "Standard_D4s_v3", "osType": "Linux", "role": "infra"}], - "authProfile": {"identityProviders": [{"name": "Azure AD", "provider": {"kind": - "AADIdentityProvider", "clientId": "575f86d0-2ae4-4495-98fd-0b664dc3d36e", "secret": - "clitest000002", "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47"}}]}}}\''''' - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [openshift create] - Connection: [keep-alive] - Content-Length: ['731'] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.7.0 (Darwin-17.7.0-x86_64-i386-64bit) requests/2.19.1 - msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python - AZURECLI/2.0.46] - accept-language: [en-US] - method: PUT - uri: https://management.management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/openShiftManagedClusters/cliosatest000003?api-version=2018-09-30-preview - response: - body: {string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/openshiftmanagedClusters/cliosatest000003\",\n - \ \"location\": \"eastus\",\n \"name\": \"cliosatest000003\",\n \"type\": - \"Microsoft.ContainerService/OpenShiftManagedClusters\",\n \"properties\": - {\n \"provisioningState\": \"Creating\",\n \"openShiftVersion\": \"v3.10\",\n - \ \"fqdn\": \"cliosatest000003.eastus.cloudapp.azure.com\",\n \"routerProfiles\": - [\n {\n \"name\": \"default\"\n }\n ],\n \"masterPoolProfile\": - {\n \"count\": 3,\n \"vmSize\": \"Standard_D2s_v3\"\n },\n \"agentPoolProfiles\": - [\n {\n \"name\": \"compute\",\n \"count\": 1,\n \"vmSize\": - \"Standard_D4s_v3\",\n \"osType\": \"Linux\",\n \"role\": \"compute\"\n - \ },\n {\n \"name\": \"infra\",\n \"count\": 2,\n \"vmSize\": - \"Standard_D4s_v3\",\n \"osType\": \"Linux\",\n \"role\": \"infra\"\n - \ }\n ],\n \"authProfile\": {\n \"identityProviders\": [\n {\n - \ \"name\": \"Azure AD\",\n \"provider\": {\n \"kind\": \"AADIdentityProvider\",\n - \ \"clientId\": \"575f86d0-2ae4-4495-98fd-0b664dc3d36e\",\n \"tenantId\": - \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n }\n }\n ]\n }\n }\n - }"} - headers: - azure-asyncoperation: ['https://management.management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/18395084-bdb1-4811-bc17-b62645bea1c2?api-version=2017-08-31'] - cache-control: [no-cache] - content-length: ['1167'] - content-type: [application/json] - date: ['Thu, 20 Sep 2018 22:14:58 GMT'] - expires: ['-1'] - pragma: [no-cache] - server: [nginx] - strict-transport-security: [max-age=31536000; includeSubDomains] - x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1195'] - status: {code: 201, message: Created} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [openshift create] - Connection: [keep-alive] - User-Agent: [python/3.7.0 (Darwin-17.7.0-x86_64-i386-64bit) requests/2.19.1 - msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python - AZURECLI/2.0.46] - method: GET - uri: https://management.management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/18395084-bdb1-4811-bc17-b62645bea1c2?api-version=2017-08-31 - response: - body: {string: "{\n \"name\": \"84503918-b1bd-1148-bc17-b62645bea1c2\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2018-09-20T22:14:59.0420745Z\"\n }"} - headers: - cache-control: [no-cache] - content-length: ['126'] - content-type: [application/json] - date: ['Thu, 20 Sep 2018 22:15:30 GMT'] - expires: ['-1'] - pragma: [no-cache] - server: [nginx] - strict-transport-security: [max-age=31536000; includeSubDomains] - transfer-encoding: [chunked] - vary: [Accept-Encoding] - x-content-type-options: [nosniff] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [openshift create] - Connection: [keep-alive] - User-Agent: [python/3.7.0 (Darwin-17.7.0-x86_64-i386-64bit) requests/2.19.1 - msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python - AZURECLI/2.0.46] - method: GET - uri: https://management.management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/18395084-bdb1-4811-bc17-b62645bea1c2?api-version=2017-08-31 - response: - body: {string: "{\n \"name\": \"84503918-b1bd-1148-bc17-b62645bea1c2\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2018-09-20T22:14:59.0420745Z\"\n }"} - headers: - cache-control: [no-cache] - content-length: ['126'] - content-type: [application/json] - date: ['Thu, 20 Sep 2018 22:16:01 GMT'] - expires: ['-1'] - pragma: [no-cache] - server: [nginx] - strict-transport-security: [max-age=31536000; includeSubDomains] - transfer-encoding: [chunked] - vary: [Accept-Encoding] - x-content-type-options: [nosniff] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [openshift create] - Connection: [keep-alive] - User-Agent: [python/3.7.0 (Darwin-17.7.0-x86_64-i386-64bit) requests/2.19.1 - msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python - AZURECLI/2.0.46] - method: GET - uri: https://management.management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/18395084-bdb1-4811-bc17-b62645bea1c2?api-version=2017-08-31 - response: - body: {string: "{\n \"name\": \"84503918-b1bd-1148-bc17-b62645bea1c2\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2018-09-20T22:14:59.0420745Z\"\n }"} - headers: - cache-control: [no-cache] - content-length: ['126'] - content-type: [application/json] - date: ['Thu, 20 Sep 2018 22:16:32 GMT'] - expires: ['-1'] - pragma: [no-cache] - server: [nginx] - strict-transport-security: [max-age=31536000; includeSubDomains] - transfer-encoding: [chunked] - vary: [Accept-Encoding] - x-content-type-options: [nosniff] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [openshift create] - Connection: [keep-alive] - User-Agent: [python/3.7.0 (Darwin-17.7.0-x86_64-i386-64bit) requests/2.19.1 - msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python - AZURECLI/2.0.46] - method: GET - uri: https://management.management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/18395084-bdb1-4811-bc17-b62645bea1c2?api-version=2017-08-31 - response: - body: {string: "{\n \"name\": \"84503918-b1bd-1148-bc17-b62645bea1c2\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2018-09-20T22:14:59.0420745Z\"\n }"} - headers: - cache-control: [no-cache] - content-length: ['126'] - content-type: [application/json] - date: ['Thu, 20 Sep 2018 22:17:03 GMT'] - expires: ['-1'] - pragma: [no-cache] - server: [nginx] - strict-transport-security: [max-age=31536000; includeSubDomains] - transfer-encoding: [chunked] - vary: [Accept-Encoding] - x-content-type-options: [nosniff] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [openshift create] - Connection: [keep-alive] - User-Agent: [python/3.7.0 (Darwin-17.7.0-x86_64-i386-64bit) requests/2.19.1 - msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python - AZURECLI/2.0.46] - method: GET - uri: https://management.management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/18395084-bdb1-4811-bc17-b62645bea1c2?api-version=2017-08-31 - response: - body: {string: "{\n \"name\": \"84503918-b1bd-1148-bc17-b62645bea1c2\",\n \"status\": - \"Failed\",\n \"startTime\": \"2018-09-20T22:14:59.0420745Z\",\n \"endTime\": - \"2018-09-20T22:17:21.9035309Z\",\n \"error\": {\n \"code\": \"CreateManagedAppError\",\n - \ \"message\": \"unable to create managed app. error: Code=\\\"ApplianceDeploymentFailed\\\" - Message=\\\"The operation to create appliance failed. Please check operations - of deployment 'OS_clitest000001_cliosatest000003_eastus' under resource group - '/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fd21a11a-e4b9-4ea1-a663-ce22463ba32a'. - Error message: 'At least one resource deployment operation failed. Please - list deployment operations for details. Please see https://aka.ms/arm-debug - for usage details.'\\\" Details=[{\\\"code\\\":\\\"BadRequest\\\",\\\"message\\\":\\\"{\\\\r\\\\n - \ \\\\\\\"error\\\\\\\": {\\\\r\\\\n \\\\\\\"code\\\\\\\": \\\\\\\"InvalidTemplate\\\\\\\",\\\\r\\\\n - \ \\\\\\\"message\\\\\\\": \\\\\\\"Deployment template validation failed: - 'The template resource 'dummyResource' for type 'Microsoft.ContainerService/locations/openShiftClusters' - at line '23' and column '9' has incorrect segment lengths. A nested resource - type must have identical number of segments as its resource name. A root resource - type must have segment length one greater than its resource name. Please see - https://aka.ms/arm-template/#resources for usage details.'.\\\\\\\"\\\\r\\\\n - \ }\\\\r\\\\n}\\\"}]\"\n }\n }"} - headers: - cache-control: [no-cache] - content-length: ['1362'] - content-type: [application/json] - date: ['Thu, 20 Sep 2018 22:17:34 GMT'] - expires: ['-1'] - pragma: [no-cache] - server: [nginx] - strict-transport-security: [max-age=31536000; includeSubDomains] - transfer-encoding: [chunked] - vary: [Accept-Encoding] - x-content-type-options: [nosniff] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [ad app delete] - Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.7.0 (Darwin-17.7.0-x86_64-i386-64bit) requests/2.19.1 - msrest/0.5.5 msrest_azure/0.4.34 azure-graphrbac/0.40.0 Azure-SDK-For-Python - AZURECLI/2.0.46] - accept-language: [en-US] - method: GET - uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/applications?$filter=identifierUris%2Fany%28s%3As%20eq%20%27575f86d0-2ae4-4495-98fd-0b664dc3d36e%27%29&api-version=1.6 - response: - body: {string: '{"odata.metadata":"https://graph.windows.net/00000000-0000-0000-0000-000000000000/$metadata#directoryObjects","value":[]}'} - headers: - access-control-allow-origin: ['*'] - cache-control: [no-cache] - content-length: ['121'] - content-type: [application/json; odata=minimalmetadata; streaming=true; charset=utf-8] - dataserviceversion: [3.0;] - date: ['Thu, 20 Sep 2018 22:17:35 GMT'] - duration: ['445360'] - expires: ['-1'] - ocp-aad-diagnostics-server-name: [M8bzLRFk5jNyTiwULITGQ7y6Ps81Gpu3TLkjk7AqFnQ=] - ocp-aad-session-key: [eGf7nZalflfTQ31mdq7Un0puQ1Hkev_vgJ6fuoB8CJeSBkkDkoSaNDAtzJVM4FI-27catRvRl9z4Gd4UOqmtTmsFlpGJIoYIw46driO9beg7fiIMdXLKLCpzEySyILuR-4sGDw3HPI40nfDKDSFxqQ.mrypzgg1Z6ST1rgX71Y5fw_ycXqBOsupBj3CduD_B88] - pragma: [no-cache] - request-id: [435b9cd4-6d6d-4c66-b3e4-cc91d107bd9f] - server: [Microsoft-IIS/10.0] - strict-transport-security: [max-age=31536000; includeSubDomains] - x-aspnet-version: [4.0.30319] - x-ms-dirapi-data-contract-version: ['1.6'] - x-powered-by: [ASP.NET] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [ad app delete] - Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.7.0 (Darwin-17.7.0-x86_64-i386-64bit) requests/2.19.1 - msrest/0.5.5 msrest_azure/0.4.34 azure-graphrbac/0.40.0 Azure-SDK-For-Python - AZURECLI/2.0.46] - accept-language: [en-US] - method: GET - uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/applications?$filter=appId%20eq%20%27575f86d0-2ae4-4495-98fd-0b664dc3d36e%27&api-version=1.6 - response: - body: {string: '{"odata.metadata":"https://graph.windows.net/00000000-0000-0000-0000-000000000000/$metadata#directoryObjects","value":[{"odata.type":"Microsoft.DirectoryServices.Application","objectType":"Application","objectId":"bd9631c9-9d18-497a-8ceb-c71609dc544b","deletionTimestamp":null,"acceptMappedClaims":null,"addIns":[],"appId":"575f86d0-2ae4-4495-98fd-0b664dc3d36e","appRoles":[],"availableToOtherTenants":false,"displayName":"clitest000002","errorUrl":null,"groupMembershipClaims":null,"homepage":null,"identifierUris":["http://microsoft.onmicrosoft.com/clitest000002"],"informationalUrls":{"termsOfService":null,"support":null,"privacy":null,"marketing":null},"isDeviceOnlyAuthSupported":null,"keyCredentials":[],"knownClientApplications":[],"logoutUrl":null,"logo@odata.mediaEditLink":"directoryObjects/bd9631c9-9d18-497a-8ceb-c71609dc544b/Microsoft.DirectoryServices.Application/logo","logoUrl":null,"mainLogo@odata.mediaEditLink":"directoryObjects/bd9631c9-9d18-497a-8ceb-c71609dc544b/Microsoft.DirectoryServices.Application/mainLogo","oauth2AllowIdTokenImplicitFlow":true,"oauth2AllowImplicitFlow":false,"oauth2AllowUrlPathMatching":false,"oauth2Permissions":[{"adminConsentDescription":"Allow - the application to access clitest000002 on behalf of the signed-in user.","adminConsentDisplayName":"Access - clitest000002","id":"4e8e7530-b850-416c-b428-cddfbb2e6835","isEnabled":true,"type":"User","userConsentDescription":"Allow - the application to access clitest000002 on your behalf.","userConsentDisplayName":"Access - clitest000002","value":"user_impersonation"}],"oauth2RequirePostResponse":false,"optionalClaims":null,"orgRestrictions":[],"parentalControlSettings":{"countriesBlockedForMinors":[],"legalAgeGroupRule":"Allow"},"passwordCredentials":[{"customKeyIdentifier":null,"endDate":"2019-09-20T22:14:52.140616Z","keyId":"f511c99c-8c30-49fb-8408-4f758273f885","startDate":"2018-09-20T22:14:52.140616Z","value":null}],"publicClient":null,"publisherDomain":null,"recordConsentConditions":null,"replyUrls":[],"requiredResourceAccess":[],"samlMetadataUrl":null,"signInAudience":"AzureADMyOrg","tokenEncryptionKeyId":null}]}'} - headers: - access-control-allow-origin: ['*'] - cache-control: [no-cache] - content-length: ['2189'] - content-type: [application/json; odata=minimalmetadata; streaming=true; charset=utf-8] - dataserviceversion: [3.0;] - date: ['Thu, 20 Sep 2018 22:17:35 GMT'] - duration: ['452570'] - expires: ['-1'] - ocp-aad-diagnostics-server-name: [Zy/5UjtVBNGnRa9GOx8EKhlbFAuGpRF0v0oD53+WLoM=] - ocp-aad-session-key: [q5Tw8MCMOI_-V74oJ4rjjrN-XnPLw93LCOWqGirj3pdC70fev8leTBxYYROnBdPE36rZP_pWV725NWz7umcNR1w5V8v8BLt39uuUQbc47Zdp0GilE0nU-aNmYSDqM_4yRC2f21e0yjOlgd4wFUwmGQ.ZhNS9a1zpo8S9bZpX3b1Ok6gRwTQA5ivqN6we19SenY] - pragma: [no-cache] - request-id: [6a52ab99-f975-41ad-b738-bf5fe58ff400] - server: [Microsoft-IIS/10.0] - strict-transport-security: [max-age=31536000; includeSubDomains] - x-aspnet-version: [4.0.30319] - x-ms-dirapi-data-contract-version: ['1.6'] - x-powered-by: [ASP.NET] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [ad app delete] - Connection: [keep-alive] - Content-Length: ['0'] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.7.0 (Darwin-17.7.0-x86_64-i386-64bit) requests/2.19.1 - msrest/0.5.5 msrest_azure/0.4.34 azure-graphrbac/0.40.0 Azure-SDK-For-Python - AZURECLI/2.0.46] - accept-language: [en-US] - method: DELETE - uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/applications/bd9631c9-9d18-497a-8ceb-c71609dc544b?api-version=1.6 - response: - body: {string: ''} - headers: - access-control-allow-origin: ['*'] - cache-control: [no-cache] - dataserviceversion: [1.0;] - date: ['Thu, 20 Sep 2018 22:17:35 GMT'] - duration: ['2461088'] - expires: ['-1'] - ocp-aad-diagnostics-server-name: [jgkTREa8VkJkXrnKFVYN6GLgBytsPCC0/I/2wc2dZSk=] - ocp-aad-session-key: [IrNtBAxRr-0HBf_KPac_Y6ObZK7RulWMuLdf7MiqE80DIfP4En37lJYzY7q5FhgB-J66YGtS1QTJvMjjkoSGSQi1JGdTL4YQFzdy0d6fbfXcmZo_AswmBt6Ep5zrhDsjmb1Xz_KTe6tJnaZAX3u9UA.0v9_hkNIXL62KIOCTF2Z4_9Wr0jkLEQmRHqiZufYouc] - pragma: [no-cache] - request-id: [7b9331dc-e0da-44cc-9e2b-67e6721713eb] - server: [Microsoft-IIS/10.0] - strict-transport-security: [max-age=31536000; includeSubDomains] - x-aspnet-version: [4.0.30319] - x-content-type-options: [nosniff] - x-ms-dirapi-data-contract-version: ['1.6'] - x-powered-by: [ASP.NET] - status: {code: 204, message: No Content} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [group delete] - Connection: [keep-alive] - Content-Length: ['0'] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.7.0 (Darwin-17.7.0-x86_64-i386-64bit) requests/2.19.1 - msrest/0.5.5 msrest_azure/0.4.34 resourcemanagementclient/2.0.0 Azure-SDK-For-Python - AZURECLI/2.0.46] - accept-language: [en-US] - method: DELETE - uri: https://management.management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2018-05-01 - response: - body: {string: ''} - headers: - cache-control: [no-cache] - content-length: ['0'] - date: ['Thu, 20 Sep 2018 22:17:37 GMT'] - expires: ['-1'] - location: ['https://management.management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUSlJaU1BPN05QSy1FQVNUVVMiLCJqb2JMb2NhdGlvbiI6ImVhc3R1cyJ9?api-version=2018-05-01'] - pragma: [no-cache] - strict-transport-security: [max-age=31536000; includeSubDomains] - x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-deletes: ['14998'] - status: {code: 202, message: Accepted} -version: 1 diff --git a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/tests/latest/recordings/test_openshift_create_service_no_wait.yaml b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/tests/latest/recordings/test_openshift_create_service_no_wait.yaml deleted file mode 100644 index d88daac807b..00000000000 --- a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/tests/latest/recordings/test_openshift_create_service_no_wait.yaml +++ /dev/null @@ -1,416 +0,0 @@ -interactions: -- request: - body: '{"location": "eastus", "tags": {"product": "azurecli", "cause": "automation", - "date": "2018-09-20T22:17:37Z"}}' - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [group create] - Connection: [keep-alive] - Content-Length: ['110'] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.7.0 (Darwin-17.7.0-x86_64-i386-64bit) requests/2.19.1 - msrest/0.5.5 msrest_azure/0.4.34 resourcemanagementclient/2.0.0 Azure-SDK-For-Python - AZURECLI/2.0.46] - accept-language: [en-US] - method: PUT - uri: https://management.management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2018-05-01 - response: - body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","location":"eastus","tags":{"product":"azurecli","cause":"automation","date":"2018-09-20T22:17:37Z"},"properties":{"provisioningState":"Succeeded"}}'} - headers: - cache-control: [no-cache] - content-length: ['268'] - content-type: [application/json; charset=utf-8] - date: ['Thu, 20 Sep 2018 22:17:38 GMT'] - expires: ['-1'] - pragma: [no-cache] - strict-transport-security: [max-age=31536000; includeSubDomains] - x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1197'] - status: {code: 201, message: Created} -- request: - body: 'b''{"availableToOtherTenants": false, "displayName": "clitest000002", "identifierUris": - ["http://microsoft.onmicrosoft.com/clitest000002"], "passwordCredentials": [{"startDate": - "2018-09-20T22:17:39.166298Z", "endDate": "2019-09-20T22:17:39.166298Z", "keyId": - "7f3fd494-e70e-46d2-8572-a5dbe63902ed", "value": "clitest000002"}]}''' - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [ad app create] - Connection: [keep-alive] - Content-Length: ['357'] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.7.0 (Darwin-17.7.0-x86_64-i386-64bit) requests/2.19.1 - msrest/0.5.5 msrest_azure/0.4.34 azure-graphrbac/0.40.0 Azure-SDK-For-Python - AZURECLI/2.0.46] - accept-language: [en-US] - method: POST - uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/applications?api-version=1.6 - response: - body: {string: '{"odata.metadata":"https://graph.windows.net/00000000-0000-0000-0000-000000000000/$metadata#directoryObjects/Microsoft.DirectoryServices.Application/@Element","odata.type":"Microsoft.DirectoryServices.Application","objectType":"Application","objectId":"bb155a1e-6819-438d-ac58-2dad29201f90","deletionTimestamp":null,"acceptMappedClaims":null,"addIns":[],"appId":"a128a611-32a7-441a-a2ac-4c4e2fe6e943","appRoles":[],"availableToOtherTenants":false,"displayName":"clitest000002","errorUrl":null,"groupMembershipClaims":null,"homepage":null,"identifierUris":["http://microsoft.onmicrosoft.com/clitest000002"],"informationalUrls":{"termsOfService":null,"support":null,"privacy":null,"marketing":null},"isDeviceOnlyAuthSupported":null,"keyCredentials":[],"knownClientApplications":[],"logoutUrl":null,"logo@odata.mediaContentType":"application/json;odata=minimalmetadata; - charset=utf-8","logoUrl":null,"oauth2AllowIdTokenImplicitFlow":true,"oauth2AllowImplicitFlow":false,"oauth2AllowUrlPathMatching":false,"oauth2Permissions":[{"adminConsentDescription":"Allow - the application to access clitest000002 on behalf of the signed-in user.","adminConsentDisplayName":"Access - clitest000002","id":"5c53dce5-d00d-4c78-9f6e-dc2869a072e3","isEnabled":true,"type":"User","userConsentDescription":"Allow - the application to access clitest000002 on your behalf.","userConsentDisplayName":"Access - clitest000002","value":"user_impersonation"}],"oauth2RequirePostResponse":false,"optionalClaims":null,"orgRestrictions":[],"parentalControlSettings":{"countriesBlockedForMinors":[],"legalAgeGroupRule":"Allow"},"passwordCredentials":[{"customKeyIdentifier":null,"endDate":"2019-09-20T22:17:39.166298Z","keyId":"7f3fd494-e70e-46d2-8572-a5dbe63902ed","startDate":"2018-09-20T22:17:39.166298Z","value":null}],"publicClient":null,"publisherDomain":null,"recordConsentConditions":null,"replyUrls":[],"requiredResourceAccess":[],"samlMetadataUrl":null,"signInAudience":"AzureADMyOrg","tokenEncryptionKeyId":null}'} - headers: - access-control-allow-origin: ['*'] - cache-control: [no-cache] - content-length: ['2048'] - content-type: [application/json; odata=minimalmetadata; streaming=true; charset=utf-8] - dataserviceversion: [3.0;] - date: ['Thu, 20 Sep 2018 22:17:39 GMT'] - duration: ['13540925'] - expires: ['-1'] - location: ['https://graph.windows.net/00000000-0000-0000-0000-000000000000/directoryObjects/bb155a1e-6819-438d-ac58-2dad29201f90/Microsoft.DirectoryServices.Application'] - ocp-aad-diagnostics-server-name: [Zd5WAvvhFiXEGhyCaTKadU4m8fPlsgyEroxPvDDhe7Q=] - ocp-aad-session-key: [eTuKIzvADb3nGaSMWgeJadFEBOeSgiGnD-BGyeartje7iGPjGtQm5N_qEZ45TeV3TShQw1eVL9LEga_nX0C8bzu8tzM1GsUX3bTv7xOL1RBPuEjAdAaRn5r4PTKDFz7fR4Y3QOhNklUkCz0NuSttjA.Dpxw1ETxbTFR6R1A4mVcD30cDoZRekv9Z2SuG3597D8] - pragma: [no-cache] - request-id: [788ba168-f403-4104-a4ec-8f9aa83bb83d] - server: [Microsoft-IIS/10.0] - strict-transport-security: [max-age=31536000; includeSubDomains] - x-aspnet-version: [4.0.30319] - x-content-type-options: [nosniff] - x-ms-dirapi-data-contract-version: ['1.6'] - x-powered-by: [ASP.NET] - status: {code: 201, message: Created} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [openshift create] - Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.7.0 (Darwin-17.7.0-x86_64-i386-64bit) requests/2.19.1 - msrest/0.5.5 msrest_azure/0.4.34 resourcemanagementclient/2.0.0 Azure-SDK-For-Python - AZURECLI/2.0.46] - accept-language: [en-US] - method: GET - uri: https://management.management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2018-05-01 - response: - body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","location":"eastus","tags":{"product":"azurecli","cause":"automation","date":"2018-09-20T22:17:37Z"},"properties":{"provisioningState":"Succeeded"}}'} - headers: - cache-control: [no-cache] - content-length: ['268'] - content-type: [application/json; charset=utf-8] - date: ['Thu, 20 Sep 2018 22:17:41 GMT'] - expires: ['-1'] - pragma: [no-cache] - strict-transport-security: [max-age=31536000; includeSubDomains] - vary: [Accept-Encoding] - x-content-type-options: [nosniff] - status: {code: 200, message: OK} -- request: - body: 'b''b\''{"location": "eastus", "tags": {"scenario_test": ""}, "properties": - {"openShiftVersion": "v3.10", "fqdn": "cliosatest000003.eastus.cloudapp.azure.com", - "routerProfiles": [{"name": "default"}], "masterPoolProfile": {"name": "master", - "count": 3, "vmSize": "Standard_D2s_v3", "osType": "Linux"}, "agentPoolProfiles": - [{"name": "compute", "count": 1, "vmSize": "Standard_D4s_v3", "osType": "Linux", - "role": "compute"}, {"name": "infra", "count": 2, "vmSize": "Standard_D4s_v3", - "osType": "Linux", "role": "infra"}], "authProfile": {"identityProviders": [{"name": - "Azure AD", "provider": {"kind": "AADIdentityProvider", "clientId": "a128a611-32a7-441a-a2ac-4c4e2fe6e943", - "secret": "clitest000002", "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47"}}]}}}\''''' - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [openshift create] - Connection: [keep-alive] - Content-Length: ['762'] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.7.0 (Darwin-17.7.0-x86_64-i386-64bit) requests/2.19.1 - msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python - AZURECLI/2.0.46] - accept-language: [en-US] - method: PUT - uri: https://management.management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/openShiftManagedClusters/cliosatest000003?api-version=2018-09-30-preview - response: - body: {string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/openshiftmanagedClusters/cliosatest000003\",\n - \ \"location\": \"eastus\",\n \"name\": \"cliosatest000003\",\n \"tags\": - {\n \"scenario_test\": \"\"\n },\n \"type\": \"Microsoft.ContainerService/OpenShiftManagedClusters\",\n - \ \"properties\": {\n \"provisioningState\": \"Creating\",\n \"openShiftVersion\": - \"v3.10\",\n \"fqdn\": \"cliosatest000003.eastus.cloudapp.azure.com\",\n - \ \"routerProfiles\": [\n {\n \"name\": \"default\"\n }\n ],\n - \ \"masterPoolProfile\": {\n \"count\": 3,\n \"vmSize\": \"Standard_D2s_v3\"\n - \ },\n \"agentPoolProfiles\": [\n {\n \"name\": \"compute\",\n \"count\": - 1,\n \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": \"Linux\",\n \"role\": - \"compute\"\n },\n {\n \"name\": \"infra\",\n \"count\": 2,\n - \ \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": \"Linux\",\n \"role\": - \"infra\"\n }\n ],\n \"authProfile\": {\n \"identityProviders\": - [\n {\n \"name\": \"Azure AD\",\n \"provider\": {\n \"kind\": - \"AADIdentityProvider\",\n \"clientId\": \"a128a611-32a7-441a-a2ac-4c4e2fe6e943\",\n - \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n }\n }\n - \ ]\n }\n }\n }"} - headers: - azure-asyncoperation: ['https://management.management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/7a6e938a-a169-4ed1-a315-f72f523079f6?api-version=2017-08-31'] - cache-control: [no-cache] - content-length: ['1207'] - content-type: [application/json] - date: ['Thu, 20 Sep 2018 22:17:44 GMT'] - expires: ['-1'] - pragma: [no-cache] - server: [nginx] - strict-transport-security: [max-age=31536000; includeSubDomains] - x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1194'] - status: {code: 201, message: Created} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [openshift wait] - Connection: [keep-alive] - User-Agent: [python/3.7.0 (Darwin-17.7.0-x86_64-i386-64bit) requests/2.19.1 - msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python - AZURECLI/2.0.46] - accept-language: [en-US] - method: GET - uri: https://management.management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/openShiftManagedClusters/cliosatest000003?api-version=2018-09-30-preview - response: - body: {string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/openshiftmanagedClusters/cliosatest000003\",\n - \ \"location\": \"eastus\",\n \"name\": \"cliosatest000003\",\n \"tags\": - {\n \"scenario_test\": \"\"\n },\n \"type\": \"Microsoft.ContainerService/OpenShiftManagedClusters\",\n - \ \"properties\": {\n \"provisioningState\": \"Creating\",\n \"openShiftVersion\": - \"v3.10\",\n \"fqdn\": \"cliosatest000003.eastus.cloudapp.azure.com\",\n - \ \"routerProfiles\": [\n {\n \"name\": \"default\"\n }\n ],\n - \ \"masterPoolProfile\": {\n \"count\": 3,\n \"vmSize\": \"Standard_D2s_v3\"\n - \ },\n \"agentPoolProfiles\": [\n {\n \"name\": \"compute\",\n \"count\": - 1,\n \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": \"Linux\",\n \"role\": - \"compute\"\n },\n {\n \"name\": \"infra\",\n \"count\": 2,\n - \ \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": \"Linux\",\n \"role\": - \"infra\"\n }\n ],\n \"authProfile\": {\n \"identityProviders\": - [\n {\n \"name\": \"Azure AD\",\n \"provider\": {\n \"kind\": - \"AADIdentityProvider\",\n \"clientId\": \"a128a611-32a7-441a-a2ac-4c4e2fe6e943\",\n - \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n }\n }\n - \ ]\n }\n }\n }"} - headers: - cache-control: [no-cache] - content-length: ['1207'] - content-type: [application/json] - date: ['Thu, 20 Sep 2018 22:17:45 GMT'] - expires: ['-1'] - pragma: [no-cache] - server: [nginx] - strict-transport-security: [max-age=31536000; includeSubDomains] - transfer-encoding: [chunked] - vary: [Accept-Encoding] - x-content-type-options: [nosniff] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [openshift wait] - Connection: [keep-alive] - User-Agent: [python/3.7.0 (Darwin-17.7.0-x86_64-i386-64bit) requests/2.19.1 - msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python - AZURECLI/2.0.46] - accept-language: [en-US] - method: GET - uri: https://management.management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/openShiftManagedClusters/cliosatest000003?api-version=2018-09-30-preview - response: - body: {string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/openshiftmanagedClusters/cliosatest000003\",\n - \ \"location\": \"eastus\",\n \"name\": \"cliosatest000003\",\n \"tags\": - {\n \"scenario_test\": \"\"\n },\n \"type\": \"Microsoft.ContainerService/OpenShiftManagedClusters\",\n - \ \"properties\": {\n \"provisioningState\": \"Creating\",\n \"openShiftVersion\": - \"v3.10\",\n \"fqdn\": \"cliosatest000003.eastus.cloudapp.azure.com\",\n - \ \"routerProfiles\": [\n {\n \"name\": \"default\"\n }\n ],\n - \ \"masterPoolProfile\": {\n \"count\": 3,\n \"vmSize\": \"Standard_D2s_v3\"\n - \ },\n \"agentPoolProfiles\": [\n {\n \"name\": \"compute\",\n \"count\": - 1,\n \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": \"Linux\",\n \"role\": - \"compute\"\n },\n {\n \"name\": \"infra\",\n \"count\": 2,\n - \ \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": \"Linux\",\n \"role\": - \"infra\"\n }\n ],\n \"authProfile\": {\n \"identityProviders\": - [\n {\n \"name\": \"Azure AD\",\n \"provider\": {\n \"kind\": - \"AADIdentityProvider\",\n \"clientId\": \"a128a611-32a7-441a-a2ac-4c4e2fe6e943\",\n - \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n }\n }\n - \ ]\n }\n }\n }"} - headers: - cache-control: [no-cache] - content-length: ['1207'] - content-type: [application/json] - date: ['Thu, 20 Sep 2018 22:18:16 GMT'] - expires: ['-1'] - pragma: [no-cache] - server: [nginx] - strict-transport-security: [max-age=31536000; includeSubDomains] - transfer-encoding: [chunked] - vary: [Accept-Encoding] - x-content-type-options: [nosniff] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [openshift wait] - Connection: [keep-alive] - User-Agent: [python/3.7.0 (Darwin-17.7.0-x86_64-i386-64bit) requests/2.19.1 - msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python - AZURECLI/2.0.46] - accept-language: [en-US] - method: GET - uri: https://management.management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/openShiftManagedClusters/cliosatest000003?api-version=2018-09-30-preview - response: - body: {string: '{"error":{"code":"ExpiredAuthenticationToken","message":"The access - token expiry UTC time ''9/20/2018 10:18:30 PM'' is earlier than current UTC - time ''9/20/2018 10:18:47 PM''."}}'} - headers: - cache-control: [no-cache] - connection: [close] - content-length: ['174'] - content-type: [application/json; charset=utf-8] - date: ['Thu, 20 Sep 2018 22:18:46 GMT'] - expires: ['-1'] - pragma: [no-cache] - strict-transport-security: [max-age=31536000; includeSubDomains] - www-authenticate: ['Bearer authorization_uri="https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47", - error="invalid_token", error_description="The access token has expired."'] - x-content-type-options: [nosniff] - x-ms-failure-cause: [gateway] - status: {code: 401, message: Unauthorized} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [ad app delete] - Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.7.0 (Darwin-17.7.0-x86_64-i386-64bit) requests/2.19.1 - msrest/0.5.5 msrest_azure/0.4.34 azure-graphrbac/0.40.0 Azure-SDK-For-Python - AZURECLI/2.0.46] - accept-language: [en-US] - method: GET - uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/applications?$filter=identifierUris%2Fany%28s%3As%20eq%20%27a128a611-32a7-441a-a2ac-4c4e2fe6e943%27%29&api-version=1.6 - response: - body: {string: '{"odata.metadata":"https://graph.windows.net/00000000-0000-0000-0000-000000000000/$metadata#directoryObjects","value":[]}'} - headers: - access-control-allow-origin: ['*'] - cache-control: [no-cache] - content-length: ['121'] - content-type: [application/json; odata=minimalmetadata; streaming=true; charset=utf-8] - dataserviceversion: [3.0;] - date: ['Thu, 20 Sep 2018 22:18:46 GMT'] - duration: ['379651'] - expires: ['-1'] - ocp-aad-diagnostics-server-name: [B34tkdosGb0C92OtDeVF7+Ya/Ec9VzUkXG9UuWWZ1dQ=] - ocp-aad-session-key: [y0h680cN-1FZCnJd77js0XvSC56mrN3sWbQP8XoadyMcqBPSGPpE3LFLQMd0tPNvUPGxkIzhXoIYIK_lDGvlEVWqamyW2O88Y3122m-7ZwzItdZ90uNwsSUcpsfkRW6X688CsPCAIjTvWTpn9s1A2g.CLliH45EnL_7XeqsWZjgobHglwJhfm0dgQ6lwnlZV1Y] - pragma: [no-cache] - request-id: [34381086-e6ed-46d8-ae75-f5f631773af0] - server: [Microsoft-IIS/10.0] - strict-transport-security: [max-age=31536000; includeSubDomains] - x-aspnet-version: [4.0.30319] - x-ms-dirapi-data-contract-version: ['1.6'] - x-powered-by: [ASP.NET] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [ad app delete] - Connection: [keep-alive] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.7.0 (Darwin-17.7.0-x86_64-i386-64bit) requests/2.19.1 - msrest/0.5.5 msrest_azure/0.4.34 azure-graphrbac/0.40.0 Azure-SDK-For-Python - AZURECLI/2.0.46] - accept-language: [en-US] - method: GET - uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/applications?$filter=appId%20eq%20%27a128a611-32a7-441a-a2ac-4c4e2fe6e943%27&api-version=1.6 - response: - body: {string: '{"odata.metadata":"https://graph.windows.net/00000000-0000-0000-0000-000000000000/$metadata#directoryObjects","value":[{"odata.type":"Microsoft.DirectoryServices.Application","objectType":"Application","objectId":"bb155a1e-6819-438d-ac58-2dad29201f90","deletionTimestamp":null,"acceptMappedClaims":null,"addIns":[],"appId":"a128a611-32a7-441a-a2ac-4c4e2fe6e943","appRoles":[],"availableToOtherTenants":false,"displayName":"clitest000002","errorUrl":null,"groupMembershipClaims":null,"homepage":null,"identifierUris":["http://microsoft.onmicrosoft.com/clitest000002"],"informationalUrls":{"termsOfService":null,"support":null,"privacy":null,"marketing":null},"isDeviceOnlyAuthSupported":null,"keyCredentials":[],"knownClientApplications":[],"logoutUrl":null,"logo@odata.mediaEditLink":"directoryObjects/bb155a1e-6819-438d-ac58-2dad29201f90/Microsoft.DirectoryServices.Application/logo","logoUrl":null,"mainLogo@odata.mediaEditLink":"directoryObjects/bb155a1e-6819-438d-ac58-2dad29201f90/Microsoft.DirectoryServices.Application/mainLogo","oauth2AllowIdTokenImplicitFlow":true,"oauth2AllowImplicitFlow":false,"oauth2AllowUrlPathMatching":false,"oauth2Permissions":[{"adminConsentDescription":"Allow - the application to access clitest000002 on behalf of the signed-in user.","adminConsentDisplayName":"Access - clitest000002","id":"5c53dce5-d00d-4c78-9f6e-dc2869a072e3","isEnabled":true,"type":"User","userConsentDescription":"Allow - the application to access clitest000002 on your behalf.","userConsentDisplayName":"Access - clitest000002","value":"user_impersonation"}],"oauth2RequirePostResponse":false,"optionalClaims":null,"orgRestrictions":[],"parentalControlSettings":{"countriesBlockedForMinors":[],"legalAgeGroupRule":"Allow"},"passwordCredentials":[{"customKeyIdentifier":null,"endDate":"2019-09-20T22:17:39.166298Z","keyId":"7f3fd494-e70e-46d2-8572-a5dbe63902ed","startDate":"2018-09-20T22:17:39.166298Z","value":null}],"publicClient":null,"publisherDomain":null,"recordConsentConditions":null,"replyUrls":[],"requiredResourceAccess":[],"samlMetadataUrl":null,"signInAudience":"AzureADMyOrg","tokenEncryptionKeyId":null}]}'} - headers: - access-control-allow-origin: ['*'] - cache-control: [no-cache] - content-length: ['2189'] - content-type: [application/json; odata=minimalmetadata; streaming=true; charset=utf-8] - dataserviceversion: [3.0;] - date: ['Thu, 20 Sep 2018 22:18:47 GMT'] - duration: ['1097110'] - expires: ['-1'] - ocp-aad-diagnostics-server-name: [65KUq+uCKgQ0Q/96SXTqFRzSr0G+pBPmD6u12XQmt6M=] - ocp-aad-session-key: [ONd_ADwOMUrjPXTz1cpzZMvbCS2bW9TfPPnh45gDpiwpIP_Aa4LfxAFrQOuexzvJ6Kt8Dd0R8TauTKMyuLiotBpAIUGa8GmW-iFWDKSCRRlUc6o2mnZFRZyZtepCM2mKKRVQWI2cTx-JGo-uVk3uJw.tFNa_LcZkSNLI05UJ_DJfCWp6Kcfb052WdqQWQkBAYM] - pragma: [no-cache] - request-id: [a2852328-be97-4f78-9d52-7652b95af3c0] - server: [Microsoft-IIS/10.0] - strict-transport-security: [max-age=31536000; includeSubDomains] - x-aspnet-version: [4.0.30319] - x-ms-dirapi-data-contract-version: ['1.6'] - x-powered-by: [ASP.NET] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [ad app delete] - Connection: [keep-alive] - Content-Length: ['0'] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.7.0 (Darwin-17.7.0-x86_64-i386-64bit) requests/2.19.1 - msrest/0.5.5 msrest_azure/0.4.34 azure-graphrbac/0.40.0 Azure-SDK-For-Python - AZURECLI/2.0.46] - accept-language: [en-US] - method: DELETE - uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/applications/bb155a1e-6819-438d-ac58-2dad29201f90?api-version=1.6 - response: - body: {string: ''} - headers: - access-control-allow-origin: ['*'] - cache-control: [no-cache] - dataserviceversion: [1.0;] - date: ['Thu, 20 Sep 2018 22:18:48 GMT'] - duration: ['2212750'] - expires: ['-1'] - ocp-aad-diagnostics-server-name: [vMSz5D6d8uI7Gscnh6NQzR0ElGWHFZJ/TeXEmQRsXJs=] - ocp-aad-session-key: [CfoNgnhzSmoluGP1Fypge1ve20QovbhAoH6rT5sDd3u9Bb1gaeILF-pvVg43ZLK2w04KlaA2xoo3Ca1WKRI_eJOTemI7jqK2MGDmLxpDCU9fPGiiGSKmxPOD1KHnxCMvLe-0nc4-djL4dFqOT9AcEQ.ST8Ou3z4DK4Qsrr-uObNIbzbLnDJhbmdl0E021B0aTQ] - pragma: [no-cache] - request-id: [bbd49837-b29a-4671-a9e4-690d13b377bc] - server: [Microsoft-IIS/10.0] - strict-transport-security: [max-age=31536000; includeSubDomains] - x-aspnet-version: [4.0.30319] - x-content-type-options: [nosniff] - x-ms-dirapi-data-contract-version: ['1.6'] - x-powered-by: [ASP.NET] - status: {code: 204, message: No Content} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [group delete] - Connection: [keep-alive] - Content-Length: ['0'] - Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.7.0 (Darwin-17.7.0-x86_64-i386-64bit) requests/2.19.1 - msrest/0.5.5 msrest_azure/0.4.34 resourcemanagementclient/2.0.0 Azure-SDK-For-Python - AZURECLI/2.0.46] - accept-language: [en-US] - method: DELETE - uri: https://management.management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2018-05-01 - response: - body: {string: '{"error":{"code":"ExpiredAuthenticationToken","message":"The access - token expiry UTC time ''9/20/2018 10:18:30 PM'' is earlier than current UTC - time ''9/20/2018 10:18:48 PM''."}}'} - headers: - cache-control: [no-cache] - connection: [close] - content-length: ['174'] - content-type: [application/json; charset=utf-8] - date: ['Thu, 20 Sep 2018 22:18:48 GMT'] - expires: ['-1'] - pragma: [no-cache] - strict-transport-security: [max-age=31536000; includeSubDomains] - www-authenticate: ['Bearer authorization_uri="https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47", - error="invalid_token", error_description="The access token has expired."'] - x-content-type-options: [nosniff] - x-ms-failure-cause: [gateway] - status: {code: 401, message: Unauthorized} -version: 1 diff --git a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/tests/latest/test_osa_commands.py b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/tests/latest/test_osa_commands.py index 9873b54ed78..00448febfda 100644 --- a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/tests/latest/test_osa_commands.py +++ b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/tests/latest/test_osa_commands.py @@ -20,11 +20,11 @@ class AzureOpenShiftServiceScenarioTest(ScenarioTest): - @ResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='eastus') + @ResourceGroupPreparer(random_name_length=17, name_prefix='clitestosa', location='eastus') @ManagedApplicationPreparer() - def test_openshift_create_default_service(self, resource_group, resource_group_location, aad_client_app_id, aad_client_app_secret, aad_tenant_id): + def test_openshift_create_default_service(self, resource_group, resource_group_location, aad_client_app_id, aad_client_app_secret): # kwargs for string formatting - osa_name = self.create_random_name('cliosatest', 16) + osa_name = self.create_random_name('clitestosa', 15) self.kwargs.update({ 'resource_group': resource_group, 'name': osa_name, @@ -32,15 +32,13 @@ def test_openshift_create_default_service(self, resource_group, resource_group_l 'location': resource_group_location, 'aad_client_app_id': aad_client_app_id, 'aad_client_app_secret': aad_client_app_secret, - 'aad_tenant_id': aad_tenant_id, 'resource_type': 'Microsoft.ContainerService/OpenShiftManagedClusters' }) # create create_cmd = 'openshift create --resource-group={resource_group} --name={name} --location={location} ' \ '--fqdn={fqdn} --node-count=1 ' \ - '--aad-client-app-id {aad_client_app_id} --aad-client-app-secret {aad_client_app_secret} ' \ - '--aad-tenant-id {aad_tenant_id}' + '--aad-client-app-id {aad_client_app_id} --aad-client-app-secret {aad_client_app_secret}' self.cmd(create_cmd, checks=[ self.exists('fqdn'), self.check('provisioningState', 'Succeeded') @@ -53,7 +51,7 @@ def test_openshift_create_default_service(self, resource_group, resource_group_l self.check('resourceGroup', '{resource_group}'), self.check('agentPoolProfiles[0].count', 1), self.check('agentPoolProfiles[0].osType', 'Linux'), - self.check('agentPoolProfiles[0].vmSize', 'Standard_DS4_v2'), + self.check('agentPoolProfiles[0].vmSize', 'Standard_D4s_v3'), self.check('fqdn', '{fqdn}'), self.exists('openshiftVersion') ]) @@ -71,25 +69,24 @@ def test_openshift_create_default_service(self, resource_group, resource_group_l # delete self.cmd('openshift delete -g {resource_group} -n {name} --yes --no-wait', checks=[self.is_empty()]) - @ResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='eastus') + @ResourceGroupPreparer(random_name_length=17, name_prefix='clitestosa', location='eastus') @ManagedApplicationPreparer() - def test_openshift_create_service_no_wait(self, resource_group, resource_group_location, aad_client_app_id, aad_client_app_secret, aad_tenant_id): + def test_openshift_create_service_no_wait(self, resource_group, resource_group_location, aad_client_app_id, aad_client_app_secret): # kwargs for string formatting - osa_name = self.create_random_name('cliosatest', 16) + osa_name = self.create_random_name('clitestosa', 15) self.kwargs.update({ 'resource_group': resource_group, 'name': osa_name, 'fqdn': self.generate_random_fqdn(osa_name, resource_group_location), 'location': resource_group_location, 'aad_client_app_id': aad_client_app_id, - 'aad_client_app_secret': aad_client_app_secret, - 'aad_tenant_id': aad_tenant_id + 'aad_client_app_secret': aad_client_app_secret }) # create --no-wait create_cmd = 'openshift create -g {resource_group} -n {name} --fqdn {fqdn} ' \ '-l {location} -c 1 --aad-client-app-id {aad_client_app_id} ' \ - '--aad-client-app-secret {aad_client_app_secret} --aad-tenant-id {aad_tenant_id} ' \ + '--aad-client-app-secret {aad_client_app_secret} ' \ '--tags scenario_test --no-wait' self.cmd(create_cmd, checks=[self.is_empty()]) @@ -101,7 +98,7 @@ def test_openshift_create_service_no_wait(self, resource_group, resource_group_l self.check('name', '{name}'), self.check('resourceGroup', '{resource_group}'), self.check('agentPoolProfiles[0].count', 1), - self.check('agentPoolProfiles[0].vmSize', 'Standard_DS4_v2'), + self.check('agentPoolProfiles[0].vmSize', 'Standard_D4s_v3'), self.check('fqdn', '{fqdn}'), self.check('provisioningState', 'Succeeded') ]) @@ -112,6 +109,51 @@ def test_openshift_create_service_no_wait(self, resource_group, resource_group_l # show again and expect failure self.cmd('openshift show -g {resource_group} -n {name}', expect_failure=True) + @ResourceGroupPreparer(random_name_length=17, name_prefix='clitestosa', location='eastus') + def test_openshift_create_default_service_no_aad(self, resource_group, resource_group_location): + # kwargs for string formatting + osa_name = self.create_random_name('clitestosa', 15) + self.kwargs.update({ + 'resource_group': resource_group, + 'name': osa_name, + 'fqdn': self.generate_random_fqdn(osa_name, resource_group_location), + 'location': resource_group_location, + 'resource_type': 'Microsoft.ContainerService/OpenShiftManagedClusters' + }) + + # create + create_cmd = 'openshift create --resource-group={resource_group} --name={name} --location={location} ' \ + '--fqdn={fqdn} --node-count=1 ' + self.cmd(create_cmd, checks=[ + self.exists('fqdn'), + self.check('provisioningState', 'Succeeded') + ]) + + # show + self.cmd('openshift show -g {resource_group} -n {name}', checks=[ + self.check('type', '{resource_type}'), + self.check('name', '{name}'), + self.check('resourceGroup', '{resource_group}'), + self.check('agentPoolProfiles[0].count', 1), + self.check('agentPoolProfiles[0].osType', 'Linux'), + self.check('agentPoolProfiles[0].vmSize', 'Standard_D4s_v3'), + self.check('fqdn', '{fqdn}'), + self.exists('openshiftVersion') + ]) + + # scale up + self.cmd('openshift scale -g {resource_group} -n {name} --node-count 3', checks=[ + self.check('agentPoolProfiles[0].count', 3) + ]) + + # show again + self.cmd('openshift show -g {resource_group} -n {name}', checks=[ + self.check('agentPoolProfiles[0].count', 3) + ]) + + # delete + self.cmd('openshift delete -g {resource_group} -n {name} --yes --no-wait', checks=[self.is_empty()]) + @classmethod def generate_random_fqdn(self, name, location): return "{}.{}.cloudapp.azure.com".format(name, location) From eeee1a654df901b6e01e697b8b2b02c05a9ed5fc Mon Sep 17 00:00:00 2001 From: Julien Stroheker Date: Thu, 27 Sep 2018 18:10:19 -0400 Subject: [PATCH 05/19] lint --- src/azure-cli-testsdk/azure/cli/testsdk/__init__.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/azure-cli-testsdk/azure/cli/testsdk/__init__.py b/src/azure-cli-testsdk/azure/cli/testsdk/__init__.py index 78934bcbc93..deb85675d03 100644 --- a/src/azure-cli-testsdk/azure/cli/testsdk/__init__.py +++ b/src/azure-cli-testsdk/azure/cli/testsdk/__init__.py @@ -15,9 +15,10 @@ from .utilities import create_random_name __all__ = ['ScenarioTest', 'LiveScenarioTest', 'ResourceGroupPreparer', 'StorageAccountPreparer', - 'RoleBasedServicePrincipalPreparer', 'ManagedApplicationPreparer', 'CliTestError', 'JMESPathCheck', 'JMESPathCheckExists', 'NoneCheck', - 'live_only', 'record_only', 'StringCheck', 'StringContainCheck', 'get_sha1_hash', 'KeyVaultPreparer', - 'JMESPathCheckGreaterThan', 'api_version_constraint', 'create_random_name'] + 'RoleBasedServicePrincipalPreparer', 'ManagedApplicationPreparer', 'CliTestError', 'JMESPathCheck', + 'JMESPathCheckExists', 'NoneCheck', 'live_only', 'record_only', 'StringCheck', 'StringContainCheck', + 'get_sha1_hash', 'KeyVaultPreparer', 'JMESPathCheckGreaterThan', 'api_version_constraint', + 'create_random_name'] __version__ = '0.1.0' From e1f47af439970955d3dcc47e57ee5c1e565b902a Mon Sep 17 00:00:00 2001 From: Julien Stroheker Date: Thu, 27 Sep 2018 18:28:55 -0400 Subject: [PATCH 06/19] pep8 --- .../azure-cli-acs/azure/cli/command_modules/acs/custom.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/custom.py b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/custom.py index 92fc1dfec31..655dc12660a 100644 --- a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/custom.py +++ b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/custom.py @@ -2049,6 +2049,7 @@ def _ensure_aks_service_principal(cli_ctx, store_acs_service_principal(subscription_id, client_secret, service_principal, file_name=file_name_aks) return load_acs_service_principal(subscription_id, file_name=file_name_aks) + def _ensure_osa_aad(cli_ctx, aad_client_app_id=None, aad_client_app_secret=None, @@ -2067,7 +2068,7 @@ def _ensure_osa_aad(cli_ctx, reply_urls=[reply_url], homepage=reply_url, password=aad_client_app_secret) - aad_client_app_id=result.app_id + aad_client_app_id = result.app_id logger.info('Created an AAD: %s', aad_client_app_id) # Get the TenantID From 2df28e273f7f568339820a976a615c1630946c39 Mon Sep 17 00:00:00 2001 From: Julien Stroheker Date: Thu, 27 Sep 2018 18:31:31 -0400 Subject: [PATCH 07/19] Bump Version --- src/command_modules/azure-cli-acs/HISTORY.rst | 6 +++++- src/command_modules/azure-cli-acs/setup.py | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/command_modules/azure-cli-acs/HISTORY.rst b/src/command_modules/azure-cli-acs/HISTORY.rst index 1c086f55a02..6b3f8e05857 100644 --- a/src/command_modules/azure-cli-acs/HISTORY.rst +++ b/src/command_modules/azure-cli-acs/HISTORY.rst @@ -3,10 +3,14 @@ Release History =============== -2.3.6 +2.3.7 +++++ * Add Managed OpenShift commands +2.3.6 ++++++ +* `az aks create/scale --nodepool-name` configures nodepool name, truncated to 12 characters, default - nodepool1 + 2.3.5 +++++ * bugfix: Fall back to 'scp' when Parimiko fails. diff --git a/src/command_modules/azure-cli-acs/setup.py b/src/command_modules/azure-cli-acs/setup.py index 0d645877f45..41d9679178e 100644 --- a/src/command_modules/azure-cli-acs/setup.py +++ b/src/command_modules/azure-cli-acs/setup.py @@ -14,7 +14,7 @@ logger.warn("Wheel is not available, disabling bdist_wheel hook") cmdclass = {} -VERSION = "2.3.6" +VERSION = "2.3.7" CLASSIFIERS = [ 'Development Status :: 5 - Production/Stable', 'Intended Audience :: Developers', From 91961c18b9971e5406a33988b0f8e57abfede6a8 Mon Sep 17 00:00:00 2001 From: Julien Stroheker Date: Thu, 27 Sep 2018 19:46:13 -0400 Subject: [PATCH 08/19] Add tests --- ...test_openshift_create_default_service.yaml | 1375 +++++++++++ ...enshift_create_default_service_no_aad.yaml | 1437 ++++++++++++ ...test_openshift_create_service_no_wait.yaml | 2002 +++++++++++++++++ .../acs/tests/latest/test_osa_commands.py | 7 +- 4 files changed, 4818 insertions(+), 3 deletions(-) create mode 100644 src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/tests/latest/recordings/test_openshift_create_default_service.yaml create mode 100644 src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/tests/latest/recordings/test_openshift_create_default_service_no_aad.yaml create mode 100644 src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/tests/latest/recordings/test_openshift_create_service_no_wait.yaml diff --git a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/tests/latest/recordings/test_openshift_create_default_service.yaml b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/tests/latest/recordings/test_openshift_create_default_service.yaml new file mode 100644 index 00000000000..1d8249d2f9c --- /dev/null +++ b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/tests/latest/recordings/test_openshift_create_default_service.yaml @@ -0,0 +1,1375 @@ +interactions: +- request: + body: '{"location": "eastus", "tags": {"product": "azurecli", "cause": "automation", + "date": "2018-09-27T22:48:57Z"}}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [group create] + Connection: [keep-alive] + Content-Length: ['110'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 resourcemanagementclient/2.0.0 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitestosa000001?api-version=2018-05-01 + response: + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestosa000001","name":"clitestosa000001","location":"eastus","tags":{"product":"azurecli","cause":"automation","date":"2018-09-27T22:48:57Z"},"properties":{"provisioningState":"Succeeded"}}'} + headers: + cache-control: [no-cache] + content-length: ['268'] + content-type: [application/json; charset=utf-8] + date: ['Thu, 27 Sep 2018 22:49:00 GMT'] + expires: ['-1'] + pragma: [no-cache] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] + status: {code: 201, message: Created} +- request: + body: 'b''{"availableToOtherTenants": false, "displayName": "clitest000002", "identifierUris": + ["http://clitest000002"], "passwordCredentials": [{"startDate": "2018-09-27T22:49:00.928661Z", + "endDate": "2019-09-27T22:49:00.928661Z", "keyId": "02d04b17-cc75-443d-af19-78a31eef7433", + "value": "clitest000002"}]}''' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [ad app create] + Connection: [keep-alive] + Content-Length: ['331'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-graphrbac/0.40.0 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: POST + uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/applications?api-version=1.6 + response: + body: {string: '{"odata.metadata":"https://graph.windows.net/00000000-0000-0000-0000-000000000000/$metadata#directoryObjects/Microsoft.DirectoryServices.Application/@Element","odata.type":"Microsoft.DirectoryServices.Application","objectType":"Application","objectId":"ca42376f-4ee5-4e01-ae01-70d58ad15154","deletionTimestamp":null,"acceptMappedClaims":null,"addIns":[],"appId":"e11a0633-03b1-49f9-8f3e-ab2d3ec9673b","appRoles":[],"availableToOtherTenants":false,"displayName":"clitest000002","errorUrl":null,"groupMembershipClaims":null,"homepage":null,"identifierUris":["http://clitest000002"],"informationalUrls":{"termsOfService":null,"support":null,"privacy":null,"marketing":null},"isDeviceOnlyAuthSupported":null,"keyCredentials":[],"knownClientApplications":[],"logoutUrl":null,"logo@odata.mediaContentType":"application/json;odata=minimalmetadata; + charset=utf-8","logoUrl":null,"oauth2AllowIdTokenImplicitFlow":true,"oauth2AllowImplicitFlow":false,"oauth2AllowUrlPathMatching":false,"oauth2Permissions":[{"adminConsentDescription":"Allow + the application to access clitest000002 on behalf of the signed-in user.","adminConsentDisplayName":"Access + clitest000002","id":"43109247-582c-4620-a84b-7a321b870e7e","isEnabled":true,"type":"User","userConsentDescription":"Allow + the application to access clitest000002 on your behalf.","userConsentDisplayName":"Access + clitest000002","value":"user_impersonation"}],"oauth2RequirePostResponse":false,"optionalClaims":null,"orgRestrictions":[],"parentalControlSettings":{"countriesBlockedForMinors":[],"legalAgeGroupRule":"Allow"},"passwordCredentials":[{"customKeyIdentifier":null,"endDate":"2019-09-27T22:49:00.928661Z","keyId":"02d04b17-cc75-443d-af19-78a31eef7433","startDate":"2018-09-27T22:49:00.928661Z","value":null}],"publicClient":null,"publisherDomain":null,"recordConsentConditions":null,"replyUrls":[],"requiredResourceAccess":[],"samlMetadataUrl":null,"signInAudience":"AzureADMyOrg","tokenEncryptionKeyId":null}'} + headers: + access-control-allow-origin: ['*'] + cache-control: [no-cache] + content-length: ['2022'] + content-type: [application/json; odata=minimalmetadata; streaming=true; charset=utf-8] + dataserviceversion: [3.0;] + date: ['Thu, 27 Sep 2018 22:49:02 GMT'] + duration: ['7741754'] + expires: ['-1'] + location: ['https://graph.windows.net/00000000-0000-0000-0000-000000000000/directoryObjects/ca42376f-4ee5-4e01-ae01-70d58ad15154/Microsoft.DirectoryServices.Application'] + ocp-aad-diagnostics-server-name: [g4s8S2CVMJccOOjyJbVz32MTfIGaGCyykdSBjzWi76I=] + ocp-aad-session-key: [OyoZ8oqqqiZUCB1FeLATecUsBr0tYqMot_RHhwobxo7utsKNlIvL4DxYZJY0ZfCafwR-SzszojAJf7kGLWiw0f6vW5Tq2a1M3vLQ4q9ipnCh-ib95bqv8yLsYPnbLUty8AIsZiCI7lg7-b9NjPOiVdJ0bi5ntx7wBLyJLt5WZzKBeg_Vb2zew_dTsvHmLK90CN7dih_73e-B-d1lEGgI7A.RERLEDUqLKd4niNkXQ07AxWeHI9mZbLnVgBjLf1HQs8] + pragma: [no-cache] + request-id: [d23cfd75-2315-4d97-952a-517db737ad7e] + server: [Microsoft-IIS/10.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-aspnet-version: [4.0.30319] + x-content-type-options: [nosniff] + x-ms-dirapi-data-contract-version: ['1.6'] + x-powered-by: [ASP.NET] + status: {code: 201, message: Created} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 resourcemanagementclient/2.0.0 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitestosa000001?api-version=2018-05-01 + response: + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestosa000001","name":"clitestosa000001","location":"eastus","tags":{"product":"azurecli","cause":"automation","date":"2018-09-27T22:48:57Z"},"properties":{"provisioningState":"Succeeded"}}'} + headers: + cache-control: [no-cache] + content-length: ['268'] + content-type: [application/json; charset=utf-8] + date: ['Thu, 27 Sep 2018 22:49:02 GMT'] + expires: ['-1'] + pragma: [no-cache] + strict-transport-security: [max-age=31536000; includeSubDomains] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: 'b''b\''{"location": "eastus", "properties": {"openShiftVersion": "v3.10", + "fqdn": "clitestosa000003.eastus.cloudapp.azure.com", "routerProfiles": [{"name": + "default"}], "masterPoolProfile": {"name": "master", "count": 3, "vmSize": "Standard_D2s_v3", + "osType": "Linux"}, "agentPoolProfiles": [{"name": "compute", "count": 1, "vmSize": + "Standard_D4s_v3", "osType": "Linux", "role": "compute"}, {"name": "infra", + "count": 2, "vmSize": "Standard_D4s_v3", "osType": "Linux", "role": "infra"}], + "authProfile": {"identityProviders": [{"name": "Azure AD", "provider": {"kind": + "AADIdentityProvider", "clientId": "e11a0633-03b1-49f9-8f3e-ab2d3ec9673b", "secret": + "clitest000002", "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47"}}]}}}\''''' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + Content-Length: ['730'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestosa000001/providers/Microsoft.ContainerService/openShiftManagedClusters/clitestosa000003?api-version=2018-09-30-preview + response: + body: {string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitestosa000001/providers/Microsoft.ContainerService/openshiftmanagedClusters/clitestosa000003\",\n + \ \"location\": \"eastus\",\n \"name\": \"clitestosa000003\",\n \"type\": + \"Microsoft.ContainerService/OpenShiftManagedClusters\",\n \"properties\": + {\n \"provisioningState\": \"Creating\",\n \"openShiftVersion\": \"v3.10\",\n + \ \"fqdn\": \"clitestosa000003.eastus.cloudapp.azure.com\",\n \"routerProfiles\": + [\n {\n \"name\": \"default\"\n }\n ],\n \"masterPoolProfile\": + {\n \"count\": 3,\n \"vmSize\": \"Standard_D2s_v3\"\n },\n \"agentPoolProfiles\": + [\n {\n \"name\": \"compute\",\n \"count\": 1,\n \"vmSize\": + \"Standard_D4s_v3\",\n \"osType\": \"Linux\",\n \"role\": \"compute\"\n + \ },\n {\n \"name\": \"infra\",\n \"count\": 2,\n \"vmSize\": + \"Standard_D4s_v3\",\n \"osType\": \"Linux\",\n \"role\": \"infra\"\n + \ }\n ],\n \"authProfile\": {\n \"identityProviders\": [\n {\n + \ \"name\": \"Azure AD\",\n \"provider\": {\n \"kind\": \"AADIdentityProvider\",\n + \ \"clientId\": \"e11a0633-03b1-49f9-8f3e-ab2d3ec9673b\",\n \"tenantId\": + \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n }\n }\n ]\n }\n }\n + }"} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/979045e0-ff19-49ca-a1a3-36b8d44f62b9?api-version=2017-08-31'] + cache-control: [no-cache] + content-length: ['1164'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 22:49:05 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1194'] + status: {code: 201, message: Created} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/979045e0-ff19-49ca-a1a3-36b8d44f62b9?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"e0459097-19ff-ca49-a1a3-36b8d44f62b9\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T22:49:05.986712Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['125'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 22:49:37 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/979045e0-ff19-49ca-a1a3-36b8d44f62b9?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"e0459097-19ff-ca49-a1a3-36b8d44f62b9\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T22:49:05.986712Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['125'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 22:50:07 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/979045e0-ff19-49ca-a1a3-36b8d44f62b9?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"e0459097-19ff-ca49-a1a3-36b8d44f62b9\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T22:49:05.986712Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['125'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 22:50:39 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/979045e0-ff19-49ca-a1a3-36b8d44f62b9?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"e0459097-19ff-ca49-a1a3-36b8d44f62b9\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T22:49:05.986712Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['125'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 22:51:10 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/979045e0-ff19-49ca-a1a3-36b8d44f62b9?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"e0459097-19ff-ca49-a1a3-36b8d44f62b9\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T22:49:05.986712Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['125'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 22:51:40 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/979045e0-ff19-49ca-a1a3-36b8d44f62b9?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"e0459097-19ff-ca49-a1a3-36b8d44f62b9\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T22:49:05.986712Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['125'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 22:52:10 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/979045e0-ff19-49ca-a1a3-36b8d44f62b9?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"e0459097-19ff-ca49-a1a3-36b8d44f62b9\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T22:49:05.986712Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['125'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 22:52:42 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/979045e0-ff19-49ca-a1a3-36b8d44f62b9?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"e0459097-19ff-ca49-a1a3-36b8d44f62b9\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T22:49:05.986712Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['125'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 22:53:23 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/979045e0-ff19-49ca-a1a3-36b8d44f62b9?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"e0459097-19ff-ca49-a1a3-36b8d44f62b9\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T22:49:05.986712Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['125'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 22:53:54 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/979045e0-ff19-49ca-a1a3-36b8d44f62b9?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"e0459097-19ff-ca49-a1a3-36b8d44f62b9\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T22:49:05.986712Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['125'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 22:54:25 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/979045e0-ff19-49ca-a1a3-36b8d44f62b9?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"e0459097-19ff-ca49-a1a3-36b8d44f62b9\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T22:49:05.986712Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['125'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 22:54:55 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/979045e0-ff19-49ca-a1a3-36b8d44f62b9?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"e0459097-19ff-ca49-a1a3-36b8d44f62b9\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T22:49:05.986712Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['125'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 22:55:27 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/979045e0-ff19-49ca-a1a3-36b8d44f62b9?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"e0459097-19ff-ca49-a1a3-36b8d44f62b9\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T22:49:05.986712Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['125'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 22:55:58 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/979045e0-ff19-49ca-a1a3-36b8d44f62b9?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"e0459097-19ff-ca49-a1a3-36b8d44f62b9\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T22:49:05.986712Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['125'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 22:56:28 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/979045e0-ff19-49ca-a1a3-36b8d44f62b9?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"e0459097-19ff-ca49-a1a3-36b8d44f62b9\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T22:49:05.986712Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['125'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 22:57:00 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/979045e0-ff19-49ca-a1a3-36b8d44f62b9?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"e0459097-19ff-ca49-a1a3-36b8d44f62b9\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T22:49:05.986712Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['125'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 22:57:30 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/979045e0-ff19-49ca-a1a3-36b8d44f62b9?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"e0459097-19ff-ca49-a1a3-36b8d44f62b9\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T22:49:05.986712Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['125'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 22:58:01 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/979045e0-ff19-49ca-a1a3-36b8d44f62b9?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"e0459097-19ff-ca49-a1a3-36b8d44f62b9\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T22:49:05.986712Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['125'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 22:58:32 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/979045e0-ff19-49ca-a1a3-36b8d44f62b9?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"e0459097-19ff-ca49-a1a3-36b8d44f62b9\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T22:49:05.986712Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['125'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 22:59:03 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/979045e0-ff19-49ca-a1a3-36b8d44f62b9?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"e0459097-19ff-ca49-a1a3-36b8d44f62b9\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T22:49:05.986712Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['125'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 22:59:34 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/979045e0-ff19-49ca-a1a3-36b8d44f62b9?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"e0459097-19ff-ca49-a1a3-36b8d44f62b9\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2018-09-27T22:49:05.986712Z\",\n \"endTime\": + \"2018-09-27T22:59:50.9933073Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['169'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:00:05 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestosa000001/providers/Microsoft.ContainerService/openShiftManagedClusters/clitestosa000003?api-version=2018-09-30-preview + response: + body: {string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitestosa000001/providers/Microsoft.ContainerService/openshiftmanagedClusters/clitestosa000003\",\n + \ \"location\": \"eastus\",\n \"name\": \"clitestosa000003\",\n \"type\": + \"Microsoft.ContainerService/OpenShiftManagedClusters\",\n \"properties\": + {\n \"provisioningState\": \"Succeeded\",\n \"openShiftVersion\": \"v3.10\",\n + \ \"fqdn\": \"clitestosa000003.eastus.cloudapp.azure.com\",\n \"routerProfiles\": + [\n {\n \"name\": \"default\",\n \"publicSubdomain\": \"ff31eb96188c4ca1adab.eastus.int.aksapp.io\",\n + \ \"fqdn\": \"osad58027bbeb9943da9ee4.eastus.cloudapp.azure.com\"\n }\n + \ ],\n \"masterPoolProfile\": {\n \"count\": 3,\n \"vmSize\": \"Standard_D2s_v3\"\n + \ },\n \"agentPoolProfiles\": [\n {\n \"name\": \"compute\",\n \"count\": + 1,\n \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": \"Linux\",\n \"role\": + \"compute\"\n },\n {\n \"name\": \"infra\",\n \"count\": 2,\n + \ \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": \"Linux\",\n \"role\": + \"infra\"\n }\n ],\n \"authProfile\": {\n \"identityProviders\": + [\n {\n \"name\": \"Azure AD\",\n \"provider\": {\n \"kind\": + \"AADIdentityProvider\",\n \"clientId\": \"e11a0633-03b1-49f9-8f3e-ab2d3ec9673b\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n }\n }\n + \ ]\n }\n }\n }"} + headers: + cache-control: [no-cache] + content-length: ['1300'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:00:06 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift show] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestosa000001/providers/Microsoft.ContainerService/openShiftManagedClusters/clitestosa000003?api-version=2018-09-30-preview + response: + body: {string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitestosa000001/providers/Microsoft.ContainerService/openshiftmanagedClusters/clitestosa000003\",\n + \ \"location\": \"eastus\",\n \"name\": \"clitestosa000003\",\n \"type\": + \"Microsoft.ContainerService/OpenShiftManagedClusters\",\n \"properties\": + {\n \"provisioningState\": \"Succeeded\",\n \"openShiftVersion\": \"v3.10\",\n + \ \"fqdn\": \"clitestosa000003.eastus.cloudapp.azure.com\",\n \"routerProfiles\": + [\n {\n \"name\": \"default\",\n \"publicSubdomain\": \"ff31eb96188c4ca1adab.eastus.int.aksapp.io\",\n + \ \"fqdn\": \"osad58027bbeb9943da9ee4.eastus.cloudapp.azure.com\"\n }\n + \ ],\n \"masterPoolProfile\": {\n \"count\": 3,\n \"vmSize\": \"Standard_D2s_v3\"\n + \ },\n \"agentPoolProfiles\": [\n {\n \"name\": \"compute\",\n \"count\": + 1,\n \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": \"Linux\",\n \"role\": + \"compute\"\n },\n {\n \"name\": \"infra\",\n \"count\": 2,\n + \ \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": \"Linux\",\n \"role\": + \"infra\"\n }\n ],\n \"authProfile\": {\n \"identityProviders\": + [\n {\n \"name\": \"Azure AD\",\n \"provider\": {\n \"kind\": + \"AADIdentityProvider\",\n \"clientId\": \"e11a0633-03b1-49f9-8f3e-ab2d3ec9673b\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n }\n }\n + \ ]\n }\n }\n }"} + headers: + cache-control: [no-cache] + content-length: ['1300'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:00:07 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift scale] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestosa000001/providers/Microsoft.ContainerService/openShiftManagedClusters/clitestosa000003?api-version=2018-09-30-preview + response: + body: {string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitestosa000001/providers/Microsoft.ContainerService/openshiftmanagedClusters/clitestosa000003\",\n + \ \"location\": \"eastus\",\n \"name\": \"clitestosa000003\",\n \"type\": + \"Microsoft.ContainerService/OpenShiftManagedClusters\",\n \"properties\": + {\n \"provisioningState\": \"Succeeded\",\n \"openShiftVersion\": \"v3.10\",\n + \ \"fqdn\": \"clitestosa000003.eastus.cloudapp.azure.com\",\n \"routerProfiles\": + [\n {\n \"name\": \"default\",\n \"publicSubdomain\": \"ff31eb96188c4ca1adab.eastus.int.aksapp.io\",\n + \ \"fqdn\": \"osad58027bbeb9943da9ee4.eastus.cloudapp.azure.com\"\n }\n + \ ],\n \"masterPoolProfile\": {\n \"count\": 3,\n \"vmSize\": \"Standard_D2s_v3\"\n + \ },\n \"agentPoolProfiles\": [\n {\n \"name\": \"compute\",\n \"count\": + 1,\n \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": \"Linux\",\n \"role\": + \"compute\"\n },\n {\n \"name\": \"infra\",\n \"count\": 2,\n + \ \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": \"Linux\",\n \"role\": + \"infra\"\n }\n ],\n \"authProfile\": {\n \"identityProviders\": + [\n {\n \"name\": \"Azure AD\",\n \"provider\": {\n \"kind\": + \"AADIdentityProvider\",\n \"clientId\": \"e11a0633-03b1-49f9-8f3e-ab2d3ec9673b\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n }\n }\n + \ ]\n }\n }\n }"} + headers: + cache-control: [no-cache] + content-length: ['1300'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:00:07 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: 'b''{"location": "eastus", "properties": {"openShiftVersion": "v3.10", "fqdn": + "clitestosa000003.eastus.cloudapp.azure.com", "routerProfiles": [{"name": "default", + "publicSubdomain": "ff31eb96188c4ca1adab.eastus.int.aksapp.io"}], "masterPoolProfile": + {"name": "master", "count": 3, "vmSize": "Standard_D2s_v3"}, "agentPoolProfiles": + [{"name": "compute", "count": 3, "vmSize": "Standard_D4s_v3", "osType": "Linux", + "role": "compute"}, {"name": "infra", "count": 2, "vmSize": "Standard_D4s_v3", + "osType": "Linux", "role": "infra"}]}}''' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift scale] + Connection: [keep-alive] + Content-Length: ['526'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestosa000001/providers/Microsoft.ContainerService/openShiftManagedClusters/clitestosa000003?api-version=2018-09-30-preview + response: + body: {string: "{\n \"location\": \"eastus\",\n \"name\": \"clitestosa000003\",\n + \ \"properties\": {\n \"provisioningState\": \"Updating\",\n \"openShiftVersion\": + \"v3.10\",\n \"fqdn\": \"clitestosa000003.eastus.cloudapp.azure.com\",\n + \ \"routerProfiles\": [\n {\n \"name\": \"default\",\n \"publicSubdomain\": + \"ff31eb96188c4ca1adab.eastus.int.aksapp.io\",\n \"fqdn\": \"osad58027bbeb9943da9ee4.eastus.cloudapp.azure.com\"\n + \ }\n ],\n \"masterPoolProfile\": {\n \"count\": 3,\n \"vmSize\": + \"Standard_D2s_v3\"\n },\n \"agentPoolProfiles\": [\n {\n \"name\": + \"compute\",\n \"count\": 3,\n \"vmSize\": \"Standard_D4s_v3\",\n + \ \"osType\": \"Linux\",\n \"role\": \"compute\"\n },\n {\n \"name\": + \"infra\",\n \"count\": 2,\n \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": + \"Linux\",\n \"role\": \"infra\"\n }\n ],\n \"authProfile\": {\n + \ \"identityProviders\": [\n {\n \"name\": \"Azure AD\",\n \"provider\": + {\n \"kind\": \"AADIdentityProvider\",\n \"clientId\": \"e11a0633-03b1-49f9-8f3e-ab2d3ec9673b\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n }\n }\n + \ ]\n }\n }\n }"} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/f4e6f2ad-4a9d-4bca-8675-82d72510f199?api-version=2017-08-31'] + cache-control: [no-cache] + content-length: ['1060'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:00:10 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift scale] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/f4e6f2ad-4a9d-4bca-8675-82d72510f199?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"adf2e6f4-9d4a-ca4b-8675-82d72510f199\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:00:10.9739838Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:00:41 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift scale] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/f4e6f2ad-4a9d-4bca-8675-82d72510f199?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"adf2e6f4-9d4a-ca4b-8675-82d72510f199\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:00:10.9739838Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:01:12 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift scale] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/f4e6f2ad-4a9d-4bca-8675-82d72510f199?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"adf2e6f4-9d4a-ca4b-8675-82d72510f199\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:00:10.9739838Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:01:43 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift scale] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/f4e6f2ad-4a9d-4bca-8675-82d72510f199?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"adf2e6f4-9d4a-ca4b-8675-82d72510f199\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:00:10.9739838Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:02:13 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift scale] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/f4e6f2ad-4a9d-4bca-8675-82d72510f199?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"adf2e6f4-9d4a-ca4b-8675-82d72510f199\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:00:10.9739838Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:02:45 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift scale] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/f4e6f2ad-4a9d-4bca-8675-82d72510f199?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"adf2e6f4-9d4a-ca4b-8675-82d72510f199\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:00:10.9739838Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:03:15 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift scale] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/f4e6f2ad-4a9d-4bca-8675-82d72510f199?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"adf2e6f4-9d4a-ca4b-8675-82d72510f199\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2018-09-27T23:00:10.9739838Z\",\n \"endTime\": + \"2018-09-27T23:03:43.2066801Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['170'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:03:46 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift scale] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestosa000001/providers/Microsoft.ContainerService/openShiftManagedClusters/clitestosa000003?api-version=2018-09-30-preview + response: + body: {string: "{\n \"location\": \"eastus\",\n \"name\": \"clitestosa000003\",\n + \ \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"openShiftVersion\": + \"v3.10\",\n \"fqdn\": \"clitestosa000003.eastus.cloudapp.azure.com\",\n + \ \"routerProfiles\": [\n {\n \"name\": \"default\",\n \"publicSubdomain\": + \"ff31eb96188c4ca1adab.eastus.int.aksapp.io\",\n \"fqdn\": \"osad58027bbeb9943da9ee4.eastus.cloudapp.azure.com\"\n + \ }\n ],\n \"masterPoolProfile\": {\n \"count\": 3,\n \"vmSize\": + \"Standard_D2s_v3\"\n },\n \"agentPoolProfiles\": [\n {\n \"name\": + \"compute\",\n \"count\": 3,\n \"vmSize\": \"Standard_D4s_v3\",\n + \ \"osType\": \"Linux\",\n \"role\": \"compute\"\n },\n {\n \"name\": + \"infra\",\n \"count\": 2,\n \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": + \"Linux\",\n \"role\": \"infra\"\n }\n ],\n \"authProfile\": {\n + \ \"identityProviders\": [\n {\n \"name\": \"Azure AD\",\n \"provider\": + {\n \"kind\": \"AADIdentityProvider\",\n \"clientId\": \"e11a0633-03b1-49f9-8f3e-ab2d3ec9673b\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n }\n }\n + \ ]\n }\n }\n }"} + headers: + cache-control: [no-cache] + content-length: ['1061'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:03:47 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift show] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestosa000001/providers/Microsoft.ContainerService/openShiftManagedClusters/clitestosa000003?api-version=2018-09-30-preview + response: + body: {string: "{\n \"location\": \"eastus\",\n \"name\": \"clitestosa000003\",\n + \ \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"openShiftVersion\": + \"v3.10\",\n \"fqdn\": \"clitestosa000003.eastus.cloudapp.azure.com\",\n + \ \"routerProfiles\": [\n {\n \"name\": \"default\",\n \"publicSubdomain\": + \"ff31eb96188c4ca1adab.eastus.int.aksapp.io\",\n \"fqdn\": \"osad58027bbeb9943da9ee4.eastus.cloudapp.azure.com\"\n + \ }\n ],\n \"masterPoolProfile\": {\n \"count\": 3,\n \"vmSize\": + \"Standard_D2s_v3\"\n },\n \"agentPoolProfiles\": [\n {\n \"name\": + \"compute\",\n \"count\": 3,\n \"vmSize\": \"Standard_D4s_v3\",\n + \ \"osType\": \"Linux\",\n \"role\": \"compute\"\n },\n {\n \"name\": + \"infra\",\n \"count\": 2,\n \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": + \"Linux\",\n \"role\": \"infra\"\n }\n ],\n \"authProfile\": {\n + \ \"identityProviders\": [\n {\n \"name\": \"Azure AD\",\n \"provider\": + {\n \"kind\": \"AADIdentityProvider\",\n \"clientId\": \"e11a0633-03b1-49f9-8f3e-ab2d3ec9673b\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n }\n }\n + \ ]\n }\n }\n }"} + headers: + cache-control: [no-cache] + content-length: ['1061'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:03:49 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift delete] + Connection: [keep-alive] + Content-Length: ['0'] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestosa000001/providers/Microsoft.ContainerService/openShiftManagedClusters/clitestosa000003?api-version=2018-09-30-preview + response: + body: {string: ''} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/630d5777-5560-417a-af15-a9ba5fe346cf?api-version=2017-08-31'] + cache-control: [no-cache] + content-length: ['0'] + date: ['Thu, 27 Sep 2018 23:03:51 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationresults/630d5777-5560-417a-af15-a9ba5fe346cf?api-version=2017-08-31'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-deletes: ['14997'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [ad app delete] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-graphrbac/0.40.0 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: GET + uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/applications?$filter=identifierUris%2Fany%28s%3As%20eq%20%27e11a0633-03b1-49f9-8f3e-ab2d3ec9673b%27%29&api-version=1.6 + response: + body: {string: '{"odata.metadata":"https://graph.windows.net/00000000-0000-0000-0000-000000000000/$metadata#directoryObjects","value":[]}'} + headers: + access-control-allow-origin: ['*'] + cache-control: [no-cache] + content-length: ['121'] + content-type: [application/json; odata=minimalmetadata; streaming=true; charset=utf-8] + dataserviceversion: [3.0;] + date: ['Thu, 27 Sep 2018 23:03:52 GMT'] + duration: ['624263'] + expires: ['-1'] + ocp-aad-diagnostics-server-name: [ibSVhRliBYH5tIt62VqfsdJkAo3D90LR3MkNq2uSDPA=] + ocp-aad-session-key: [cjmPfKsqiBlYccyE8aruloZD37ld49TCUWQ0mKw6t6DmH5mdYlcA6x9TOB8H1O_W6HgI7goEpWG2asVjO2HFXX_XWZ_tR_q7rqLYkGQigYf8AY_ujuDkMciJP1QPPiPce8lsAo_a2UIVkvl7dPEBl5ZdPsEc2jg3ByKRpn3IpjUMMFcu7NtWjPkDqRkT28-H5k1YCKKQypjALeZmXSet2w.nFAi_sOtcNkKjoo0tGG0eQCOv9dgclZZP1qEJGlTpW0] + pragma: [no-cache] + request-id: [e53d2822-81d6-4271-954f-aae69871cce0] + server: [Microsoft-IIS/10.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-aspnet-version: [4.0.30319] + x-ms-dirapi-data-contract-version: ['1.6'] + x-powered-by: [ASP.NET] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [ad app delete] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-graphrbac/0.40.0 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: GET + uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/applications?$filter=appId%20eq%20%27e11a0633-03b1-49f9-8f3e-ab2d3ec9673b%27&api-version=1.6 + response: + body: {string: '{"odata.metadata":"https://graph.windows.net/00000000-0000-0000-0000-000000000000/$metadata#directoryObjects","value":[{"odata.type":"Microsoft.DirectoryServices.Application","objectType":"Application","objectId":"ca42376f-4ee5-4e01-ae01-70d58ad15154","deletionTimestamp":null,"acceptMappedClaims":null,"addIns":[],"appId":"e11a0633-03b1-49f9-8f3e-ab2d3ec9673b","appRoles":[],"availableToOtherTenants":false,"displayName":"clitest000002","errorUrl":null,"groupMembershipClaims":null,"homepage":null,"identifierUris":["http://clitest000002"],"informationalUrls":{"termsOfService":null,"support":null,"privacy":null,"marketing":null},"isDeviceOnlyAuthSupported":null,"keyCredentials":[],"knownClientApplications":[],"logoutUrl":null,"logo@odata.mediaEditLink":"directoryObjects/ca42376f-4ee5-4e01-ae01-70d58ad15154/Microsoft.DirectoryServices.Application/logo","logoUrl":null,"mainLogo@odata.mediaEditLink":"directoryObjects/ca42376f-4ee5-4e01-ae01-70d58ad15154/Microsoft.DirectoryServices.Application/mainLogo","oauth2AllowIdTokenImplicitFlow":true,"oauth2AllowImplicitFlow":false,"oauth2AllowUrlPathMatching":false,"oauth2Permissions":[{"adminConsentDescription":"Allow + the application to access clitest000002 on behalf of the signed-in user.","adminConsentDisplayName":"Access + clitest000002","id":"43109247-582c-4620-a84b-7a321b870e7e","isEnabled":true,"type":"User","userConsentDescription":"Allow + the application to access clitest000002 on your behalf.","userConsentDisplayName":"Access + clitest000002","value":"user_impersonation"}],"oauth2RequirePostResponse":false,"optionalClaims":null,"orgRestrictions":[],"parentalControlSettings":{"countriesBlockedForMinors":[],"legalAgeGroupRule":"Allow"},"passwordCredentials":[{"customKeyIdentifier":null,"endDate":"2019-09-27T22:49:00.928661Z","keyId":"02d04b17-cc75-443d-af19-78a31eef7433","startDate":"2018-09-27T22:49:00.928661Z","value":null}],"publicClient":null,"publisherDomain":null,"recordConsentConditions":null,"replyUrls":[],"requiredResourceAccess":[],"samlMetadataUrl":null,"signInAudience":"AzureADMyOrg","tokenEncryptionKeyId":null}]}'} + headers: + access-control-allow-origin: ['*'] + cache-control: [no-cache] + content-length: ['2163'] + content-type: [application/json; odata=minimalmetadata; streaming=true; charset=utf-8] + dataserviceversion: [3.0;] + date: ['Thu, 27 Sep 2018 23:03:53 GMT'] + duration: ['474790'] + expires: ['-1'] + ocp-aad-diagnostics-server-name: [evsRSR5DO7q01AXoKm+ZyHztJZdBKEUSG+kXCXlrYfo=] + ocp-aad-session-key: [vr96utt3l6TW8bZJRURvSbyol7Gcw_VKM6VjoB8Bly0aF80_2jWAH-iTyhyrE6vnCwHmoMsUxCsH6_AJQ8MdDxQzoWVG2-TMg95q-mnKl5-YCxLfcnrzA5hGGkpi-IMtJIoioAvcO3O__gkSEU60-IvDfLCcNrCnPalBO-vQ38eL1ROwWlKypuJWBNEwuxDyweDxix-Uv9XTQyyM_OaAYw.NZOEbwvB1psUVRuaTmcEJ44Cjeju8NUprWEPhJTxm7g] + pragma: [no-cache] + request-id: [cf0830a5-24e2-4f4f-975b-76158b9d52a6] + server: [Microsoft-IIS/10.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-aspnet-version: [4.0.30319] + x-ms-dirapi-data-contract-version: ['1.6'] + x-powered-by: [ASP.NET] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [ad app delete] + Connection: [keep-alive] + Content-Length: ['0'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-graphrbac/0.40.0 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: DELETE + uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/applications/ca42376f-4ee5-4e01-ae01-70d58ad15154?api-version=1.6 + response: + body: {string: ''} + headers: + access-control-allow-origin: ['*'] + cache-control: [no-cache] + dataserviceversion: [1.0;] + date: ['Thu, 27 Sep 2018 23:03:56 GMT'] + duration: ['35785145'] + expires: ['-1'] + ocp-aad-diagnostics-server-name: [bOSVw5ebUyVNrnHERuA1cFYGZib69gI5UzRTYzSt7ZU=] + ocp-aad-session-key: [n_7RkDePIECp2xQVTVEfcbd2KPZRJQOIbu4j0giFzP8VZ1h8_KIREhgc2T-IkJXWnep1T5w31wJP3DBaWimHTIdXV3vCkWMTaX9CWOarLdbtCO9qsKo_u-ur6-AC4a8d1_dpsw005v-Cj5_wDeuXvg0j8Vbg1Xl3sGWfkWOXfa3qfjqWsAvvWqDXOtbezQvnDVkRP2XvN0EuCp8OLG2dzg.o8M0jweb13K34mggx9T-4Nmm-oxE5Yiev-SEbcwDoog] + pragma: [no-cache] + request-id: [93cf4f86-04fe-4aff-bd99-5e2d2f313861] + server: [Microsoft-IIS/10.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-aspnet-version: [4.0.30319] + x-content-type-options: [nosniff] + x-ms-dirapi-data-contract-version: ['1.6'] + x-powered-by: [ASP.NET] + status: {code: 204, message: No Content} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [group delete] + Connection: [keep-alive] + Content-Length: ['0'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 resourcemanagementclient/2.0.0 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitestosa000001?api-version=2018-05-01 + response: + body: {string: ''} + headers: + cache-control: [no-cache] + content-length: ['0'] + date: ['Thu, 27 Sep 2018 23:03:57 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUT1NBVFBHWkFORS1FQVNUVVMiLCJqb2JMb2NhdGlvbiI6ImVhc3R1cyJ9?api-version=2018-05-01'] + pragma: [no-cache] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-deletes: ['14998'] + status: {code: 202, message: Accepted} +version: 1 diff --git a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/tests/latest/recordings/test_openshift_create_default_service_no_aad.yaml b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/tests/latest/recordings/test_openshift_create_default_service_no_aad.yaml new file mode 100644 index 00000000000..a74b85b8af7 --- /dev/null +++ b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/tests/latest/recordings/test_openshift_create_default_service_no_aad.yaml @@ -0,0 +1,1437 @@ +interactions: +- request: + body: '{"location": "eastus", "tags": {"product": "azurecli", "cause": "automation", + "date": "2018-09-27T23:03:58Z"}}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [group create] + Connection: [keep-alive] + Content-Length: ['110'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 resourcemanagementclient/2.0.0 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitestosa000001?api-version=2018-05-01 + response: + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestosa000001","name":"clitestosa000001","location":"eastus","tags":{"product":"azurecli","cause":"automation","date":"2018-09-27T23:03:58Z"},"properties":{"provisioningState":"Succeeded"}}'} + headers: + cache-control: [no-cache] + content-length: ['268'] + content-type: [application/json; charset=utf-8] + date: ['Thu, 27 Sep 2018 23:03:58 GMT'] + expires: ['-1'] + pragma: [no-cache] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] + status: {code: 201, message: Created} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 resourcemanagementclient/2.0.0 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitestosa000001?api-version=2018-05-01 + response: + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestosa000001","name":"clitestosa000001","location":"eastus","tags":{"product":"azurecli","cause":"automation","date":"2018-09-27T23:03:58Z"},"properties":{"provisioningState":"Succeeded"}}'} + headers: + cache-control: [no-cache] + content-length: ['268'] + content-type: [application/json; charset=utf-8] + date: ['Thu, 27 Sep 2018 23:03:59 GMT'] + expires: ['-1'] + pragma: [no-cache] + strict-transport-security: [max-age=31536000; includeSubDomains] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: 'b''{"availableToOtherTenants": false, "displayName": "clitestosa000002.eastus.cloudapp.azure.com", + "homepage": "https://clitestosa000002.eastus.cloudapp.azure.com/oauth2callback/Azure%20AD", + "identifierUris": ["https://clitestosa000002.eastus.cloudapp.azure.com/oauth2callback/Azure%20AD"], + "replyUrls": ["https://clitestosa000002.eastus.cloudapp.azure.com/oauth2callback/Azure%20AD"], + "passwordCredentials": [{"startDate": "2018-09-27T23:03:59.913591Z", "endDate": + "2019-09-27T23:03:59.913591Z", "keyId": "8fb95065-8259-4b6d-ad80-f727ce919075", + "value": "53b8f3d9dd3350a0bd7d"}]}''' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + Content-Length: ['573'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-graphrbac/0.40.0 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: POST + uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/applications?api-version=1.6 + response: + body: {string: '{"odata.metadata":"https://graph.windows.net/00000000-0000-0000-0000-000000000000/$metadata#directoryObjects/Microsoft.DirectoryServices.Application/@Element","odata.type":"Microsoft.DirectoryServices.Application","objectType":"Application","objectId":"45b72d49-b36a-4b0a-8eb1-cae772b61b4c","deletionTimestamp":null,"acceptMappedClaims":null,"addIns":[],"appId":"902e6685-e856-4cea-921f-2c230a5f1604","appRoles":[],"availableToOtherTenants":false,"displayName":"clitestosa000002.eastus.cloudapp.azure.com","errorUrl":null,"groupMembershipClaims":null,"homepage":"https://clitestosa000002.eastus.cloudapp.azure.com/oauth2callback/Azure%20AD","identifierUris":["https://clitestosa000002.eastus.cloudapp.azure.com/oauth2callback/Azure%20AD"],"informationalUrls":{"termsOfService":null,"support":null,"privacy":null,"marketing":null},"isDeviceOnlyAuthSupported":null,"keyCredentials":[],"knownClientApplications":[],"logoutUrl":null,"logo@odata.mediaContentType":"application/json;odata=minimalmetadata; + charset=utf-8","logoUrl":null,"oauth2AllowIdTokenImplicitFlow":true,"oauth2AllowImplicitFlow":false,"oauth2AllowUrlPathMatching":false,"oauth2Permissions":[{"adminConsentDescription":"Allow + the application to access clitestosa000002.eastus.cloudapp.azure.com on behalf + of the signed-in user.","adminConsentDisplayName":"Access clitestosa000002.eastus.cloudapp.azure.com","id":"3a5dd06b-05f8-4f25-92f7-b876515a4829","isEnabled":true,"type":"User","userConsentDescription":"Allow + the application to access clitestosa000002.eastus.cloudapp.azure.com on your + behalf.","userConsentDisplayName":"Access clitestosa000002.eastus.cloudapp.azure.com","value":"user_impersonation"}],"oauth2RequirePostResponse":false,"optionalClaims":null,"orgRestrictions":[],"parentalControlSettings":{"countriesBlockedForMinors":[],"legalAgeGroupRule":"Allow"},"passwordCredentials":[{"customKeyIdentifier":null,"endDate":"2019-09-27T23:03:59.913591Z","keyId":"8fb95065-8259-4b6d-ad80-f727ce919075","startDate":"2018-09-27T23:03:59.913591Z","value":null}],"publicClient":null,"publisherDomain":null,"recordConsentConditions":null,"replyUrls":["https://clitestosa000002.eastus.cloudapp.azure.com/oauth2callback/Azure%20AD"],"requiredResourceAccess":[],"samlMetadataUrl":null,"signInAudience":"AzureADMyOrg","tokenEncryptionKeyId":null}'} + headers: + access-control-allow-origin: ['*'] + cache-control: [no-cache] + content-length: ['2301'] + content-type: [application/json; odata=minimalmetadata; streaming=true; charset=utf-8] + dataserviceversion: [3.0;] + date: ['Thu, 27 Sep 2018 23:04:00 GMT'] + duration: ['6193317'] + expires: ['-1'] + location: ['https://graph.windows.net/00000000-0000-0000-0000-000000000000/directoryObjects/45b72d49-b36a-4b0a-8eb1-cae772b61b4c/Microsoft.DirectoryServices.Application'] + ocp-aad-diagnostics-server-name: [1k53FcPYgK2SZ25YiU0qVV+QKBx8wtm6d95AjfIOWOI=] + ocp-aad-session-key: [4JnuBM_f62_36F_sTLSy6rgh-zi_l2Fkjwi5rUQiuQQ2qnbZAk09dXmbUwWxwJnFcX9NUsir66Z_ApgW1Vq5AJqz7lH6QCnNziRgqfRWqbfW_nGNVnikujylqIoZSB1U5rp_CCb76aQ3-T5VicKphnIbFzd3jKWh78EBBDnDK-ThpSH47aatLCSSy3URxIl-88XHiDojtm7H4P66CJrNhw.1JySlUXaUzbfOqZpGh-cWe8E9tr-r_ZHcZiw1vVE8hk] + pragma: [no-cache] + request-id: [a0e93393-1749-4d9c-a27c-7cd0336e353d] + server: [Microsoft-IIS/10.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-aspnet-version: [4.0.30319] + x-content-type-options: [nosniff] + x-ms-dirapi-data-contract-version: ['1.6'] + x-powered-by: [ASP.NET] + status: {code: 201, message: Created} +- request: + body: 'b''{"location": "eastus", "properties": {"openShiftVersion": "v3.10", "fqdn": + "clitestosa000002.eastus.cloudapp.azure.com", "routerProfiles": [{"name": "default"}], + "masterPoolProfile": {"name": "master", "count": 3, "vmSize": "Standard_D2s_v3", + "osType": "Linux"}, "agentPoolProfiles": [{"name": "compute", "count": 1, "vmSize": + "Standard_D4s_v3", "osType": "Linux", "role": "compute"}, {"name": "infra", + "count": 2, "vmSize": "Standard_D4s_v3", "osType": "Linux", "role": "infra"}], + "authProfile": {"identityProviders": [{"name": "Azure AD", "provider": {"kind": + "AADIdentityProvider", "clientId": "902e6685-e856-4cea-921f-2c230a5f1604", "secret": + "53b8f3d9dd3350a0bd7d", "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47"}}]}}}''' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + Content-Length: ['726'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestosa000001/providers/Microsoft.ContainerService/openShiftManagedClusters/clitestosa000002?api-version=2018-09-30-preview + response: + body: {string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitestosa000001/providers/Microsoft.ContainerService/openshiftmanagedClusters/clitestosa000002\",\n + \ \"location\": \"eastus\",\n \"name\": \"clitestosa000002\",\n \"type\": + \"Microsoft.ContainerService/OpenShiftManagedClusters\",\n \"properties\": + {\n \"provisioningState\": \"Creating\",\n \"openShiftVersion\": \"v3.10\",\n + \ \"fqdn\": \"clitestosa000002.eastus.cloudapp.azure.com\",\n \"routerProfiles\": + [\n {\n \"name\": \"default\"\n }\n ],\n \"masterPoolProfile\": + {\n \"count\": 3,\n \"vmSize\": \"Standard_D2s_v3\"\n },\n \"agentPoolProfiles\": + [\n {\n \"name\": \"compute\",\n \"count\": 1,\n \"vmSize\": + \"Standard_D4s_v3\",\n \"osType\": \"Linux\",\n \"role\": \"compute\"\n + \ },\n {\n \"name\": \"infra\",\n \"count\": 2,\n \"vmSize\": + \"Standard_D4s_v3\",\n \"osType\": \"Linux\",\n \"role\": \"infra\"\n + \ }\n ],\n \"authProfile\": {\n \"identityProviders\": [\n {\n + \ \"name\": \"Azure AD\",\n \"provider\": {\n \"kind\": \"AADIdentityProvider\",\n + \ \"clientId\": \"902e6685-e856-4cea-921f-2c230a5f1604\",\n \"tenantId\": + \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n }\n }\n ]\n }\n }\n + }"} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/7724e4a7-694b-4d7e-9e83-0cd70bf24dbf?api-version=2017-08-31'] + cache-control: [no-cache] + content-length: ['1164'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:04:03 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] + status: {code: 201, message: Created} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/7724e4a7-694b-4d7e-9e83-0cd70bf24dbf?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"a7e42477-4b69-7e4d-9e83-0cd70bf24dbf\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:04:03.8913441Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:04:34 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/7724e4a7-694b-4d7e-9e83-0cd70bf24dbf?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"a7e42477-4b69-7e4d-9e83-0cd70bf24dbf\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:04:03.8913441Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:05:04 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/7724e4a7-694b-4d7e-9e83-0cd70bf24dbf?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"a7e42477-4b69-7e4d-9e83-0cd70bf24dbf\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:04:03.8913441Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:05:36 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/7724e4a7-694b-4d7e-9e83-0cd70bf24dbf?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"a7e42477-4b69-7e4d-9e83-0cd70bf24dbf\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:04:03.8913441Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:06:07 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/7724e4a7-694b-4d7e-9e83-0cd70bf24dbf?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"a7e42477-4b69-7e4d-9e83-0cd70bf24dbf\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:04:03.8913441Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:06:37 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/7724e4a7-694b-4d7e-9e83-0cd70bf24dbf?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"a7e42477-4b69-7e4d-9e83-0cd70bf24dbf\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:04:03.8913441Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:07:09 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/7724e4a7-694b-4d7e-9e83-0cd70bf24dbf?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"a7e42477-4b69-7e4d-9e83-0cd70bf24dbf\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:04:03.8913441Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:07:40 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/7724e4a7-694b-4d7e-9e83-0cd70bf24dbf?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"a7e42477-4b69-7e4d-9e83-0cd70bf24dbf\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:04:03.8913441Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:08:11 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/7724e4a7-694b-4d7e-9e83-0cd70bf24dbf?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"a7e42477-4b69-7e4d-9e83-0cd70bf24dbf\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:04:03.8913441Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:08:41 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/7724e4a7-694b-4d7e-9e83-0cd70bf24dbf?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"a7e42477-4b69-7e4d-9e83-0cd70bf24dbf\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:04:03.8913441Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:09:12 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/7724e4a7-694b-4d7e-9e83-0cd70bf24dbf?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"a7e42477-4b69-7e4d-9e83-0cd70bf24dbf\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:04:03.8913441Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:09:43 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/7724e4a7-694b-4d7e-9e83-0cd70bf24dbf?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"a7e42477-4b69-7e4d-9e83-0cd70bf24dbf\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:04:03.8913441Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:10:14 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/7724e4a7-694b-4d7e-9e83-0cd70bf24dbf?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"a7e42477-4b69-7e4d-9e83-0cd70bf24dbf\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:04:03.8913441Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:10:44 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/7724e4a7-694b-4d7e-9e83-0cd70bf24dbf?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"a7e42477-4b69-7e4d-9e83-0cd70bf24dbf\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:04:03.8913441Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:11:15 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/7724e4a7-694b-4d7e-9e83-0cd70bf24dbf?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"a7e42477-4b69-7e4d-9e83-0cd70bf24dbf\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:04:03.8913441Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:11:47 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/7724e4a7-694b-4d7e-9e83-0cd70bf24dbf?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"a7e42477-4b69-7e4d-9e83-0cd70bf24dbf\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:04:03.8913441Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:12:18 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/7724e4a7-694b-4d7e-9e83-0cd70bf24dbf?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"a7e42477-4b69-7e4d-9e83-0cd70bf24dbf\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:04:03.8913441Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:12:48 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/7724e4a7-694b-4d7e-9e83-0cd70bf24dbf?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"a7e42477-4b69-7e4d-9e83-0cd70bf24dbf\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:04:03.8913441Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:13:20 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/7724e4a7-694b-4d7e-9e83-0cd70bf24dbf?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"a7e42477-4b69-7e4d-9e83-0cd70bf24dbf\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:04:03.8913441Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:13:50 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/7724e4a7-694b-4d7e-9e83-0cd70bf24dbf?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"a7e42477-4b69-7e4d-9e83-0cd70bf24dbf\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:04:03.8913441Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:14:21 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/7724e4a7-694b-4d7e-9e83-0cd70bf24dbf?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"a7e42477-4b69-7e4d-9e83-0cd70bf24dbf\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:04:03.8913441Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:14:51 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/7724e4a7-694b-4d7e-9e83-0cd70bf24dbf?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"a7e42477-4b69-7e4d-9e83-0cd70bf24dbf\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:04:03.8913441Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:15:22 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/7724e4a7-694b-4d7e-9e83-0cd70bf24dbf?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"a7e42477-4b69-7e4d-9e83-0cd70bf24dbf\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2018-09-27T23:04:03.8913441Z\",\n \"endTime\": + \"2018-09-27T23:15:33.3474734Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['170'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:15:53 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestosa000001/providers/Microsoft.ContainerService/openShiftManagedClusters/clitestosa000002?api-version=2018-09-30-preview + response: + body: {string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitestosa000001/providers/Microsoft.ContainerService/openshiftmanagedClusters/clitestosa000002\",\n + \ \"location\": \"eastus\",\n \"name\": \"clitestosa000002\",\n \"type\": + \"Microsoft.ContainerService/OpenShiftManagedClusters\",\n \"properties\": + {\n \"provisioningState\": \"Succeeded\",\n \"openShiftVersion\": \"v3.10\",\n + \ \"fqdn\": \"clitestosa000002.eastus.cloudapp.azure.com\",\n \"routerProfiles\": + [\n {\n \"name\": \"default\",\n \"publicSubdomain\": \"bfb5da4fb394435282ba.eastus.int.aksapp.io\",\n + \ \"fqdn\": \"osab5e3f3812ee448d1bbe4.eastus.cloudapp.azure.com\"\n }\n + \ ],\n \"masterPoolProfile\": {\n \"count\": 3,\n \"vmSize\": \"Standard_D2s_v3\"\n + \ },\n \"agentPoolProfiles\": [\n {\n \"name\": \"compute\",\n \"count\": + 1,\n \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": \"Linux\",\n \"role\": + \"compute\"\n },\n {\n \"name\": \"infra\",\n \"count\": 2,\n + \ \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": \"Linux\",\n \"role\": + \"infra\"\n }\n ],\n \"authProfile\": {\n \"identityProviders\": + [\n {\n \"name\": \"Azure AD\",\n \"provider\": {\n \"kind\": + \"AADIdentityProvider\",\n \"clientId\": \"902e6685-e856-4cea-921f-2c230a5f1604\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n }\n }\n + \ ]\n }\n }\n }"} + headers: + cache-control: [no-cache] + content-length: ['1300'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:15:54 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift show] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestosa000001/providers/Microsoft.ContainerService/openShiftManagedClusters/clitestosa000002?api-version=2018-09-30-preview + response: + body: {string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitestosa000001/providers/Microsoft.ContainerService/openshiftmanagedClusters/clitestosa000002\",\n + \ \"location\": \"eastus\",\n \"name\": \"clitestosa000002\",\n \"type\": + \"Microsoft.ContainerService/OpenShiftManagedClusters\",\n \"properties\": + {\n \"provisioningState\": \"Succeeded\",\n \"openShiftVersion\": \"v3.10\",\n + \ \"fqdn\": \"clitestosa000002.eastus.cloudapp.azure.com\",\n \"routerProfiles\": + [\n {\n \"name\": \"default\",\n \"publicSubdomain\": \"bfb5da4fb394435282ba.eastus.int.aksapp.io\",\n + \ \"fqdn\": \"osab5e3f3812ee448d1bbe4.eastus.cloudapp.azure.com\"\n }\n + \ ],\n \"masterPoolProfile\": {\n \"count\": 3,\n \"vmSize\": \"Standard_D2s_v3\"\n + \ },\n \"agentPoolProfiles\": [\n {\n \"name\": \"compute\",\n \"count\": + 1,\n \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": \"Linux\",\n \"role\": + \"compute\"\n },\n {\n \"name\": \"infra\",\n \"count\": 2,\n + \ \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": \"Linux\",\n \"role\": + \"infra\"\n }\n ],\n \"authProfile\": {\n \"identityProviders\": + [\n {\n \"name\": \"Azure AD\",\n \"provider\": {\n \"kind\": + \"AADIdentityProvider\",\n \"clientId\": \"902e6685-e856-4cea-921f-2c230a5f1604\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n }\n }\n + \ ]\n }\n }\n }"} + headers: + cache-control: [no-cache] + content-length: ['1300'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:15:56 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift scale] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestosa000001/providers/Microsoft.ContainerService/openShiftManagedClusters/clitestosa000002?api-version=2018-09-30-preview + response: + body: {string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitestosa000001/providers/Microsoft.ContainerService/openshiftmanagedClusters/clitestosa000002\",\n + \ \"location\": \"eastus\",\n \"name\": \"clitestosa000002\",\n \"type\": + \"Microsoft.ContainerService/OpenShiftManagedClusters\",\n \"properties\": + {\n \"provisioningState\": \"Succeeded\",\n \"openShiftVersion\": \"v3.10\",\n + \ \"fqdn\": \"clitestosa000002.eastus.cloudapp.azure.com\",\n \"routerProfiles\": + [\n {\n \"name\": \"default\",\n \"publicSubdomain\": \"bfb5da4fb394435282ba.eastus.int.aksapp.io\",\n + \ \"fqdn\": \"osab5e3f3812ee448d1bbe4.eastus.cloudapp.azure.com\"\n }\n + \ ],\n \"masterPoolProfile\": {\n \"count\": 3,\n \"vmSize\": \"Standard_D2s_v3\"\n + \ },\n \"agentPoolProfiles\": [\n {\n \"name\": \"compute\",\n \"count\": + 1,\n \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": \"Linux\",\n \"role\": + \"compute\"\n },\n {\n \"name\": \"infra\",\n \"count\": 2,\n + \ \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": \"Linux\",\n \"role\": + \"infra\"\n }\n ],\n \"authProfile\": {\n \"identityProviders\": + [\n {\n \"name\": \"Azure AD\",\n \"provider\": {\n \"kind\": + \"AADIdentityProvider\",\n \"clientId\": \"902e6685-e856-4cea-921f-2c230a5f1604\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n }\n }\n + \ ]\n }\n }\n }"} + headers: + cache-control: [no-cache] + content-length: ['1300'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:15:56 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: 'b''{"location": "eastus", "properties": {"openShiftVersion": "v3.10", "fqdn": + "clitestosa000002.eastus.cloudapp.azure.com", "routerProfiles": [{"name": "default", + "publicSubdomain": "bfb5da4fb394435282ba.eastus.int.aksapp.io"}], "masterPoolProfile": + {"name": "master", "count": 3, "vmSize": "Standard_D2s_v3"}, "agentPoolProfiles": + [{"name": "compute", "count": 3, "vmSize": "Standard_D4s_v3", "osType": "Linux", + "role": "compute"}, {"name": "infra", "count": 2, "vmSize": "Standard_D4s_v3", + "osType": "Linux", "role": "infra"}]}}''' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift scale] + Connection: [keep-alive] + Content-Length: ['526'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestosa000001/providers/Microsoft.ContainerService/openShiftManagedClusters/clitestosa000002?api-version=2018-09-30-preview + response: + body: {string: "{\n \"location\": \"eastus\",\n \"name\": \"clitestosa000002\",\n + \ \"properties\": {\n \"provisioningState\": \"Updating\",\n \"openShiftVersion\": + \"v3.10\",\n \"fqdn\": \"clitestosa000002.eastus.cloudapp.azure.com\",\n + \ \"routerProfiles\": [\n {\n \"name\": \"default\",\n \"publicSubdomain\": + \"bfb5da4fb394435282ba.eastus.int.aksapp.io\",\n \"fqdn\": \"osab5e3f3812ee448d1bbe4.eastus.cloudapp.azure.com\"\n + \ }\n ],\n \"masterPoolProfile\": {\n \"count\": 3,\n \"vmSize\": + \"Standard_D2s_v3\"\n },\n \"agentPoolProfiles\": [\n {\n \"name\": + \"compute\",\n \"count\": 3,\n \"vmSize\": \"Standard_D4s_v3\",\n + \ \"osType\": \"Linux\",\n \"role\": \"compute\"\n },\n {\n \"name\": + \"infra\",\n \"count\": 2,\n \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": + \"Linux\",\n \"role\": \"infra\"\n }\n ],\n \"authProfile\": {\n + \ \"identityProviders\": [\n {\n \"name\": \"Azure AD\",\n \"provider\": + {\n \"kind\": \"AADIdentityProvider\",\n \"clientId\": \"902e6685-e856-4cea-921f-2c230a5f1604\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n }\n }\n + \ ]\n }\n }\n }"} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/1e7a8f11-95d4-4706-a75f-4f5dedcb7a90?api-version=2017-08-31'] + cache-control: [no-cache] + content-length: ['1060'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:16:00 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift scale] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/1e7a8f11-95d4-4706-a75f-4f5dedcb7a90?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"118f7a1e-d495-0647-a75f-4f5dedcb7a90\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:16:00.1765502Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:16:30 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift scale] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/1e7a8f11-95d4-4706-a75f-4f5dedcb7a90?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"118f7a1e-d495-0647-a75f-4f5dedcb7a90\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:16:00.1765502Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:17:01 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift scale] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/1e7a8f11-95d4-4706-a75f-4f5dedcb7a90?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"118f7a1e-d495-0647-a75f-4f5dedcb7a90\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:16:00.1765502Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:17:32 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift scale] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/1e7a8f11-95d4-4706-a75f-4f5dedcb7a90?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"118f7a1e-d495-0647-a75f-4f5dedcb7a90\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:16:00.1765502Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:18:03 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift scale] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/1e7a8f11-95d4-4706-a75f-4f5dedcb7a90?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"118f7a1e-d495-0647-a75f-4f5dedcb7a90\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:16:00.1765502Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:18:34 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift scale] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/1e7a8f11-95d4-4706-a75f-4f5dedcb7a90?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"118f7a1e-d495-0647-a75f-4f5dedcb7a90\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:16:00.1765502Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:19:04 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift scale] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/1e7a8f11-95d4-4706-a75f-4f5dedcb7a90?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"118f7a1e-d495-0647-a75f-4f5dedcb7a90\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:16:00.1765502Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:19:35 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift scale] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/1e7a8f11-95d4-4706-a75f-4f5dedcb7a90?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"118f7a1e-d495-0647-a75f-4f5dedcb7a90\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:16:00.1765502Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:20:06 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift scale] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/1e7a8f11-95d4-4706-a75f-4f5dedcb7a90?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"118f7a1e-d495-0647-a75f-4f5dedcb7a90\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:16:00.1765502Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:20:36 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift scale] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/1e7a8f11-95d4-4706-a75f-4f5dedcb7a90?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"118f7a1e-d495-0647-a75f-4f5dedcb7a90\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:16:00.1765502Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:21:08 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift scale] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/1e7a8f11-95d4-4706-a75f-4f5dedcb7a90?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"118f7a1e-d495-0647-a75f-4f5dedcb7a90\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2018-09-27T23:16:00.1765502Z\",\n \"endTime\": + \"2018-09-27T23:21:12.7311468Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['170'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:21:39 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift scale] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestosa000001/providers/Microsoft.ContainerService/openShiftManagedClusters/clitestosa000002?api-version=2018-09-30-preview + response: + body: {string: "{\n \"location\": \"eastus\",\n \"name\": \"clitestosa000002\",\n + \ \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"openShiftVersion\": + \"v3.10\",\n \"fqdn\": \"clitestosa000002.eastus.cloudapp.azure.com\",\n + \ \"routerProfiles\": [\n {\n \"name\": \"default\",\n \"publicSubdomain\": + \"bfb5da4fb394435282ba.eastus.int.aksapp.io\",\n \"fqdn\": \"osab5e3f3812ee448d1bbe4.eastus.cloudapp.azure.com\"\n + \ }\n ],\n \"masterPoolProfile\": {\n \"count\": 3,\n \"vmSize\": + \"Standard_D2s_v3\"\n },\n \"agentPoolProfiles\": [\n {\n \"name\": + \"compute\",\n \"count\": 3,\n \"vmSize\": \"Standard_D4s_v3\",\n + \ \"osType\": \"Linux\",\n \"role\": \"compute\"\n },\n {\n \"name\": + \"infra\",\n \"count\": 2,\n \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": + \"Linux\",\n \"role\": \"infra\"\n }\n ],\n \"authProfile\": {\n + \ \"identityProviders\": [\n {\n \"name\": \"Azure AD\",\n \"provider\": + {\n \"kind\": \"AADIdentityProvider\",\n \"clientId\": \"902e6685-e856-4cea-921f-2c230a5f1604\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n }\n }\n + \ ]\n }\n }\n }"} + headers: + cache-control: [no-cache] + content-length: ['1061'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:21:40 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift show] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestosa000001/providers/Microsoft.ContainerService/openShiftManagedClusters/clitestosa000002?api-version=2018-09-30-preview + response: + body: {string: "{\n \"location\": \"eastus\",\n \"name\": \"clitestosa000002\",\n + \ \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"openShiftVersion\": + \"v3.10\",\n \"fqdn\": \"clitestosa000002.eastus.cloudapp.azure.com\",\n + \ \"routerProfiles\": [\n {\n \"name\": \"default\",\n \"publicSubdomain\": + \"bfb5da4fb394435282ba.eastus.int.aksapp.io\",\n \"fqdn\": \"osab5e3f3812ee448d1bbe4.eastus.cloudapp.azure.com\"\n + \ }\n ],\n \"masterPoolProfile\": {\n \"count\": 3,\n \"vmSize\": + \"Standard_D2s_v3\"\n },\n \"agentPoolProfiles\": [\n {\n \"name\": + \"compute\",\n \"count\": 3,\n \"vmSize\": \"Standard_D4s_v3\",\n + \ \"osType\": \"Linux\",\n \"role\": \"compute\"\n },\n {\n \"name\": + \"infra\",\n \"count\": 2,\n \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": + \"Linux\",\n \"role\": \"infra\"\n }\n ],\n \"authProfile\": {\n + \ \"identityProviders\": [\n {\n \"name\": \"Azure AD\",\n \"provider\": + {\n \"kind\": \"AADIdentityProvider\",\n \"clientId\": \"902e6685-e856-4cea-921f-2c230a5f1604\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n }\n }\n + \ ]\n }\n }\n }"} + headers: + cache-control: [no-cache] + content-length: ['1061'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:21:41 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift delete] + Connection: [keep-alive] + Content-Length: ['0'] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestosa000001/providers/Microsoft.ContainerService/openShiftManagedClusters/clitestosa000002?api-version=2018-09-30-preview + response: + body: {string: ''} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/bd8acd9a-cd02-43b1-af8a-31a4c2d47d40?api-version=2017-08-31'] + cache-control: [no-cache] + content-length: ['0'] + date: ['Thu, 27 Sep 2018 23:21:44 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationresults/bd8acd9a-cd02-43b1-af8a-31a4c2d47d40?api-version=2017-08-31'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-deletes: ['14999'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [group delete] + Connection: [keep-alive] + Content-Length: ['0'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 resourcemanagementclient/2.0.0 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitestosa000001?api-version=2018-05-01 + response: + body: {string: ''} + headers: + cache-control: [no-cache] + content-length: ['0'] + date: ['Thu, 27 Sep 2018 23:21:45 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUT1NBSlE1SDVRTy1FQVNUVVMiLCJqb2JMb2NhdGlvbiI6ImVhc3R1cyJ9?api-version=2018-05-01'] + pragma: [no-cache] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-deletes: ['14999'] + status: {code: 202, message: Accepted} +version: 1 diff --git a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/tests/latest/recordings/test_openshift_create_service_no_wait.yaml b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/tests/latest/recordings/test_openshift_create_service_no_wait.yaml new file mode 100644 index 00000000000..aaf46444512 --- /dev/null +++ b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/tests/latest/recordings/test_openshift_create_service_no_wait.yaml @@ -0,0 +1,2002 @@ +interactions: +- request: + body: '{"location": "eastus", "tags": {"product": "azurecli", "cause": "automation", + "date": "2018-09-27T23:21:45Z"}}' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [group create] + Connection: [keep-alive] + Content-Length: ['110'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 resourcemanagementclient/2.0.0 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitestosa000001?api-version=2018-05-01 + response: + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestosa000001","name":"clitestosa000001","location":"eastus","tags":{"product":"azurecli","cause":"automation","date":"2018-09-27T23:21:45Z"},"properties":{"provisioningState":"Succeeded"}}'} + headers: + cache-control: [no-cache] + content-length: ['268'] + content-type: [application/json; charset=utf-8] + date: ['Thu, 27 Sep 2018 23:21:47 GMT'] + expires: ['-1'] + pragma: [no-cache] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1197'] + status: {code: 201, message: Created} +- request: + body: 'b''{"availableToOtherTenants": false, "displayName": "clitest000002", "identifierUris": + ["http://clitest000002"], "passwordCredentials": [{"startDate": "2018-09-27T23:21:47.517812Z", + "endDate": "2019-09-27T23:21:47.517812Z", "keyId": "2ff12b9d-7813-4799-ace3-da2810319601", + "value": "clitest000002"}]}''' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [ad app create] + Connection: [keep-alive] + Content-Length: ['331'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-graphrbac/0.40.0 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: POST + uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/applications?api-version=1.6 + response: + body: {string: '{"odata.metadata":"https://graph.windows.net/00000000-0000-0000-0000-000000000000/$metadata#directoryObjects/Microsoft.DirectoryServices.Application/@Element","odata.type":"Microsoft.DirectoryServices.Application","objectType":"Application","objectId":"c7c9feff-5f0a-4376-836c-df9159d4aa0c","deletionTimestamp":null,"acceptMappedClaims":null,"addIns":[],"appId":"81f8c91c-325b-4d88-8db2-40a25dc1fb37","appRoles":[],"availableToOtherTenants":false,"displayName":"clitest000002","errorUrl":null,"groupMembershipClaims":null,"homepage":null,"identifierUris":["http://clitest000002"],"informationalUrls":{"termsOfService":null,"support":null,"privacy":null,"marketing":null},"isDeviceOnlyAuthSupported":null,"keyCredentials":[],"knownClientApplications":[],"logoutUrl":null,"logo@odata.mediaContentType":"application/json;odata=minimalmetadata; + charset=utf-8","logoUrl":null,"oauth2AllowIdTokenImplicitFlow":true,"oauth2AllowImplicitFlow":false,"oauth2AllowUrlPathMatching":false,"oauth2Permissions":[{"adminConsentDescription":"Allow + the application to access clitest000002 on behalf of the signed-in user.","adminConsentDisplayName":"Access + clitest000002","id":"967c9f49-2643-4821-9451-9ade70ccc230","isEnabled":true,"type":"User","userConsentDescription":"Allow + the application to access clitest000002 on your behalf.","userConsentDisplayName":"Access + clitest000002","value":"user_impersonation"}],"oauth2RequirePostResponse":false,"optionalClaims":null,"orgRestrictions":[],"parentalControlSettings":{"countriesBlockedForMinors":[],"legalAgeGroupRule":"Allow"},"passwordCredentials":[{"customKeyIdentifier":null,"endDate":"2019-09-27T23:21:47.517812Z","keyId":"2ff12b9d-7813-4799-ace3-da2810319601","startDate":"2018-09-27T23:21:47.517812Z","value":null}],"publicClient":null,"publisherDomain":null,"recordConsentConditions":null,"replyUrls":[],"requiredResourceAccess":[],"samlMetadataUrl":null,"signInAudience":"AzureADMyOrg","tokenEncryptionKeyId":null}'} + headers: + access-control-allow-origin: ['*'] + cache-control: [no-cache] + content-length: ['2022'] + content-type: [application/json; odata=minimalmetadata; streaming=true; charset=utf-8] + dataserviceversion: [3.0;] + date: ['Thu, 27 Sep 2018 23:21:59 GMT'] + duration: ['6967117'] + expires: ['-1'] + location: ['https://graph.windows.net/00000000-0000-0000-0000-000000000000/directoryObjects/c7c9feff-5f0a-4376-836c-df9159d4aa0c/Microsoft.DirectoryServices.Application'] + ocp-aad-diagnostics-server-name: [64ZBYS/rhn9X5IrXsifmDxTyaADWHKUPnfRbwFlkKUg=] + ocp-aad-session-key: [O3_s0EYFSOhNHiEZYlRDe_4RXvavwQEJvIuCFBDGT0rMRas_2FVtkidvejJJetp4f3JRs57hZPlhwVoE0OxjC2nfU-Atky70gL-209ZjAdAE3JIaTyjSt354sQij1sRJPfMIHqFTYVzEGRRuY3P8_bfbhjtfmvulc1HmJuzwo81WeILYj41tgphkBHgE9hOA3OgeG4pSoFg_63VBLlv24g.8QOfY1FWgTuxNbWsYAexEmXCf5988FgZu_6TA7AcyR0] + pragma: [no-cache] + request-id: [b5085074-e62c-46c7-a4b7-0ed109a783d7] + server: [Microsoft-IIS/10.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-aspnet-version: [4.0.30319] + x-content-type-options: [nosniff] + x-ms-dirapi-data-contract-version: ['1.6'] + x-powered-by: [ASP.NET] + status: {code: 201, message: Created} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 resourcemanagementclient/2.0.0 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitestosa000001?api-version=2018-05-01 + response: + body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestosa000001","name":"clitestosa000001","location":"eastus","tags":{"product":"azurecli","cause":"automation","date":"2018-09-27T23:21:45Z"},"properties":{"provisioningState":"Succeeded"}}'} + headers: + cache-control: [no-cache] + content-length: ['268'] + content-type: [application/json; charset=utf-8] + date: ['Thu, 27 Sep 2018 23:21:59 GMT'] + expires: ['-1'] + pragma: [no-cache] + strict-transport-security: [max-age=31536000; includeSubDomains] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: 'b''b\''{"location": "eastus", "tags": {"scenario_test": ""}, "properties": + {"openShiftVersion": "v3.10", "fqdn": "clitestosa000003.eastus.cloudapp.azure.com", + "routerProfiles": [{"name": "default"}], "masterPoolProfile": {"name": "master", + "count": 3, "vmSize": "Standard_D2s_v3", "osType": "Linux"}, "agentPoolProfiles": + [{"name": "compute", "count": 1, "vmSize": "Standard_D4s_v3", "osType": "Linux", + "role": "compute"}, {"name": "infra", "count": 2, "vmSize": "Standard_D4s_v3", + "osType": "Linux", "role": "infra"}], "authProfile": {"identityProviders": [{"name": + "Azure AD", "provider": {"kind": "AADIdentityProvider", "clientId": "81f8c91c-325b-4d88-8db2-40a25dc1fb37", + "secret": "clitest000002", "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47"}}]}}}\''''' + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift create] + Connection: [keep-alive] + Content-Length: ['761'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestosa000001/providers/Microsoft.ContainerService/openShiftManagedClusters/clitestosa000003?api-version=2018-09-30-preview + response: + body: {string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitestosa000001/providers/Microsoft.ContainerService/openshiftmanagedClusters/clitestosa000003\",\n + \ \"location\": \"eastus\",\n \"name\": \"clitestosa000003\",\n \"tags\": + {\n \"scenario_test\": \"\"\n },\n \"type\": \"Microsoft.ContainerService/OpenShiftManagedClusters\",\n + \ \"properties\": {\n \"provisioningState\": \"Creating\",\n \"openShiftVersion\": + \"v3.10\",\n \"fqdn\": \"clitestosa000003.eastus.cloudapp.azure.com\",\n + \ \"routerProfiles\": [\n {\n \"name\": \"default\"\n }\n ],\n + \ \"masterPoolProfile\": {\n \"count\": 3,\n \"vmSize\": \"Standard_D2s_v3\"\n + \ },\n \"agentPoolProfiles\": [\n {\n \"name\": \"compute\",\n \"count\": + 1,\n \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": \"Linux\",\n \"role\": + \"compute\"\n },\n {\n \"name\": \"infra\",\n \"count\": 2,\n + \ \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": \"Linux\",\n \"role\": + \"infra\"\n }\n ],\n \"authProfile\": {\n \"identityProviders\": + [\n {\n \"name\": \"Azure AD\",\n \"provider\": {\n \"kind\": + \"AADIdentityProvider\",\n \"clientId\": \"81f8c91c-325b-4d88-8db2-40a25dc1fb37\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n }\n }\n + \ ]\n }\n }\n }"} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/a9168d7a-7366-425b-a250-fbd71804af03?api-version=2017-08-31'] + cache-control: [no-cache] + content-length: ['1204'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:22:03 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] + status: {code: 201, message: Created} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift wait] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestosa000001/providers/Microsoft.ContainerService/openShiftManagedClusters/clitestosa000003?api-version=2018-09-30-preview + response: + body: {string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitestosa000001/providers/Microsoft.ContainerService/openshiftmanagedClusters/clitestosa000003\",\n + \ \"location\": \"eastus\",\n \"name\": \"clitestosa000003\",\n \"tags\": + {\n \"scenario_test\": \"\"\n },\n \"type\": \"Microsoft.ContainerService/OpenShiftManagedClusters\",\n + \ \"properties\": {\n \"provisioningState\": \"Creating\",\n \"openShiftVersion\": + \"v3.10\",\n \"fqdn\": \"clitestosa000003.eastus.cloudapp.azure.com\",\n + \ \"routerProfiles\": [\n {\n \"name\": \"default\"\n }\n ],\n + \ \"masterPoolProfile\": {\n \"count\": 3,\n \"vmSize\": \"Standard_D2s_v3\"\n + \ },\n \"agentPoolProfiles\": [\n {\n \"name\": \"compute\",\n \"count\": + 1,\n \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": \"Linux\",\n \"role\": + \"compute\"\n },\n {\n \"name\": \"infra\",\n \"count\": 2,\n + \ \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": \"Linux\",\n \"role\": + \"infra\"\n }\n ],\n \"authProfile\": {\n \"identityProviders\": + [\n {\n \"name\": \"Azure AD\",\n \"provider\": {\n \"kind\": + \"AADIdentityProvider\",\n \"clientId\": \"81f8c91c-325b-4d88-8db2-40a25dc1fb37\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n }\n }\n + \ ]\n }\n }\n }"} + headers: + cache-control: [no-cache] + content-length: ['1204'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:22:04 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift wait] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestosa000001/providers/Microsoft.ContainerService/openShiftManagedClusters/clitestosa000003?api-version=2018-09-30-preview + response: + body: {string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitestosa000001/providers/Microsoft.ContainerService/openshiftmanagedClusters/clitestosa000003\",\n + \ \"location\": \"eastus\",\n \"name\": \"clitestosa000003\",\n \"tags\": + {\n \"scenario_test\": \"\"\n },\n \"type\": \"Microsoft.ContainerService/OpenShiftManagedClusters\",\n + \ \"properties\": {\n \"provisioningState\": \"Creating\",\n \"openShiftVersion\": + \"v3.10\",\n \"fqdn\": \"clitestosa000003.eastus.cloudapp.azure.com\",\n + \ \"routerProfiles\": [\n {\n \"name\": \"default\"\n }\n ],\n + \ \"masterPoolProfile\": {\n \"count\": 3,\n \"vmSize\": \"Standard_D2s_v3\"\n + \ },\n \"agentPoolProfiles\": [\n {\n \"name\": \"compute\",\n \"count\": + 1,\n \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": \"Linux\",\n \"role\": + \"compute\"\n },\n {\n \"name\": \"infra\",\n \"count\": 2,\n + \ \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": \"Linux\",\n \"role\": + \"infra\"\n }\n ],\n \"authProfile\": {\n \"identityProviders\": + [\n {\n \"name\": \"Azure AD\",\n \"provider\": {\n \"kind\": + \"AADIdentityProvider\",\n \"clientId\": \"81f8c91c-325b-4d88-8db2-40a25dc1fb37\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n }\n }\n + \ ]\n }\n }\n }"} + headers: + cache-control: [no-cache] + content-length: ['1204'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:22:34 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift wait] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestosa000001/providers/Microsoft.ContainerService/openShiftManagedClusters/clitestosa000003?api-version=2018-09-30-preview + response: + body: {string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitestosa000001/providers/Microsoft.ContainerService/openshiftmanagedClusters/clitestosa000003\",\n + \ \"location\": \"eastus\",\n \"name\": \"clitestosa000003\",\n \"tags\": + {\n \"scenario_test\": \"\"\n },\n \"type\": \"Microsoft.ContainerService/OpenShiftManagedClusters\",\n + \ \"properties\": {\n \"provisioningState\": \"Creating\",\n \"openShiftVersion\": + \"v3.10\",\n \"fqdn\": \"clitestosa000003.eastus.cloudapp.azure.com\",\n + \ \"routerProfiles\": [\n {\n \"name\": \"default\"\n }\n ],\n + \ \"masterPoolProfile\": {\n \"count\": 3,\n \"vmSize\": \"Standard_D2s_v3\"\n + \ },\n \"agentPoolProfiles\": [\n {\n \"name\": \"compute\",\n \"count\": + 1,\n \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": \"Linux\",\n \"role\": + \"compute\"\n },\n {\n \"name\": \"infra\",\n \"count\": 2,\n + \ \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": \"Linux\",\n \"role\": + \"infra\"\n }\n ],\n \"authProfile\": {\n \"identityProviders\": + [\n {\n \"name\": \"Azure AD\",\n \"provider\": {\n \"kind\": + \"AADIdentityProvider\",\n \"clientId\": \"81f8c91c-325b-4d88-8db2-40a25dc1fb37\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n }\n }\n + \ ]\n }\n }\n }"} + headers: + cache-control: [no-cache] + content-length: ['1204'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:23:05 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift wait] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestosa000001/providers/Microsoft.ContainerService/openShiftManagedClusters/clitestosa000003?api-version=2018-09-30-preview + response: + body: {string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitestosa000001/providers/Microsoft.ContainerService/openshiftmanagedClusters/clitestosa000003\",\n + \ \"location\": \"eastus\",\n \"name\": \"clitestosa000003\",\n \"tags\": + {\n \"scenario_test\": \"\"\n },\n \"type\": \"Microsoft.ContainerService/OpenShiftManagedClusters\",\n + \ \"properties\": {\n \"provisioningState\": \"Creating\",\n \"openShiftVersion\": + \"v3.10\",\n \"fqdn\": \"clitestosa000003.eastus.cloudapp.azure.com\",\n + \ \"routerProfiles\": [\n {\n \"name\": \"default\"\n }\n ],\n + \ \"masterPoolProfile\": {\n \"count\": 3,\n \"vmSize\": \"Standard_D2s_v3\"\n + \ },\n \"agentPoolProfiles\": [\n {\n \"name\": \"compute\",\n \"count\": + 1,\n \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": \"Linux\",\n \"role\": + \"compute\"\n },\n {\n \"name\": \"infra\",\n \"count\": 2,\n + \ \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": \"Linux\",\n \"role\": + \"infra\"\n }\n ],\n \"authProfile\": {\n \"identityProviders\": + [\n {\n \"name\": \"Azure AD\",\n \"provider\": {\n \"kind\": + \"AADIdentityProvider\",\n \"clientId\": \"81f8c91c-325b-4d88-8db2-40a25dc1fb37\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n }\n }\n + \ ]\n }\n }\n }"} + headers: + cache-control: [no-cache] + content-length: ['1204'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:23:35 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift wait] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestosa000001/providers/Microsoft.ContainerService/openShiftManagedClusters/clitestosa000003?api-version=2018-09-30-preview + response: + body: {string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitestosa000001/providers/Microsoft.ContainerService/openshiftmanagedClusters/clitestosa000003\",\n + \ \"location\": \"eastus\",\n \"name\": \"clitestosa000003\",\n \"tags\": + {\n \"scenario_test\": \"\"\n },\n \"type\": \"Microsoft.ContainerService/OpenShiftManagedClusters\",\n + \ \"properties\": {\n \"provisioningState\": \"Creating\",\n \"openShiftVersion\": + \"v3.10\",\n \"fqdn\": \"clitestosa000003.eastus.cloudapp.azure.com\",\n + \ \"routerProfiles\": [\n {\n \"name\": \"default\"\n }\n ],\n + \ \"masterPoolProfile\": {\n \"count\": 3,\n \"vmSize\": \"Standard_D2s_v3\"\n + \ },\n \"agentPoolProfiles\": [\n {\n \"name\": \"compute\",\n \"count\": + 1,\n \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": \"Linux\",\n \"role\": + \"compute\"\n },\n {\n \"name\": \"infra\",\n \"count\": 2,\n + \ \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": \"Linux\",\n \"role\": + \"infra\"\n }\n ],\n \"authProfile\": {\n \"identityProviders\": + [\n {\n \"name\": \"Azure AD\",\n \"provider\": {\n \"kind\": + \"AADIdentityProvider\",\n \"clientId\": \"81f8c91c-325b-4d88-8db2-40a25dc1fb37\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n }\n }\n + \ ]\n }\n }\n }"} + headers: + cache-control: [no-cache] + content-length: ['1204'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:24:16 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift wait] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestosa000001/providers/Microsoft.ContainerService/openShiftManagedClusters/clitestosa000003?api-version=2018-09-30-preview + response: + body: {string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitestosa000001/providers/Microsoft.ContainerService/openshiftmanagedClusters/clitestosa000003\",\n + \ \"location\": \"eastus\",\n \"name\": \"clitestosa000003\",\n \"tags\": + {\n \"scenario_test\": \"\"\n },\n \"type\": \"Microsoft.ContainerService/OpenShiftManagedClusters\",\n + \ \"properties\": {\n \"provisioningState\": \"Creating\",\n \"openShiftVersion\": + \"v3.10\",\n \"fqdn\": \"clitestosa000003.eastus.cloudapp.azure.com\",\n + \ \"routerProfiles\": [\n {\n \"name\": \"default\",\n \"publicSubdomain\": + \"77f9d618c6144ad6b709.eastus.int.aksapp.io\",\n \"fqdn\": \"osa9d99589b4c16432b9f21.eastus.cloudapp.azure.com\"\n + \ }\n ],\n \"masterPoolProfile\": {\n \"count\": 3,\n \"vmSize\": + \"Standard_D2s_v3\"\n },\n \"agentPoolProfiles\": [\n {\n \"name\": + \"compute\",\n \"count\": 1,\n \"vmSize\": \"Standard_D4s_v3\",\n + \ \"osType\": \"Linux\",\n \"role\": \"compute\"\n },\n {\n \"name\": + \"infra\",\n \"count\": 2,\n \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": + \"Linux\",\n \"role\": \"infra\"\n }\n ],\n \"authProfile\": {\n + \ \"identityProviders\": [\n {\n \"name\": \"Azure AD\",\n \"provider\": + {\n \"kind\": \"AADIdentityProvider\",\n \"clientId\": \"81f8c91c-325b-4d88-8db2-40a25dc1fb37\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n }\n }\n + \ ]\n }\n }\n }"} + headers: + cache-control: [no-cache] + content-length: ['1339'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:24:47 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift wait] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestosa000001/providers/Microsoft.ContainerService/openShiftManagedClusters/clitestosa000003?api-version=2018-09-30-preview + response: + body: {string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitestosa000001/providers/Microsoft.ContainerService/openshiftmanagedClusters/clitestosa000003\",\n + \ \"location\": \"eastus\",\n \"name\": \"clitestosa000003\",\n \"tags\": + {\n \"scenario_test\": \"\"\n },\n \"type\": \"Microsoft.ContainerService/OpenShiftManagedClusters\",\n + \ \"properties\": {\n \"provisioningState\": \"Creating\",\n \"openShiftVersion\": + \"v3.10\",\n \"fqdn\": \"clitestosa000003.eastus.cloudapp.azure.com\",\n + \ \"routerProfiles\": [\n {\n \"name\": \"default\",\n \"publicSubdomain\": + \"77f9d618c6144ad6b709.eastus.int.aksapp.io\",\n \"fqdn\": \"osa9d99589b4c16432b9f21.eastus.cloudapp.azure.com\"\n + \ }\n ],\n \"masterPoolProfile\": {\n \"count\": 3,\n \"vmSize\": + \"Standard_D2s_v3\"\n },\n \"agentPoolProfiles\": [\n {\n \"name\": + \"compute\",\n \"count\": 1,\n \"vmSize\": \"Standard_D4s_v3\",\n + \ \"osType\": \"Linux\",\n \"role\": \"compute\"\n },\n {\n \"name\": + \"infra\",\n \"count\": 2,\n \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": + \"Linux\",\n \"role\": \"infra\"\n }\n ],\n \"authProfile\": {\n + \ \"identityProviders\": [\n {\n \"name\": \"Azure AD\",\n \"provider\": + {\n \"kind\": \"AADIdentityProvider\",\n \"clientId\": \"81f8c91c-325b-4d88-8db2-40a25dc1fb37\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n }\n }\n + \ ]\n }\n }\n }"} + headers: + cache-control: [no-cache] + content-length: ['1339'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:25:18 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift wait] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestosa000001/providers/Microsoft.ContainerService/openShiftManagedClusters/clitestosa000003?api-version=2018-09-30-preview + response: + body: {string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitestosa000001/providers/Microsoft.ContainerService/openshiftmanagedClusters/clitestosa000003\",\n + \ \"location\": \"eastus\",\n \"name\": \"clitestosa000003\",\n \"tags\": + {\n \"scenario_test\": \"\"\n },\n \"type\": \"Microsoft.ContainerService/OpenShiftManagedClusters\",\n + \ \"properties\": {\n \"provisioningState\": \"Creating\",\n \"openShiftVersion\": + \"v3.10\",\n \"fqdn\": \"clitestosa000003.eastus.cloudapp.azure.com\",\n + \ \"routerProfiles\": [\n {\n \"name\": \"default\",\n \"publicSubdomain\": + \"77f9d618c6144ad6b709.eastus.int.aksapp.io\",\n \"fqdn\": \"osa9d99589b4c16432b9f21.eastus.cloudapp.azure.com\"\n + \ }\n ],\n \"masterPoolProfile\": {\n \"count\": 3,\n \"vmSize\": + \"Standard_D2s_v3\"\n },\n \"agentPoolProfiles\": [\n {\n \"name\": + \"compute\",\n \"count\": 1,\n \"vmSize\": \"Standard_D4s_v3\",\n + \ \"osType\": \"Linux\",\n \"role\": \"compute\"\n },\n {\n \"name\": + \"infra\",\n \"count\": 2,\n \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": + \"Linux\",\n \"role\": \"infra\"\n }\n ],\n \"authProfile\": {\n + \ \"identityProviders\": [\n {\n \"name\": \"Azure AD\",\n \"provider\": + {\n \"kind\": \"AADIdentityProvider\",\n \"clientId\": \"81f8c91c-325b-4d88-8db2-40a25dc1fb37\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n }\n }\n + \ ]\n }\n }\n }"} + headers: + cache-control: [no-cache] + content-length: ['1339'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:25:49 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift wait] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestosa000001/providers/Microsoft.ContainerService/openShiftManagedClusters/clitestosa000003?api-version=2018-09-30-preview + response: + body: {string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitestosa000001/providers/Microsoft.ContainerService/openshiftmanagedClusters/clitestosa000003\",\n + \ \"location\": \"eastus\",\n \"name\": \"clitestosa000003\",\n \"tags\": + {\n \"scenario_test\": \"\"\n },\n \"type\": \"Microsoft.ContainerService/OpenShiftManagedClusters\",\n + \ \"properties\": {\n \"provisioningState\": \"Creating\",\n \"openShiftVersion\": + \"v3.10\",\n \"fqdn\": \"clitestosa000003.eastus.cloudapp.azure.com\",\n + \ \"routerProfiles\": [\n {\n \"name\": \"default\",\n \"publicSubdomain\": + \"77f9d618c6144ad6b709.eastus.int.aksapp.io\",\n \"fqdn\": \"osa9d99589b4c16432b9f21.eastus.cloudapp.azure.com\"\n + \ }\n ],\n \"masterPoolProfile\": {\n \"count\": 3,\n \"vmSize\": + \"Standard_D2s_v3\"\n },\n \"agentPoolProfiles\": [\n {\n \"name\": + \"compute\",\n \"count\": 1,\n \"vmSize\": \"Standard_D4s_v3\",\n + \ \"osType\": \"Linux\",\n \"role\": \"compute\"\n },\n {\n \"name\": + \"infra\",\n \"count\": 2,\n \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": + \"Linux\",\n \"role\": \"infra\"\n }\n ],\n \"authProfile\": {\n + \ \"identityProviders\": [\n {\n \"name\": \"Azure AD\",\n \"provider\": + {\n \"kind\": \"AADIdentityProvider\",\n \"clientId\": \"81f8c91c-325b-4d88-8db2-40a25dc1fb37\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n }\n }\n + \ ]\n }\n }\n }"} + headers: + cache-control: [no-cache] + content-length: ['1339'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:26:20 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift wait] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestosa000001/providers/Microsoft.ContainerService/openShiftManagedClusters/clitestosa000003?api-version=2018-09-30-preview + response: + body: {string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitestosa000001/providers/Microsoft.ContainerService/openshiftmanagedClusters/clitestosa000003\",\n + \ \"location\": \"eastus\",\n \"name\": \"clitestosa000003\",\n \"tags\": + {\n \"scenario_test\": \"\"\n },\n \"type\": \"Microsoft.ContainerService/OpenShiftManagedClusters\",\n + \ \"properties\": {\n \"provisioningState\": \"Creating\",\n \"openShiftVersion\": + \"v3.10\",\n \"fqdn\": \"clitestosa000003.eastus.cloudapp.azure.com\",\n + \ \"routerProfiles\": [\n {\n \"name\": \"default\",\n \"publicSubdomain\": + \"77f9d618c6144ad6b709.eastus.int.aksapp.io\",\n \"fqdn\": \"osa9d99589b4c16432b9f21.eastus.cloudapp.azure.com\"\n + \ }\n ],\n \"masterPoolProfile\": {\n \"count\": 3,\n \"vmSize\": + \"Standard_D2s_v3\"\n },\n \"agentPoolProfiles\": [\n {\n \"name\": + \"compute\",\n \"count\": 1,\n \"vmSize\": \"Standard_D4s_v3\",\n + \ \"osType\": \"Linux\",\n \"role\": \"compute\"\n },\n {\n \"name\": + \"infra\",\n \"count\": 2,\n \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": + \"Linux\",\n \"role\": \"infra\"\n }\n ],\n \"authProfile\": {\n + \ \"identityProviders\": [\n {\n \"name\": \"Azure AD\",\n \"provider\": + {\n \"kind\": \"AADIdentityProvider\",\n \"clientId\": \"81f8c91c-325b-4d88-8db2-40a25dc1fb37\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n }\n }\n + \ ]\n }\n }\n }"} + headers: + cache-control: [no-cache] + content-length: ['1339'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:26:51 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift wait] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestosa000001/providers/Microsoft.ContainerService/openShiftManagedClusters/clitestosa000003?api-version=2018-09-30-preview + response: + body: {string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitestosa000001/providers/Microsoft.ContainerService/openshiftmanagedClusters/clitestosa000003\",\n + \ \"location\": \"eastus\",\n \"name\": \"clitestosa000003\",\n \"tags\": + {\n \"scenario_test\": \"\"\n },\n \"type\": \"Microsoft.ContainerService/OpenShiftManagedClusters\",\n + \ \"properties\": {\n \"provisioningState\": \"Creating\",\n \"openShiftVersion\": + \"v3.10\",\n \"fqdn\": \"clitestosa000003.eastus.cloudapp.azure.com\",\n + \ \"routerProfiles\": [\n {\n \"name\": \"default\",\n \"publicSubdomain\": + \"77f9d618c6144ad6b709.eastus.int.aksapp.io\",\n \"fqdn\": \"osa9d99589b4c16432b9f21.eastus.cloudapp.azure.com\"\n + \ }\n ],\n \"masterPoolProfile\": {\n \"count\": 3,\n \"vmSize\": + \"Standard_D2s_v3\"\n },\n \"agentPoolProfiles\": [\n {\n \"name\": + \"compute\",\n \"count\": 1,\n \"vmSize\": \"Standard_D4s_v3\",\n + \ \"osType\": \"Linux\",\n \"role\": \"compute\"\n },\n {\n \"name\": + \"infra\",\n \"count\": 2,\n \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": + \"Linux\",\n \"role\": \"infra\"\n }\n ],\n \"authProfile\": {\n + \ \"identityProviders\": [\n {\n \"name\": \"Azure AD\",\n \"provider\": + {\n \"kind\": \"AADIdentityProvider\",\n \"clientId\": \"81f8c91c-325b-4d88-8db2-40a25dc1fb37\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n }\n }\n + \ ]\n }\n }\n }"} + headers: + cache-control: [no-cache] + content-length: ['1339'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:27:22 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift wait] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestosa000001/providers/Microsoft.ContainerService/openShiftManagedClusters/clitestosa000003?api-version=2018-09-30-preview + response: + body: {string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitestosa000001/providers/Microsoft.ContainerService/openshiftmanagedClusters/clitestosa000003\",\n + \ \"location\": \"eastus\",\n \"name\": \"clitestosa000003\",\n \"tags\": + {\n \"scenario_test\": \"\"\n },\n \"type\": \"Microsoft.ContainerService/OpenShiftManagedClusters\",\n + \ \"properties\": {\n \"provisioningState\": \"Creating\",\n \"openShiftVersion\": + \"v3.10\",\n \"fqdn\": \"clitestosa000003.eastus.cloudapp.azure.com\",\n + \ \"routerProfiles\": [\n {\n \"name\": \"default\",\n \"publicSubdomain\": + \"77f9d618c6144ad6b709.eastus.int.aksapp.io\",\n \"fqdn\": \"osa9d99589b4c16432b9f21.eastus.cloudapp.azure.com\"\n + \ }\n ],\n \"masterPoolProfile\": {\n \"count\": 3,\n \"vmSize\": + \"Standard_D2s_v3\"\n },\n \"agentPoolProfiles\": [\n {\n \"name\": + \"compute\",\n \"count\": 1,\n \"vmSize\": \"Standard_D4s_v3\",\n + \ \"osType\": \"Linux\",\n \"role\": \"compute\"\n },\n {\n \"name\": + \"infra\",\n \"count\": 2,\n \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": + \"Linux\",\n \"role\": \"infra\"\n }\n ],\n \"authProfile\": {\n + \ \"identityProviders\": [\n {\n \"name\": \"Azure AD\",\n \"provider\": + {\n \"kind\": \"AADIdentityProvider\",\n \"clientId\": \"81f8c91c-325b-4d88-8db2-40a25dc1fb37\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n }\n }\n + \ ]\n }\n }\n }"} + headers: + cache-control: [no-cache] + content-length: ['1339'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:27:52 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift wait] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestosa000001/providers/Microsoft.ContainerService/openShiftManagedClusters/clitestosa000003?api-version=2018-09-30-preview + response: + body: {string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitestosa000001/providers/Microsoft.ContainerService/openshiftmanagedClusters/clitestosa000003\",\n + \ \"location\": \"eastus\",\n \"name\": \"clitestosa000003\",\n \"tags\": + {\n \"scenario_test\": \"\"\n },\n \"type\": \"Microsoft.ContainerService/OpenShiftManagedClusters\",\n + \ \"properties\": {\n \"provisioningState\": \"Creating\",\n \"openShiftVersion\": + \"v3.10\",\n \"fqdn\": \"clitestosa000003.eastus.cloudapp.azure.com\",\n + \ \"routerProfiles\": [\n {\n \"name\": \"default\",\n \"publicSubdomain\": + \"77f9d618c6144ad6b709.eastus.int.aksapp.io\",\n \"fqdn\": \"osa9d99589b4c16432b9f21.eastus.cloudapp.azure.com\"\n + \ }\n ],\n \"masterPoolProfile\": {\n \"count\": 3,\n \"vmSize\": + \"Standard_D2s_v3\"\n },\n \"agentPoolProfiles\": [\n {\n \"name\": + \"compute\",\n \"count\": 1,\n \"vmSize\": \"Standard_D4s_v3\",\n + \ \"osType\": \"Linux\",\n \"role\": \"compute\"\n },\n {\n \"name\": + \"infra\",\n \"count\": 2,\n \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": + \"Linux\",\n \"role\": \"infra\"\n }\n ],\n \"authProfile\": {\n + \ \"identityProviders\": [\n {\n \"name\": \"Azure AD\",\n \"provider\": + {\n \"kind\": \"AADIdentityProvider\",\n \"clientId\": \"81f8c91c-325b-4d88-8db2-40a25dc1fb37\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n }\n }\n + \ ]\n }\n }\n }"} + headers: + cache-control: [no-cache] + content-length: ['1339'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:28:24 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift wait] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestosa000001/providers/Microsoft.ContainerService/openShiftManagedClusters/clitestosa000003?api-version=2018-09-30-preview + response: + body: {string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitestosa000001/providers/Microsoft.ContainerService/openshiftmanagedClusters/clitestosa000003\",\n + \ \"location\": \"eastus\",\n \"name\": \"clitestosa000003\",\n \"tags\": + {\n \"scenario_test\": \"\"\n },\n \"type\": \"Microsoft.ContainerService/OpenShiftManagedClusters\",\n + \ \"properties\": {\n \"provisioningState\": \"Creating\",\n \"openShiftVersion\": + \"v3.10\",\n \"fqdn\": \"clitestosa000003.eastus.cloudapp.azure.com\",\n + \ \"routerProfiles\": [\n {\n \"name\": \"default\",\n \"publicSubdomain\": + \"77f9d618c6144ad6b709.eastus.int.aksapp.io\",\n \"fqdn\": \"osa9d99589b4c16432b9f21.eastus.cloudapp.azure.com\"\n + \ }\n ],\n \"masterPoolProfile\": {\n \"count\": 3,\n \"vmSize\": + \"Standard_D2s_v3\"\n },\n \"agentPoolProfiles\": [\n {\n \"name\": + \"compute\",\n \"count\": 1,\n \"vmSize\": \"Standard_D4s_v3\",\n + \ \"osType\": \"Linux\",\n \"role\": \"compute\"\n },\n {\n \"name\": + \"infra\",\n \"count\": 2,\n \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": + \"Linux\",\n \"role\": \"infra\"\n }\n ],\n \"authProfile\": {\n + \ \"identityProviders\": [\n {\n \"name\": \"Azure AD\",\n \"provider\": + {\n \"kind\": \"AADIdentityProvider\",\n \"clientId\": \"81f8c91c-325b-4d88-8db2-40a25dc1fb37\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n }\n }\n + \ ]\n }\n }\n }"} + headers: + cache-control: [no-cache] + content-length: ['1339'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:28:54 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift wait] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestosa000001/providers/Microsoft.ContainerService/openShiftManagedClusters/clitestosa000003?api-version=2018-09-30-preview + response: + body: {string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitestosa000001/providers/Microsoft.ContainerService/openshiftmanagedClusters/clitestosa000003\",\n + \ \"location\": \"eastus\",\n \"name\": \"clitestosa000003\",\n \"tags\": + {\n \"scenario_test\": \"\"\n },\n \"type\": \"Microsoft.ContainerService/OpenShiftManagedClusters\",\n + \ \"properties\": {\n \"provisioningState\": \"Creating\",\n \"openShiftVersion\": + \"v3.10\",\n \"fqdn\": \"clitestosa000003.eastus.cloudapp.azure.com\",\n + \ \"routerProfiles\": [\n {\n \"name\": \"default\",\n \"publicSubdomain\": + \"77f9d618c6144ad6b709.eastus.int.aksapp.io\",\n \"fqdn\": \"osa9d99589b4c16432b9f21.eastus.cloudapp.azure.com\"\n + \ }\n ],\n \"masterPoolProfile\": {\n \"count\": 3,\n \"vmSize\": + \"Standard_D2s_v3\"\n },\n \"agentPoolProfiles\": [\n {\n \"name\": + \"compute\",\n \"count\": 1,\n \"vmSize\": \"Standard_D4s_v3\",\n + \ \"osType\": \"Linux\",\n \"role\": \"compute\"\n },\n {\n \"name\": + \"infra\",\n \"count\": 2,\n \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": + \"Linux\",\n \"role\": \"infra\"\n }\n ],\n \"authProfile\": {\n + \ \"identityProviders\": [\n {\n \"name\": \"Azure AD\",\n \"provider\": + {\n \"kind\": \"AADIdentityProvider\",\n \"clientId\": \"81f8c91c-325b-4d88-8db2-40a25dc1fb37\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n }\n }\n + \ ]\n }\n }\n }"} + headers: + cache-control: [no-cache] + content-length: ['1339'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:29:25 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift wait] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestosa000001/providers/Microsoft.ContainerService/openShiftManagedClusters/clitestosa000003?api-version=2018-09-30-preview + response: + body: {string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitestosa000001/providers/Microsoft.ContainerService/openshiftmanagedClusters/clitestosa000003\",\n + \ \"location\": \"eastus\",\n \"name\": \"clitestosa000003\",\n \"tags\": + {\n \"scenario_test\": \"\"\n },\n \"type\": \"Microsoft.ContainerService/OpenShiftManagedClusters\",\n + \ \"properties\": {\n \"provisioningState\": \"Creating\",\n \"openShiftVersion\": + \"v3.10\",\n \"fqdn\": \"clitestosa000003.eastus.cloudapp.azure.com\",\n + \ \"routerProfiles\": [\n {\n \"name\": \"default\",\n \"publicSubdomain\": + \"77f9d618c6144ad6b709.eastus.int.aksapp.io\",\n \"fqdn\": \"osa9d99589b4c16432b9f21.eastus.cloudapp.azure.com\"\n + \ }\n ],\n \"masterPoolProfile\": {\n \"count\": 3,\n \"vmSize\": + \"Standard_D2s_v3\"\n },\n \"agentPoolProfiles\": [\n {\n \"name\": + \"compute\",\n \"count\": 1,\n \"vmSize\": \"Standard_D4s_v3\",\n + \ \"osType\": \"Linux\",\n \"role\": \"compute\"\n },\n {\n \"name\": + \"infra\",\n \"count\": 2,\n \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": + \"Linux\",\n \"role\": \"infra\"\n }\n ],\n \"authProfile\": {\n + \ \"identityProviders\": [\n {\n \"name\": \"Azure AD\",\n \"provider\": + {\n \"kind\": \"AADIdentityProvider\",\n \"clientId\": \"81f8c91c-325b-4d88-8db2-40a25dc1fb37\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n }\n }\n + \ ]\n }\n }\n }"} + headers: + cache-control: [no-cache] + content-length: ['1339'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:29:56 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift wait] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestosa000001/providers/Microsoft.ContainerService/openShiftManagedClusters/clitestosa000003?api-version=2018-09-30-preview + response: + body: {string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitestosa000001/providers/Microsoft.ContainerService/openshiftmanagedClusters/clitestosa000003\",\n + \ \"location\": \"eastus\",\n \"name\": \"clitestosa000003\",\n \"tags\": + {\n \"scenario_test\": \"\"\n },\n \"type\": \"Microsoft.ContainerService/OpenShiftManagedClusters\",\n + \ \"properties\": {\n \"provisioningState\": \"Creating\",\n \"openShiftVersion\": + \"v3.10\",\n \"fqdn\": \"clitestosa000003.eastus.cloudapp.azure.com\",\n + \ \"routerProfiles\": [\n {\n \"name\": \"default\",\n \"publicSubdomain\": + \"77f9d618c6144ad6b709.eastus.int.aksapp.io\",\n \"fqdn\": \"osa9d99589b4c16432b9f21.eastus.cloudapp.azure.com\"\n + \ }\n ],\n \"masterPoolProfile\": {\n \"count\": 3,\n \"vmSize\": + \"Standard_D2s_v3\"\n },\n \"agentPoolProfiles\": [\n {\n \"name\": + \"compute\",\n \"count\": 1,\n \"vmSize\": \"Standard_D4s_v3\",\n + \ \"osType\": \"Linux\",\n \"role\": \"compute\"\n },\n {\n \"name\": + \"infra\",\n \"count\": 2,\n \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": + \"Linux\",\n \"role\": \"infra\"\n }\n ],\n \"authProfile\": {\n + \ \"identityProviders\": [\n {\n \"name\": \"Azure AD\",\n \"provider\": + {\n \"kind\": \"AADIdentityProvider\",\n \"clientId\": \"81f8c91c-325b-4d88-8db2-40a25dc1fb37\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n }\n }\n + \ ]\n }\n }\n }"} + headers: + cache-control: [no-cache] + content-length: ['1339'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:30:27 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift wait] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestosa000001/providers/Microsoft.ContainerService/openShiftManagedClusters/clitestosa000003?api-version=2018-09-30-preview + response: + body: {string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitestosa000001/providers/Microsoft.ContainerService/openshiftmanagedClusters/clitestosa000003\",\n + \ \"location\": \"eastus\",\n \"name\": \"clitestosa000003\",\n \"tags\": + {\n \"scenario_test\": \"\"\n },\n \"type\": \"Microsoft.ContainerService/OpenShiftManagedClusters\",\n + \ \"properties\": {\n \"provisioningState\": \"Creating\",\n \"openShiftVersion\": + \"v3.10\",\n \"fqdn\": \"clitestosa000003.eastus.cloudapp.azure.com\",\n + \ \"routerProfiles\": [\n {\n \"name\": \"default\",\n \"publicSubdomain\": + \"77f9d618c6144ad6b709.eastus.int.aksapp.io\",\n \"fqdn\": \"osa9d99589b4c16432b9f21.eastus.cloudapp.azure.com\"\n + \ }\n ],\n \"masterPoolProfile\": {\n \"count\": 3,\n \"vmSize\": + \"Standard_D2s_v3\"\n },\n \"agentPoolProfiles\": [\n {\n \"name\": + \"compute\",\n \"count\": 1,\n \"vmSize\": \"Standard_D4s_v3\",\n + \ \"osType\": \"Linux\",\n \"role\": \"compute\"\n },\n {\n \"name\": + \"infra\",\n \"count\": 2,\n \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": + \"Linux\",\n \"role\": \"infra\"\n }\n ],\n \"authProfile\": {\n + \ \"identityProviders\": [\n {\n \"name\": \"Azure AD\",\n \"provider\": + {\n \"kind\": \"AADIdentityProvider\",\n \"clientId\": \"81f8c91c-325b-4d88-8db2-40a25dc1fb37\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n }\n }\n + \ ]\n }\n }\n }"} + headers: + cache-control: [no-cache] + content-length: ['1339'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:30:58 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift wait] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestosa000001/providers/Microsoft.ContainerService/openShiftManagedClusters/clitestosa000003?api-version=2018-09-30-preview + response: + body: {string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitestosa000001/providers/Microsoft.ContainerService/openshiftmanagedClusters/clitestosa000003\",\n + \ \"location\": \"eastus\",\n \"name\": \"clitestosa000003\",\n \"tags\": + {\n \"scenario_test\": \"\"\n },\n \"type\": \"Microsoft.ContainerService/OpenShiftManagedClusters\",\n + \ \"properties\": {\n \"provisioningState\": \"Creating\",\n \"openShiftVersion\": + \"v3.10\",\n \"fqdn\": \"clitestosa000003.eastus.cloudapp.azure.com\",\n + \ \"routerProfiles\": [\n {\n \"name\": \"default\",\n \"publicSubdomain\": + \"77f9d618c6144ad6b709.eastus.int.aksapp.io\",\n \"fqdn\": \"osa9d99589b4c16432b9f21.eastus.cloudapp.azure.com\"\n + \ }\n ],\n \"masterPoolProfile\": {\n \"count\": 3,\n \"vmSize\": + \"Standard_D2s_v3\"\n },\n \"agentPoolProfiles\": [\n {\n \"name\": + \"compute\",\n \"count\": 1,\n \"vmSize\": \"Standard_D4s_v3\",\n + \ \"osType\": \"Linux\",\n \"role\": \"compute\"\n },\n {\n \"name\": + \"infra\",\n \"count\": 2,\n \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": + \"Linux\",\n \"role\": \"infra\"\n }\n ],\n \"authProfile\": {\n + \ \"identityProviders\": [\n {\n \"name\": \"Azure AD\",\n \"provider\": + {\n \"kind\": \"AADIdentityProvider\",\n \"clientId\": \"81f8c91c-325b-4d88-8db2-40a25dc1fb37\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n }\n }\n + \ ]\n }\n }\n }"} + headers: + cache-control: [no-cache] + content-length: ['1339'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:31:29 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift wait] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestosa000001/providers/Microsoft.ContainerService/openShiftManagedClusters/clitestosa000003?api-version=2018-09-30-preview + response: + body: {string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitestosa000001/providers/Microsoft.ContainerService/openshiftmanagedClusters/clitestosa000003\",\n + \ \"location\": \"eastus\",\n \"name\": \"clitestosa000003\",\n \"tags\": + {\n \"scenario_test\": \"\"\n },\n \"type\": \"Microsoft.ContainerService/OpenShiftManagedClusters\",\n + \ \"properties\": {\n \"provisioningState\": \"Creating\",\n \"openShiftVersion\": + \"v3.10\",\n \"fqdn\": \"clitestosa000003.eastus.cloudapp.azure.com\",\n + \ \"routerProfiles\": [\n {\n \"name\": \"default\",\n \"publicSubdomain\": + \"77f9d618c6144ad6b709.eastus.int.aksapp.io\",\n \"fqdn\": \"osa9d99589b4c16432b9f21.eastus.cloudapp.azure.com\"\n + \ }\n ],\n \"masterPoolProfile\": {\n \"count\": 3,\n \"vmSize\": + \"Standard_D2s_v3\"\n },\n \"agentPoolProfiles\": [\n {\n \"name\": + \"compute\",\n \"count\": 1,\n \"vmSize\": \"Standard_D4s_v3\",\n + \ \"osType\": \"Linux\",\n \"role\": \"compute\"\n },\n {\n \"name\": + \"infra\",\n \"count\": 2,\n \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": + \"Linux\",\n \"role\": \"infra\"\n }\n ],\n \"authProfile\": {\n + \ \"identityProviders\": [\n {\n \"name\": \"Azure AD\",\n \"provider\": + {\n \"kind\": \"AADIdentityProvider\",\n \"clientId\": \"81f8c91c-325b-4d88-8db2-40a25dc1fb37\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n }\n }\n + \ ]\n }\n }\n }"} + headers: + cache-control: [no-cache] + content-length: ['1339'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:32:00 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift wait] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestosa000001/providers/Microsoft.ContainerService/openShiftManagedClusters/clitestosa000003?api-version=2018-09-30-preview + response: + body: {string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitestosa000001/providers/Microsoft.ContainerService/openshiftmanagedClusters/clitestosa000003\",\n + \ \"location\": \"eastus\",\n \"name\": \"clitestosa000003\",\n \"tags\": + {\n \"scenario_test\": \"\"\n },\n \"type\": \"Microsoft.ContainerService/OpenShiftManagedClusters\",\n + \ \"properties\": {\n \"provisioningState\": \"Creating\",\n \"openShiftVersion\": + \"v3.10\",\n \"fqdn\": \"clitestosa000003.eastus.cloudapp.azure.com\",\n + \ \"routerProfiles\": [\n {\n \"name\": \"default\",\n \"publicSubdomain\": + \"77f9d618c6144ad6b709.eastus.int.aksapp.io\",\n \"fqdn\": \"osa9d99589b4c16432b9f21.eastus.cloudapp.azure.com\"\n + \ }\n ],\n \"masterPoolProfile\": {\n \"count\": 3,\n \"vmSize\": + \"Standard_D2s_v3\"\n },\n \"agentPoolProfiles\": [\n {\n \"name\": + \"compute\",\n \"count\": 1,\n \"vmSize\": \"Standard_D4s_v3\",\n + \ \"osType\": \"Linux\",\n \"role\": \"compute\"\n },\n {\n \"name\": + \"infra\",\n \"count\": 2,\n \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": + \"Linux\",\n \"role\": \"infra\"\n }\n ],\n \"authProfile\": {\n + \ \"identityProviders\": [\n {\n \"name\": \"Azure AD\",\n \"provider\": + {\n \"kind\": \"AADIdentityProvider\",\n \"clientId\": \"81f8c91c-325b-4d88-8db2-40a25dc1fb37\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n }\n }\n + \ ]\n }\n }\n }"} + headers: + cache-control: [no-cache] + content-length: ['1339'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:32:31 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift wait] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestosa000001/providers/Microsoft.ContainerService/openShiftManagedClusters/clitestosa000003?api-version=2018-09-30-preview + response: + body: {string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitestosa000001/providers/Microsoft.ContainerService/openshiftmanagedClusters/clitestosa000003\",\n + \ \"location\": \"eastus\",\n \"name\": \"clitestosa000003\",\n \"tags\": + {\n \"scenario_test\": \"\"\n },\n \"type\": \"Microsoft.ContainerService/OpenShiftManagedClusters\",\n + \ \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"openShiftVersion\": + \"v3.10\",\n \"fqdn\": \"clitestosa000003.eastus.cloudapp.azure.com\",\n + \ \"routerProfiles\": [\n {\n \"name\": \"default\",\n \"publicSubdomain\": + \"77f9d618c6144ad6b709.eastus.int.aksapp.io\",\n \"fqdn\": \"osa9d99589b4c16432b9f21.eastus.cloudapp.azure.com\"\n + \ }\n ],\n \"masterPoolProfile\": {\n \"count\": 3,\n \"vmSize\": + \"Standard_D2s_v3\"\n },\n \"agentPoolProfiles\": [\n {\n \"name\": + \"compute\",\n \"count\": 1,\n \"vmSize\": \"Standard_D4s_v3\",\n + \ \"osType\": \"Linux\",\n \"role\": \"compute\"\n },\n {\n \"name\": + \"infra\",\n \"count\": 2,\n \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": + \"Linux\",\n \"role\": \"infra\"\n }\n ],\n \"authProfile\": {\n + \ \"identityProviders\": [\n {\n \"name\": \"Azure AD\",\n \"provider\": + {\n \"kind\": \"AADIdentityProvider\",\n \"clientId\": \"81f8c91c-325b-4d88-8db2-40a25dc1fb37\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n }\n }\n + \ ]\n }\n }\n }"} + headers: + cache-control: [no-cache] + content-length: ['1340'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:33:02 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift show] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestosa000001/providers/Microsoft.ContainerService/openShiftManagedClusters/clitestosa000003?api-version=2018-09-30-preview + response: + body: {string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitestosa000001/providers/Microsoft.ContainerService/openshiftmanagedClusters/clitestosa000003\",\n + \ \"location\": \"eastus\",\n \"name\": \"clitestosa000003\",\n \"tags\": + {\n \"scenario_test\": \"\"\n },\n \"type\": \"Microsoft.ContainerService/OpenShiftManagedClusters\",\n + \ \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"openShiftVersion\": + \"v3.10\",\n \"fqdn\": \"clitestosa000003.eastus.cloudapp.azure.com\",\n + \ \"routerProfiles\": [\n {\n \"name\": \"default\",\n \"publicSubdomain\": + \"77f9d618c6144ad6b709.eastus.int.aksapp.io\",\n \"fqdn\": \"osa9d99589b4c16432b9f21.eastus.cloudapp.azure.com\"\n + \ }\n ],\n \"masterPoolProfile\": {\n \"count\": 3,\n \"vmSize\": + \"Standard_D2s_v3\"\n },\n \"agentPoolProfiles\": [\n {\n \"name\": + \"compute\",\n \"count\": 1,\n \"vmSize\": \"Standard_D4s_v3\",\n + \ \"osType\": \"Linux\",\n \"role\": \"compute\"\n },\n {\n \"name\": + \"infra\",\n \"count\": 2,\n \"vmSize\": \"Standard_D4s_v3\",\n \"osType\": + \"Linux\",\n \"role\": \"infra\"\n }\n ],\n \"authProfile\": {\n + \ \"identityProviders\": [\n {\n \"name\": \"Azure AD\",\n \"provider\": + {\n \"kind\": \"AADIdentityProvider\",\n \"clientId\": \"81f8c91c-325b-4d88-8db2-40a25dc1fb37\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n }\n }\n + \ ]\n }\n }\n }"} + headers: + cache-control: [no-cache] + content-length: ['1340'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:33:03 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift delete] + Connection: [keep-alive] + Content-Length: ['0'] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestosa000001/providers/Microsoft.ContainerService/openShiftManagedClusters/clitestosa000003?api-version=2018-09-30-preview + response: + body: {string: ''} + headers: + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/9f1045fd-2d60-4cc2-bf82-f986bf6e14ae?api-version=2017-08-31'] + cache-control: [no-cache] + content-length: ['0'] + date: ['Thu, 27 Sep 2018 23:33:05 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationresults/9f1045fd-2d60-4cc2-bf82-f986bf6e14ae?api-version=2017-08-31'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-deletes: ['14999'] + status: {code: 202, message: Accepted} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift delete] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/9f1045fd-2d60-4cc2-bf82-f986bf6e14ae?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"fd45109f-602d-c24c-bf82-f986bf6e14ae\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:33:06.0999664Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:33:36 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift delete] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/9f1045fd-2d60-4cc2-bf82-f986bf6e14ae?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"fd45109f-602d-c24c-bf82-f986bf6e14ae\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:33:06.0999664Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:34:07 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift delete] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/9f1045fd-2d60-4cc2-bf82-f986bf6e14ae?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"fd45109f-602d-c24c-bf82-f986bf6e14ae\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:33:06.0999664Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:34:38 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift delete] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/9f1045fd-2d60-4cc2-bf82-f986bf6e14ae?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"fd45109f-602d-c24c-bf82-f986bf6e14ae\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:33:06.0999664Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:35:19 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift delete] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/9f1045fd-2d60-4cc2-bf82-f986bf6e14ae?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"fd45109f-602d-c24c-bf82-f986bf6e14ae\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:33:06.0999664Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:35:50 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift delete] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/9f1045fd-2d60-4cc2-bf82-f986bf6e14ae?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"fd45109f-602d-c24c-bf82-f986bf6e14ae\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:33:06.0999664Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:36:21 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift delete] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/9f1045fd-2d60-4cc2-bf82-f986bf6e14ae?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"fd45109f-602d-c24c-bf82-f986bf6e14ae\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:33:06.0999664Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:36:52 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift delete] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/9f1045fd-2d60-4cc2-bf82-f986bf6e14ae?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"fd45109f-602d-c24c-bf82-f986bf6e14ae\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:33:06.0999664Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:37:23 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift delete] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/9f1045fd-2d60-4cc2-bf82-f986bf6e14ae?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"fd45109f-602d-c24c-bf82-f986bf6e14ae\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:33:06.0999664Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:37:55 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift delete] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/9f1045fd-2d60-4cc2-bf82-f986bf6e14ae?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"fd45109f-602d-c24c-bf82-f986bf6e14ae\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:33:06.0999664Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:38:26 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift delete] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/9f1045fd-2d60-4cc2-bf82-f986bf6e14ae?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"fd45109f-602d-c24c-bf82-f986bf6e14ae\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:33:06.0999664Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:38:56 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift delete] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/9f1045fd-2d60-4cc2-bf82-f986bf6e14ae?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"fd45109f-602d-c24c-bf82-f986bf6e14ae\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:33:06.0999664Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:39:27 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift delete] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/9f1045fd-2d60-4cc2-bf82-f986bf6e14ae?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"fd45109f-602d-c24c-bf82-f986bf6e14ae\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:33:06.0999664Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:39:58 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift delete] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/9f1045fd-2d60-4cc2-bf82-f986bf6e14ae?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"fd45109f-602d-c24c-bf82-f986bf6e14ae\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:33:06.0999664Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:40:29 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift delete] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/9f1045fd-2d60-4cc2-bf82-f986bf6e14ae?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"fd45109f-602d-c24c-bf82-f986bf6e14ae\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:33:06.0999664Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:41:00 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift delete] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/9f1045fd-2d60-4cc2-bf82-f986bf6e14ae?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"fd45109f-602d-c24c-bf82-f986bf6e14ae\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:33:06.0999664Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:41:30 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift delete] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/9f1045fd-2d60-4cc2-bf82-f986bf6e14ae?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"fd45109f-602d-c24c-bf82-f986bf6e14ae\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:33:06.0999664Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:42:01 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift delete] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/9f1045fd-2d60-4cc2-bf82-f986bf6e14ae?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"fd45109f-602d-c24c-bf82-f986bf6e14ae\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:33:06.0999664Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:42:32 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift delete] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/9f1045fd-2d60-4cc2-bf82-f986bf6e14ae?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"fd45109f-602d-c24c-bf82-f986bf6e14ae\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:33:06.0999664Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:43:04 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift delete] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/9f1045fd-2d60-4cc2-bf82-f986bf6e14ae?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"fd45109f-602d-c24c-bf82-f986bf6e14ae\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:33:06.0999664Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:43:34 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift delete] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/9f1045fd-2d60-4cc2-bf82-f986bf6e14ae?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"fd45109f-602d-c24c-bf82-f986bf6e14ae\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:33:06.0999664Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:44:06 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift delete] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/9f1045fd-2d60-4cc2-bf82-f986bf6e14ae?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"fd45109f-602d-c24c-bf82-f986bf6e14ae\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2018-09-27T23:33:06.0999664Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['126'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:44:37 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift delete] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/9f1045fd-2d60-4cc2-bf82-f986bf6e14ae?api-version=2017-08-31 + response: + body: {string: "{\n \"name\": \"fd45109f-602d-c24c-bf82-f986bf6e14ae\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2018-09-27T23:33:06.0999664Z\",\n \"endTime\": + \"2018-09-27T23:44:46.1371346Z\"\n }"} + headers: + cache-control: [no-cache] + content-length: ['170'] + content-type: [application/json] + date: ['Thu, 27 Sep 2018 23:45:07 GMT'] + expires: ['-1'] + pragma: [no-cache] + server: [nginx] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [openshift show] + Connection: [keep-alive] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-mgmt-containerservice/4.2.2 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestosa000001/providers/Microsoft.ContainerService/openShiftManagedClusters/clitestosa000003?api-version=2018-09-30-preview + response: + body: {string: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.ContainerService/openShiftManagedClusters/clitestosa000003'' + under resource group ''clitestosa000001'' was not found."}}'} + headers: + cache-control: [no-cache] + content-length: ['188'] + content-type: [application/json; charset=utf-8] + date: ['Thu, 27 Sep 2018 23:45:08 GMT'] + expires: ['-1'] + pragma: [no-cache] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-failure-cause: [gateway] + status: {code: 404, message: Not Found} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [ad app delete] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-graphrbac/0.40.0 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: GET + uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/applications?$filter=identifierUris%2Fany%28s%3As%20eq%20%2781f8c91c-325b-4d88-8db2-40a25dc1fb37%27%29&api-version=1.6 + response: + body: {string: '{"odata.metadata":"https://graph.windows.net/00000000-0000-0000-0000-000000000000/$metadata#directoryObjects","value":[]}'} + headers: + access-control-allow-origin: ['*'] + cache-control: [no-cache] + content-length: ['121'] + content-type: [application/json; odata=minimalmetadata; streaming=true; charset=utf-8] + dataserviceversion: [3.0;] + date: ['Thu, 27 Sep 2018 23:45:19 GMT'] + duration: ['715409'] + expires: ['-1'] + ocp-aad-diagnostics-server-name: [Zd5WAvvhFiXEGhyCaTKadU4m8fPlsgyEroxPvDDhe7Q=] + ocp-aad-session-key: [yjTqe7pnq3rPdRxvI2SAV3HNXiHyvA6Pl6-C_i_TKxY21vlNekvShojrinBBF26wOrw0OGdglLMn9vtmm5dZN07ULd3t5agGLU8zWMLAH-o8vRZn9-1iwlgbtR9McgZ3.EQSoT8MTWdLYH7luTVZw6wAP1y9hC5xrgXr1J4MQJfM] + pragma: [no-cache] + request-id: [920faa30-963a-4f12-a4d5-9298a93055b6] + server: [Microsoft-IIS/10.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-aspnet-version: [4.0.30319] + x-ms-dirapi-data-contract-version: ['1.6'] + x-powered-by: [ASP.NET] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [ad app delete] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-graphrbac/0.40.0 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: GET + uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/applications?$filter=appId%20eq%20%2781f8c91c-325b-4d88-8db2-40a25dc1fb37%27&api-version=1.6 + response: + body: {string: '{"odata.metadata":"https://graph.windows.net/00000000-0000-0000-0000-000000000000/$metadata#directoryObjects","value":[{"odata.type":"Microsoft.DirectoryServices.Application","objectType":"Application","objectId":"c7c9feff-5f0a-4376-836c-df9159d4aa0c","deletionTimestamp":null,"acceptMappedClaims":null,"addIns":[],"appId":"81f8c91c-325b-4d88-8db2-40a25dc1fb37","appRoles":[],"availableToOtherTenants":false,"displayName":"clitest000002","errorUrl":null,"groupMembershipClaims":null,"homepage":null,"identifierUris":["http://clitest000002"],"informationalUrls":{"termsOfService":null,"support":null,"privacy":null,"marketing":null},"isDeviceOnlyAuthSupported":null,"keyCredentials":[],"knownClientApplications":[],"logoutUrl":null,"logo@odata.mediaEditLink":"directoryObjects/c7c9feff-5f0a-4376-836c-df9159d4aa0c/Microsoft.DirectoryServices.Application/logo","logoUrl":null,"mainLogo@odata.mediaEditLink":"directoryObjects/c7c9feff-5f0a-4376-836c-df9159d4aa0c/Microsoft.DirectoryServices.Application/mainLogo","oauth2AllowIdTokenImplicitFlow":true,"oauth2AllowImplicitFlow":false,"oauth2AllowUrlPathMatching":false,"oauth2Permissions":[{"adminConsentDescription":"Allow + the application to access clitest000002 on behalf of the signed-in user.","adminConsentDisplayName":"Access + clitest000002","id":"967c9f49-2643-4821-9451-9ade70ccc230","isEnabled":true,"type":"User","userConsentDescription":"Allow + the application to access clitest000002 on your behalf.","userConsentDisplayName":"Access + clitest000002","value":"user_impersonation"}],"oauth2RequirePostResponse":false,"optionalClaims":null,"orgRestrictions":[],"parentalControlSettings":{"countriesBlockedForMinors":[],"legalAgeGroupRule":"Allow"},"passwordCredentials":[{"customKeyIdentifier":null,"endDate":"2019-09-27T23:21:47.517812Z","keyId":"2ff12b9d-7813-4799-ace3-da2810319601","startDate":"2018-09-27T23:21:47.517812Z","value":null}],"publicClient":null,"publisherDomain":null,"recordConsentConditions":null,"replyUrls":[],"requiredResourceAccess":[],"samlMetadataUrl":null,"signInAudience":"AzureADMyOrg","tokenEncryptionKeyId":null}]}'} + headers: + access-control-allow-origin: ['*'] + cache-control: [no-cache] + content-length: ['2163'] + content-type: [application/json; odata=minimalmetadata; streaming=true; charset=utf-8] + dataserviceversion: [3.0;] + date: ['Thu, 27 Sep 2018 23:45:20 GMT'] + duration: ['415991'] + expires: ['-1'] + ocp-aad-diagnostics-server-name: [KnTRmlwejHQ35ARUdgsmZOXNjnlsbRNGLNzRudUj/NU=] + ocp-aad-session-key: [8Bnzwsxw3ifwhcVXLfTWZGC2afQuc4bnFcyvi4SzTvXT__sIYS3Vrw3geiUzQydDVoFPQ9xpYpQcXaDF9GNu_cfrTLm9xi3FvOQD0AoGup_KLDPWW6TuRQcwg1BnmOVG.hHBl3aun6PGlbfeMyKq4odlR3cNZo7lTxOKt0sCM2k8] + pragma: [no-cache] + request-id: [2e0007f1-530e-47fe-bc4d-5c1d350abe03] + server: [Microsoft-IIS/10.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-aspnet-version: [4.0.30319] + x-ms-dirapi-data-contract-version: ['1.6'] + x-powered-by: [ASP.NET] + status: {code: 200, message: OK} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [ad app delete] + Connection: [keep-alive] + Content-Length: ['0'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 azure-graphrbac/0.40.0 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: DELETE + uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/applications/c7c9feff-5f0a-4376-836c-df9159d4aa0c?api-version=1.6 + response: + body: {string: ''} + headers: + access-control-allow-origin: ['*'] + cache-control: [no-cache] + dataserviceversion: [1.0;] + date: ['Thu, 27 Sep 2018 23:45:23 GMT'] + duration: ['33726847'] + expires: ['-1'] + ocp-aad-diagnostics-server-name: [zrI4MzrVqM7RHV8tW36JIjJmwph116S3JEqmot1JMZE=] + ocp-aad-session-key: [cFmPz_25Ohx3ItlBiHdzb1swCIyUe9OdAoo4Cznie4PtHA8Cuf32GFUK5lUM4Snbxdjn2aHnkfb9N2Xp8ABZ7Xnz_qIPPeTqvTTvKpTcSO7J_UEpM1X5FtoMuQN-iX7zTx0Dln_izpoqAYXjIGx189pOsEcWbitBKlY40-zv40aEIoWOSAWa2c5Br7aqxNJ9pACdtdrvvZLaPYTVxhce_w.x5Cbd75Dw2JvEfRPIQEM6Y1k-FCRu0x4TNnN_un413I] + pragma: [no-cache] + request-id: [f6b3c1d1-f5d6-4a15-bcd0-eeae51fa5fb6] + server: [Microsoft-IIS/10.0] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-aspnet-version: [4.0.30319] + x-content-type-options: [nosniff] + x-ms-dirapi-data-contract-version: ['1.6'] + x-powered-by: [ASP.NET] + status: {code: 204, message: No Content} +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [group delete] + Connection: [keep-alive] + Content-Length: ['0'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.7.0 (Darwin-18.0.0-x86_64-i386-64bit) requests/2.19.1 + msrest/0.5.5 msrest_azure/0.4.34 resourcemanagementclient/2.0.0 Azure-SDK-For-Python + AZURECLI/2.0.47] + accept-language: [en-US] + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitestosa000001?api-version=2018-05-01 + response: + body: {string: ''} + headers: + cache-control: [no-cache] + content-length: ['0'] + date: ['Thu, 27 Sep 2018 23:45:24 GMT'] + expires: ['-1'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUT1NBWVhLUTQyTy1FQVNUVVMiLCJqb2JMb2NhdGlvbiI6ImVhc3R1cyJ9?api-version=2018-05-01'] + pragma: [no-cache] + strict-transport-security: [max-age=31536000; includeSubDomains] + x-content-type-options: [nosniff] + x-ms-ratelimit-remaining-subscription-deletes: ['14999'] + status: {code: 202, message: Accepted} +version: 1 diff --git a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/tests/latest/test_osa_commands.py b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/tests/latest/test_osa_commands.py index 00448febfda..e2f4e519e66 100644 --- a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/tests/latest/test_osa_commands.py +++ b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/tests/latest/test_osa_commands.py @@ -53,7 +53,7 @@ def test_openshift_create_default_service(self, resource_group, resource_group_l self.check('agentPoolProfiles[0].osType', 'Linux'), self.check('agentPoolProfiles[0].vmSize', 'Standard_D4s_v3'), self.check('fqdn', '{fqdn}'), - self.exists('openshiftVersion') + self.exists('openShiftVersion') ]) # scale up @@ -100,7 +100,8 @@ def test_openshift_create_service_no_wait(self, resource_group, resource_group_l self.check('agentPoolProfiles[0].count', 1), self.check('agentPoolProfiles[0].vmSize', 'Standard_D4s_v3'), self.check('fqdn', '{fqdn}'), - self.check('provisioningState', 'Succeeded') + self.check('provisioningState', 'Succeeded'), + self.exists('openShiftVersion') ]) # delete @@ -138,7 +139,7 @@ def test_openshift_create_default_service_no_aad(self, resource_group, resource_ self.check('agentPoolProfiles[0].osType', 'Linux'), self.check('agentPoolProfiles[0].vmSize', 'Standard_D4s_v3'), self.check('fqdn', '{fqdn}'), - self.exists('openshiftVersion') + self.exists('openShiftVersion') ]) # scale up From 04e4788f8cb507c6c70381c7612bd119d7321283 Mon Sep 17 00:00:00 2001 From: Julien Stroheker Date: Fri, 28 Sep 2018 15:28:23 -0400 Subject: [PATCH 09/19] add Vnet integration --- .../azure/cli/command_modules/acs/_help.py | 6 ++++++ .../azure/cli/command_modules/acs/_params.py | 1 + .../azure/cli/command_modules/acs/custom.py | 10 +++++++--- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_help.py b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_help.py index e8888a654c4..5d0ee64f20f 100644 --- a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_help.py +++ b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_help.py @@ -557,6 +557,10 @@ - name: --aad-tenant-id type: string short-summary: The ID of an Azure Active Directory tenant. + - name: --vnet-subnet-id + type: string + short-summary: The ID of a subnet in an existing VNet into which to deploy the cluster. + examples: - name: Create an OpenShift cluster and auto create an AAD Client @@ -564,6 +568,8 @@ - name: Create an OpenShift cluster with 5 compute nodes and a custom AAD Client. text: az openshift create -g MyResourceGroup -n MyManagedCluster --fqdn --aad-client-app-id --aad-client-app-secret --aad-tenant-id --node-count 5 + - name: Create an Openshift cluster using a custom vnet + text : az openshift create -g MyResourceGroup -n MyManagedCluster --fqdn --vnet-subnet-id "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/openshift-resource-group/providers/Microsoft.Network/virtualNetworks/openshift-vnet/subnets/default" """ helps['openshift scale'] = """ diff --git a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_params.py b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_params.py index 1e2308c8443..637fc211ddf 100644 --- a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_params.py +++ b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_params.py @@ -252,6 +252,7 @@ def load_arguments(self, _): c.argument('aad_client_app_id') c.argument('aad_client_app_secret') c.argument('aad_tenant_id') + c.argument('vnet_subnet_id') def _get_default_install_location(exe_name): diff --git a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/custom.py b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/custom.py index 50223af9c94..e35977d0a90 100644 --- a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/custom.py +++ b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/custom.py @@ -2253,6 +2253,7 @@ def openshift_create(cmd, client, resource_group_name, name, # pylint: disable= aad_client_app_id=None, aad_client_app_secret=None, aad_tenant_id=None, + vnet_subnet_id=None, tags=None, no_wait=False): @@ -2266,7 +2267,8 @@ def openshift_create(cmd, client, resource_group_name, name, # pylint: disable= count=int(node_count), vm_size=node_vm_size, os_type="Linux", - role=OpenShiftAgentPoolProfileRole.compute + role=OpenShiftAgentPoolProfileRole.compute, + vnet_subnet_id=vnet_subnet_id ) agent_infra_pool_profile = OpenShiftManagedClusterAgentPoolProfile( @@ -2274,7 +2276,8 @@ def openshift_create(cmd, client, resource_group_name, name, # pylint: disable= count=int(2), vm_size="Standard_D4s_v3", os_type="Linux", - role=OpenShiftAgentPoolProfileRole.infra + role=OpenShiftAgentPoolProfileRole.infra, + vnet_subnet_id=vnet_subnet_id ) agent_pool_profiles.append(agent_node_pool_profile) @@ -2284,7 +2287,8 @@ def openshift_create(cmd, client, resource_group_name, name, # pylint: disable= name='master', # Must be 12 chars or less before ACS RP adds to it count=int(3), vm_size="Standard_D2s_v3", - os_type="Linux" + os_type="Linux", + vnet_subnet_id=vnet_subnet_id ) identity_providers = [] From 5f6b0ddc4c9f02f194e0fa2478fc47630eef6c0e Mon Sep 17 00:00:00 2001 From: Julien Stroheker Date: Wed, 3 Oct 2018 11:51:49 -0400 Subject: [PATCH 10/19] Apply review Add _remove_nulls_osa Update NetworkProfile --- .../azure/cli/testsdk/preparers.py | 5 +- .../azure/cli/command_modules/acs/_help.py | 12 +++- .../azure/cli/command_modules/acs/_params.py | 4 +- .../azure/cli/command_modules/acs/custom.py | 64 ++++++++++++------- .../acs/tests/latest/test_osa_commands.py | 3 +- 5 files changed, 57 insertions(+), 31 deletions(-) diff --git a/src/azure-cli-testsdk/azure/cli/testsdk/preparers.py b/src/azure-cli-testsdk/azure/cli/testsdk/preparers.py index 48ccd0a0f25..a79e3989b23 100644 --- a/src/azure-cli-testsdk/azure/cli/testsdk/preparers.py +++ b/src/azure-cli-testsdk/azure/cli/testsdk/preparers.py @@ -142,9 +142,8 @@ def _get_resource_group(self, **kwargs): # pylint: disable=too-many-instance-attributes class RoleBasedServicePrincipalPreparer(AbstractPreparer, SingleValueReplacer): - def __init__(self, name_prefix='http://clitest', - skip_assignment=True, parameter_name='sp_name', parameter_password='sp_password', - dev_setting_sp_name='AZURE_CLI_TEST_DEV_SP_NAME', + def __init__(self, name_prefix='http://clitest', skip_assignment=True, parameter_name='sp_name', + parameter_password='sp_password', dev_setting_sp_name='AZURE_CLI_TEST_DEV_SP_NAME', dev_setting_sp_password='AZURE_CLI_TEST_DEV_SP_PASSWORD', key='sp'): super(RoleBasedServicePrincipalPreparer, self).__init__(name_prefix, 24) self.cli_ctx = get_dummy_cli() diff --git a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_help.py b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_help.py index 5d0ee64f20f..be92384fb6f 100644 --- a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_help.py +++ b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_help.py @@ -557,9 +557,15 @@ - name: --aad-tenant-id type: string short-summary: The ID of an Azure Active Directory tenant. - - name: --vnet-subnet-id + - name: --vnet-peer-id type: string - short-summary: The ID of a subnet in an existing VNet into which to deploy the cluster. + short-summary: The ID of a subnet in an existing VNet into which to peer the cluster. + - name: --vnet-cidr + type: string + short-summary: The CIDR used on the VNet into which to deploy the cluster. + - name: --subnet-cidr + type: string + short-summary: The CIDR used on the Subnet into which to deploy the cluster. examples: @@ -569,7 +575,7 @@ text: az openshift create -g MyResourceGroup -n MyManagedCluster --fqdn --aad-client-app-id --aad-client-app-secret --aad-tenant-id --node-count 5 - name: Create an Openshift cluster using a custom vnet - text : az openshift create -g MyResourceGroup -n MyManagedCluster --fqdn --vnet-subnet-id "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/openshift-resource-group/providers/Microsoft.Network/virtualNetworks/openshift-vnet/subnets/default" + text : az openshift create -g MyResourceGroup -n MyManagedCluster --fqdn --vnet-peer-id "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/openshift-vnet/providers/Microsoft.Network/virtualNetworks/test" """ helps['openshift scale'] = """ diff --git a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_params.py b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_params.py index 637fc211ddf..0b8f2e07544 100644 --- a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_params.py +++ b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_params.py @@ -252,7 +252,9 @@ def load_arguments(self, _): c.argument('aad_client_app_id') c.argument('aad_client_app_secret') c.argument('aad_tenant_id') - c.argument('vnet_subnet_id') + c.argument('vnet_cidr') + c.argument('subnet_cidr') + c.argument('vnet_peer_id') def _get_default_install_location(exe_name): diff --git a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/custom.py b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/custom.py index e35977d0a90..e2a736b38cc 100644 --- a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/custom.py +++ b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/custom.py @@ -68,6 +68,7 @@ from azure.mgmt.containerservice.models import OpenShiftContainerServiceVMSize from azure.mgmt.containerservice.models import OpenShiftRouterProfile from azure.mgmt.containerservice.models import OpenShiftManagedClusterAuthProfile +from azure.mgmt.containerservice.models import NetworkProfile from ._client_factory import cf_container_services from ._client_factory import cf_resource_groups @@ -2091,7 +2092,6 @@ def _ensure_osa_aad(cli_ctx, aad_tenant_id=None, identifier=None, name=None): - # TODO: This really needs to be unit tested. rbac_client = get_graph_rbac_management_client(cli_ctx) if not aad_client_app_id: if not aad_client_app_secret: @@ -2223,6 +2223,29 @@ def _remove_nulls(managed_clusters): delattr(managed_cluster.service_principal_profile, attr) return managed_clusters +def _remove_osa_nulls(managed_clusters): + """ + Remove some often-empty fields from a list of OpenShift ManagedClusters, so the JSON representation + doesn't contain distracting null fields. + + This works around a quirk of the SDK for python behavior. These fields are not sent + by the server, but get recreated by the CLI's own "to_dict" serialization. + """ + attrs = ['tags', 'public_hostname', 'plan'] + ap_master_attrs = ['name', 'os_type'] + net_attrs = ['peer_vnet_id'] + for managed_cluster in managed_clusters: + for attr in attrs: + if getattr(managed_cluster, attr, None) is None: + delattr(managed_cluster, attr) + for attr in ap_master_attrs: + if getattr(managed_cluster.master_pool_profile, attr, None) is None: + delattr(managed_cluster.master_pool_profile, attr) + for attr in net_attrs: + if getattr(managed_cluster.network_profile, attr, None) is None: + delattr(managed_cluster.network_profile, attr) + return managed_clusters + def _validate_aci_location(norm_location): """ @@ -2253,7 +2276,9 @@ def openshift_create(cmd, client, resource_group_name, name, # pylint: disable= aad_client_app_id=None, aad_client_app_secret=None, aad_tenant_id=None, - vnet_subnet_id=None, + vnet_cidr="10.0.0.0/8", + subnet_cidr="10.0.0.0/24", + vnet_peer_id=None, tags=None, no_wait=False): @@ -2268,7 +2293,7 @@ def openshift_create(cmd, client, resource_group_name, name, # pylint: disable= vm_size=node_vm_size, os_type="Linux", role=OpenShiftAgentPoolProfileRole.compute, - vnet_subnet_id=vnet_subnet_id + subnet_cidr=subnet_cidr ) agent_infra_pool_profile = OpenShiftManagedClusterAgentPoolProfile( @@ -2277,7 +2302,7 @@ def openshift_create(cmd, client, resource_group_name, name, # pylint: disable= vm_size="Standard_D4s_v3", os_type="Linux", role=OpenShiftAgentPoolProfileRole.infra, - vnet_subnet_id=vnet_subnet_id + subnet_cidr=subnet_cidr ) agent_pool_profiles.append(agent_node_pool_profile) @@ -2288,7 +2313,7 @@ def openshift_create(cmd, client, resource_group_name, name, # pylint: disable= count=int(3), vm_size="Standard_D2s_v3", os_type="Linux", - vnet_subnet_id=vnet_subnet_id + subnet_cidr=subnet_cidr ) identity_providers = [] @@ -2307,36 +2332,29 @@ def openshift_create(cmd, client, resource_group_name, name, # pylint: disable= default_router_profile = OpenShiftRouterProfile(name='default') + network_profile = NetworkProfile(vnet_cidr=vnet_cidr, peer_vnet_id=vnet_peer_id) + osamc = OpenShiftManagedCluster( location=location, tags=tags, open_shift_version="v3.10", fqdn=fqdn, + network_profile=network_profile, auth_profile=auth_profile, agent_pool_profiles=agent_pool_profiles, master_pool_profile=agent_master_pool_profile, router_profiles=[default_router_profile]) - # We don't creating the AADIdentity for the user right now but maybe later so keeping this - # Keeping this Due to SPN replication latency, we do a few retries here - max_retry = 30 - retry_exception = Exception(None) - for _ in range(0, max_retry): - try: - # long_running_operation_timeout=300 - return sdk_no_wait(no_wait, client.create_or_update, - resource_group_name=resource_group_name, resource_name=name, parameters=osamc) - except CloudError as ex: - retry_exception = ex - if 'not found in Active Directory tenant' in ex.message: - time.sleep(3) - else: - raise ex - raise retry_exception + try: + # long_running_operation_timeout=300 + return sdk_no_wait(no_wait, client.create_or_update, + resource_group_name=resource_group_name, resource_name=name, parameters=osamc) + except CloudError as ex: + raise ex def openshift_show(cmd, client, resource_group_name, name): mc = client.get(resource_group_name, name) - return [mc][0] + return _remove_osa_nulls([mc]) def openshift_scale(cmd, client, resource_group_name, name, node_count, no_wait=False): @@ -2348,4 +2366,6 @@ def openshift_scale(cmd, client, resource_group_name, name, node_count, no_wait= instance.master_pool_profile.name = "master" instance.auth_profile = None + #instance.network_profile.vnet_cidr + return sdk_no_wait(no_wait, client.create_or_update, resource_group_name, name, instance) diff --git a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/tests/latest/test_osa_commands.py b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/tests/latest/test_osa_commands.py index e2f4e519e66..59b4677e995 100644 --- a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/tests/latest/test_osa_commands.py +++ b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/tests/latest/test_osa_commands.py @@ -12,8 +12,7 @@ from azure.cli.testsdk import ( ResourceGroupPreparer, ManagedApplicationPreparer, ScenarioTest, live_only) from azure_devtools.scenario_tests import AllowLargeResponse -from azure.cli.testsdk.checkers import ( - StringContainCheck, StringContainCheckIgnoreCase) +from azure.cli.testsdk.checkers import (StringContainCheck, StringContainCheckIgnoreCase) # flake8: noqa From 9d9240b2edb68314ac29b79775f2dc3608ea27a8 Mon Sep 17 00:00:00 2001 From: Julien Stroheker Date: Wed, 3 Oct 2018 11:56:09 -0400 Subject: [PATCH 11/19] review --- src/azure-cli-testsdk/azure/cli/testsdk/preparers.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/azure-cli-testsdk/azure/cli/testsdk/preparers.py b/src/azure-cli-testsdk/azure/cli/testsdk/preparers.py index a79e3989b23..f8dcacb3c7b 100644 --- a/src/azure-cli-testsdk/azure/cli/testsdk/preparers.py +++ b/src/azure-cli-testsdk/azure/cli/testsdk/preparers.py @@ -142,8 +142,9 @@ def _get_resource_group(self, **kwargs): # pylint: disable=too-many-instance-attributes class RoleBasedServicePrincipalPreparer(AbstractPreparer, SingleValueReplacer): - def __init__(self, name_prefix='http://clitest', skip_assignment=True, parameter_name='sp_name', - parameter_password='sp_password', dev_setting_sp_name='AZURE_CLI_TEST_DEV_SP_NAME', + def __init__(self, name_prefix='http://clitest', + skip_assignment=True, parameter_name='sp_name', parameter_password='sp_password', + dev_setting_sp_name='AZURE_CLI_TEST_DEV_SP_NAME', dev_setting_sp_password='AZURE_CLI_TEST_DEV_SP_PASSWORD', key='sp'): super(RoleBasedServicePrincipalPreparer, self).__init__(name_prefix, 24) self.cli_ctx = get_dummy_cli() @@ -180,8 +181,7 @@ class ManagedApplicationPreparer(AbstractPreparer, SingleValueReplacer): def __init__(self, name_prefix='clitest', parameter_name='aad_client_app_id', parameter_secret='aad_client_app_secret', app_name='app_name', dev_setting_app_name='AZURE_CLI_TEST_DEV_APP_NAME', - dev_setting_app_secret='AZURE_CLI_TEST_DEV_APP_SECRET', - key='app'): + dev_setting_app_secret='AZURE_CLI_TEST_DEV_APP_SECRET', key='app'): super(ManagedApplicationPreparer, self).__init__(name_prefix, 24) self.cli_ctx = get_dummy_cli() self.parameter_name = parameter_name From d9b2d41646f5e24efeb8cb40c9b9e977948378fa Mon Sep 17 00:00:00 2001 From: Julien Stroheker Date: Wed, 3 Oct 2018 12:00:42 -0400 Subject: [PATCH 12/19] pep8 --- .../azure-cli-acs/azure/cli/command_modules/acs/_help.py | 2 +- .../azure-cli-acs/azure/cli/command_modules/acs/custom.py | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_help.py b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_help.py index be92384fb6f..b5fbca1c196 100644 --- a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_help.py +++ b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_help.py @@ -566,7 +566,7 @@ - name: --subnet-cidr type: string short-summary: The CIDR used on the Subnet into which to deploy the cluster. - + examples: - name: Create an OpenShift cluster and auto create an AAD Client diff --git a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/custom.py b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/custom.py index e2a736b38cc..131fb418af0 100644 --- a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/custom.py +++ b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/custom.py @@ -2223,6 +2223,7 @@ def _remove_nulls(managed_clusters): delattr(managed_cluster.service_principal_profile, attr) return managed_clusters + def _remove_osa_nulls(managed_clusters): """ Remove some often-empty fields from a list of OpenShift ManagedClusters, so the JSON representation @@ -2347,7 +2348,7 @@ def openshift_create(cmd, client, resource_group_name, name, # pylint: disable= try: # long_running_operation_timeout=300 return sdk_no_wait(no_wait, client.create_or_update, - resource_group_name=resource_group_name, resource_name=name, parameters=osamc) + resource_group_name=resource_group_name, resource_name=name, parameters=osamc) except CloudError as ex: raise ex @@ -2366,6 +2367,4 @@ def openshift_scale(cmd, client, resource_group_name, name, node_count, no_wait= instance.master_pool_profile.name = "master" instance.auth_profile = None - #instance.network_profile.vnet_cidr - return sdk_no_wait(no_wait, client.create_or_update, resource_group_name, name, instance) From f889de45fe099d869968809626994cebfad4af02 Mon Sep 17 00:00:00 2001 From: Julien Stroheker Date: Wed, 3 Oct 2018 14:38:11 -0400 Subject: [PATCH 13/19] Add the delegation on the OSA AAD object --- .../azure/cli/command_modules/acs/custom.py | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/custom.py b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/custom.py index 131fb418af0..db4f9ed5715 100644 --- a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/custom.py +++ b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/custom.py @@ -46,7 +46,8 @@ PasswordCredential, KeyCredential, ServicePrincipalCreateParameters, - GetObjectsParameters) + GetObjectsParameters, + ResourceAccess, RequiredResourceAccess) from azure.mgmt.containerservice.models import ContainerServiceLinuxProfile from azure.mgmt.containerservice.models import ContainerServiceNetworkProfile from azure.mgmt.containerservice.models import ContainerServiceOrchestratorTypes @@ -1172,7 +1173,7 @@ def _resolve_service_principal(client, identifier): def create_application(client, display_name, homepage, identifier_uris, available_to_other_tenants=False, password=None, reply_urls=None, key_value=None, key_type=None, key_usage=None, start_date=None, - end_date=None): + end_date=None, required_resource_accesses=None): from azure.graphrbac.models import GraphErrorException password_creds, key_creds = _build_application_creds(password, key_value, key_type, key_usage, start_date, end_date) @@ -1183,7 +1184,8 @@ def create_application(client, display_name, homepage, identifier_uris, homepage=homepage, reply_urls=reply_urls, key_credentials=key_creds, - password_credentials=password_creds) + password_credentials=password_creds, + required_resource_access=required_resource_accesses) try: return client.create(app_create_param) except GraphErrorException as ex: @@ -2097,12 +2099,20 @@ def _ensure_osa_aad(cli_ctx, if not aad_client_app_secret: aad_client_app_secret = binascii.b2a_hex(os.urandom(10)).decode('utf-8') reply_url = 'https://{}/oauth2callback/Azure%20AD'.format(identifier) + + # Delegate Sign In and Read User Profile permissions on Windows Azure Active Directory API + resource_access = ResourceAccess(id="311a71cc-e848-46a1-bdf8-97ff7156d8e6", + additional_properties=None, type="Scope") + required_osa_aad_access = RequiredResourceAccess(resource_access=[resource_access], + additional_properties=None, + resource_app_id="00000002-0000-0000-c000-000000000000") result = create_application(client=rbac_client.applications, display_name=identifier, identifier_uris=[reply_url], reply_urls=[reply_url], homepage=reply_url, - password=aad_client_app_secret) + password=aad_client_app_secret, + required_resource_accesses=[required_osa_aad_access]) aad_client_app_id = result.app_id logger.info('Created an AAD: %s', aad_client_app_id) @@ -2232,7 +2242,7 @@ def _remove_osa_nulls(managed_clusters): This works around a quirk of the SDK for python behavior. These fields are not sent by the server, but get recreated by the CLI's own "to_dict" serialization. """ - attrs = ['tags', 'public_hostname', 'plan'] + attrs = ['tags', 'public_hostname', 'plan', 'type', 'id'] ap_master_attrs = ['name', 'os_type'] net_attrs = ['peer_vnet_id'] for managed_cluster in managed_clusters: From ac361549cb2742dc350cbf5fbbdf323408296b2b Mon Sep 17 00:00:00 2001 From: Julien Stroheker Date: Mon, 15 Oct 2018 15:37:00 -0700 Subject: [PATCH 14/19] Add Preview Info Rename Models Rename node-count to compute-count fqdn mandatory --- .../azure/cli/command_modules/acs/_help.py | 20 +-- .../azure/cli/command_modules/acs/_params.py | 4 +- .../azure/cli/command_modules/acs/custom.py | 115 +++++++++++++----- .../acs/tests/latest/test_osa_commands.py | 8 +- 4 files changed, 100 insertions(+), 47 deletions(-) diff --git a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_help.py b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_help.py index b5fbca1c196..3fb2a34eb2f 100644 --- a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_help.py +++ b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_help.py @@ -531,17 +531,17 @@ helps['openshift'] = """ type: group - short-summary: Manage Azure OpenShift Services. + short-summary: (PREVIEW) Manage Azure OpenShift Services. """ helps['openshift create'] = """ type: command - short-summary: Create a new managed OpenShift cluster. + short-summary: (PREVIEW) Create a new managed OpenShift cluster. parameters: - name: --node-vm-size -s type: string short-summary: Size of Virtual Machines to create as OpenShift nodes. - - name: --node-count -c + - name: --compute-count -c type: int short-summary: Number of nodes in the OpenShift node pool. - name: --fqdn @@ -550,7 +550,7 @@ myopenshiftcluster.eastus.cloudapp.azure.com - name: --aad-client-app-id type: string - short-summary: The ID of an Azure Active Directory client application of type "Native". + short-summary: The ID of an Azure Active Directory client application. If not specified, a new Azure Active Directory client is created. - name: --aad-client-app-secret type: string short-summary: The secret of an Azure Active Directory client application. @@ -573,33 +573,33 @@ text: az openshift create -g MyResourceGroup -n MyManagedCluster --fqdn - name: Create an OpenShift cluster with 5 compute nodes and a custom AAD Client. text: az openshift create -g MyResourceGroup -n MyManagedCluster --fqdn - --aad-client-app-id --aad-client-app-secret --aad-tenant-id --node-count 5 + --aad-client-app-id --aad-client-app-secret --aad-tenant-id --compute-count 5 - name: Create an Openshift cluster using a custom vnet text : az openshift create -g MyResourceGroup -n MyManagedCluster --fqdn --vnet-peer-id "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/openshift-vnet/providers/Microsoft.Network/virtualNetworks/test" """ helps['openshift scale'] = """ type: command - short-summary: Scale the compute pool in a managed OpenShift cluster. + short-summary: (PREVIEW) Scale the compute pool in a managed OpenShift cluster. parameters: - - name: --node-count -c + - name: --compute-count -c type: int short-summary: Number of nodes in the OpenShift compute pool. """ helps['openshift show'] = """ type: command - short-summary: Show the details for a managed OpenShift cluster. + short-summary: (PREVIEW) Show the details for a managed OpenShift cluster. """ helps['openshift delete'] = """ type: command - short-summary: Delete a managed OpenShift cluster. + short-summary: (PREVIEW) Delete a managed OpenShift cluster. """ helps['openshift wait'] = """ type: command - short-summary: Wait for a managed OpenShift cluster to reach a desired state. + short-summary: (PREVIEW) Wait for a managed OpenShift cluster to reach a desired state. long-summary: If an operation on a cluster was interrupted or was started with `--no-wait`, use this command to wait for it to complete. examples: diff --git a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_params.py b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_params.py index 0b8f2e07544..4ac6edfb55e 100644 --- a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_params.py +++ b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_params.py @@ -242,13 +242,13 @@ def load_arguments(self, _): completer=get_resource_name_completion_list('Microsoft.ContainerService/OpenShiftManagedClusters')) c.argument('name', name_type, help='Name of the managed OpenShift cluster.', completer=get_resource_name_completion_list('Microsoft.ContainerService/OpenShiftManagedClusters')) - c.argument('node_count', options_list=['--node-count', '-c'], type=int, default=4) + c.argument('compute_count', options_list=['--compute-count', '-c'], type=int, default=4) c.argument('tags', tags_type) with self.argument_context('openshift create') as c: c.argument('name', validator=validate_linux_host_name) c.argument('node_vm_size', options_list=['--node-vm-size', '-s']) - c.argument('fqdn') + c.argument('fqdn', required=True) c.argument('aad_client_app_id') c.argument('aad_client_app_secret') c.argument('aad_tenant_id') diff --git a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/custom.py b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/custom.py index db4f9ed5715..bac8456e659 100644 --- a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/custom.py +++ b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/custom.py @@ -43,6 +43,7 @@ from azure.cli.core.keys import is_valid_ssh_rsa_public_key from azure.cli.core.util import in_cloud_console, shell_safe_json_parse, truncate_text, sdk_no_wait from azure.graphrbac.models import (ApplicationCreateParameters, + ApplicationUpdateParameters, PasswordCredential, KeyCredential, ServicePrincipalCreateParameters, @@ -62,8 +63,8 @@ from azure.mgmt.containerservice.models import OpenShiftManagedClusterAgentPoolProfile from azure.mgmt.containerservice.models import OSType from azure.mgmt.containerservice.models import OpenShiftAgentPoolProfileRole -from azure.mgmt.containerservice.models import OpenShiftManagedClusterIdentityProviders -from azure.mgmt.containerservice.models import OpenShiftManagedClusterServiceAADIdentityProvider +from azure.mgmt.containerservice.models import OpenShiftManagedClusterIdentityProvider +from azure.mgmt.containerservice.models import OpenShiftManagedClusterAADIdentityProvider from azure.mgmt.containerservice.models import OpenShiftManagedCluster from azure.mgmt.containerservice.models import OpenShiftManagedClusterMasterPoolProfile from azure.mgmt.containerservice.models import OpenShiftContainerServiceVMSize @@ -1195,6 +1196,37 @@ def create_application(client, display_name, homepage, identifier_uris, "For how to configure, please refer '{}'. Original error: {}".format(link, ex)) raise +def update_application(client, object_id, display_name, homepage, identifier_uris, + available_to_other_tenants=False, password=None, reply_urls=None, + key_value=None, key_type=None, key_usage=None, start_date=None, + end_date=None, required_resource_accesses=None): + from azure.graphrbac.models import GraphErrorException + password_creds, key_creds = _build_application_creds(password, key_value, key_type, + key_usage, start_date, end_date) + + # app_create_param = ApplicationUpdateParameters(additional_properties=None, + # available_to_other_tenants=available_to_other_tenants, + # display_name=display_name, + # identifier_uris=identifier_uris, + # homepage=homepage, + # reply_urls=reply_urls, + # key_credentials=key_creds, + # password_credentials=password_creds, + # required_resource_access=required_resource_accesses) + try: + #return client.patch(app_id, app_create_param) + if key_creds: + client.update_key_credentials(object_id, key_creds) + if password_creds: + client.update_password_credentials(object_id, password_creds) + return + except GraphErrorException as ex: + if 'insufficient privileges' in str(ex).lower(): + link = 'https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-create-service-principal-portal' # pylint: disable=line-too-long + raise CLIError("Directory permission is needed for the current user to register the application. " + "For how to configure, please refer '{}'. Original error: {}".format(link, ex)) + raise + def _build_application_creds(password=None, key_value=None, key_type=None, key_usage=None, start_date=None, end_date=None): @@ -2093,10 +2125,10 @@ def _ensure_osa_aad(cli_ctx, aad_client_app_secret=None, aad_tenant_id=None, identifier=None, - name=None): + name=None, update=False): rbac_client = get_graph_rbac_management_client(cli_ctx) if not aad_client_app_id: - if not aad_client_app_secret: + if not aad_client_app_secret and update: aad_client_app_secret = binascii.b2a_hex(os.urandom(10)).decode('utf-8') reply_url = 'https://{}/oauth2callback/Azure%20AD'.format(identifier) @@ -2106,26 +2138,41 @@ def _ensure_osa_aad(cli_ctx, required_osa_aad_access = RequiredResourceAccess(resource_access=[resource_access], additional_properties=None, resource_app_id="00000002-0000-0000-c000-000000000000") - result = create_application(client=rbac_client.applications, - display_name=identifier, - identifier_uris=[reply_url], - reply_urls=[reply_url], - homepage=reply_url, - password=aad_client_app_secret, - required_resource_accesses=[required_osa_aad_access]) - aad_client_app_id = result.app_id - logger.info('Created an AAD: %s', aad_client_app_id) - + list_aad_filtered = list(rbac_client.applications.list(filter="identifierUris/any(s:s eq '{}')".format(reply_url))) + if update: + if list_aad_filtered: + update_application(client=rbac_client.applications, + object_id=list_aad_filtered[0].object_id, + display_name=identifier, + identifier_uris=[reply_url], + reply_urls=[reply_url], + homepage=reply_url, + password=aad_client_app_secret, + required_resource_accesses=[required_osa_aad_access]) + aad_client_app_id = list_aad_filtered[0].app_id + logger.info('Updated AAD: %s', aad_client_app_id) + else: + result = create_application(client=rbac_client.applications, + display_name=identifier, + identifier_uris=[reply_url], + reply_urls=[reply_url], + homepage=reply_url, + password=aad_client_app_secret, + required_resource_accesses=[required_osa_aad_access]) + aad_client_app_id = result.app_id + logger.info('Created an AAD: %s', aad_client_app_id) + else: + aad_client_app_id = list_aad_filtered[0].app_id + aad_client_app_secret = 'whatever' # Get the TenantID if aad_tenant_id is None: profile = Profile(cli_ctx=cli_ctx) _, _, aad_tenant_id = profile.get_login_credentials() - - return OpenShiftManagedClusterServiceAADIdentityProvider( - client_id=aad_client_app_id, - secret=aad_client_app_secret, - tenant_id=aad_tenant_id, - kind='AADIdentityProvider') + return OpenShiftManagedClusterAADIdentityProvider( + client_id=aad_client_app_id, + secret=aad_client_app_secret, + tenant_id=aad_tenant_id, + kind='AADIdentityProvider') def _ensure_service_principal(cli_ctx, @@ -2282,7 +2329,7 @@ def _validate_aci_location(norm_location): def openshift_create(cmd, client, resource_group_name, name, # pylint: disable=too-many-locals location=None, node_vm_size="Standard_D4s_v3", - node_count=3, + compute_count=3, fqdn='', aad_client_app_id=None, aad_client_app_secret=None, @@ -2296,11 +2343,10 @@ def openshift_create(cmd, client, resource_group_name, name, # pylint: disable= rg_location = _get_rg_location(cmd.cli_ctx, resource_group_name) if location is None: location = rg_location - agent_pool_profiles = [] agent_node_pool_profile = OpenShiftManagedClusterAgentPoolProfile( name='compute', # Must be 12 chars or less before ACS RP adds to it - count=int(node_count), + count=int(compute_count), vm_size=node_vm_size, os_type="Linux", role=OpenShiftAgentPoolProfileRole.compute, @@ -2328,13 +2374,20 @@ def openshift_create(cmd, client, resource_group_name, name, # pylint: disable= ) identity_providers = [] + # Validating if the cluster is not existing since we are not supporting the AAD rotation on OSA for now + update_aad_secret = False + try: + mc = client.get(resource_group_name, name) + except CloudError as ex: + if 'InvalidResourceType' in ex.error.error: + update_aad_secret = True + osa_aad_identity = _ensure_osa_aad(cmd.cli_ctx, - aad_client_app_id=aad_client_app_id, - aad_client_app_secret=aad_client_app_secret, - identifier=fqdn, name=name) - + aad_client_app_id=aad_client_app_id, + aad_client_app_secret=aad_client_app_secret, + identifier=fqdn, name=name, update=update_aad_secret) identity_providers.append( - OpenShiftManagedClusterIdentityProviders( + OpenShiftManagedClusterIdentityProvider( name='Azure AD', provider=osa_aad_identity ) @@ -2358,7 +2411,7 @@ def openshift_create(cmd, client, resource_group_name, name, # pylint: disable= try: # long_running_operation_timeout=300 return sdk_no_wait(no_wait, client.create_or_update, - resource_group_name=resource_group_name, resource_name=name, parameters=osamc) + resource_group_name=resource_group_name, resource_name=name, parameters=osamc) except CloudError as ex: raise ex @@ -2368,10 +2421,10 @@ def openshift_show(cmd, client, resource_group_name, name): return _remove_osa_nulls([mc]) -def openshift_scale(cmd, client, resource_group_name, name, node_count, no_wait=False): +def openshift_scale(cmd, client, resource_group_name, name, compute_count, no_wait=False): instance = client.get(resource_group_name, name) # TODO: change this approach when we support multiple agent pools. - instance.agent_pool_profiles[0].count = int(node_count) # pylint: disable=no-member + instance.agent_pool_profiles[0].count = int(compute_count) # pylint: disable=no-member # null out the AAD profile and add manually the masterAP name because otherwise validation complains instance.master_pool_profile.name = "master" diff --git a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/tests/latest/test_osa_commands.py b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/tests/latest/test_osa_commands.py index 59b4677e995..abdef79cbda 100644 --- a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/tests/latest/test_osa_commands.py +++ b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/tests/latest/test_osa_commands.py @@ -36,7 +36,7 @@ def test_openshift_create_default_service(self, resource_group, resource_group_l # create create_cmd = 'openshift create --resource-group={resource_group} --name={name} --location={location} ' \ - '--fqdn={fqdn} --node-count=1 ' \ + '--fqdn={fqdn} --compute-count=1 ' \ '--aad-client-app-id {aad_client_app_id} --aad-client-app-secret {aad_client_app_secret}' self.cmd(create_cmd, checks=[ self.exists('fqdn'), @@ -56,7 +56,7 @@ def test_openshift_create_default_service(self, resource_group, resource_group_l ]) # scale up - self.cmd('openshift scale -g {resource_group} -n {name} --node-count 3', checks=[ + self.cmd('openshift scale -g {resource_group} -n {name} --compute-count 3', checks=[ self.check('agentPoolProfiles[0].count', 3) ]) @@ -123,7 +123,7 @@ def test_openshift_create_default_service_no_aad(self, resource_group, resource_ # create create_cmd = 'openshift create --resource-group={resource_group} --name={name} --location={location} ' \ - '--fqdn={fqdn} --node-count=1 ' + '--fqdn={fqdn} --compute-count=1 ' self.cmd(create_cmd, checks=[ self.exists('fqdn'), self.check('provisioningState', 'Succeeded') @@ -142,7 +142,7 @@ def test_openshift_create_default_service_no_aad(self, resource_group, resource_ ]) # scale up - self.cmd('openshift scale -g {resource_group} -n {name} --node-count 3', checks=[ + self.cmd('openshift scale -g {resource_group} -n {name} --compute-count 3', checks=[ self.check('agentPoolProfiles[0].count', 3) ]) From efaa154f723ce830ce91ec1bdbfca5b88f4763ba Mon Sep 17 00:00:00 2001 From: Julien Stroheker Date: Wed, 24 Oct 2018 16:20:03 -0400 Subject: [PATCH 15/19] fix aad default tenant --- .../azure/cli/command_modules/acs/custom.py | 43 +++++++------------ 1 file changed, 16 insertions(+), 27 deletions(-) diff --git a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/custom.py b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/custom.py index bac8456e659..81a5b53fad7 100644 --- a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/custom.py +++ b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/custom.py @@ -1196,6 +1196,7 @@ def create_application(client, display_name, homepage, identifier_uris, "For how to configure, please refer '{}'. Original error: {}".format(link, ex)) raise + def update_application(client, object_id, display_name, homepage, identifier_uris, available_to_other_tenants=False, password=None, reply_urls=None, key_value=None, key_type=None, key_usage=None, start_date=None, @@ -1203,21 +1204,10 @@ def update_application(client, object_id, display_name, homepage, identifier_uri from azure.graphrbac.models import GraphErrorException password_creds, key_creds = _build_application_creds(password, key_value, key_type, key_usage, start_date, end_date) - - # app_create_param = ApplicationUpdateParameters(additional_properties=None, - # available_to_other_tenants=available_to_other_tenants, - # display_name=display_name, - # identifier_uris=identifier_uris, - # homepage=homepage, - # reply_urls=reply_urls, - # key_credentials=key_creds, - # password_credentials=password_creds, - # required_resource_access=required_resource_accesses) try: - #return client.patch(app_id, app_create_param) if key_creds: client.update_key_credentials(object_id, key_creds) - if password_creds: + if password_creds: client.update_password_credentials(object_id, password_creds) return except GraphErrorException as ex: @@ -2135,8 +2125,8 @@ def _ensure_osa_aad(cli_ctx, # Delegate Sign In and Read User Profile permissions on Windows Azure Active Directory API resource_access = ResourceAccess(id="311a71cc-e848-46a1-bdf8-97ff7156d8e6", additional_properties=None, type="Scope") - required_osa_aad_access = RequiredResourceAccess(resource_access=[resource_access], - additional_properties=None, + required_osa_aad_access = RequiredResourceAccess(resource_access=[resource_access], + additional_properties=None, resource_app_id="00000002-0000-0000-c000-000000000000") list_aad_filtered = list(rbac_client.applications.list(filter="identifierUris/any(s:s eq '{}')".format(reply_url))) if update: @@ -2168,11 +2158,11 @@ def _ensure_osa_aad(cli_ctx, if aad_tenant_id is None: profile = Profile(cli_ctx=cli_ctx) _, _, aad_tenant_id = profile.get_login_credentials() - return OpenShiftManagedClusterAADIdentityProvider( - client_id=aad_client_app_id, - secret=aad_client_app_secret, - tenant_id=aad_tenant_id, - kind='AADIdentityProvider') + return OpenShiftManagedClusterAADIdentityProvider( + client_id=aad_client_app_id, + secret=aad_client_app_secret, + tenant_id=aad_tenant_id, + kind='AADIdentityProvider') def _ensure_service_principal(cli_ctx, @@ -2377,15 +2367,14 @@ def openshift_create(cmd, client, resource_group_name, name, # pylint: disable= # Validating if the cluster is not existing since we are not supporting the AAD rotation on OSA for now update_aad_secret = False try: - mc = client.get(resource_group_name, name) + client.get(resource_group_name, name) except CloudError as ex: - if 'InvalidResourceType' in ex.error.error: - update_aad_secret = True - + update_aad_secret = True osa_aad_identity = _ensure_osa_aad(cmd.cli_ctx, - aad_client_app_id=aad_client_app_id, - aad_client_app_secret=aad_client_app_secret, - identifier=fqdn, name=name, update=update_aad_secret) + aad_client_app_id=aad_client_app_id, + aad_client_app_secret=aad_client_app_secret, + aad_tenant_id=aad_tenant_id, identifier=fqdn, + name=name, update=update_aad_secret) identity_providers.append( OpenShiftManagedClusterIdentityProvider( name='Azure AD', @@ -2411,7 +2400,7 @@ def openshift_create(cmd, client, resource_group_name, name, # pylint: disable= try: # long_running_operation_timeout=300 return sdk_no_wait(no_wait, client.create_or_update, - resource_group_name=resource_group_name, resource_name=name, parameters=osamc) + resource_group_name=resource_group_name, resource_name=name, parameters=osamc) except CloudError as ex: raise ex From 73ae6eccdc6ee0aa684d647691597d7ff08a3295 Mon Sep 17 00:00:00 2001 From: Julien Stroheker Date: Tue, 6 Nov 2018 21:00:03 -0500 Subject: [PATCH 16/19] update api version for OSA operations --- .../azure-cli-acs/azure/cli/command_modules/acs/commands.py | 2 +- .../azure-cli-acs/azure/cli/command_modules/acs/custom.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/commands.py b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/commands.py index f89fdd13747..26af5ddc0af 100644 --- a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/commands.py +++ b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/commands.py @@ -30,7 +30,7 @@ def load_command_table(self, _): ) openshift_managed_clusters_sdk = CliCommandType( - operations_tmpl='azure.mgmt.containerservice.operations.' + operations_tmpl='azure.mgmt.containerservice.v2018_09_30_preview.operations.' 'open_shift_managed_clusters_operations#OpenShiftManagedClustersOperations.{}', client_factory=cf_openshift_managed_clusters ) diff --git a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/custom.py b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/custom.py index 81a5b53fad7..3fcab08dfd6 100644 --- a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/custom.py +++ b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/custom.py @@ -2373,7 +2373,7 @@ def openshift_create(cmd, client, resource_group_name, name, # pylint: disable= osa_aad_identity = _ensure_osa_aad(cmd.cli_ctx, aad_client_app_id=aad_client_app_id, aad_client_app_secret=aad_client_app_secret, - aad_tenant_id=aad_tenant_id, identifier=fqdn, + aad_tenant_id=aad_tenant_id, identifier=fqdn, name=name, update=update_aad_secret) identity_providers.append( OpenShiftManagedClusterIdentityProvider( From 3b600a8d8613348cb1c1231bb4fc518bcf6c33a4 Mon Sep 17 00:00:00 2001 From: Julien Stroheker Date: Tue, 20 Nov 2018 17:27:36 -0500 Subject: [PATCH 17/19] Match Default VMSize for Master and Infra nodes Rename node-vm-size to compute-vm-size --- .../azure-cli-acs/azure/cli/command_modules/acs/_help.py | 2 +- .../azure-cli-acs/azure/cli/command_modules/acs/_params.py | 2 +- .../azure-cli-acs/azure/cli/command_modules/acs/custom.py | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_help.py b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_help.py index 3fb2a34eb2f..913b519ee33 100644 --- a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_help.py +++ b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_help.py @@ -538,7 +538,7 @@ type: command short-summary: (PREVIEW) Create a new managed OpenShift cluster. parameters: - - name: --node-vm-size -s + - name: --compute-vm-size -s type: string short-summary: Size of Virtual Machines to create as OpenShift nodes. - name: --compute-count -c diff --git a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_params.py b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_params.py index 4ac6edfb55e..0fef406a93a 100644 --- a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_params.py +++ b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_params.py @@ -247,7 +247,7 @@ def load_arguments(self, _): with self.argument_context('openshift create') as c: c.argument('name', validator=validate_linux_host_name) - c.argument('node_vm_size', options_list=['--node-vm-size', '-s']) + c.argument('compute_vm_size', options_list=['--compute_vm_size', '-s']) c.argument('fqdn', required=True) c.argument('aad_client_app_id') c.argument('aad_client_app_secret') diff --git a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/custom.py b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/custom.py index 3fcab08dfd6..4324f20c19b 100644 --- a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/custom.py +++ b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/custom.py @@ -2318,7 +2318,7 @@ def _validate_aci_location(norm_location): def openshift_create(cmd, client, resource_group_name, name, # pylint: disable=too-many-locals location=None, - node_vm_size="Standard_D4s_v3", + compute_vm_size="Standard_D4s_v3", compute_count=3, fqdn='', aad_client_app_id=None, @@ -2337,7 +2337,7 @@ def openshift_create(cmd, client, resource_group_name, name, # pylint: disable= agent_node_pool_profile = OpenShiftManagedClusterAgentPoolProfile( name='compute', # Must be 12 chars or less before ACS RP adds to it count=int(compute_count), - vm_size=node_vm_size, + vm_size=compute_vm_size, os_type="Linux", role=OpenShiftAgentPoolProfileRole.compute, subnet_cidr=subnet_cidr @@ -2358,7 +2358,7 @@ def openshift_create(cmd, client, resource_group_name, name, # pylint: disable= agent_master_pool_profile = OpenShiftManagedClusterAgentPoolProfile( name='master', # Must be 12 chars or less before ACS RP adds to it count=int(3), - vm_size="Standard_D2s_v3", + vm_size="Standard_D4s_v3", os_type="Linux", subnet_cidr=subnet_cidr ) From 0fa3d39c9139d4433f87fa4ad0b8b70d5f2150c5 Mon Sep 17 00:00:00 2001 From: Julien Stroheker Date: Mon, 26 Nov 2018 13:02:51 -0500 Subject: [PATCH 18/19] rename compute vm size --- .../azure-cli-acs/azure/cli/command_modules/acs/_params.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_params.py b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_params.py index 0fef406a93a..776b22c8013 100644 --- a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_params.py +++ b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/_params.py @@ -247,7 +247,7 @@ def load_arguments(self, _): with self.argument_context('openshift create') as c: c.argument('name', validator=validate_linux_host_name) - c.argument('compute_vm_size', options_list=['--compute_vm_size', '-s']) + c.argument('compute_vm_size', options_list=['--compute-vm-size', '-s']) c.argument('fqdn', required=True) c.argument('aad_client_app_id') c.argument('aad_client_app_secret') From b7156eea79fe98a8bb2fee68eb2ea090909eef99 Mon Sep 17 00:00:00 2001 From: Julien Stroheker Date: Mon, 10 Dec 2018 14:14:07 -0800 Subject: [PATCH 19/19] Bump OpenShift version to 3.11 --- .../azure-cli-acs/azure/cli/command_modules/acs/custom.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/custom.py b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/custom.py index 4324f20c19b..4e855939d85 100644 --- a/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/custom.py +++ b/src/command_modules/azure-cli-acs/azure/cli/command_modules/acs/custom.py @@ -2389,7 +2389,7 @@ def openshift_create(cmd, client, resource_group_name, name, # pylint: disable= osamc = OpenShiftManagedCluster( location=location, tags=tags, - open_shift_version="v3.10", + open_shift_version="v3.11", fqdn=fqdn, network_profile=network_profile, auth_profile=auth_profile,