Skip to content

Commit

Permalink
[k8s-extension] Release v1.1.0 with Updated Models for 2022-03-01 (Az…
Browse files Browse the repository at this point in the history
…ure#4588)

* Create pull.yml

* Update pull.yml

* Update azure-pipelines.yml

* Initial commit of k8s-extension

* Update pipelines file

* Update CODEOWNERS

* Update private preview pipelines

* Remove open service mesh from public release

* Update pipeline files

* Update public extension pipeline

* Change condition variable

* Add version to public preview/private preview

* Update pipelines

* Add different testing based on private branch

* Add annotations to extension model

* Update k8s-custom-pipelines.yml

* Update SDKs with Updated Swagger Spec for 2020-07-01-preview (#13)

* Update sdks with updated swagger spec

* Update version and history rst

* Reorder release history timeline

* Fix ExtensionInstanceForCreate for import

* remove py2 bdist support

* Add custom table formatting

* Remove unnecessary files

* Fix style issues

* Fix branch based on comments

* Update identity piece manually

* Don't handle defaults at the CLI level

* Remove defaults from CLI client

* Check null target namespace with namespace scope

* Update style

* Add cassandra operator and location to model

* Stage Public Version of k8s-extension 0.2.0 for official release (#15)

* Create pull.yml

* Update pull.yml

* Update azure-pipelines.yml

* Initial commit of k8s-extension

* Update pipelines file

* Update CODEOWNERS

* Update private preview pipelines

* Remove open service mesh from public release

* Update pipeline files

* Update public extension pipeline

* Change condition variable

* Add version to public preview/private preview

* Update pipelines

* Add different testing based on private branch

* Add annotations to extension model

* Update k8s-custom-pipelines.yml

* Update SDKs with Updated Swagger Spec for 2020-07-01-preview (#13)

* Update sdks with updated swagger spec

* Update version and history rst

* Reorder release history timeline

* Fix ExtensionInstanceForCreate for import

* remove py2 bdist support

* Add custom table formatting

* Remove unnecessary files

* Fix style issues

* Fix branch based on comments

* Update identity piece manually

* Don't handle defaults at the CLI level

* Remove defaults from CLI client

* Check null target namespace with namespace scope

* Update style

* Add cassandra operator and location to model

Co-authored-by: [email protected] <Action - Fork Sync>

* Remove custom pipelines file

* Update extension description, remove private const

* Update pipeline file

* Disable refs docs

* Update to include better create warning logs and remove update context (#20)

* Update to include better create warning logs and remove update context

* Remove help text for update

* Fix spelling error

* Update message

* Fix k8s-extension conflict with private version

* Fix style errors

* Fix filename

* add customization for microsoft.azureml.kubernetes (#23)

* add customization for microsoft.azureml.kubernetes

* Update release history

Co-authored-by: Yue Yu <[email protected]>
Co-authored-by: jonathan-innis <[email protected]>

* Add E2E Testing from Separate branch into internal code (#26)

* Add internal e2e testing

* Change to testing folder

* Inference CLI validation for Scoring FE (#24)

* cli validation starter

* added the call to the fe validation function

* nodeport validation not required

* test fix

Co-authored-by: Jonathan Innis <[email protected]>

* legal warning added (#27)

* Remove deprecated method logger.warn

* Update k8s-custom-pipelines.yml for Azure Pipelines

* Update k8s-custom-pipelines.yml for Azure Pipelines

* Add Azure Defender to E2E testing (#28)

* Add azure defender testing to e2e

* Remove the debug flag

* Add configuration testing

* Fix pipeline failures

* Make test script more intuitive

* Remove parameter from testing

* Fix wrong location for k8s config whl

* Fix pip upgrade issue

* Fix pip install upgrade issue

* Fix pip install issue

* delete resurce in testcase (#29)

Co-authored-by: Yue Yu <[email protected]>
Co-authored-by: Jonathan Innis <[email protected]>

* Check Provider is Registered with Subscription Before Making Requests (#18)

* Add check for KubernetesConfiguration

* Disable pylint and rename

* Update provider registration link

* Update version

* Remove extra blank line

* Fix bug in import

* only validate scoring fe when inference is enabled (#31)

* only validate scoring fe when inference is enabled

* Fix versioning

Co-authored-by: Yue Yu <[email protected]>
Co-authored-by: jonathan-innis <[email protected]>

* Provider registration case insensitive

* do not validate against scoring fe if inference is not enabled. (#33)

* do not validate against scoring fe if inference is not enabled.

* add inference enabled scenario

* refine

* increase sleeping time

* fix

Co-authored-by: Yue Yu <[email protected]>
Co-authored-by: Jonathan Innis <[email protected]>

* Add OSM as Public Preview Extension (#34)

* Add OSM as public preview extension

* Add osm testing

* Add release train to tests

* Fix failing osm test

* Upgrade pip in integration testing

* Remove ununsed import

* Fix release train check in update

* Parallelize E2E Testing (#36)

* Add OSM as public preview extension

* Add osm testing

* Update test logic to parallelize

* Fix test success checking

* Parallelize extension testing

* Better error checking logic

* Fix azureml deletion

* Fix private build (#40)

* change amlk8s to amlarc (#42)

Co-authored-by: Yue Yu <[email protected]>

* Servicebus client model changes (#44)

* Servicebus client model changes

* Fix testing script

* Update history file and pipeline

* Update min cli core version for track 2 updates

* Read SSL cert and key from files (#38)

* first sketch of the change

fixes

removed extra blank lines

changes regarding param renaming

added ssl tests

added more detail to the unit test

additional import

moved pem files out of public folder

fixed import

chenged import

changed import

unit tests fix

unit test fix

fixed unit tests

fixed unit test

unit test fix

changes int test cert and key

* test protected config

* fix test typo

* temporary changes reverted

* fixing tests

* fixed file paths

* removed accidentally added file

* changes according to review comments

* more changes according to review comments

* changes according to review comments

Co-authored-by: Jonathan Innis <[email protected]>

* Upgrade release version

* Liakaz/inference read ssl from file (#47)

* first sketch of the change

fixes

removed extra blank lines

changes regarding param renaming

added ssl tests

added more detail to the unit test

additional import

moved pem files out of public folder

fixed import

chenged import

changed import

unit tests fix

unit test fix

fixed unit tests

fixed unit test

unit test fix

changes int test cert and key

* test protected config

* fix test typo

* temporary changes reverted

* fixing tests

* fixed file paths

* removed accidentally added file

* changes according to review comments

* more changes according to review comments

* changes according to review comments

* fixed decode error

* renamed the experimental param

Co-authored-by: Jonathan Innis <[email protected]>

* Fix style issues (#51)

* Fixed scoring fe related extension param names (#49)

* fixed scoring fe related extension params

* bug fix and style fixes

* variable rename

* fixed the error type

* set cluster to prod by default

* Add distro validation for osm-arc (#50)

* Add distro validation for osm-arc

* fixed indentation

* Fix linting

* Resolve comments

* Add unit test

* fix lint

Co-authored-by: Jonathan Innis <[email protected]>

* Add distro validation for osm-arc (#50)

* Add distro validation for osm-arc

* fixed indentation

* Fix linting

* Resolve comments

* Add unit test

* fix lint

Co-authored-by: Jonathan Innis <[email protected]>

* Add distro validation for osm-arc (#53)

removed release-train logic

* Add Custom Delete Logic for Partners (#54)

* Add custom delete logic

* Fix failing unit tests

* Add warning message when deleting amlarc extension (#55)

* add warning message

* fix indentation

* Update release version

* Remove Pyhelm from OSM customization (#58)

* Fix OSM pyhelm bug

* Debug bootstrap error

* Update release message

* Remove pyhelm dependency

* Update tests to only check extensionconfig creation (#61)

* Update tests to only check extensionconfig creation

* Single set of CRUD for AzureML

* Debug logs for connectedk8s

* Increase open service mesh version number

* Update k8s-extension Models to Track2 (#64)

* Update k8s-extension models to track2

* Add debug for failed cleanup

* Increase version number

* Exit 0 on failed cleanup

* Fix identity in wrong place in model (#66)

* Readd osm-arc distro validation (#62)

* Add distro validation for osm-arc

removed release-train logic

* Readd osm_arc distro validation

* Fix style

* Rm space

* Edit test

* Fixed tests and error logic

* Remove dependency

* Add delete method

Co-authored-by: Jonathan Innis <[email protected]>

* Don't Send Identity Headers If In DF (#67)

* Don't send identity for clusters in dogfood

* Add location to model for identity

* Add identity validation to testing

* Use default extension with identity instead of Cassandra specific (#69)

* Remove the identity check for now

* Add -t for clusterType parameter (#71)

* Adding a flag for AKS to AMLARC migration and set up corresponding FE… (#65)

* Adding a flag for AKS to AMLARC migration and set up corresponding FE helm values

* Remove one extra line

* Adding Scoring FE IS_AKS_MIGRATION check logic for helm values

Co-authored-by: Harry Yang <[email protected]>
Co-authored-by: Jonathan Innis <[email protected]>

* remove version requirement and auto upgrade minor version check (#72)

* Custom User Confirmation for Partners (#70)

* Custom user confirmation

* Check for disable confirm prompty for confirmation

* Add yes to delete command

* Code cleanup and style fixes (#73)

* Enabled identity by default (#74)

* Increase version

* Fix df check and add unit test (#77)

* Bump extension version

* Pin helm version

* Extensions GA changes into Public Branch (#79)

* Add openservicemesh back

* OpenServiceMesh import

* Update osm with new extension model

* Add back private file

* Add Azure ML to list of private extensions (#16)

* Update k8s-custom-pipelines.yml

* Add Microsoft.PolicyInsights extension (#17)

* Add Policy extension

* Update comment

* Update args

* Fix linting errors

Co-authored-by: Jonathan Innis <[email protected]>

* Add HISTORY_private file for private preview

* Change versioning scheme

* Update the code for supporting both extensions at once

* Fix style issue

* Remove old consts file

* change the resource tag from managed_by:amlk8s to created_by:amlk8s-e… (#22)

* change the resource tag from managed_by:amlk8s to created_by:amlk8s-extension

* remove the lock when creating resources

* fix lint

* update version and HISTORY_private.rst

* change error message

Co-authored-by: Yue Yu <[email protected]>

* Update the beta version with upstream

* Update the private history file

* Add upgrade pip to pipeline

* Move pip install within virtualenv

* Merge in k8s-extension/public (0.3.1) (#32)

* delete resurce in testcase (#29)

Co-authored-by: Yue Yu <[email protected]>
Co-authored-by: Jonathan Innis <[email protected]>

* Check Provider is Registered with Subscription Before Making Requests (#18)

* Add check for KubernetesConfiguration

* Disable pylint and rename

* Update provider registration link

* Update version

* Remove extra blank line

* Fix bug in import

* only validate scoring fe when inference is enabled (#31)

* only validate scoring fe when inference is enabled

* Fix versioning

Co-authored-by: Yue Yu <[email protected]>
Co-authored-by: jonathan-innis <[email protected]>

* Update private release

Co-authored-by: yuyue9284 <[email protected]>
Co-authored-by: Yue Yu <[email protected]>

* Release Version 0.4.0-b1 (#37)

* Merge k8s-extension/public into k8s-extension/private

* Update the version

* Fix testing concurrency

* K8s extension/private 0.4.0b2 (#41)

* Fix private build (#40)

* Update version

* Upgrade to v0.5.2

* Fix policy bug

* Increase private version

* Update consts_private.py

* Increase private version

* Increase version with public

* Add flux to private version

* Update models for 2021-05-01-preview

* Add async models to version

* Add no wait to delete and create

* support managed cluster

* Bump version

* Pin helm version

* Add cmd to delete call

* Add force deletion

* add dapr extension (#78)

Signed-off-by: Ji An Liu <[email protected]>

* Fix failing integration tests

* Adding the GA changes for private branch

* Fix confirm prompt

* Fix update E2E tests

Co-authored-by: jonathan-innis <[email protected]>
Co-authored-by: [email protected] <Action - Fork Sync>
Co-authored-by: nreisch <[email protected]>
Co-authored-by: yuyue9284 <[email protected]>
Co-authored-by: Yue Yu <[email protected]>
Co-authored-by: anagg929 <[email protected]>
Co-authored-by: Ji'an Liu <[email protected]>
Co-authored-by: nanthi <nanthi@NANTHI01>

* Fix configuration settings in update

* Only provide confirmation when specifying settings

* Fix style issues

* Cassandra tests with update (#81)

* Add Microsoft.PolicyInsights extension for public preview (#83)

* Add Azure Policy

* Remove custom configuration and update tests

* Yuyu3/fix upgrade public (#85)

* populate configuration protected settings for azureml

bump version && add log

fetch connection string only if configuration protected settings are set

update ssl key

* bump the version

* reverse changes on version and HISTORY.rst

* inferenceLoadBalancerHA

Co-authored-by: Yue Yu <[email protected]>

* Remove Parallel Powershell Jobs (#82)

* Unparallelize tests

* Moved location of pipeline file

* Remove the parallel invoke expression calls

* Add templates to testing

* Remove policy update test from extension E2E (#88)

* feIsNodePort, feIsInternalLoadBalancer (#87)

Co-authored-by: Yue Yu <[email protected]>
Co-authored-by: Jonathan Innis <[email protected]>

* Fix history file

* Add one more prompt for amlarc extension update (#94)

* Add one more prompt for amlarc extension update

* fix pylint issue

* fix pylint issue

* fix pylint issue

* fix pylint issue

Co-authored-by: Youhua Tu <[email protected]>
Co-authored-by: Youhua Tu <[email protected]>

* Update Identity Creation for Appliance to Latest Version (#95)

* Update appliance API to latest version for identity

* Create a utils file with get parent_api_version

* Fix style errors

* Bump version

* Remove additional entry from history

* Do not create identity with appliances (#97)

* Bump version

* support sslSecret (#99)

* support sslSecret

* fix

* fix error message

Co-authored-by: Jun Min <[email protected]>

* Bump version to 1.0.4

* Increase OSM verison to valid version (#104)

* remove inference private review warning message (#102)

Co-authored-by: Yue Yu <[email protected]>
Co-authored-by: Jonathan Innis <[email protected]>

* Update unit testing from osm to dapr (#106)

* osm-ext: enable system identities (#105)

* remove inference private review warning message (#109)

Co-authored-by: Yue Yu <[email protected]>
Co-authored-by: Jonathan Innis <[email protected]>

* Build Extension in Template (#110)

* Build extension using a template

* Update build template in run test

* Fix private build issues (#112)

* Upgrade vendored_sdks to 2022-03-01 (#113)

* Upgrade vendored_sdks to 2022-03-01

* Update recordings file

* Bump version and changelog

* Remove unneeded files

Co-authored-by: [email protected] <Action - Fork Sync>
Co-authored-by: yuyue9284 <[email protected]>
Co-authored-by: Yue Yu <[email protected]>
Co-authored-by: Lia Kazakova <[email protected]>
Co-authored-by: Niranjan Shankar <[email protected]>
Co-authored-by: jingyizhu99 <[email protected]>
Co-authored-by: Harry Yang <[email protected]>
Co-authored-by: Harry Yang <[email protected]>
Co-authored-by: Thomas Stringer <[email protected]>
Co-authored-by: NarayanThiru <[email protected]>
Co-authored-by: nreisch <[email protected]>
Co-authored-by: anagg929 <[email protected]>
Co-authored-by: Ji'an Liu <[email protected]>
Co-authored-by: nanthi <nanthi@NANTHI01>
Co-authored-by: youhuatuyh <[email protected]>
Co-authored-by: Youhua Tu <[email protected]>
Co-authored-by: Youhua Tu <[email protected]>
Co-authored-by: Jun <[email protected]>
Co-authored-by: Jun Min <[email protected]>
Co-authored-by: Sanya Kochhar <[email protected]>
  • Loading branch information
20 people authored Mar 30, 2022
1 parent 94030c5 commit 944e523
Show file tree
Hide file tree
Showing 231 changed files with 43,873 additions and 3,585 deletions.
6 changes: 6 additions & 0 deletions src/k8s-extension/HISTORY.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,12 @@
Release History
===============

1.1.0
++++++++++++++++++
* Migrate Extensions api-version to 2022-03-01
* microsoft.azureml.kubernetes: Remove inference private review warning message
* microsoft.openservicemesh: Enable System-assigned identity

1.0.4
++++++++++++++++++
* microsoft.azureml.kubernetes: Support SSL secret
Expand Down
2 changes: 1 addition & 1 deletion src/k8s-extension/azext_k8s_extension/custom.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

# pylint: disable=unused-argument,too-many-locals

from azext_k8s_extension.utils import (
from .utils import (
get_cluster_rp_api_version,
is_dogfood_cluster,
read_config_settings_file,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
import copy
from hashlib import md5
from typing import Any, Dict, List, Tuple
from azext_k8s_extension.utils import get_cluster_rp_api_version
from ..utils import get_cluster_rp_api_version

import azure.mgmt.relay
import azure.mgmt.relay.models
Expand Down Expand Up @@ -339,7 +339,6 @@ def __validate_config(self, configuration_settings, configuration_protected_sett
enable_inference = str(enable_inference).lower() == 'true'

if enable_inference:
logger.warning("The installed AzureML extension for AML inference is experimental and not covered by customer support. Please use with discretion.")
self.__validate_scoring_fe_settings(configuration_settings, configuration_protected_settings, release_namespace)
self.__set_up_inference_ssl(configuration_settings, configuration_protected_settings)
elif not (enable_training or enable_inference):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ def Create(self, cmd, client, resource_group_name, cluster_name, name, cluster_t
ext_scope = Scope(cluster=scope_cluster, namespace=None)

# NOTE-2: Return a valid Extension object, Instance name and flag for Identity
create_identity = False
create_identity = True

_validate_tested_distro(cmd, resource_group_name, cluster_name, version)

Expand Down Expand Up @@ -83,7 +83,7 @@ def _validate_tested_distro(cmd, cluster_resource_group_name, cluster_name, exte
cluster_resource_id = '/subscriptions/{0}/resourceGroups/{1}/providers/Microsoft.Kubernetes' \
'/connectedClusters/{2}'.format(subscription_id, cluster_resource_group_name, cluster_name)

resource = resources.get_by_id(cluster_resource_id, '2020-01-01-preview')
resource = resources.get_by_id(cluster_resource_id, '2021-10-01')
cluster_distro = resource.properties['distribution'].lower()

if cluster_distro == "general":
Expand Down

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -15,27 +15,20 @@
class K8sExtensionScenarioTest(ScenarioTest):
@record_only()
def test_k8s_extension(self):
resource_type = 'microsoft.openservicemesh'
extension_type = 'microsoft.dapr'
self.kwargs.update({
'name': 'openservicemesh',
'rg': 'nanthirg1006',
'cluster_name': 'nanthiaks1006',
'name': 'dapr',
'rg': 'azurecli-tests',
'cluster_name': 'arc-cluster',
'cluster_type': 'connectedClusters',
'extension_type': resource_type,
'release_train': 'pilot',
'version': '0.9.2'
'extension_type': extension_type,
'release_train': 'stable',
'version': '1.6.0',
})

self.cmd('k8s-extension create -g {rg} -n {name} -c {cluster_name} --cluster-type {cluster_type} '
'--extension-type {extension_type} --release-train {release_train} --version {version}',
checks=[
self.check('name', '{name}'),
self.check('releaseTrain', '{release_train}'),
self.check('version', '{version}'),
self.check('resourceGroup', '{rg}'),
self.check('extensionType', '{extension_type}')
]
)
'--extension-type {extension_type} --release-train {release_train} --version {version} '
'--no-wait')

# Update requires agent running in k8s cluster that is connected to Azure - so no update tests here
# self.cmd('k8s-extension update -g {rg} -n {name} --tags foo=boo', checks=[
Expand All @@ -45,7 +38,7 @@ def test_k8s_extension(self):
installed_exts = self.cmd('k8s-extension list -c {cluster_name} -g {rg} --cluster-type {cluster_type}').get_output_in_json()
found_extension = False
for item in installed_exts:
if item['extensionType'] == resource_type:
if item['extensionType'] == extension_type:
found_extension = True
break
self.assertTrue(found_extension)
Expand All @@ -58,12 +51,12 @@ def test_k8s_extension(self):
self.check('extensionType', '{extension_type}')
])

self.cmd('k8s-extension delete -g {rg} -c {cluster_name} -n {name} --cluster-type {cluster_type} -y')
self.cmd('k8s-extension delete -g {rg} -c {cluster_name} -n {name} --cluster-type {cluster_type} --force -y')

installed_exts = self.cmd('k8s-extension list -c {cluster_name} -g {rg} --cluster-type {cluster_type}').get_output_in_json()
found_extension = False
for item in installed_exts:
if item['extensionType'] == resource_type:
if item['extensionType'] == extension_type:
found_extension = True
break
self.assertFalse(found_extension)
2 changes: 1 addition & 1 deletion src/k8s-extension/azext_k8s_extension/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import json
from typing import Tuple
from urllib.parse import urlparse
from azext_k8s_extension import consts
from . import consts
from azure.cli.core.azclierror import InvalidArgumentValueError


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,6 @@
# --------------------------------------------------------------------------

from ._source_control_configuration_client import SourceControlConfigurationClient
from ._version import VERSION

__version__ = VERSION
__all__ = ['SourceControlConfigurationClient']

try:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# Licensed under the MIT License. See License.txt in the project root for
# license information.
#
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------

from typing import TYPE_CHECKING

from azure.core.configuration import Configuration
from azure.core.pipeline import policies
from azure.mgmt.core.policies import ARMHttpLoggingPolicy
from azure.mgmt.core.policies import ARMChallengeAuthenticationPolicy, ARMHttpLoggingPolicy

from ._version import VERSION

Expand All @@ -20,7 +22,6 @@

from azure.core.credentials import TokenCredential


class SourceControlConfigurationClientConfiguration(Configuration):
"""Configuration for SourceControlConfigurationClient.
Expand Down Expand Up @@ -48,9 +49,8 @@ def __init__(

self.credential = credential
self.subscription_id = subscription_id
self.api_version = "2021-09-01"
self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default'])
kwargs.setdefault('sdk_moniker', 'mgmt-kubernetesconfiguration/{}'.format(VERSION))
kwargs.setdefault('sdk_moniker', 'azure-mgmt-kubernetesconfiguration/{}'.format(VERSION))
self._configure(**kwargs)

def _configure(
Expand All @@ -68,4 +68,4 @@ def _configure(
self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs)
self.authentication_policy = kwargs.get('authentication_policy')
if self.credential and not self.authentication_policy:
self.authentication_policy = policies.BearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs)
self.authentication_policy = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs)
105 changes: 0 additions & 105 deletions src/k8s-extension/azext_k8s_extension/vendored_sdks/_metadata.json

This file was deleted.

Loading

0 comments on commit 944e523

Please sign in to comment.