Hello community,
here is the log from the commit of package azure-cli-hdinsight for
openSUSE:Factory checked in at 2019-10-31 22:36:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/azure-cli-hdinsight (Old)
and /work/SRC/openSUSE:Factory/.azure-cli-hdinsight.new.2990 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "azure-cli-hdinsight"
Thu Oct 31 22:36:57 2019 rev:3 rq:744456 version:0.3.5
Changes:
--------
--- /work/SRC/openSUSE:Factory/azure-cli-hdinsight/azure-cli-hdinsight.changes
2019-06-05 11:43:40.487033319 +0200
+++
/work/SRC/openSUSE:Factory/.azure-cli-hdinsight.new.2990/azure-cli-hdinsight.changes
2019-10-31 22:36:59.737228854 +0100
@@ -1,0 +2,9 @@
+Thu Oct 24 12:10:32 UTC 2019 - John Paul Adrian Glaubitz
<[email protected]>
+
+- New upstream release
+ + Version 0.3.5
+ + For detailed information about changes see the
+ HISTORY.txt file provided with this package
+- Update Requires from setup.py
+
+-------------------------------------------------------------------
Old:
----
azure-cli-hdinsight-0.3.0.tar.gz
New:
----
azure-cli-hdinsight-0.3.5.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ azure-cli-hdinsight.spec ++++++
--- /var/tmp/diff_new_pack.bmWOC9/_old 2019-10-31 22:37:00.393229669 +0100
+++ /var/tmp/diff_new_pack.bmWOC9/_new 2019-10-31 22:37:00.397229674 +0100
@@ -17,7 +17,7 @@
Name: azure-cli-hdinsight
-Version: 0.3.0
+Version: 0.3.5
Release: 0
Summary: Microsoft Azure CLI 'hdinsight' Command Module
License: MIT
@@ -33,9 +33,9 @@
Requires: azure-cli-command-modules-nspkg
Requires: azure-cli-core
Requires: azure-cli-nspkg
-Requires: python3-azure-mgmt-hdinsight >= 0.2.0
-Requires: python3-azure-mgmt-network >= 2.4.0
-Requires: python3-azure-mgmt-storage >= 3.1.1
+Requires: python3-azure-mgmt-hdinsight >= 0.2.1
+Requires: python3-azure-mgmt-network >= 3.0.0
+Requires: python3-azure-mgmt-storage >= 3.3.0
Requires: python3-azure-nspkg >= 3.0.0
Conflicts: azure-cli < 2.0.0
++++++ azure-cli-hdinsight-0.3.0.tar.gz -> azure-cli-hdinsight-0.3.5.tar.gz
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/azure-cli-hdinsight-0.3.0/HISTORY.rst
new/azure-cli-hdinsight-0.3.5/HISTORY.rst
--- old/azure-cli-hdinsight-0.3.0/HISTORY.rst 2019-01-25 20:43:40.000000000
+0100
+++ new/azure-cli-hdinsight-0.3.5/HISTORY.rst 2019-06-13 23:17:46.000000000
+0200
@@ -3,6 +3,26 @@
Release History
===============
+0.3.5
++++++
+* Support for using `--ssh-public-key` parameter in `hdinsight create` command.
+
+0.3.4
++++++
+* Upgrade azure-mgmt-storage from 3.1.1 to 3.3.0
+
+0.3.3
++++++
+* Minor fixes.
+
+0.3.2
++++++
+* `create`: added the `--storage-account-managed-identity` parameter to
support ADLS Gen2 MSI.
+
+0.3.1
++++++
+* Minor fixes.
+
0.3.0
+++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/azure-cli-hdinsight-0.3.0/PKG-INFO
new/azure-cli-hdinsight-0.3.5/PKG-INFO
--- old/azure-cli-hdinsight-0.3.0/PKG-INFO 2019-01-25 20:44:01.000000000
+0100
+++ new/azure-cli-hdinsight-0.3.5/PKG-INFO 2019-06-13 23:18:26.000000000
+0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: azure-cli-hdinsight
-Version: 0.3.0
+Version: 0.3.5
Summary: Microsoft Azure Command-Line Tools HDInsight Command Module
Home-page: https://github.com/Azure/azure-cli
Author: Microsoft Corporation
@@ -20,6 +20,26 @@
Release History
===============
+ 0.3.5
+ +++++
+ * Support for using `--ssh-public-key` parameter in `hdinsight create`
command.
+
+ 0.3.4
+ +++++
+ * Upgrade azure-mgmt-storage from 3.1.1 to 3.3.0
+
+ 0.3.3
+ +++++
+ * Minor fixes.
+
+ 0.3.2
+ +++++
+ * `create`: added the `--storage-account-managed-identity` parameter
to support ADLS Gen2 MSI.
+
+ 0.3.1
+ +++++
+ * Minor fixes.
+
0.3.0
+++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/azure-cli-hdinsight-0.3.0/azure/cli/command_modules/hdinsight/_help.py
new/azure-cli-hdinsight-0.3.5/azure/cli/command_modules/hdinsight/_help.py
--- old/azure-cli-hdinsight-0.3.0/azure/cli/command_modules/hdinsight/_help.py
2019-01-25 20:43:40.000000000 +0100
+++ new/azure-cli-hdinsight-0.3.5/azure/cli/command_modules/hdinsight/_help.py
2019-06-13 23:17:46.000000000 +0200
@@ -39,6 +39,12 @@
--encryption-key-version 00000000000000000000000000000000 \\
--encryption-vault-uri https://MyKeyVault.vault.azure.net \\
--assign-identity MyMSI
+ - name: Create a cluster with Azure Data Lake Storage Gen2
+ text: |-
+ az hdinsight create -t spark -g MyResourceGroup -n MyCluster \\
+ -p "HttpPassword1234!" \\
+ --storage-account MyStorageAccount \\
+ --storage-account-managed-identity MyMSI
"""
helps['hdinsight list'] = """
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/azure-cli-hdinsight-0.3.0/azure/cli/command_modules/hdinsight/_params.py
new/azure-cli-hdinsight-0.3.5/azure/cli/command_modules/hdinsight/_params.py
---
old/azure-cli-hdinsight-0.3.0/azure/cli/command_modules/hdinsight/_params.py
2019-01-25 20:43:40.000000000 +0100
+++
new/azure-cli-hdinsight-0.3.5/azure/cli/command_modules/hdinsight/_params.py
2019-06-13 23:17:46.000000000 +0200
@@ -8,6 +8,7 @@
from ._validators import (validate_component_version,
validate_storage_account,
validate_msi,
+ validate_storage_msi,
validate_subnet,
validate_domain_service)
@@ -98,6 +99,10 @@
'Uses the cluster name if none was specified. (WASB
only)')
c.argument('storage_default_filesystem', arg_group='Storage',
help='The storage filesystem the cluster will use. (DFS
only)')
+ c.argument('storage_account_managed_identity', arg_group='Storage',
validator=validate_storage_msi,
+
completer=get_resource_name_completion_list('Microsoft.ManagedIdentity/userAssignedIdentities'),
+ help='User-assigned managed identity with access to the
storage account filesystem. '
+ 'Only required when storage account type is Azure Data
Lake Storage Gen2.')
# Network
c.argument('vnet_name', arg_group='Network', validator=validate_subnet,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/azure-cli-hdinsight-0.3.0/azure/cli/command_modules/hdinsight/_validators.py
new/azure-cli-hdinsight-0.3.5/azure/cli/command_modules/hdinsight/_validators.py
---
old/azure-cli-hdinsight-0.3.0/azure/cli/command_modules/hdinsight/_validators.py
2019-01-25 20:43:40.000000000 +0100
+++
new/azure-cli-hdinsight-0.3.5/azure/cli/command_modules/hdinsight/_validators.py
2019-06-13 23:17:46.000000000 +0200
@@ -69,6 +69,22 @@
)
+# Validate managed identity to access storage account v2.
+def validate_storage_msi(cmd, namespace):
+ from azure.cli.core.commands.client_factory import get_subscription_id
+ from msrestazure.tools import is_valid_resource_id, resource_id
+
+ if namespace.storage_account_managed_identity is not None:
+ if not
is_valid_resource_id(namespace.storage_account_managed_identity):
+ namespace.storage_account_managed_identity = resource_id(
+ subscription=get_subscription_id(cmd.cli_ctx),
+ resource_group=namespace.resource_group_name,
+ namespace='Microsoft.ManagedIdentity',
+ type='userAssignedIdentities',
+ name=namespace.storage_account_managed_identity
+ )
+
+
# Validate domain service.
def validate_domain_service(cmd, namespace):
from azure.cli.core.commands.client_factory import get_subscription_id
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/azure-cli-hdinsight-0.3.0/azure/cli/command_modules/hdinsight/commands.py
new/azure-cli-hdinsight-0.3.5/azure/cli/command_modules/hdinsight/commands.py
---
old/azure-cli-hdinsight-0.3.0/azure/cli/command_modules/hdinsight/commands.py
2019-01-25 20:43:40.000000000 +0100
+++
new/azure-cli-hdinsight-0.3.5/azure/cli/command_modules/hdinsight/commands.py
2019-06-13 23:17:46.000000000 +0200
@@ -14,27 +14,27 @@
from ._client_factory import cf_hdinsight_script_actions
hdinsight_clusters_sdk = CliCommandType(
-
operations_tmpl='azure.mgmt.hdinsight.operations.clusters_operations#ClustersOperations.{}',
+
operations_tmpl='azure.mgmt.hdinsight.operations#ClustersOperations.{}',
client_factory=cf_hdinsight_clusters
)
hdinsight_script_actions_sdk = CliCommandType(
-
operations_tmpl='azure.mgmt.hdinsight.operations.script_actions_operations#ScriptActionsOperations.{}',
+
operations_tmpl='azure.mgmt.hdinsight.operations#ScriptActionsOperations.{}',
client_factory=cf_hdinsight_script_actions
)
hdinsight_applications_sdk = CliCommandType(
-
operations_tmpl='azure.mgmt.hdinsight.operations.applications_operations#ApplicationsOperations.{}',
+
operations_tmpl='azure.mgmt.hdinsight.operations#ApplicationsOperations.{}',
client_factory=cf_hdinsight_applications
)
hdinsight_extensions_sdk = CliCommandType(
-
operations_tmpl='azure.mgmt.hdinsight.operations.extensions_operations#ExtensionsOperations.{}',
+
operations_tmpl='azure.mgmt.hdinsight.operations#ExtensionsOperations.{}',
client_factory=cf_hdinsight_extensions
)
hdinsight_locations_sdk = CliCommandType(
-
operations_tmpl='azure.mgmt.hdinsight.operations.locations_operations#LocationsOperations.{}',
+
operations_tmpl='azure.mgmt.hdinsight.operations#LocationsOperations.{}',
client_factory=cf_hdinsight_locations
)
@@ -89,3 +89,6 @@
g.show_command('show', 'get_monitoring_status')
g.custom_command('enable', 'enable_hdi_monitoring')
g.command('disable', 'disable_monitoring')
+
+ with self.command_group('hdinsight', is_preview=True):
+ pass
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/azure-cli-hdinsight-0.3.0/azure/cli/command_modules/hdinsight/custom.py
new/azure-cli-hdinsight-0.3.5/azure/cli/command_modules/hdinsight/custom.py
--- old/azure-cli-hdinsight-0.3.0/azure/cli/command_modules/hdinsight/custom.py
2019-01-25 20:43:40.000000000 +0100
+++ new/azure-cli-hdinsight-0.3.5/azure/cli/command_modules/hdinsight/custom.py
2019-06-13 23:17:46.000000000 +0200
@@ -23,6 +23,7 @@
ssh_username='sshuser', ssh_password=None,
ssh_public_key=None,
storage_account=None, storage_account_key=None,
storage_default_container=None,
storage_default_filesystem=None,
+ storage_account_managed_identity=None,
vnet_name=None, subnet=None,
domain=None, ldaps_urls=None,
cluster_admin_account=None, cluster_admin_password=None,
@@ -35,7 +36,7 @@
from azure.mgmt.hdinsight.models import ClusterCreateParametersExtended,
ClusterCreateProperties, OSType, \
ClusterDefinition, ComputeProfile, HardwareProfile, Role, OsProfile,
LinuxOperatingSystemProfile, \
StorageProfile, StorageAccount, DataDisksGroups, SecurityProfile, \
- DirectoryType, DiskEncryptionProperties, Tier
+ DirectoryType, DiskEncryptionProperties, Tier, SshProfile, SshPublicKey
validate_esp_cluster_create_params(esp, cluster_name, resource_group_name,
cluster_type,
subnet, domain, cluster_admin_account,
assign_identity,
@@ -99,13 +100,13 @@
raise CLIError('Either the default container or the default filesystem
can be specified, but not both.')
# Retrieve primary blob service endpoint
+ is_wasb = not storage_account_managed_identity
storage_account_endpoint = None
if storage_account:
- dfs = True if storage_default_filesystem else False
- storage_account_endpoint = get_storage_account_endpoint(cmd,
storage_account, dfs)
+ storage_account_endpoint = get_storage_account_endpoint(cmd,
storage_account, is_wasb)
# Attempt to infer the storage account key from the endpoint
- if not storage_account_key and storage_account:
+ if not storage_account_key and storage_account and is_wasb:
from .util import get_key_for_storage_account
logger.info('Storage account key not specified. Attempting to retrieve
key...')
key = get_key_for_storage_account(cmd, storage_account)
@@ -115,16 +116,20 @@
storage_account_key = key
# Attempt to provide a default container for WASB storage accounts
- if not storage_default_container and storage_account_endpoint \
- and _is_wasb_endpoint(storage_account_endpoint):
+ if not storage_default_container and is_wasb:
storage_default_container = cluster_name
logger.warning('Default WASB container not specified, using "%s".',
storage_default_container)
+ elif not storage_default_filesystem and not is_wasb:
+ storage_default_filesystem = cluster_name
+ logger.warning('Default ADLS file system not specified, using "%s".',
storage_default_filesystem)
# Validate storage info parameters
- if not _all_or_none(storage_account, storage_account_key,
- (storage_default_container or
storage_default_filesystem)):
+ if is_wasb and not _all_or_none(storage_account, storage_account_key,
storage_default_container):
raise CLIError('If storage details are specified, the storage account,
storage account key, '
- 'and either the default container or default filesystem
must be specified.')
+ 'and the default container must be specified.')
+ elif not is_wasb and not _all_or_none(storage_account,
storage_default_filesystem):
+ raise CLIError('If storage details are specified, the storage account,
'
+ 'and the default filesystem must be specified.')
# Validate disk encryption parameters
if not _all_or_none(encryption_vault_uri, encryption_key_name,
encryption_key_version):
@@ -152,7 +157,11 @@
linux_operating_system_profile=LinuxOperatingSystemProfile(
username=ssh_username,
password=ssh_password,
- ssh_public_key=ssh_public_key
+ ssh_profile=ssh_public_key and SshProfile(
+ public_keys=[SshPublicKey(
+ certificate_data=ssh_public_key
+ )]
+ )
)
)
@@ -202,6 +211,8 @@
key=storage_account_key,
container=storage_default_container,
file_system=storage_default_filesystem,
+ resource_id=None if is_wasb else storage_account,
+ msi_resource_id=storage_account_managed_identity,
is_default=True
)
)
@@ -218,7 +229,14 @@
for s in additional_storage_accounts
]
- cluster_identity = assign_identity and
build_identities_info([assign_identity])
+ assign_identities = []
+ if assign_identity:
+ assign_identities.append(assign_identity)
+
+ if storage_account_managed_identity:
+ assign_identities.append(storage_account_managed_identity)
+
+ cluster_identity = build_identities_info(assign_identities) if
assign_identities else None
domain_name = domain and parse_domain_name(domain)
if not ldaps_urls and domain_name:
@@ -308,10 +326,6 @@
return rg.location
-def _is_wasb_endpoint(storage_endpoint):
- return '.blob.' in storage_endpoint
-
-
# pylint: disable=unused-argument
def create_hdi_application(cmd, client, resource_group_name, cluster_name,
application_name,
script_uri, script_action_name,
script_parameters=None, edgenode_size='Standard_D3_V2',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/azure-cli-hdinsight-0.3.0/azure/cli/command_modules/hdinsight/util.py
new/azure-cli-hdinsight-0.3.5/azure/cli/command_modules/hdinsight/util.py
--- old/azure-cli-hdinsight-0.3.0/azure/cli/command_modules/hdinsight/util.py
2019-01-25 20:43:40.000000000 +0100
+++ new/azure-cli-hdinsight-0.3.5/azure/cli/command_modules/hdinsight/util.py
2019-06-13 23:17:46.000000000 +0200
@@ -23,7 +23,7 @@
return storage_account_key
-def get_storage_account_endpoint(cmd, storage_account, dfs):
+def get_storage_account_endpoint(cmd, storage_account, is_wasb):
from ._client_factory import cf_storage
from msrestazure.tools import parse_resource_id, is_valid_resource_id
host = None
@@ -37,16 +37,16 @@
resource_group_name=resource_group_name,
account_name=storage_account_name)
- def extract_endpoint(storage_account, dfs):
+ def extract_endpoint(storage_account, is_wasb):
if not storage_account:
return None
- return storage_account.primary_endpoints.dfs if dfs else
storage_account.primary_endpoints.blob
+ return storage_account.primary_endpoints.dfs if not is_wasb else
storage_account.primary_endpoints.blob
def extract_host(uri):
import re
return uri and re.search('//(.*)/', uri).groups()[0]
- host = extract_host(extract_endpoint(storage_account, dfs))
+ host = extract_host(extract_endpoint(storage_account, is_wasb))
return host
@@ -90,8 +90,8 @@
from msrestazure.tools import parse_resource_id, is_valid_resource_id
domain_name = None
if is_valid_resource_id(domain):
- parsed_subnet_id = parse_resource_id(domain)
- domain_name = parsed_subnet_id['resource_name']
+ parsed_domain_id = parse_resource_id(domain)
+ domain_name = parsed_domain_id['resource_name']
return domain_name
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/azure-cli-hdinsight-0.3.0/azure_cli_hdinsight.egg-info/PKG-INFO
new/azure-cli-hdinsight-0.3.5/azure_cli_hdinsight.egg-info/PKG-INFO
--- old/azure-cli-hdinsight-0.3.0/azure_cli_hdinsight.egg-info/PKG-INFO
2019-01-25 20:44:01.000000000 +0100
+++ new/azure-cli-hdinsight-0.3.5/azure_cli_hdinsight.egg-info/PKG-INFO
2019-06-13 23:18:26.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: azure-cli-hdinsight
-Version: 0.3.0
+Version: 0.3.5
Summary: Microsoft Azure Command-Line Tools HDInsight Command Module
Home-page: https://github.com/Azure/azure-cli
Author: Microsoft Corporation
@@ -20,6 +20,26 @@
Release History
===============
+ 0.3.5
+ +++++
+ * Support for using `--ssh-public-key` parameter in `hdinsight create`
command.
+
+ 0.3.4
+ +++++
+ * Upgrade azure-mgmt-storage from 3.1.1 to 3.3.0
+
+ 0.3.3
+ +++++
+ * Minor fixes.
+
+ 0.3.2
+ +++++
+ * `create`: added the `--storage-account-managed-identity` parameter
to support ADLS Gen2 MSI.
+
+ 0.3.1
+ +++++
+ * Minor fixes.
+
0.3.0
+++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/azure-cli-hdinsight-0.3.0/azure_cli_hdinsight.egg-info/requires.txt
new/azure-cli-hdinsight-0.3.5/azure_cli_hdinsight.egg-info/requires.txt
--- old/azure-cli-hdinsight-0.3.0/azure_cli_hdinsight.egg-info/requires.txt
2019-01-25 20:44:01.000000000 +0100
+++ new/azure-cli-hdinsight-0.3.5/azure_cli_hdinsight.egg-info/requires.txt
2019-06-13 23:18:26.000000000 +0200
@@ -1,4 +1,4 @@
-azure-mgmt-hdinsight==0.2.0
-azure-mgmt-storage==3.1.1
-azure-mgmt-network==2.4.0
+azure-mgmt-hdinsight==0.2.1
+azure-mgmt-network==3.0.0
+azure-mgmt-storage==3.3.0
azure-cli-core
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/azure-cli-hdinsight-0.3.0/setup.py
new/azure-cli-hdinsight-0.3.5/setup.py
--- old/azure-cli-hdinsight-0.3.0/setup.py 2019-01-25 20:43:40.000000000
+0100
+++ new/azure-cli-hdinsight-0.3.5/setup.py 2019-06-13 23:17:46.000000000
+0200
@@ -14,7 +14,7 @@
logger.warn("Wheel is not available, disabling bdist_wheel hook")
cmdclass = {}
-VERSION = "0.3.0"
+VERSION = "0.3.5"
CLASSIFIERS = [
'Development Status :: 4 - Beta',
'Intended Audience :: Developers',
@@ -30,9 +30,9 @@
]
DEPENDENCIES = [
- 'azure-mgmt-hdinsight==0.2.0',
- 'azure-mgmt-storage==3.1.1',
- 'azure-mgmt-network==2.4.0',
+ 'azure-mgmt-hdinsight==0.2.1',
+ 'azure-mgmt-network==3.0.0',
+ 'azure-mgmt-storage==3.3.0',
'azure-cli-core',
]