Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
414ae4d
{Doc} Update track2 migration roadmap (#16871)
jsntcy Feb 10, 2021
68d30cc
hotfix: pin version for azure-keyvault-administration (#16887)
houk-ms Feb 10, 2021
8aedd2d
added start/end time in show-log-chain table output (#16753)
akshayneema Feb 10, 2021
f86f327
Merge branch 'release' of github.com:Azure/azure-cli into dev
fengzhou-msft Feb 10, 2021
39fe66a
[SQL] Update az sql mi examples (#16852)
kukislav Feb 18, 2021
c803a54
Use MSIFASTINSTALL (#16903)
Petermarcu Feb 18, 2021
45c185b
{ServiceFabric} Refine code to unblock CI Lint (#16970)
evelyn-ys Feb 19, 2021
f742dbf
[SQL] az sql db/elastic-pool create/update: Added maint-config-id arg…
Feb 19, 2021
bc4d70c
[AppService]: fix ##8743- az webapp deploy (#16715)
Kotasudhakarreddy Feb 19, 2021
58a2ba2
[AKS] Add support for SGX addon 'confcom' (#16869)
Pengpeng-Microsoft Feb 19, 2021
4b6a6c8
{ARM} ts: show command bug fixed, improved error handling for export …
detienne20 Feb 19, 2021
a896091
[Storage] Fix #16872: az storage blob now (2.19) requires login even …
Juliehzl Feb 19, 2021
3739c5e
[Storage] Fix #16959: az storage copy crashes: ValidationError: local…
Juliehzl Feb 19, 2021
1f87589
{Packaging} Bump cryptography from 2.8 to 3.2 (#15687)
dependabot[bot] Feb 19, 2021
61fcd29
[Compute] az vm (extension) image list: Make it more robust (#16992)
qwordy Feb 20, 2021
da146f2
{Packaging} Bump ADAL to 1.2.6 (#16671)
jiasli Feb 20, 2021
69c0684
roleDefinitionName should be roleName (#16781)
houk-ms Feb 20, 2021
0f56b1b
Update _help.py (#17015)
Feb 22, 2021
109f495
expose real exception while getting sdk (#16993)
evelyn-ys Feb 22, 2021
247a1ad
[Compute] vmss create: Fix a license type issue (#17007)
qwordy Feb 22, 2021
ada4878
{Network} Revert deprecation for network route table (#17004)
yonzhan Feb 22, 2021
3221fe2
[Storage] Fix #16679: `az storage blob download` fails with "Permissi…
evelyn-ys Feb 22, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions build_scripts/windows/Product.wxs
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
<Property Id="ARPHELPLINK" Value="https://docs.microsoft.com/cli/azure" />
<Property Id="ARPURLINFOABOUT" Value="https://docs.microsoft.com/cli/azure/overview" />
<Property Id="ARPURLUPDATEINFO" Value="https://docs.microsoft.com/cli/azure/overview" />
<Property Id="MSIFASTINSTALL" Value="7" />
<Property Id="ApplicationFolderName" Value="Microsoft SDKs\Azure" />
<Property Id="WixAppFolder" Value="WixPerMachineFolder" />

Expand Down
245 changes: 122 additions & 123 deletions doc/track_2_migration_roadmap.md

Large diffs are not rendered by default.

4 changes: 4 additions & 0 deletions src/azure-cli-core/HISTORY.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
Release History
===============

2.19.1
++++++
* No changes

2.19.0
++++++
* New error output: Support multiple failure recommendations with colorization (#16257)
Expand Down
2 changes: 1 addition & 1 deletion src/azure-cli-core/azure/cli/core/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

from __future__ import print_function

__version__ = "2.19.0"
__version__ = "2.19.1"

import os
import sys
Expand Down
5 changes: 3 additions & 2 deletions src/azure-cli-core/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
from codecs import open
from setuptools import setup, find_packages

VERSION = "2.19.0"
VERSION = "2.19.1"

# If we have source, validate that our version numbers match
# This should prevent uploading releases with mismatched versions.
Expand Down Expand Up @@ -43,10 +43,11 @@
]

DEPENDENCIES = [
'adal~=1.2.3',
'adal~=1.2.6',
'argcomplete~=1.8',
'azure-cli-telemetry==1.0.6.*',
'colorama~=0.4.1',
'cryptography>=3.2,<3.4',
'humanfriendly>=4.7,<10.0',
'jmespath',
'knack==0.8.0rc2',
Expand Down
7 changes: 7 additions & 0 deletions src/azure-cli/HISTORY.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,13 @@
Release History
===============

2.19.1
++++++

**Key Vault**

* Hotfix: Dependency package `azure-keyvault-administration` is pinned to 4.0.0b1

2.19.0
++++++

Expand Down
2 changes: 1 addition & 1 deletion src/azure-cli/azure/cli/__main__.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
from knack.log import get_logger

__author__ = "Microsoft Corporation <[email protected]>"
__version__ = "2.19.0"
__version__ = "2.19.1"


# A workaround for https://bugs.python.org/issue32502 (https://github.com/Azure/azure-cli/issues/5184)
Expand Down
7 changes: 6 additions & 1 deletion src/azure-cli/azure/cli/command_modules/acs/_consts.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,13 +31,18 @@
CONST_INGRESS_APPGW_SUBNET_CIDR = "subnetCIDR"
CONST_INGRESS_APPGW_WATCH_NAMESPACE = "watchNamespace"

# confcom addon keys
CONST_CONFCOM_ADDON_NAME = "ACCSGXDevicePlugin"
CONST_ACC_SGX_QUOTE_HELPER_ENABLED = "ACCSGXQuoteHelperEnabled"

ADDONS = {
'http_application_routing': CONST_HTTP_APPLICATION_ROUTING_ADDON_NAME,
'monitoring': CONST_MONITORING_ADDON_NAME,
'virtual-node': CONST_VIRTUAL_NODE_ADDON_NAME,
'kube-dashboard': CONST_KUBE_DASHBOARD_ADDON_NAME,
'azure-policy': CONST_AZURE_POLICY_ADDON_NAME,
'ingress-appgw': CONST_INGRESS_APPGW_ADDON_NAME
'ingress-appgw': CONST_INGRESS_APPGW_ADDON_NAME,
"confcom": CONST_CONFCOM_ADDON_NAME
}

CONST_CANIPULL_IMAGE = "mcr.microsoft.com/aks/canipull:0.0.2-alpha"
7 changes: 7 additions & 0 deletions src/azure-cli/azure/cli/command_modules/acs/_help.py
Original file line number Diff line number Diff line change
Expand Up @@ -321,6 +321,7 @@
virtual-node - enable AKS Virtual Node.
Requires --aci-subnet-name to provide the name of an existing subnet for the Virtual Node to use.
aci-subnet-name must be in the same vnet which is specified by --vnet-subnet-id (required as well).
confcom - enable confcom addon, this will enable SGX device plugin by default.
- name: --disable-rbac
type: bool
short-summary: Disable Kubernetes Role-Based Access Control.
Expand Down Expand Up @@ -405,6 +406,9 @@
- name: --appgw-watch-namespace
type: string
short-summary: Specify the namespace, which AGIC should watch. This could be a single string value, or a comma-separated list of namespaces.
- name: --enable-sgxquotehelper
type: bool
short-summary: Enable SGX quote helper for confcom addon.
examples:
- name: Create a Kubernetes cluster with an existing SSH public key.
text: az aks create -g MyResourceGroup -n MyManagedCluster --ssh-key-value /path/to/publickey
Expand Down Expand Up @@ -593,6 +597,9 @@
- name: --appgw-watch-namespace
type: string
short-summary: Specify the namespace, which AGIC should watch. This could be a single string value, or a comma-separated list of namespaces.
- name: --enable-sgxquotehelper
type: bool
short-summary: Enable SGX quote helper for confcom addon.
examples:
- name: Enable Kubernetes addons. (autogenerated)
text: az aks enable-addons --addons virtual-node --name MyManagedCluster --resource-group MyResourceGroup --subnet MySubnetName
Expand Down
2 changes: 2 additions & 0 deletions src/azure-cli/azure/cli/command_modules/acs/_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -223,6 +223,7 @@ def load_arguments(self, _):
c.argument('appgw_subnet_id', options_list=['--appgw-subnet-id'], arg_group='Application Gateway')
c.argument('appgw_watch_namespace', options_list=['--appgw-watch-namespace'], arg_group='Application Gateway')
c.argument('yes', options_list=['--yes', '-y'], help='Do not prompt for confirmation.', action='store_true')
c.argument('enable_sgxquotehelper', action='store_true')

with self.argument_context('aks update') as c:
c.argument('attach_acr', acr_arg_type, validator=validate_acr)
Expand Down Expand Up @@ -256,6 +257,7 @@ def load_arguments(self, _):
c.argument('appgw_id', options_list=['--appgw-id'], arg_group='Application Gateway')
c.argument('appgw_subnet_id', options_list=['--appgw-subnet-id'], arg_group='Application Gateway')
c.argument('appgw_watch_namespace', options_list=['--appgw-watch-namespace'], arg_group='Application Gateway')
c.argument('enable_sgxquotehelper', action='store_true')

with self.argument_context('aks get-credentials') as c:
c.argument('admin', options_list=['--admin', '-a'], default=False)
Expand Down
25 changes: 24 additions & 1 deletion src/azure-cli/azure/cli/command_modules/acs/custom.py
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@
from ._consts import CONST_INGRESS_APPGW_APPLICATION_GATEWAY_ID, CONST_INGRESS_APPGW_APPLICATION_GATEWAY_NAME
from ._consts import CONST_INGRESS_APPGW_SUBNET_CIDR, CONST_INGRESS_APPGW_SUBNET_ID
from ._consts import CONST_INGRESS_APPGW_WATCH_NAMESPACE
from ._consts import CONST_CONFCOM_ADDON_NAME, CONST_ACC_SGX_QUOTE_HELPER_ENABLED
from ._consts import ADDONS
from ._consts import CONST_CANIPULL_IMAGE

Expand Down Expand Up @@ -1892,6 +1893,7 @@ def aks_create(cmd, client, resource_group_name, name, ssh_key_value, # pylint:
appgw_id=None,
appgw_subnet_id=None,
appgw_watch_namespace=None,
enable_sgxquotehelper=False,
no_wait=False,
yes=False):
_validate_ssh_key(no_ssh_key, ssh_key_value)
Expand Down Expand Up @@ -2085,6 +2087,7 @@ def aks_create(cmd, client, resource_group_name, name, ssh_key_value, # pylint:
appgw_id,
appgw_subnet_id,
appgw_watch_namespace,
enable_sgxquotehelper
)
monitoring = False
if CONST_MONITORING_ADDON_NAME in addon_profiles:
Expand Down Expand Up @@ -2280,6 +2283,7 @@ def aks_enable_addons(cmd, client, resource_group_name, name, addons,
appgw_id=None,
appgw_subnet_id=None,
appgw_watch_namespace=None,
enable_sgxquotehelper=False,
no_wait=False):
instance = client.get(resource_group_name, name)
subscription_id = get_subscription_id(cmd.cli_ctx)
Expand All @@ -2292,6 +2296,7 @@ def aks_enable_addons(cmd, client, resource_group_name, name, addons,
appgw_id=appgw_id,
appgw_subnet_id=appgw_subnet_id,
appgw_watch_namespace=appgw_watch_namespace,
enable_sgxquotehelper=enable_sgxquotehelper,
no_wait=no_wait)

enable_monitoring = CONST_MONITORING_ADDON_NAME in instance.addon_profiles \
Expand Down Expand Up @@ -2767,6 +2772,7 @@ def _update_addons(cmd, instance, subscription_id, resource_group_name, name, ad
appgw_id=None,
appgw_subnet_id=None,
appgw_watch_namespace=None,
enable_sgxquotehelper=False,
no_wait=False):
# parse the comma-separated addons argument
addon_args = addons.split(',')
Expand Down Expand Up @@ -2835,6 +2841,16 @@ def _update_addons(cmd, instance, subscription_id, resource_group_name, name, ad
addon_profile.config[CONST_INGRESS_APPGW_SUBNET_ID] = appgw_subnet_id
if appgw_watch_namespace is not None:
addon_profile.config[CONST_INGRESS_APPGW_WATCH_NAMESPACE] = appgw_watch_namespace
elif addon == CONST_CONFCOM_ADDON_NAME:
if addon_profile.enabled:
raise ValidationError('The confcom addon is already enabled for this managed cluster.',
recommendation='To change confcom configuration, run '
f'"az aks disable-addons -a confcom -n {name} -g {resource_group_name}" '
'before enabling it again.')
addon_profile = ManagedClusterAddonProfile(
enabled=True, config={CONST_ACC_SGX_QUOTE_HELPER_ENABLED: "false"})
if enable_sgxquotehelper:
addon_profile.config[CONST_ACC_SGX_QUOTE_HELPER_ENABLED] = "true"
addon_profiles[addon] = addon_profile
else:
if addon not in addon_profiles:
Expand Down Expand Up @@ -2875,7 +2891,8 @@ def _handle_addons_args(cmd, addons_str, subscription_id, resource_group_name, a
appgw_subnet_cidr=None,
appgw_id=None,
appgw_subnet_id=None,
appgw_watch_namespace=None):
appgw_watch_namespace=None,
enable_sgxquotehelper=False):
if not addon_profiles:
addon_profiles = {}
addons = addons_str.split(',') if addons_str else []
Expand Down Expand Up @@ -2930,6 +2947,12 @@ def _handle_addons_args(cmd, addons_str, subscription_id, resource_group_name, a
addon_profile.config[CONST_INGRESS_APPGW_WATCH_NAMESPACE] = appgw_watch_namespace
addon_profiles[CONST_INGRESS_APPGW_ADDON_NAME] = addon_profile
addons.remove('ingress-appgw')
if 'confcom' in addons:
addon_profile = ManagedClusterAddonProfile(enabled=True, config={CONST_ACC_SGX_QUOTE_HELPER_ENABLED: "false"})
if enable_sgxquotehelper:
addon_profile.config[CONST_ACC_SGX_QUOTE_HELPER_ENABLED] = "true"
addon_profiles[CONST_CONFCOM_ADDON_NAME] = addon_profile
addons.remove('confcom')
# error out if any (unrecognized) addons remain
if addons:
raise CLIError('"{}" {} not recognized by the --enable-addons argument.'.format(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,15 @@ aks create:
appgw_watch_namespace:
rule_exclusions:
- option_length_too_long
enable_sgxquotehelper:
rule_exclusions:
- option_length_too_long
aks enable-addons:
parameters:
appgw_watch_namespace:
rule_exclusions:
- option_length_too_long
enable_sgxquotehelper:
rule_exclusions:
- option_length_too_long
...
Loading