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',
 ]
 


Reply via email to