text:
Failing to find Subscription ID when targeting AzureUSGovernment Tenant

Package Name:  MLClient
Package Version:  SDK V2
Operating System:  AML Compute Instance STANDARD_DS11_V2
Python Version: Python 3.10

Describe the bug
After initializing an instance of the MLClient module, executing any of it's methods results in the error below.
To Reproduce
Steps to reproduce the behavior:
Pre-requirements:

Have an AzureUSGovernment tenant and subscrition
Have an AML Workspace created, along with a Compute Instance
Have a Service Principal created in the above subscription, and given a "Contributor" role assignment to the AML Workspace
Run a notebook in AML using the compute instance, and updating the placeholder environment variables:

from azure.ai.ml.entities import AmlCompute
from azure.ai.ml import MLClient
from azure.identity import DefaultAzureCredential, AzureAuthorityHosts, EnvironmentCredential

import traceback

# Set ENV Variables

os.environ["AZURE_CLIENT_SECRET"] = "<value>"
os.environ["AZURE_CLIENT_ID"] = "<value>"
os.environ["AZURE_TENANT_ID"] = "<value>"
os.environ["AZURE_AUTHORITY_HOST"] = AzureAuthorityHosts.AZURE_GOVERNMENT

credentials = DefaultAzureCredential(
    interactive_browser_tenant_id=os.environ["AZURE_TENANT_ID"],
    authority=AzureAuthorityHosts.AZURE_GOVERNMENT
    )

ml_client = MLClient(
    credential=credentials,
    subscription_id="<value>",
    resource_group_name="<value>",
    workspace_name="<value>",
    cloud="AzureUSGovernment",
)

# Name assigned to the compute cluster
cpu_compute_target = "cpu-cluster-2"

try:
    # let's see if the compute target already exists
    cpu_cluster = ml_client.compute.get(cpu_compute_target)
    print(
        f"You already have a cluster named {cpu_compute_target}, we'll reuse it as is."
    )

except Exception:
    print("Creating a new cpu compute target...")

    # Let's create the Azure ML compute object with the intended parameters
    cpu_cluster = AmlCompute(
        name=cpu_compute_target,
        # Azure ML Compute is the on-demand VM service
        type="amlcompute",
        # VM Family
        size="STANDARD_DS3_V2",
        # Minimum running nodes when there is no job running
        min_instances=0,
        # Nodes in cluster
        max_instances=4,
        # How many seconds will the node running after the job termination
        idle_time_before_scale_down=180,
        # Dedicated or LowPriority. The latter is cheaper but there is a chance of job termination
        tier="Dedicated",
    )

    # Now, we pass the object to MLClient's create_or_update method
    cpu_cluster = ml_client.compute.begin_create_or_update(cpu_cluster)

print(
    f"AMLCompute with name {cpu_cluster.name} is created, the compute size is {cpu_cluster.size}"
)

Expected behavior
The above code should result in either a new CPU Cluster being created, or printing out the message You already have a cluster named {cpu_compute_target}, we'll reuse it as is."
Screenshots
The actual behavior is an error:
ResourceNotFoundError: (SubscriptionNotFound) The subscription 'xxxxxxxxxxxxxxxx' could not be found.
Code: SubscriptionNotFound
Message: The subscription 'xxxxxxxxxxxxxxxx' could not be found.

The stack trace is:
Creating a new cpu compute target...
---------------------------------------------------------------------------
ResourceNotFoundError                     Traceback (most recent call last)
Input In [8], in <cell line: 13>()
     13 try:
     14     # let's see if the compute target already exists
---> 15     cpu_cluster = ml_client_6.compute.get(cpu_compute_target)
     16     print(
     17         f"You already have a cluster named {cpu_compute_target}, we'll reuse it as is."
     18     )

File /anaconda/envs/azureml_py310_sdkv2/lib/python3.10/site-packages/azure/ai/ml/_telemetry/activity.py:169, in monitor_with_activity.<locals>.monitor.<locals>.wrapper(*args, **kwargs)
    168 with log_activity(logger, activity_name or f.__name__, activity_type, custom_dimensions):
--> 169     return f(*args, **kwargs)

File /anaconda/envs/azureml_py310_sdkv2/lib/python3.10/site-packages/azure/ai/ml/_operations/compute_operations.py:75, in ComputeOperations.get(self, name)
     67 """Get a compute resource
     68
     69 :param name: Name of the compute
   (...)
     72 :rtype: Compute
     73 """
---> 75 response, rest_obj = self._operation.get(
     76     self._operation_scope.resource_group_name,
     77     self._workspace_name,
     78     name,
     79     cls=get_http_response_and_deserialized_from_pipeline_response,
     80 )
     81 # TODO: Remove warning logging after 05/31/2022 (Task 1776012)

File /anaconda/envs/azureml_py310_sdkv2/lib/python3.10/site-packages/azure/core/tracing/decorator.py:83, in distributed_trace.<locals>.decorator.<locals>.wrapper_use_tracer(*args, **kwargs)
     82 if span_impl_type is None:
---> 83     return func(*args, **kwargs)
     85 # Merge span is parameter is set, but only if no explicit parent are passed

File /anaconda/envs/azureml_py310_sdkv2/lib/python3.10/site-packages/azure/ai/ml/_restclient/v2022_01_01_preview/operations/_compute_operations.py:577, in ComputeOperations.get(self, resource_group_name, workspace_name, compute_name, **kwargs)
    576 if response.status_code not in [200]:
--> 577     map_error(status_code=response.status_code, response=response, error_map=error_map)
    578     error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)

File /anaconda/envs/azureml_py310_sdkv2/lib/python3.10/site-packages/azure/core/exceptions.py:105, in map_error(status_code, response, error_map)
    104 error = error_type(response=response)
--> 105 raise error

ResourceNotFoundError: (SubscriptionNotFound) The subscription '50ff9458-6372-4522-8227-327043deaef5' could not be found.
Code: SubscriptionNotFound
Message: The subscription '50ff9458-6372-4522-8227-327043deaef5' could not be found.

During handling of the above exception, another exception occurred:

ResourceNotFoundError                     Traceback (most recent call last)
Input In [8], in <cell line: 13>()
     24     cpu_cluster = AmlCompute(
     25         name=cpu_compute_target,
     26         # Azure ML Compute is the on-demand VM service
   (...)
     37         tier="Dedicated",
     38     )
     40     # Now, we pass the object to MLClient's create_or_update method
---> 41     cpu_cluster = ml_client_6.compute.begin_create_or_update(cpu_cluster)
     43 print(
     44     f"AMLCompute with name {cpu_cluster.name} is created, the compute size is {cpu_cluster.size}"
     45 )

File /anaconda/envs/azureml_py310_sdkv2/lib/python3.10/site-packages/azure/ai/ml/_telemetry/activity.py:169, in monitor_with_activity.<locals>.monitor.<locals>.wrapper(*args, **kwargs)
    166 @functools.wraps(f)
    167 def wrapper(*args, **kwargs):
    168     with log_activity(logger, activity_name or f.__name__, activity_type, custom_dimensions):
--> 169         return f(*args, **kwargs)

File /anaconda/envs/azureml_py310_sdkv2/lib/python3.10/site-packages/azure/ai/ml/_operations/compute_operations.py:116, in ComputeOperations.begin_create_or_update(self, compute, **kwargs)
    107 @monitor_with_activity(logger, "Compute.BeginCreateOrUpdate", ActivityType.PUBLICAPI)
    108 def begin_create_or_update(self, compute: Compute, **kwargs: Any) -> LROPoller:
    109     """Create a compute
    110
    111     :param compute: Compute definition.
   (...)
    114     :rtype: LROPoller
    115     """
--> 116     compute.location = self._get_workspace_location()
    117     compute._set_full_subnet_name(self._operation_scope.subscription_id, self._operation_scope.resource_group_name)
    119     compute_rest_obj = compute._to_rest_object()

File /anaconda/envs/azureml_py310_sdkv2/lib/python3.10/site-packages/azure/ai/ml/_operations/compute_operations.py:308, in ComputeOperations._get_workspace_location(self)
    307 def _get_workspace_location(self) -> str:
--> 308     workspace = self._workspace_operations.get(self._resource_group_name, self._workspace_name)
    309     return workspace.location

File /anaconda/envs/azureml_py310_sdkv2/lib/python3.10/site-packages/azure/core/tracing/decorator.py:83, in distributed_trace.<locals>.decorator.<locals>.wrapper_use_tracer(*args, **kwargs)
     81 span_impl_type = settings.tracing_implementation()
     82 if span_impl_type is None:
---> 83     return func(*args, **kwargs)
     85 # Merge span is parameter is set, but only if no explicit parent are passed
     86 if merge_span and not passed_in_parent:

File /anaconda/envs/azureml_py310_sdkv2/lib/python3.10/site-packages/azure/ai/ml/_restclient/v2022_01_01_preview/operations/_workspaces_operations.py:615, in WorkspacesOperations.get(self, resource_group_name, workspace_name, **kwargs)
    612 response = pipeline_response.http_response
    614 if response.status_code not in [200]:
--> 615     map_error(status_code=response.status_code, response=response, error_map=error_map)
    616     error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
    617     raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)

File /anaconda/envs/azureml_py310_sdkv2/lib/python3.10/site-packages/azure/core/exceptions.py:105, in map_error(status_code, response, error_map)
    103     return
    104 error = error_type(response=response)
--> 105 raise error

Additional context
I looked through the source code in _azure_environments.py file and also the _ml_client.py file to infer what environment variables and values I needed to pass into the MLClient constructor.  However, something doesn't appear to be working correctly.

Here is an example for running a notebook in Non-public cloud: https://github.com/Azure/azureml-examples/blob/main/sdk/python/jobs/multicloud-configuration.ipynb
You may need to pass the cloud name in the kwargs for MLClient.
# NOTE: cloud parameter is required in kwargs to signal mlclient to connect to the appropriate endpoints in Azure.
kwargs = {"cloud": "AzureChinaCloud"}
ml_client = MLClient(credential, subscription_id, resource_group, **kwargs)

Hi @harneetvirk , unfortunately I am still facing the same error.
Below is my latest attempt.
First I make sure that the authentication works (replacing the placeholder values with the correct values)
from azure.ai.ml.entities import AmlCompute
from azure.ai.ml import MLClient
from azure.identity import DefaultAzureCredential, AzureAuthorityHosts

# Set ENV Variables

os.environ["AZURE_USERNAME"] = "xxxxxxxxx"
os.environ["AZURE_PASSWORD"] = "xxxxxxxxx"
os.environ["AZURE_TENANT_ID"] = "xxxxxxxxxx"

kwargs = {"cloud": "AzureUSGovernment"}
credentials = DefaultAzureCredential(authority=AzureAuthorityHosts.AZURE_GOVERNMENT)

credentials.get_token("https://management.usgovcloudapi.net/.default")

This results in a successful authentication and token retrieval.
But then running the below command, after putting in the correct subscription ID, using the ML Client errors out.

ml_client = MLClient(
    credential=credentials,
    subscription_id="xxxxxxxxx",
    resource_group_name="xxxxxxxx",
    workspace_name="xxxxxxx",
    **kwargs,
)

print(ml_client)

# Get a list of workspaces in a resource group
for ws in ml_client.workspaces.list():
    print(ws.name, ":", ws.location, ":", ws.description)

error is
ResourceNotFoundError: (SubscriptionNotFound) The subscription '50ff9458-6372-4522-8227-327043deaef5' could not be found.
Code: SubscriptionNotFound
Message: The subscription '50ff9458-6372-4522-8227-327043deaef5' could not be found.

I can perform the following in an Azure US Gov ML Studio notebook targeting Python 3.10 - SDK V2 (default Compute) and it works.
Seems like there is a default version installed of azure-ai-ml at 2.4.1 that might be causing some issues.
---------CELL 1---------
pip list | grep azure
Output:
azure-ai-ml              2.4.1
azure-common             1.1.28
azure-core               1.22.1
azure-identity           1.10.0
azure-mgmt-core          1.3.0
azure-ml                 2.3.1
azure-storage-blob       12.9.0
azure-storage-file-share 12.7.0
Note: you may need to restart the kernel to use updated packages.
---------CELL 2---------
pip uninstall azure-ai-ml azure-ml -y
Output:
Found existing installation: azure-ai-ml 2.4.1
Uninstalling azure-ai-ml-2.4.1:
Successfully uninstalled azure-ai-ml-2.4.1
Found existing installation: azure-ml 2.3.1
Uninstalling azure-ml-2.3.1:
Successfully uninstalled azure-ml-2.3.1
Note: you may need to restart the kernel to use updated packages.
---------CELL 3---------
pip install --pre azure-ai-ml
Output:
Collecting azure-ai-ml
Downloading azure_ai_ml-1.0.0-py3-none-any.whl (4.0 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.0/4.0 MB 55.9 MB/s eta 0:00:00:00:010:01
Collecting azure-storage-blob<13.0.0,>=12.10.0
Downloading azure_storage_blob-12.14.1-py3-none-any.whl (383 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 383.2/383.2 kB 28.9 MB/s eta 0:00:00
Requirement already satisfied: azure-mgmt-core<2.0.0,>=1.3.0 in /anaconda/envs/azureml_py310_sdkv2/lib/python3.10/site-packages (from azure-ai-ml) (1.3.0)
Requirement already satisfied: azure-common<2.0.0,>=1.1 in /anaconda/envs/azureml_py310_sdkv2/lib/python3.10/site-packages (from azure-ai-ml) (1.1.28)
Requirement already satisfied: msrest>=0.6.18 in /anaconda/envs/azureml_py310_sdkv2/lib/python3.10/site-packages (from azure-ai-ml) (0.6.21)
Collecting strictyaml<=1.6.1
Downloading strictyaml-1.6.1.tar.gz (137 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 137.7/137.7 kB 11.9 MB/s eta 0:00:00
Preparing metadata (setup.py) ... done
Requirement already satisfied: azure-core!=1.22.0,<2.0.0,>=1.8.0 in /anaconda/envs/azureml_py310_sdkv2/lib/python3.10/site-packages (from azure-ai-ml) (1.22.1)
Requirement already satisfied: pydash<6.0.0 in /anaconda/envs/azureml_py310_sdkv2/lib/python3.10/site-packages (from azure-ai-ml) (4.9.0)
Requirement already satisfied: pyyaml<7.0.0,>=5.1.0 in /anaconda/envs/azureml_py310_sdkv2/lib/python3.10/site-packages (from azure-ai-ml) (6.0)
Requirement already satisfied: colorama<=0.4.4 in /anaconda/envs/azureml_py310_sdkv2/lib/python3.10/site-packages (from azure-ai-ml) (0.4.4)
Collecting azure-storage-file-datalake<13.0.0
Downloading azure_storage_file_datalake-12.9.1-py3-none-any.whl (238 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 238.8/238.8 kB 23.0 MB/s eta 0:00:00
Requirement already satisfied: tqdm<=4.63.0 in /anaconda/envs/azureml_py310_sdkv2/lib/python3.10/site-packages (from azure-ai-ml) (4.63.0)
Requirement already satisfied: pyjwt<3.0.0 in /anaconda/envs/azureml_py310_sdkv2/lib/python3.10/site-packages (from azure-ai-ml) (2.3.0)
Requirement already satisfied: marshmallow<4.0.0,>=3.5 in /anaconda/envs/azureml_py310_sdkv2/lib/python3.10/site-packages (from azure-ai-ml) (3.17.0)
Requirement already satisfied: typing-extensions<5.0.0 in /anaconda/envs/azureml_py310_sdkv2/lib/python3.10/site-packages (from azure-ai-ml) (3.10.0.2)
Requirement already satisfied: azure-storage-file-share<13.0.0 in /anaconda/envs/azureml_py310_sdkv2/lib/python3.10/site-packages (from azure-ai-ml) (12.7.0)
Requirement already satisfied: isodate in /anaconda/envs/azureml_py310_sdkv2/lib/python3.10/site-packages (from azure-ai-ml) (0.6.1)
Requirement already satisfied: jsonschema<5.0.0,>=4.0.0 in /anaconda/envs/azureml_py310_sdkv2/lib/python3.10/site-packages (from azure-ai-ml) (4.13.0)
Requirement already satisfied: six>=1.11.0 in /anaconda/envs/azureml_py310_sdkv2/lib/python3.10/site-packages (from azure-core!=1.22.0,<2.0.0,>=1.8.0->azure-ai-ml) (1.16.0)
Requirement already satisfied: requests>=2.18.4 in /anaconda/envs/azureml_py310_sdkv2/lib/python3.10/site-packages (from azure-core!=1.22.0,<2.0.0,>=1.8.0->azure-ai-ml) (2.28.1)
Requirement already satisfied: cryptography>=2.1.4 in /anaconda/envs/azureml_py310_sdkv2/lib/python3.10/site-packages (from azure-storage-blob<13.0.0,>=12.10.0->azure-ai-ml) (37.0.4)
Collecting msrest>=0.6.18
Downloading msrest-0.7.1-py3-none-any.whl (85 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 85.4/85.4 kB 10.9 MB/s eta 0:00:00
Collecting azure-core!=1.22.0,<2.0.0,>=1.8.0
Downloading azure_core-1.26.0-py3-none-any.whl (178 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 178.9/178.9 kB 21.4 MB/s eta 0:00:00
Collecting typing-extensions<5.0.0
Downloading typing_extensions-4.4.0-py3-none-any.whl (26 kB)
Requirement already satisfied: pyrsistent!=0.17.0,!=0.17.1,!=0.17.2,>=0.14.0 in /anaconda/envs/azureml_py310_sdkv2/lib/python3.10/site-packages (from jsonschema<5.0.0,>=4.0.0->azure-ai-ml) (0.18.1)
Requirement already satisfied: attrs>=17.4.0 in /anaconda/envs/azureml_py310_sdkv2/lib/python3.10/site-packages (from jsonschema<5.0.0,>=4.0.0->azure-ai-ml) (22.1.0)
Requirement already satisfied: packaging>=17.0 in /anaconda/envs/azureml_py310_sdkv2/lib/python3.10/site-packages (from marshmallow<4.0.0,>=3.5->azure-ai-ml) (21.3)
Requirement already satisfied: requests-oauthlib>=0.5.0 in /anaconda/envs/azureml_py310_sdkv2/lib/python3.10/site-packages (from msrest>=0.6.18->azure-ai-ml) (1.3.1)
Requirement already satisfied: certifi>=2017.4.17 in /anaconda/envs/azureml_py310_sdkv2/lib/python3.10/site-packages (from msrest>=0.6.18->azure-ai-ml) (2022.6.15)
Requirement already satisfied: python-dateutil>=2.6.0 in /anaconda/envs/azureml_py310_sdkv2/lib/python3.10/site-packages (from strictyaml<=1.6.1->azure-ai-ml) (2.8.2)
Requirement already satisfied: cffi>=1.12 in /anaconda/envs/azureml_py310_sdkv2/lib/python3.10/site-packages (from cryptography>=2.1.4->azure-storage-blob<13.0.0,>=12.10.0->azure-ai-ml) (1.15.1)
Requirement already satisfied: pyparsing!=3.0.5,>=2.0.2 in /anaconda/envs/azureml_py310_sdkv2/lib/python3.10/site-packages (from packaging>=17.0->marshmallow<4.0.0,>=3.5->azure-ai-ml) (3.0.9)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in /anaconda/envs/azureml_py310_sdkv2/lib/python3.10/site-packages (from requests>=2.18.4->azure-core!=1.22.0,<2.0.0,>=1.8.0->azure-ai-ml) (1.26.11)
Requirement already satisfied: charset-normalizer<3,>=2 in /anaconda/envs/azureml_py310_sdkv2/lib/python3.10/site-packages (from requests>=2.18.4->azure-core!=1.22.0,<2.0.0,>=1.8.0->azure-ai-ml) (2.1.0)
Requirement already satisfied: idna<4,>=2.5 in /anaconda/envs/azureml_py310_sdkv2/lib/python3.10/site-packages (from requests>=2.18.4->azure-core!=1.22.0,<2.0.0,>=1.8.0->azure-ai-ml) (3.3)
Requirement already satisfied: oauthlib>=3.0.0 in /anaconda/envs/azureml_py310_sdkv2/lib/python3.10/site-packages (from requests-oauthlib>=0.5.0->msrest>=0.6.18->azure-ai-ml) (3.2.0)
Requirement already satisfied: pycparser in /anaconda/envs/azureml_py310_sdkv2/lib/python3.10/site-packages (from cffi>=1.12->cryptography>=2.1.4->azure-storage-blob<13.0.0,>=12.10.0->azure-ai-ml) (2.21)
Building wheels for collected packages: strictyaml
Building wheel for strictyaml (setup.py) ... done
Created wheel for strictyaml: filename=strictyaml-1.6.1-py3-none-any.whl size=123931 sha256=7f10357971c55b3c29d2dbee29b816db58830ad42ac89258d28bd87636c1f5a7
Stored in directory: /home/azureuser/.cache/pip/wheels/fb/ca/49/3c5046dee736c4c938048ce89b236b1643ea83178517b5f88a
Successfully built strictyaml
Installing collected packages: typing-extensions, strictyaml, azure-core, msrest, azure-storage-blob, azure-storage-file-datalake, azure-ai-ml
Attempting uninstall: typing-extensions
Found existing installation: typing-extensions 3.10.0.2
Uninstalling typing-extensions-3.10.0.2:
Successfully uninstalled typing-extensions-3.10.0.2
Attempting uninstall: azure-core
Found existing installation: azure-core 1.22.1
Uninstalling azure-core-1.22.1:
Successfully uninstalled azure-core-1.22.1
Attempting uninstall: msrest
Found existing installation: msrest 0.6.21
Uninstalling msrest-0.6.21:
Successfully uninstalled msrest-0.6.21
Attempting uninstall: azure-storage-blob
Found existing installation: azure-storage-blob 12.9.0
Uninstalling azure-storage-blob-12.9.0:
Successfully uninstalled azure-storage-blob-12.9.0
Successfully installed azure-ai-ml-1.0.0 azure-core-1.26.0 azure-storage-blob-12.14.1 azure-storage-file-datalake-12.9.1 msrest-0.7.1 strictyaml-1.6.1 typing-extensions-4.4.0
Note: you may need to restart the kernel to use updated packages.
---------CELL 4---------
import logging
import requests
import os
from azure.ai.ml import MLClient
from azure.identity import AzureAuthorityHosts, DefaultAzureCredential
from azure.ai.ml.entities import Workspace

subscription_id = "YOUR_VALUE_HERE"
resource_group = "YOUR_VALUE_HERE"
workspace_name = "YOUR_VALUE_HERE"

logging.basicConfig()
logging.getLogger().setLevel(logging.DEBUG)

try:
    credential = DefaultAzureCredential(authority=AzureAuthorityHosts.AZURE_GOVERNMENT)
except Exception as ex:
    raise ex
print(credential)

try:
    kwargs = {"cloud": "AzureUSGovernment"}
    ml_client = MLClient(credential, subscription_id, resource_group, **kwargs)
except Exception as ex:
    raise ex

print(ml_client)

# Get a list of workspaces in a resource group
for ws in ml_client.workspaces.list():
    print(ws.name, ":", ws.location, ":", ws.description)

Could you please try to login to azure cli from the same machine from where you are running the notebooks and set the default subscription?
az cloud set -n AzureUSGovernment
az account set -s <SUBSCRIPTION-ID>

This should set the default subscription for you on the machine.
I have tried the following code snippet in Government cloud, and this is working with azure-ai-ml==1.0.0.
Had to update the call to create compute by appending .result() for LRO poller.
from azure.ai.ml.entities import AmlCompute
from azure.ai.ml import MLClient
from azure.identity import DefaultAzureCredential, AzureAuthorityHosts

import traceback

# Enter details of your subscription
subscription_id = "SOME-SUBSCRITION-ID-IN-GOVT-CLOUD"
resource_group = "test-rg-221005"
workspace_name = "est-usgovvirginia"
credentials = DefaultAzureCredential(authority=AzureAuthorityHosts.AZURE_GOVERNMENT)

kwargs = {"cloud": "AzureUSGovernment"}
ml_client = MLClient(credential, subscription_id, resource_group, **kwargs)

ml_client = MLClient(
    credential=credentials,
    subscription_id=subscription_id,
    resource_group_name=resource_group,
    workspace_name=workspace_name,
    cloud="AzureUSGovernment",
)
# Name assigned to the compute cluster
cpu_compute_target = "cpu-cluster-3"

try:
    # let's see if the compute target already exists
    cpu_cluster = ml_client.compute.get(cpu_compute_target)
    print(
        f"You already have a cluster named {cpu_compute_target}, we'll reuse it as is."
    )

except Exception:
    print("Creating a new cpu compute target...")

    # Let's create the Azure ML compute object with the intended parameters
    cpu_cluster = AmlCompute(
        name=cpu_compute_target,
        # Azure ML Compute is the on-demand VM service
        type="amlcompute",
        # VM Family
        size="STANDARD_DS3_V2",
        # Minimum running nodes when there is no job running
        min_instances=0,
        # Nodes in cluster
        max_instances=4,
        # How many seconds will the node running after the job termination
        idle_time_before_scale_down=180,
        # Dedicated or LowPriority. The latter is cheaper but there is a chance of job termination
        tier="Dedicated",
    )

    # Now, we pass the object to MLClient's create_or_update method
    cpu_cluster = ml_client.compute.begin_create_or_update(cpu_cluster).result()

print(
    f"AMLCompute with name {cpu_cluster.name} is created, the compute size is {cpu_cluster.size}"
)

Returned the following:
Creating a new cpu compute target...
AMLCompute with name cpu-cluster-3 is created, the compute size is STANDARD_DS3_V2

@adrian-gonzalez : I created a new Conda environment and installed the GA version of SDK (1.0.0) and tried running the notebook in usgovvirginia region to repro this issue but unfortunately, I was able to able to reproduce this issue after I configure the cloud name and account using CLI.
az cloud set -n AzureUSGovernment
az account set -s <SUBSCRIPTION-ID>

By default, the SDK or CLI tries to connect to public cloud.

Hi @harneetvirk  -
Please read through our previous comments.
The steps to reproduce the issue lies with azure-ai-ml v2.4.1.
it is this version that is the default when we are creating an instance of Azure Machine Learning, and therefore preventing our team from using this python package.

azure-ai-ml v2.4.1 is having some known issues and will be removed from CI from the next release and will be replaced with azure-ai-ml 1.0.0 from pypi. To unblock, please install azure-ai-ml 1.0.0 from pypi.

Thank you @harneetvirk . We can do that as a temporary workaround.
When is the next release slated for?
Can you confirm if once azure-ai-ml v2.4.1 is removed from CI, whether newly created AML instance won't have this issue moving forward?
Just want to be sure that from a developer experience, that teams creating new AML instances don't have to always manually downgrade the auzre-ai-ml package to 1.0.0

@xiangyan99  can you or @harneetvirk provide guidance on the remaining above questions? I would like to confirm that the issue is resolved and that the steps to reproduce no longer result in the issue prior to closing this issue out.

@adrian-gonzalez if you don't mind, could you open a new issue with the questions?
Thanks.

@xiangyan99  That doesn't seem efficient, are you sure we want to go that route? It'll effectively a copy of this issue to not duplicate the steps to reproduce and discussions.
Happy to do that if that's the approach

/unresolve

@xiangyan99 can you or @harneetvirk provide guidance on the remaining above questions? I would like to confirm that the issue is resolved and that the steps to reproduce no longer result in the issue prior to closing this issue out.

The new CI image has been released with SDK v2 package installed from pypi. Please create a new Compute Instance.

Thanks @harneetvirk!

authors: adrian-gonzalez harneetvirk kottofy xiangyan99


text:
azure-monitor-opentelemetry-exporter not compatible with latest opentelemetry-[api/sdk] 1.15.0

Package Name:  azure-monitor-opentelemetry-exporter
Package Version:  1.0.0b10
Operating System: Linux
Python Version:  3.10

Describe the bug
not compatible with opentelemetry-[api/sdk] 1.15.0
To Reproduce
Steps to reproduce the behavior:

pip install azure-monitor-opentelemetry-exporter
python3.10
from azure.monitor.opentelemetry.exporter import AzureMonitorLogExporter, AzureMonitorTraceExporter

see:
.tox/py310-sqlalchemy14-integration/lib/python3.10/site-packages/gmo/core/util/telemetry/__init__.py:8: in <module>
    from azure.monitor.opentelemetry.exporter import AzureMonitorLogExporter, AzureMonitorTraceExporter
.tox/py310-sqlalchemy14-integration/lib/python3.10/site-packages/azure/monitor/opentelemetry/exporter/__init__.py:7: in <module>
    from azure.monitor.opentelemetry.exporter.export.logs._exporter import AzureMonitorLogExporter
.tox/py310-sqlalchemy14-integration/lib/python3.10/site-packages/azure/monitor/opentelemetry/exporter/export/logs/_exporter.py:8: in <module>
    from opentelemetry.sdk._logs.severity import SeverityNumber
E   ModuleNotFoundError: No module named 'opentelemetry.sdk._logs.severity'

Expected behavior
import to work
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.

Thank you for your feedback @jabbera . We will investigate asap and get back to you

The PR is merged. However, since this is an ongoing issue, let's keep this open until the next release. I am looking into whether we can do a release before January. In the meantime, use OTel 1.14

There's another issue: when using the fixed version of the exporter with OTel 1.15, I consistently get the following warning:
...\site-packages\werkzeug\serving.py:716: ResourceWarning: unclosed <socket.socket fd=1304, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0> self.socket = socket.fromfd(fd, address_family, socket.SOCK_STREAM) ResourceWarning: Enable tracemalloc to get the object allocation traceback
I've determined that no commit in exporter 1.0.0b11 has caused this. It's too early to know. But it seems to be an issue with how opentelemetry-instrumentation-flask==0.36b0 or opentelemetry-instrumentation-wsgi==0.36b0 use Werkzeug. I've confirmed the fixed version of the exporter does still send telemetry correctly. However, since the new version needs to be pinned to 1.15, we'll be encouraging people to use 1.15 seems to have some issue that needs to be addressed.
I am not able to release the exporter as is because of the memory issue with OTel 1.15. Instead, we can pin the exporter to 1.12<=x<=1.14 before the module path was changed. That way, we can avoid the memory allocation issue as well as the severity import breaking change.

My release PR is approved. But my understanding is others have the exclusive permissions to merge it and trigger the release pipeline.
https://github.com/Azure/azure-sdk-for-python/pull/27958

@jabbera Please use newly released 1.0.0b11. It blocks OTel 1.15. Resolving issue.

source: gharchive/issue

authors: jabbera jeremydvoss kashifkhan

repo: Azure/azure-sdk-for-python

license: MIT

license_type: permissive

license_source: github-api


text:
Do Azure Cosmos DB full text functions (FullTextContains, FullTextScore, etc.) not support cross partition queries?

Hi, I'm trying to understand if Full Text Search (on Azure Cosmos DB Python SDK) isn't supported across partitions.
I'm led to believe this as a result of the following:

When I run this query to get a few documents from my Azure Cosmos DB collection using Full Text Search, where I provide the partition key (no cross partition querying enabled):

summary_nodes = self.cosmos.query_items(
    query="""
    SELECT c.id, c.text
    FROM c
    ORDER BY RANK FullTextScore(c.text, @text)
    """,
    partition_key="cbd31f95-a3a6-4a85-ba8a-67925980d37c",
    parameters=[
        {"name": "@text", "value": text},
    ],
    verbose=True,
)
print(summary_nodes)

I get the desired output:

[{'id': 'cbd31f95-a3a6-4a85-ba8a-67925980d37c', 'text': "The letter dated 11th October 2024...."}]

However, when I run the exact same query without providing the partition key with cross partition querying enabled:

summary_nodes = self.cosmos.query_items(
    query="""
    SELECT c.id, c.text
    FROM c
    ORDER BY RANK FullTextScore(c.text, @text)
    """,
    parameters=[
        {"name": "@text", "value": text},
    ],
    verbose=True,
    enable_cross_partition_query=True,
)
print(summary_nodes)

I'm met with the following error:

{"code":"BadRequest","message":"One of the input values is invalid.\r\nActivityId: 9c5f1c20-e0eb-4dcd-b965-c404a2af537b, Windows/10.0.20348 cosmos-netstandard-sdk/3.18.0"}

I've set up all indexing policies + full text policies correctly (as evident by the working code snippet).
Here are the policies for reference:
full_text_policy = {
    "defaultLanguage": "en-US",
    "fullTextPaths": [{"path": "/text", "language": "en-US"}],
}

# Reference: https://learn.microsoft.com/en-us/azure/cosmos-db/index-policy
indexing_policy = {
    "indexingMode": "consistent",
    "automatic": True,
    "includedPaths": [
        {
            "path": "/*",
        }
    ],
    "excludedPaths": [{"path": '/"_etag"/?', "path": "/vector/*"}],
    "fullTextIndexes": [
        {
            "path": "/text",
        }
    ],
    "vectorIndexes": [
        {
            "path": "/vector",
            "type": "quantizedFlat",
        }
    ],
}

In the above code snippets, I've used my own self.cosmos.query_items function - which is a function that shadows the Azure Cosmos Python SDK's container.query_items function, as follows:
def query_items(
    self,
    query: str,
    partition_key: str | None = None,
    verbose=False,
    parameters: List[Dict[str, object]] | None = None,
    **kwargs,
):
    try:
        items = list(
            self.container.query_items(
                query=query,
                parameters=parameters,
                partition_key=partition_key,
                **kwargs,
            )
        )
        if verbose:
            print("[AZCOSMOSDB]\tFound {0} items".format(len(items)))
        return items
    except exceptions.CosmosHttpResponseError as e:
        if verbose:
            print("[AZCOSMOSDB]\tCannot query items.")
            print(e.http_error_message)

Looking forward to any clarification - thank you for your time!

@simorenoh  - can you take a look?

Hi @sachintha180, thank you for opening this issue. This is actually a known gap in the FTS query feature for the service currently - parametrized cross partition queries using Order By Rank will not work. We are currently working on fixing this.
However, you can still get cross partition queries to work with FTS by sending the entire query directly, ie
query="SELECT c.id, c.text FROM c ORDER BY RANK FullTextScore(c.text, ['text-here']) ", or using string formatting directly using either %s or Python's .format string method on the query before sending it.
Do let me know if this answers your question or if there's anything else you need help with - I can also ping in this issue again once we have merged the fix on our end if you'd like.

It definitely does! - I was a bit hesitant in using string formatting due to SQL injection. But I'll write a few checks to overcome this prior formatting the query.
Thank you very much, looking forward to a ping when the issue is merged. Thank you for your time!

authors: Pilchie sachintha180 simorenoh


text:
[Monitor] Add Public Preview APIs of Metric Baseline

Generated from RestAPI PR: https://github.com/Azure/azure-rest-api-specs/pull/2049

Codecov Report

Merging #1710 into master will decrease coverage by 0.03%.
The diff coverage is 41.39%.

@@            Coverage Diff             @@
##           master    #1710      +/-   ##
==========================================
- Coverage   55.33%   55.29%   -0.04%
==========================================
  Files        4202     4215      +13
  Lines      100158   100436     +278
==========================================
+ Hits        55422    55540     +118
- Misses      44736    44896     +160

Impacted Files
Coverage Δ

...itor/azure/mgmt/monitor/models/retention_policy.py
62.5% <0%> (-8.93%)
:arrow_down:

...iagnostic_settings_category_resource_collection.py
66.66% <0%> (-13.34%)
:arrow_down:

...nitor/azure/mgmt/monitor/models/metric_settings.py
50% <0%> (-5.56%)
:arrow_down:

...tor/azure/mgmt/monitor/models/autoscale_profile.py
45.45% <0%> (-4.55%)
:arrow_down:

...onitor/azure/mgmt/monitor/models/scale_capacity.py
55.55% <0%> (-6.95%)
:arrow_down:

...t-monitor/azure/mgmt/monitor/models/time_window.py
55.55% <0%> (-6.95%)
:arrow_down:

...mt-monitor/azure/mgmt/monitor/models/recurrence.py
62.5% <0%> (-8.93%)
:arrow_down:

...-monitor/azure/mgmt/monitor/models/sms_receiver.py
50% <0%> (-5.56%)
:arrow_down:

...-monitor/azure/mgmt/monitor/models/scale_action.py
50% <0%> (-5.56%)
:arrow_down:

...mt-monitor/azure/mgmt/monitor/models/scale_rule.py
62.5% <0%> (-8.93%)
:arrow_down:

... and 81 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 0c191e5...ae48b11. Read the comment docs.

source: gharchive/pull-request

authors: AutorestCI codecov-io


text:
[AutoPR network/resource-manager] reverted methods removal

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/3163

(message created by the CI based on PR content)

This PR has been merged into https://github.com/Azure/azure-sdk-for-python/pull/2376


text:
Schedule operations rewire for feature and custom

Description
Please add an informative description that covers that changes made by the pull request and link all relevant issues.
If an SDK is being regenerated based on a new swagger spec, a link to the pull request containing these swagger spec changes has been included above.
All SDK Contribution checklist:

[ ] The pull request does not introduce [breaking changes]
[ ] CHANGELOG is updated for new features, bug fixes or other significant changes.
[ ] I have read the contribution guidelines.

General Guidelines and Best Practices

[ ] Title of the pull request is clear and informative.
[ ] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[ ] Pull request includes test coverage for the included changes.

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-ai-ml

authors: azure-sdk nemanjarajic


text:
[AutoRelease] t2-cosmosdb-2023-09-23-46388(can only be merged by SDK owner)

https://github.com/Azure/sdk-release-request/issues/4551
Live test success
https://dev.azure.com/azure-sdk/internal/_build?definitionId=984
BuildTargetingString
azure-mgmt-cosmosdb
Skip.CreateApiReview
true

issue link:https://github.com/Azure/sdk-release-request/issues/4551


text:
add test samples tracking

https://github.com/Azure/azure-sdk-for-python/issues/38197
TODO

~add to markdown/html/csv reports~
update power BI template

@microsoft-github-policy-service rerun


text:
[AutoPR datafactory/resource-manager] [Datafactory] Support create pipeline run with recovery mode

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/5239

(message created by the CI based on PR content)

Codecov Report

Merging #4396 into restapi_auto_datafactory/resource-manager will increase coverage by 1.16%.
The diff coverage is 52.49%.

@@                              Coverage Diff                              @@
##           restapi_auto_datafactory/resource-manager    #4396      +/-   ##
=============================================================================
+ Coverage                                      52.28%   53.44%   +1.16%
=============================================================================
  Files                                          10470    10284     -186
  Lines                                         226922   215872   -11050
=============================================================================
- Hits                                          118640   115380    -3260
+ Misses                                        108282   100492    -7790

Impacted Files
Coverage Δ

...ry/azure/mgmt/datafactory/models/vertica_source.py
62.5% <ø> (ø)
:arrow_up:

...ory/azure/mgmt/datafactory/models/impala_source.py
62.5% <ø> (ø)
:arrow_up:

...y/azure/mgmt/datafactory/models/mongo_db_source.py
62.5% <ø> (ø)
:arrow_up:

...zure/mgmt/datafactory/models/service_now_source.py
62.5% <ø> (ø)
:arrow_up:

.../azure/mgmt/datafactory/models/file_system_sink.py
62.5% <ø> (ø)
:arrow_up:

.../datafactory/models/document_db_collection_sink.py
62.5% <ø> (ø)
:arrow_up:

...ctory/azure/mgmt/datafactory/models/xero_source.py
62.5% <ø> (ø)
:arrow_up:

...tory/azure/mgmt/datafactory/models/drill_source.py
62.5% <ø> (ø)
:arrow_up:

...ctory/azure/mgmt/datafactory/models/oracle_sink.py
62.5% <ø> (ø)
:arrow_up:

...zure/mgmt/datafactory/models/azure_table_source.py
55.55% <ø> (ø)
:arrow_up:

... and 617 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 51a2757...a6e1d5b. Read the comment docs.

This PR has been merged into https://github.com/Azure/azure-sdk-for-python/pull/4381


text:
Simplify ConsistencyLevel and CosmosStruct

@thomastaylor312 and I are looking into simplifying the cosmos crate. This PR contains changes to two types that are indicative of the larger changes we would like to make.
In general these changes favor concrete types over traits. Some additional changes I'd like to make include but are not limited to:

Remove the CosmosClient trait and and rename CosmosStruct to CosmosClient.
Change the hyper_client field of CosmosStruct to client and make it a Box<dyn Client> . This is somewhat dependent on other work to abstract the client usage so implementations are not dependent on a particular http implementation.
Consolidate all the clients into one client CosmosClient (aka CosmosStruct)

This is great work ❤ . I think we probably want to merge https://github.com/Azure/azure-sdk-for-rust/pull/79 first since many modifications are probably going to create conflicts.

authors: MindFlavor rylev

repo: Azure/azure-sdk-for-rust


text:
Add default users to prod release plans

Share Release Plans created in PROD with the v-team so we can help diagnose problems and look at behaviors, specially while we do our initial rollout.
Ideally, Release Plans shouldn't have any permissions and anyone can access them

Both options to add default users to all release plans or removing the permissions would take the same amount of work. Since the future goal is to remove those permissions, I would suggest start removing them.
I have a question, in the Release Plans list view, what should be the filter? Only show the release plans for products from the selected service? Or show all of them? How could we avoid having too many records that are not relevant for the user?

I have a question, in the Release Plans list view, what should be the filter? Only show the release plans for products from the selected service? Or show all of them? How could we avoid having too many records that are not relevant for the user?

Great question. Having all will be too much noise. Filter by the service selected will work for our users (and not for the admins).
@ccbarragan how is this handled in the new UI?

As a first step, I modified the list of the Release Plans and now it shows all the release plans for the selected Service.
Also, I removed all permissions restrictions in the Release Planner APP, however, we must do the same for all other apps, since there is logic in them relying on users' permissions. To avoid this, the current users get added as an owner of the release plan whenever they click the link to open any Readiness App.
Opening this GitHub issue to keep track of those changes:
https://github.com/Azure/azure-sdk-tools/issues/6369

I forgot to summarize the changes that were made here. This is what changed:
In the Release Planner App

Brand new List of the release plans

Shows all the release plans for the selected service, not only the ones that are owned by the user
Searchable by: Name, Lifecycle stage, Product name, API type, Created by and Status.
UI enhancements: Responsive, cleaner, and leans toward the new proposed UI for the App.

Added Deeplink support for release plans

Release plans can be directly opened from a URL.
In the new "Summary" screen, added an option to copy a URL to easily share the current release plan

Added a warning in the Permissions section for a Release Planner, saying that permissions are getting deprecated in future versions, and there's no need to manually add users there anymore.

authors: JonathanCrd maririos

repo: Azure/azure-sdk-tools


text:
SDK Review Meeting - Tracking Azure Communication Services

This meeting was created by Jorge Garcia Hirota.

It will be used to Track the conversation in the informational Session for the Azure Communication Services Service.

Detailed meeting information and documents provided can be accessed here

Cancelled by: Jorge Garcia Hirota

repo: Azure/azure-sdk


text:
Spark 3 support

As Apache Spark 3.0.0 is now released, what is the timetable to support Spark 3 and Scala 2.12?

I'm getting the following exception when running on databricks 7.0.
	at com.microsoft.azure.sqldb.spark.config.SqlDBConfigBuilder.<init>(SqlDBConfigBuilder.scala:31) 	at com.microsoft.azure.sqldb.spark.config.Config$.apply(Config.scala:254) 	at com.microsoft.azure.sqldb.spark.config.Config$.apply(Config.scala:235) 	at line0419139fc8114231985e78f2bf75c46d25.$read$$iw$$iw$$iw$$iw$$iw$$iw.<init>(command-802367102285758:15) 	at line0419139fc8114231985e78f2bf75c46d25.$read$$iw$$iw$$iw$$iw$$iw.<init>(command-802367102285758:67) 	at line0419139fc8114231985e78f2bf75c46d25.$read$$iw$$iw$$iw$$iw.<init>(command-802367102285758:69) 	at line0419139fc8114231985e78f2bf75c46d25.$read$$iw$$iw$$iw.<init>(command-802367102285758:71) 	at line0419139fc8114231985e78f2bf75c46d25.$read$$iw$$iw.<init>(command-802367102285758:73) 	at line0419139fc8114231985e78f2bf75c46d25.$read$$iw.<init>(command-802367102285758:75) 	at line0419139fc8114231985e78f2bf75c46d25.$read.<init>(command-802367102285758:77) 	at line0419139fc8114231985e78f2bf75c46d25.$read$.<init>(command-802367102285758:81) 	at line0419139fc8114231985e78f2bf75c46d25.$read$.<clinit>(command-802367102285758) 	at line0419139fc8114231985e78f2bf75c46d25.$eval$.$print$lzycompute(<notebook>:7) 	at line0419139fc8114231985e78f2bf75c46d25.$eval$.$print(<notebook>:6) 	at line0419139fc8114231985e78f2bf75c46d25.$eval.$print(<notebook>) 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 	at java.lang.reflect.Method.invoke(Method.java:498) 	at scala.tools.nsc.interpreter.IMain$ReadEvalPrint.call(IMain.scala:745) 	at scala.tools.nsc.interpreter.IMain$Request.loadAndRun(IMain.scala:1021)

Thank you for your questions and ideas. There are no plans to support Spark 3.0.0 with this connector. Consider evaluating the
Apache Spark Connector for SQL Server and Azure SQL which is a newer connector. They are already tracking the request for Spark 3.0.0 support in the new connector.
I am closing this issue as there are no plans to address this request in this connector.

authors: arvindshmicrosoft lotsahelp tkasu

repo: Azure/azure-sqldb-spark


text:
When output=json is used for copy, some errors aren't outputted in a JSON friendly way

Which version of the AzCopy was used?
10.0.2-preview
Which platform are you using? (ex: Windows, Mac, Linux)
Windows
What command did you run?
I ran
copy "C:\Users\marayerm\Desktop\*" "https://redacted.blob.core.windows.net/one/?REDACTED" --overwrite=false --follow-symlinks --recursive --fromTo=LocalBlob --include "New Text Document.txt;" --output=json
when there is no file at C:\Users\marayerm\Desktop\New Text Document.txt
What problem was encountered?
Although output=json was specified, the output I received was failed to perform copy command due to error: cannot start job due to error: nothing can be uploaded, please use --recursive to upload directories., which is not JSON. I have seen other situations where this happens, but this is the easiest to reproduce. Basically, if output=json is used, then all output should be formatted as JSON objects.
How can we reproduce the problem in the simplest way?
Try to do a copy where the source does not exist.
Have you found a mitigation/solution?
No.

@MRayermannMSFT thanks for reporting this issue!
I've logged it to be fixed.

Another scenario where this happens is when uploading an empty folder.

This also happens if you do not have permissions to read the contents of the blob container/file system.

Fixed in 10.0.8.

authors: MRayermannMSFT zezha-msft

repo: Azure/azure-storage-azcopy


text:
Enabling TransferRequestHandler for all request

(This will include static content - The reason we do this is to enable us to have routes with period in them. i.e. with extensions)
Look at the issue #969
Essentially, Functions currently does not allow paths to have a period in them. for instance /index.html, etc etc. Proxies does allow users to have such paths. With Proxies merging with function this creates a problem. To enable such paths, we need to ensure that the manage module are executed for such path. There are a couple of way of enabling this as mentioned in the issue.
The change made here is a way of ensuring that TransferRequestHandler is invoked for all requests

@omkarmore83,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by .NET Foundation. We will now review your pull request.
Thanks,
.NET Foundation Pull Request Bot

repo: Azure/azure-webjobs-sdk-script


text:
Containerize the volume plugin

Sure you're aware of, but thought I'd voice my interest after using this plugin on a few machines and really liking it.
Documented here:
https://docs.docker.com/engine/extend/plugin_api/
Has plugins running as "special" docker containers, brought up before docker proper and shut down after docker stops.  Not sure of the impact of how they work on the fact you're using SMB tools/permissions/privileges.  I think you're already using some of the ideas, so might not be an issue.  Would make installing the plugin very simple and much cleaner however, when plugins come out of experimental.

@gjonespf we tried to containerize the driver, however the main problem is, the driver executes mount commands to mount SMB shares on Linux. When we containerize, the mounts are restricted to the container's namespace and therefore does not appear on the Linux host, thus not available to containers using the volumes. Last time I checked, this was a limitation of docker (or the Linux kernel).
If the situation has changed, we can take a look at containerizing the driver. BTW in the docs you sent, I don't see "running as special docker containers" reference. Could you please quote?

Indeed, wondered if this may be an issue.  Would suggest that issue (containerized mounts) should be upstream on docker, as I'd expect having mount tools working correctly for plugins would be pretty critical for anything doing volume plugins based on mount.  I raised the suggestion more as an easier way for people to install/update this driver.  That being said, I'm at a loss to find much on docker plugin infra at all, and current suggestion (on the page I linked) is to run them outside of containers (as you're already doing).
Re: "special" containers - I believe I read it on some Weave documentation, I'm unable to find much on plugins as containers tbh.
Also unsure as to how these fit into the existing Kubernetes plugin infrastructure.

Oh, for ref here is how the Weave team is doing it.  Looks like they've got separate Docker/CNI plugins.
https://github.com/weaveworks/weave/tree/master/plugin

Would suggest that issue (containerized mounts) should be upstream on docker

It's here:

https://github.com/docker/docker/issues/10088
https://github.com/docker/docker/issues/14630
https://github.com/docker/docker/issues/17034

Looks like it is merged now. Perhaps we should give it a try. This was the only reason we could not containerize the plugin back in the day.

Everything I read pretty much implies to me that volume plugins are still very experimental.

Volume plugins support have been out for pretty long and the API has gone many revisions, I think things have settled down at this point and we have a stable mechanism.
I'm changing the title to reflect the latest here.

Nice work, yeah those items look a good reflection.  Experimental - agreed, it's been around for a year or two, just wasn't seeing much documentation to help you out.  Expect if the mounts work, then it's "just" a case of sorting out how to build plugin api wrapper to handle mounting etc commands.

@ahmetb
hi, is this likely to happen please?  I note the the "docker-for-azure" project has implemented this with their "cloudstor" plugin (https://docs.docker.com/docker-for-azure/persistent-data-volumes/) but that is only (officially) available if using that project, and it is closed source with minimal docs.
Enabling mounting Azure storage using docker plugin would be very useful.  Otherwise it severely limits the use of Docker on Azure.

@markvr as @ahmetb is now working at Kubernetes would expect that it's not high on his priority list, and don't blame him.  I'm still keen on this, but have started looking at other avenues to solve same problem.  Docker plugin infra is finally maturing so would suggest it's getting easier for anyone to jump in and try this stuff out.

I would have hoped that Microsoft could have more than one person supporting their products.  I like the open source approach they've taken with a lot of things, but they seem to just abandon a lot of them as well, which makes it impossible to know if we can rely on them for production systems.

authors: ahmetalpbalkan gjonespf markvr powareverb

repo: Azure/azurefile-dockervolumedriver

license_source: bigquery


text:
Data property on Microsoft.KeyVault/vaults/keys defined as string but labeled with any

The Microsoft.KeyVault/vaults/keys resource type has a property called "data" within the "release_policy" object. In the swagger, it's defined as a string. But, it gets generated as "any".

This log entry may be relevant. The Swagger definition indicates that the data property should be base64-encoded bytes, and I'm not sure which Autorest type that would be translated into. The any type is used as a fallback when a field's type is not recognized.

It should be type string (it is just encoded string).
Examples here https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/template-functions-string#examples-2

The Bicep autorest plugin uses Autorest's ModelerFour framework, which applies a binary schema to base64 encoded strings. This seems appropriate for SDK generation, where the SDK would be responsible for taking a byte buffer and converting it to the expected wire format, but is probably not exactly what we want in Bicep.
@jlichwa If a user wants to supply a policy today in a Bicep or ARM JSON file, do they need to provide a base64-encoded string? I can put together a test if you don't know.

Yes, it needs to be a base64-encoded string.

authors: jackrichins jeskew jlichwa tfitzmac

repo: Azure/bicep-types-az


text:
Support to split template into multiple files?

Have you thought about supporting splitting one bicep files into multiple files within the same directory and merging them on build?
I find this a very neat feature in terraform to make larger templates with many resources easier to read - without using modules, that is a different use case for me.
Like:
storageaccounts.bicep
sqldb.bicep
keyvault.bicep

bicep build .
==> my_combined_arm_template.json

Some use cases I would use splitting:

logic app templates
everything which is enter in template as escaped JSON string. E.g. Log Analytivs workbooks.

Splitting and loading bicep files would be very useful feature.
As well as functions to load external files and preparing payloads using the bicep language.
Similar to terraform:

local variables
file function
yaml and json decode/encode

Also it would allow for modularity.

Sure, merging local files is a good feature. Take it one step further and support remote git files. That way we can get versioning too. Versioning is a must if you use the bicep file like a module.

Seconding this and also liking to add that this would be nice with modules.
For readability it would be nice to seperate a module into a folder with
resource.bicep
params.bicep
variables.bicep
outputs.bicep

It's a bit unfortunate, ARM JSON files interpreters don't support natively JSON Pointer (RFC 6901) (while we could probably imagine a pre-processor addind it!).
I had recently to compose a lot of JSON "definition" files (of my own) into a single object structure before loading them in memory.
And JSON Pointer definitely helped me managing complexity while being able to check consistency as part of my unit tests.
BTW I was already toying with ARM JSON files generation a few years ago leveraging Jinja2 :)
But as it's only "syntactic macros", a lot of semantic issues are not detected as they should and are with something like Bicep...

This would be great if we could split out Bicep files like that!
Any news on this?

Like I said in issue #7726 I would then also like to add parameters and expressions (to do some string manipulation if needed) to add re-use value (predefined template files for several resources with all the properties that are always the same in your organization)

Good Ask....For me I want parameters in a file and remaining code in another file. is it possible?
I have n number of resources to create, so it will be good and traceable if we have different file param and different file for resources/modules

When using Terraform, this template was the initial setup of other organizations', or tenants', spoke subscription.  It deployed a core set of resources to integrate with the common services/hub subscription.  They're split mostly by resource type plus Data Sources (Existing resources in Bicep), outputs, providers, and variables (Bicep Parameters).  It was deployed by the same team every time.  Modules are overkill for the resource types with multiple instances because they had different requirements for configurations such as 3 different Key Vaults: 1 for Customer Managed Keys, 1 for Certificates, and another for Secrets.  They each had a specific set of access for the service account creating them and their secrets/keys/certs and different network restrictions.  I simplified it down to a handful of variables/parameters that were required for each to basically just the name and location.  The *_permissions were the same for each tenant.
It's also easier for the team, which I've left, to maintain or update than as a single file which would be around 2000 lines of code.

@alex-frankel  Is this still being considered? One of our customers is hitting the limit and wants to know if there are any solutions.

@lddeiva - it's not being actively considered. Having said that, I don't think if we implemented this it would address the limit you are talking about. I am assuming you are talking about the 4MB template size limit? We have a separate work item to try to get that limit raised.

Would be very nice to split up NSG rules, Sentinel rules or Firewall rules (1 rule = 1 file). Also Azure workbooks, as already mentioned.

authors: JayDoubleu Lddeiva SPSamL TazzyMan alex-frankel enbridgeint jfe7 jikuja sebader sebbrochet takekazuomi thebeautiful thebenwaters

repo: Azure/bicep


text:
Bicep intellisense partially working

Bicep version
version 0.4.613
Describe the bug
typing res brings up intellisense options for resources
I cannot get intellisense to give me in between the quotes. Not specific to keyvaults.
typing resource kv '' should return Microsoft.Something/@date
Microsoft.KeyVault/vaults@2019-09-01
To Reproduce
install reinstall the vscode extension
Additional context
Once I get Microsoft.KeyVault/vaults@2019-09-01 loaded I get intellisense options for accesspolicies enablePurgeProtection enableRbacAuthorization and others.

@dairta, you're on a very old version of the Bicep extension. Could you try and repro this on the latest? (0.7.4)

uninstalling and reinstalling the 0.7.4 version still shows bicep --version
Bicep CLI version 0.4.613m My terminal launches in pwsh v7

I've looked at this and it's what I am experiencing on a new install.
https://github.com/Azure/bicep/issues/1780

The vs code extension and the bicep CLI are separate installs. Can you look at the version in VS code?

Also, separately, you also have two different versions of the bicep CLI installed. If that's not intention/desired, you can follow this to make sure you only have one:
https://docs.microsoft.com/en-us/azure/azure-resource-manager/bicep/installation-troubleshoot#multiple-versions-of-bicep-cli-installed

authors: alex-frankel anthony-c-martin dairta


text:
Bicept validation is wrong for Event Hub Namespace

When adding a new property to a "Microsoft.EventHub/namespaces@2022-01-01-preview" resource I get the following error:
The property "minimumTlsVersion" is not allowed on objects of type "EHNamespaceProperties". Permissible properties include "clusterArmId", "encryption", "privateEndpointConnections".
Per Microsoft's documentation this is a valid property.  https://learn.microsoft.com/en-us/azure/templates/microsoft.eventhub/namespaces?pivots=deployment-language-bicep

Can you share the bicep code you are using? Is this throwing an error in VS code or when you attempt to deploy the bicep file?

Closing due to no response

authors: SDanehy alex-frankel


text:
Build workflow improvements

Add action to log preview install scripts

Summarize dotnet test results into single comment rather than 4 separate comments

Split VSCode into build & test jobs. This means you get a working VSCode package even if there are lint or test failures.

Microsoft Reviewers: Open in CodeFlow

Checks are all passing - there are just some required checks which have been renamed, which explains why the PR shows this:


text:
Add support for providing environment var/values in a .env file read by dotenv.net

Discussed in https://github.com/Azure/data-api-builder/discussions/1361

Originally posted by glaucia86 March 25, 2023

Hi!
I would like to propose that we can make use of the .env file in the dab.config.json file.
As it already happens with the files generated by the SWA CLI: staticwebapp.database.config.json (example: HERE)
Because the connection string is very exposed, where it has extremely sensitive data such as: login, password and database name.

This issue is to add support for .env so that I can just put my sensitive data into the .env, if I don't need the complexity of having multiple configuration files.
This is separate from the current @env() feature where we need to set environment variables on the system.

Two libraries for this option:

https://github.com/tonerdo/dotnet-env
https://github.com/bolorundurowb/dotenv.net

Looking forward to this! :)

repo: Azure/data-api-builder


text:
chore: cherry pick for v1.0.0

What this PR does / why we need it:
Cherry pick main changes since v1.0.0-rc.2 for v1.0.0 release.
(cherry picked #608 #618 #621 #620 #622 #628 #631 #632 #635)
Which issue(s) this PR fixes (optional, using fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when the PR gets merged):
Fixes #
Special notes for your reviewer:

closing, fixed in PR #640

repo: Azure/eraser


text:
No documented way to deploy to consumption based linux functions (e.g. Python)

By now I spend several days trying to figure out how to deploy a Python function to a consumption based plan using this action and I have come to the conclusion that this is not possible. However, there is no warning or any indication about this. Please add either a documentation how to do it or a warning that it is not possible.
Setup

Python is supported only on a Linux-based hosting plan when it's running in Azure.

source
Function App

Operating System:Linux
App Service Plan Pricing plan: Y1 (consumption based)
Runtime version: 4.28.4.4
FUNCTIONS_WORKER_RUNTIME: python
FUNCTIONS_EXTENSION_VERSION: ~4

Action configuration
      - name: 'Run Azure Functions Action'
        uses: Azure/functions-action@v1
        id: fa
        with:
          app-name: ${{ env.AZURE_FUNCTIONAPP_NAME }}
          slot-name: ${{ env.AZURE_FUNCTIONAPP_SLOT }}
          package: ${{ env.AZURE_FUNCTIONAPP_PACKAGE_PATH }}
          publish-profile: ${{ secrets.AZURE_FUNCTIONAPP_PUBLISH_PROFILE }}
          respect-funcignore: true
          scm-do-build-during-deployment: true
          enable-oryx-build: true

The action is exactly in line with the example. The slot-name has been added or removed but is irrelevant for the behaviour.
Repository structure
The repository contains a Hello world application using exactly the setup of the official documentation
Behaviour
In essence the problem boils down to the possible states of the WEBSITE_RUN_FROM_PACKAGE environment variable in the Azure Function.
Without WEBSITE_RUN_FROM_PACKAGE
A newly created Azure Function does not have the environment variable set. Therefore, the execution of the azure function fails.
Error: Failed to deploy web package to App Service.
Error: Execution Exception (state: PublishContent) (step: Invocation)
Error:   When request Azure resource at PublishContent, zipDeploy : Failed to use /home/runner/work/_temp/temp_web_package_26238559607[44](XXXX)894.zip as ZipDeploy content
Error:     Package deployment using ZIP Deploy failed. Refer logs for more details.
Error: Deployment Failed!

Btw. there is no indication where to find the logs that the error message is referring to in case of the failure. The link to the xxx.scm.azurewebsites.net logs is only displayed in case of a successful deployment .
With WEBSITE_RUN_FROM_PACKAGE = 1
In this case the GitHub action runs through without an error. However, the deployed function is not visible in the Azure Portal. This is somewhat expected behaviour as the documentation clearly states that Linux Consumption based Functions need to set the value to a URL:

External package URL is the only supported deployment method for Azure Functions running on Linux in the Consumption plan
Source
Other source

With WEBSITE_RUN_FROM_PACKAGE =
The expected solution is to set the WEBSITE_RUN_FROM_PACKAGE to a URL that is created during the deployment of the function using this GitHub Action e.g. the value of the SCM_RUN_FROM_PACKAGE variable. However, in this scenario the GitHub Action also fails:
Error: Execution Exception (state: PublishContent) (step: Invocation)
Error:   When request Azure resource at PublishContent, zipDepoy : WEBSITE_RUN_FROM_PACKAGE in your function app is set to an URL. Please remove WEBSITE_RUN_FROM_PACKAGE app setting from your function app.
Error: Deployment Failed!

The suggested fix to remove the variable does unfortunately not work as stated above.
With WEBSITE_RUN_FROM_PACKAGE = anything else
For the sake of completeness I also tried to run the action with something else than the official options. As expected, the function fails with:
Error: Failed to deploy web package to App Service.
Error: Execution Exception (state: PublishContent) (step: Invocation)
Error:   When request Azure resource at PublishContent, zipDeploy : Failed to use /home/runner/work/_temp/temp_web_package_5530634294070984.zip as ZipDeploy content
Error:     Package deployment using ZIP Deploy failed. Refer logs for more details.
Error: Deployment Failed!

Conclusion
Given that none of the options results in a working Azure function I have to assume that it is just not possible to use this action for consumption based Linux functions. I would be more than happy if you could highlight my mistake.

WEBSITE_RUN_FROM_PACKAGE = 1 is not support of Linux app on Consumption plan. Documented here: https://learn.microsoft.com/en-us/azure/azure-functions/run-functions-from-deployment-package
WEBSITE_RUN_FROM_PACKAGE = URL will only work with this action if you are using service principle and not publish profile. Also, it will not support remote build.
If you want remote build, then used publish profile and pass remote build parameters with this action. Also, remove WEBSITE_RUN_FROM_PACKAGE app setting from your app.

Dear @patelchandni thanks a lot for summarizing the behaviour of WEBSITE_RUN_FROM_PACKAGE again.
Could you provide a working example of how to deploy a consumption based linux function with this action?

I have the same problem and I can't find a way to deploy in consumption mode (sku=Y1).

authors: mxmo0rhuhn patelchandni ricardolimadb

repo: Azure/functions-action


text:
Update dmr client to GA DTDL parser

Update dmr client to GA DTDL parser 1.0.52
And added a new test case according to Changes from Version 2 guildline

Resolving issue https://github.com/Azure/iot-plugandplay-models-tools/issues/197.

repo: Azure/iot-plugandplay-models-tools


text:
add weight to lightgmb

in our use case we need to include sample weight for model training, which is no available for LightGBMClassifier

this has been resolved with PR #426 , the fix will be in the next release of mmlspark v0.15.  You can test out the fix with the build here:
--packages
com.microsoft.ml.spark:mmlspark_2.11:0.14.dev30+2.gb5960fb
and --repositories
https://mmlspark.azureedge.net/maven

repo: Azure/mmlspark


text:
[BUG] Array of objects is not being evaluated correctly

Describe the bug
When trying to use a wildcard to evaluate an array of objects to validate if an object key exists in each array entry the rules are not evaluated properly:
{
    "name": "resourceName",
    "type": "Microsoft.Resources/deployments",
    "apiVersion": "2021-04-01",
    "resourceGroup": "resourceGroup",
    "properties": {
        "mode": "Incremental",
        "templateLink": {
            "id": "<Template-Link>"
        },
        "parameters": {
            "secretsObject": {
                "value": {
                    "secrets": [
                        {
                            "secretValue": "secret-value-1"
                        },
                        {
                            "secretValue": "secret-value-2"
                        }
                    ]
                }
            }
        }
    }
}

Rule:
"evaluation": {
  "resourceType": "Microsoft.Resources/deployments",
  "allOf": [
    {
      "path": "properties.parameters.secretsObject.value.secrets[*].secretName",
      "exists": true
    }
  ]
}

Expected behavior
It should fail without the need to add a specific evaluation to each array entry:
"path": "properties.parameters.secretsObject.value.secrets[0].secretName"
"path": "properties.parameters.secretsObject.value.secrets[1].secretName"

Reproduction Steps
Run the tool against a template like the example above.
Environment
No response

Hi @lucas-lelis, thanks for the feedback.
Since wildcards are evaluated based on whether or not the full path resolves to an existing property, I believe the issue here is that the rule isn't returning anything to evaluate since the property in question doesn't exist, so it's skipped.  This is somewhat mentioned in the rule authoring guide, but is not very clear on what's happening.

"When a wildcard is used, zero or more paths in the template will be found that match path. If zero paths are found, the operator in the Evaluation is skipped, as there is nothing to evaluate"

Can you try making a small modification to your rule and let us know if this works for you?
"evaluation": {
  "resourceType": "Microsoft.Resources/deployments",
  "allOf": [
    {
      "path": "properties.parameters.secretsObject.value.secrets[*]",
      "allOf": [
        {
          "path" : "secretName",
          "exists": true
        }
      ]
    }
  ]
}

The additional operator used for evaluating the remaining path after the wildcard isn't very intuitive, so I've created #247 to help with this.

Thx for the feedback @JohnathonMohr !
It did work as expected with those changes.

authors: JohnathonMohr lucas-lelis

repo: Azure/template-analyzer


text:
chore: repository governance

Repository governance update
This PR was automatically created by the AVM Team hive-mind using the grept governance tool.
We have detected that some files need updating to meet the AVM governance standards.
Please review and merge with alacrity.
Grept config source: git::https://github.com/Azure/Azure-Verified-Modules-Grept.git//terraform
Thanks! The AVM team :heart:

Supersceeded by #32


text:
chore: repository governance

Repository governance update
This PR was automatically created by the AVM Team hive-mind using the grept governance tool.
We have detected that some files need updating to meet the AVM governance standards.
Please review and merge with alacrity.
Grept config source: git::https://github.com/Azure/Azure-Verified-Modules-Grept.git//terraform
Thanks! The AVM team :heart:

Supersceeded by #67


text:
[TCGC] update references for #1463

Update references after merged #1463

All changed packages have been documented.

:white_check_mark: @azure-tools/typespec-azure-resource-manager
:white_check_mark: @azure-tools/typespec-client-generator-core

Show changes
@azure-tools/typespec-azure-resource-manager - feature ✏

x-ms-skip-url-encoding should be replaced with allowReserved

@azure-tools/typespec-client-generator-core - breaking ✏

The kind for unknown renamed from any to unknown.,> 2. The values property in SdkUnionType renamed to variantTypes.,> 3. The values property in SdkTupleType renamed to valueTypes.,> 4. The example types for parameter, response and SdkType has been renamed to XXXExampleValue to emphasize that they are values instead of the example itself.,> 5. The @format decorator is no longer able to change the type of the property.

@azure-tools/typespec-client-generator-core - fix ✏

Fix naming logic for anonymous model wrapped by HttpPart

@azure-tools/typespec-client-generator-core - breaking ✏

no longer export the SdkExampleValueBase

You can try these changes here

🛝 Playground
🌐 Website
📚 Next docs

authors: ArcturusZhang azure-sdk

repo: Azure/typespec-azure


text:
Extension issue

Issue Type: Bug
Extension Name: vscode-kubernetes-tools
Extension Version: 1.2.1
OS Version: Windows_NT x64 10.0.17763
VSCode version: 1.51.0

:warning: We have written the needed data into your clipboard. Please paste! :warning:

Should be fixed in 1.2.3 - please reopen if not

Should be fixed in 1.2.3 - please reopen if not

repo: Azure/vscode-kubernetes-tools


text:
Add a drill-down for Pods created by a Deployment.

This goes straight from Deployment -> Pods
Another option would be:
Deployment -> ReplicaSet -> Pods
If we'd rather, easy to do, let me know.

Comments addressed, please re-check.

@testforstephen comment addressed, please re-check.
Thanks!


text:
Fixes typo in RenewResponse action in WsTrust 1.3

There was a copy-paste error in one of the WsTrust 1.3 actions.

@gislikonrad I rebased on dev and squashed before I saw your pr, sorry. It is hard to see what your PR was now. Can you re-submit.

@gislikonrad I rebased on dev and squashed before I saw your pr, sorry. It is hard to see what your PR was now. Can you re-submit.

I merged my branch. Now you should be able to see the change. Do you still want me to resubmit the PR?

@gislikonrad thanks for catching this!

Sure

authors: brentschmaltz gislikonrad


text:
Jpwilli/locking

Adds locking to cache operations
Reverts projects to .net4.5
Upgrades projects to netcoreapp2.1 (redundant with Mark's other PR)
Adds tests

using System;

please add license blurb

Refers to: src/Shared/CrossPlatLock.cs:1 in d756837. [](commit_id = d756837b904e3e1c621279e3ffc719a5f2b5fce5, deletion_comment = False)

using System;

license

Refers to: tests/Microsoft.Identity.Extensions.Msal.UnitTests/MockTokenCache.cs:1 in d756837. [](commit_id = d756837b904e3e1c621279e3ffc719a5f2b5fce5, deletion_comment = False)

authors: JPWilli MarkZuber


text:
Cannot open the PPDF file, which is protected by RMS Android SDK

Protect a PDF file to PPDF file by RMS Android SDK
Open this PPDF by RMS Linux SDK
3 Get the a error message : This version is not supported.
Check the code, we found that the following functions have an exception error
ProtectedFileStream::Acquire

PS: Please use "catch (const rmscore::exceptions::RMSException& ex)" to get the exception
@prvijay , please take look this issue. Thank you.

@raeitan for investigation

Any update?

Hey,
I've updated the SDK to support pfile version 3 in the dev branch, please have a look and see if its working for you.
I'll need to run more tests before merging into master.
Thank you for pointing to the issue.

authors: Kammy6679 prvijay raeitan

repo: AzureAD/rms-sdk-for-cpp

license: mit


text:
Review of Develop

It's time to merge into master. All this code needs review.

I was thinking once every two weeks, but it doesn't really matter so long as master build and works

repo: BCCF-UBCO-AD/Orthanc-TMI


text:
PR for Warning label track hours issue 45(This issue is based off of branch: track_volunteer_hours_issue42)

This PR fixes issue #45
Summary:
The issue asked that there be a way for an admin to tell that a participant that has checked into or rsvp to an event be flagged if they have not completed all prerequisites for the event. In order to achieve this, we queried the database and pushed on to a list of all the eventIDs that were set as prerequisites to the program the participant is attending. We then queried the database using the eventIDS and pushed onto a list all the users who attended any of the prerequisite events, using this list we then checked how many times a user name appeared and created a conditional that required the user to appear as many times as the length of the eventIDs list. If the user met the amount they would stay on the list, if the user did not they would be removed from the list. After deleting duplicates we then passed the list to the HTML and used jinja to flag any users who appeared on the track hours page who were not on the list of eligible participants.
To Test:
There is a test function in the test suite labeled test_warning.py. Running this should pass.
You can also visit the URL: http://<YOURIP>/<PROGRAMID>/<EVENTID>/track_hours. This URL will display a table with every user set to attend or currently at the event, if any of them have not met the requirements for the event you will see a red warning icon. Hovering over this will display a ToolTip that will tell you that the user has not completed the prerequisites.
Notes: This branch is forked off over the branch listed in the title. If any changes are made to the listed branch this will have to be updated.

There are conflicts to resolve

repo: BCStudentSoftwareDevTeam/celts


text:
Display start time and last updated in action service table

See description. Opening branch feature/display-time to address.

@wshands Should I change out attributes for the timestamps, or should I just add two more columns?

Attributes added, columns rearranged to resemble file browser order per request of klearned. Current debate: leave all eleven columns, remove other items, or consolidate information?


text:
Use chunked transfer in AWS job store importing

Resolves #1515

@cket i tested this branch and it still raised the [Errno 104] Connection reset by peer Exception

Thanks @arkal for testing these changes as well!

The 10 Gb import/export test was removed and will be added as an issue.

authors: arkal cket ejacox


text:
added black and flake8 linters

The black code formatter in Python is an opinionated tool that formats your code in the best way possible and Flake8 is a powerful tool that checks our code’s compliance to PEP8. This will format and enhance the code quality whenever there is a PR in the repository or any changes done to .py file.
Fixes: #22

@RC99 I am participating through BITSoC. Please review.

repo: BITSoC/EmotionRecog


text:
🛑 Repo BSrE is down

In 466163b, Repo BSrE (https://gitlab-bsre.bssn.go.id/users/sign_in) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Repo BSrE is back up in 5f79828.

repo: BSrE-ID/monitor


text:
ItemGroupFromSeparatedList build task should accept an empty string and return an empty ItemGroup

ItemGroupFromSeparatedList build task should accept an empty string and return an empty ItemGroup
This work item was migrated from CodePlex
CodePlex work item ID: '6054'
Assigned to: 'tfabraham'
Vote count: '0'

[UnknownUser@2/18/2010]
Resolved with changeset 36776.

[UnknownUser@2/21/2013]

[UnknownUser@5/16/2013]

repo: BTDF/DeploymentFramework


text:
Feature: Add Knowledge of Inter-Application Dependency Stack

If application B relies on A, B has to be undeployed to redeploy A (for example B uses schemas contained in A).  It would really be cool if this "stack" could be defined in BTDF.  So if I'm fixing something in project A, B has to be undeployed, A has to be redeployed, then B has to be redployed.  This would be a feature only for the development environment.
For the QA/production environment MSI install, a super-deploy of multiple MSI's in the proper order would also be very nice.  Most applications that I've worked with are 5 to 25 inter-related applications with dependencies.  BTDF still is very helpful.  At one client, we had a spreadsheet of about 25 BT applications to deploy, and the proper order.  There was still a large chance the the admins would mess up the deploy if they were not careful.

This work item was migrated from CodePlex
CodePlex work item ID: '6130'
Vote count: '5'

[giuliov@3/9/2010]
I addressed this with a Powershell deploy script that works at a higher-level, and I think that is a more generic approach: in my script I take care of other pieces outside the BTS applications.

[tfabraham@3/9/2010]
I also believe that this belongs in a layer that exists above the individual solutions that use the Deployment Framework.  A meta-script that understands the dependencies and drives all of the individual solution deploy/undeploy cycles across multiple servers.  I do think that such a script can become part of the Deployment Framework package, just not a "core" component of the Framework itself.

[UnknownUser@3/11/2010]

[Rokhead@3/11/2010]
I could see where this would be useful.  Right now, it is a matter of the developer just "knowing" the stack, i.e. Install A, then B, then C.  Uninstall in reverse, C then B, then A.

[UnknownUser@5/18/2010]

[UnknownUser@6/7/2011]

[fkuiper@8/26/2011]
I've written a MsBuild script that does exactly what is in the description. It utilizes the targets 'DependsOn' attributes to maintain the stack so I've created a target for each package. Well actually I've create three targets for each package: PackageA, PacakageA_Remove and PackageA_Add. The first target is dependent on the last two:
PackageA --> dependson="PackageA_Remove;PackageA_Add"
If you add PackageB that relies on PackageA you also create the same three targets, but now you add two extra target dependencies:
PackageA_Remove --> dependson="PackageB_Remove"
PackageB_Add --> dependson="PackageA_Add"
The cool thing is that you know let MsBuild figure out in which order your packages need to be undeployed and deployed. If you have a stack of 25 packages and you need to add a new one you don't have to rearrange you whole script (as we used to do) but let MsBuild figure it out run time... as long as you have your dependencies in place.

[UnknownUser@10/20/2011]

[charliemott@11/14/2012]
This functionality will be provided within the BizTalk Administration Console in BizTalk 2013.  See here: http://adventuresinsidethemessagebox.wordpress.com/2012/11/07/biztalk-2013-beta-new-features-dependency-modelling-in-the-administration-console/

[UnknownUser@2/21/2013]

[sandernefs@5/10/2013]
Hi Ferdinand,
I believe you mean that you use MSBuild to figure out the dependencies and that you only need some sort of 'config' file, which would make life a lot easier.
Are you willing to share this script here as well?
Regards,
Sander

[fkuiper@5/17/2013]
Hi Sander,
I unfortunately can't share the entire script here (there is to much business information in it), but I can share some highlights :)
What I've done is I've written a MSBuild target file containing 4 targets:

Install feature
Deploy feature
Uninstall feature
Undeploy feature

(a feature in this context is one BTDF-msi by the way)
The install feature target looks something like this:
<Target Name="InstallFeature">
	<Message Text="Installing '$(FeatureName)'..." />
	<!-- Install and copy MSI to install dir -->
	<Exec Command="msiexec /i "$(FeatureName)-1.0.0.msi" /passive" WorkingDirectory="..\Packages" />
	<CreateItem Include="..\Packages\$(FeatureName)-1.0.0.msi">
		<Output ItemName="MsiToCopy" TaskParameter="Include" />
	</CreateItem>
	<Copy SourceFiles="@(MsiToCopy)" DestinationFiles="@(MsiToCopy->'c:\Program Files (x86)\$(FeatureName) for BizTalk\%(FileName)%(Extension)')" />
</Target>

And the Deploy feature something like this:
<Target Name="DeployFeature">
	<!-- Start deployment -->
	<Exec
		Command=".\Framework\DeployTools\EnvironmentSettingsExporter.exe EnvironmentSettings\SettingsFileGenerator.xml EnvironmentSettings"
		WorkingDirectory="c:\Program Files (x86)\$(FeatureName) for BizTalk\1.0\Deployment\"
		Condition="Exists('c:\Program Files (x86)\$(FeatureName) for BizTalk\1.0\Deployment\EnvironmentSettings\SettingsFileGenerator.xml')"
		/>
	<MsBuild
		Projects="c:\Program Files (x86)\$(FeatureName) for BizTalk\1.0\Deployment\$(FeatureName).Deployment.btdfproj"
		Properties="DeployBizTalkMgmtDB=$(BT_DEPLOY_MGMT_DB);Configuration=Server;SkipUndeploy=true;ENV_SETTINGS=c:\Program Files (x86)\$(FeatureName) for BizTalk\1.0\Deployment\$(ENV_SETTINGS_MASK)"
		/>
</Target>

Uninstall and undeploy are very simular in setup.
Ofcourse these target in itself will not do anything. There are more scripts. One is the 'main'-project file which will import all 'features' and contain the main targets 'Deploy' and 'Undeploy'
<Import Project="Deployment.Targets" />

<Import Project="Feature.ApplicationA.config" />
<Import Project="Feature.ApplicationB.config" />

<!-- Deploy alle packages -->
<Target Name="Deploy">
    <CallTarget Targets="@(BizTalkApplication->'%(Identity)_Add')" />
</Target>

<!-- Undeploy alle packages -->
<Target Name="Undeploy">
    <CallTarget Targets="@(BizTalkApplication->'%(Identity)_Remove')" />
</Target>

Last but not least there are the "feature config's" and that's where most of the magic happens:
<ItemGroup>
   <BizTalkApplication Include="ApplicationA"/>
</ItemGroup>

<Target Name="ApplicationA_Add" DependsOnTargets="">
	<MsBuild
		Projects="$(MSBuildProjectFile)"
		Targets="InstallFeature"
		Properties="FeatureName=ApplicationA"
		/>
	<MsBuild
		Projects="$(MSBuildProjectFile)"
		Targets="DeployFeature"
		Properties="FeatureName=ApplicationA"
		/>
</Target>

<Target Name="ApplicationA_Remove" DependsOnTargets="">
	<MsBuild
		Projects="$(MSBuildProjectFile)"
		Targets="UndeployFeature"
		Properties="FeatureName=ApplicationA"
		/>
	<MsBuild
		Projects="$(MSBuildProjectFile)"
		Targets="UninstallFeature"
		Properties="FeatureName=ApplicationA"
		/>
</Target>

The config for feature B contains exactly the same as the above, but ofcourse you have to replace ApplicationA with ApplicationB. When you start the main msbuild file and call target "Deploy" all the features are installed and deployed and removed in sequence. Now for the magic to happen you can use the "DependsOn" attribute for the "ApplicationA_Add" target like this:
<Target Name="ApplicationA_Add" DependsOnTargets="ApplicationB_Add">
	...
</Target>

Ofcourse you have to add the same dependancy to feature B when removing it, like this:
<Target Name="ApplicationB_Remove" DependsOnTargets="ApplicationA_Remove">
	...
</Target>

With this setting ApplicationB will allway be installed and deployed BEFORE ApplicationA and ApplicationA will allways be remove BEFORE ApplicationB.
And that's how I've solved the dependancy tree problem for our 27 (or so) individual BTDF-msi's.
Hope this will be helpfull to you.
Kind Regards,
Ferdinand.

[UnknownUser@10/14/2013]


text:
Ambient Lighting Support Removed

Was erroneously removed during the renderlist rewrite, needs to be part of the pbr render list.

@JohnNagle Published in rend3-pbr 0.1.1


text:
Add CloudWatch Logging

Added function that will write a log containing information about query parameters to AWS CloudWatch. Requires an AWS client to be present in the environment that can be accessed with boto3, as well as environment variables AWS_LOG_GROUP_NAME and AWS_LOG_STREAM_NAME. The values I have been using for these are 'data-service-queries-group' and  'data-service-queries-stream', respectively, but something like 'geoglows-service-queries-*' may be more appropriate, that is open for discussion.
@rileyhales @msouff

Hi @J-Ogden99
I'm merging your cloudwatch-logging branch directly into the branch I'm currently working on so I'll close this PR.

repo: BYU-Hydroinformatics/geoglows-rest-api


text:
Add PS5 DualSense support to Babylon.js

Once the DualSense gamepad is fully supported by PC and web, support for it should be added to Babylon.js' input systems.

@PolygonalSun can we close it??

@PolygonalSun can we close it??

None of the work for this has been merged into master but if we're fine with adding it now, I can have a PR up with a day or so.  It only required a new button enum,  value in the DeviceType enum, and updated detection logic (one additional line of code?).

Yes let's do it!

authors: PolygonalSun deltakosh


text:
Allow shader precompile by dividing effect and thinEngine

This PR presents a few changes to Effect and ThinEngine architecture to allow shader precompilation before an engine is constructed.
Using the following ode will allow you to generate create a (WebGL) Pipeline context using an existing context. While this is running you can do any other async tasks, like loading the Engine and its dependencies.
Note - the shader is being cached, so it will not be recompiled even if Babylon requests it. The important part is maintaining the generated shader name so that when an effect is created based on the shader code it will take the compiled shader from cache.
This code will precompile a provided shader:
import { generatePipelineContext } from '@babylonjs/core/Materials/effect.functions';
import { _preparePipelineContext, _stateObject, createPipelineContext } from '@babylonjs/core/Engines/thinEngine.functions';

export async function compileShader(
   id: string,
   context: WebGL2RenderingContext | WebGLRenderingContext,
   options: {
      vertex: string;
      fragment: string;
   },
): Promise<void> {
   await generatePipelineContext(
      {
         shaderNameOrContent: {
            vertexSource: options.vertex,
            fragmentSource: options.fragment,
         },
         key: id,
      },
      context,
      createPipelineContext,
      _preparePipelineContext,
   );
}

Of course it can be a little more complex than that. It is technically possible to "serialize" existing shaders and then pre-load them. Having said that, precompiling the standard shader(s) might be a bit challenging, depending on many different factors.

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

WebGL2 visualization test reporter:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14996/merge/testResults/webgl2playwright/index.html

Visualization tests for WebGPU (Experimental)
Important - these might fail sporadically. This is an optional test.
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14996/merge/testResults/webgpuplaywright/index.html

Visualization tests for WebGL 1 have failed. If some tests failed because the snapshots do not match, the report can be found at
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14996/merge/testResults/webgl1/index.html
If tests were successful afterwards, this report might not be available anymore.

Visualization tests for WebGL 1 have failed. If some tests failed because the snapshots do not match, the report can be found at
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14996/merge/testResults/webgl1/index.html
If tests were successful afterwards, this report might not be available anymore.

Visualization tests for WebGPU (Experimental)
Important - these might fail sporadically. This is an optional test.
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14996/merge/testResults/webgpuplaywright/index.html

WebGL2 visualization test reporter:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14996/merge/testResults/webgl2playwright/index.html

Visualization tests for WebGPU (Experimental)
Important - these might fail sporadically. This is an optional test.
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14996/merge/testResults/webgpuplaywright/index.html

Visualization tests for WebGPU (Experimental)
Important - these might fail sporadically. This is an optional test.
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14996/merge/testResults/webgpuplaywright/index.html

Visualization tests for WebGPU (Experimental)
Important - these might fail sporadically. This is an optional test.
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14996/merge/testResults/webgpuplaywright/index.html

LGTM, I think the only issue is the activeRequests that should stay attached to one engine and therefore not set in PreCompile case

Moved activerequests back to the engine. if someone use the .functions function they will need to deal with disposing the requests themselves

Discussed with @sebavan , merging this (dismissing his review)

authors: RaananW bjsplat


text:
FR: SSL authentication (mysql)

Hi,
I would like to propose support for authenticating via ssl (corresponding to the following command line arguments of the mysql client: --ssl-ca --ssl-cert --ssl-key).

Martin

I think the feature is worked in 2.0.1 version. Could you check if everything works?
@mleopold

authors: Bajdzis mleopold

repo: Bajdzis/vscode-database


text:
Validate user input with express-validator or joi

https://developer.mozilla.org/en-US/docs/Learn/Server-side/Express_Nodejs/forms

I would like try to solve this issue, but could you tell me which form you need to validate(file path)

Hello @martinyis,
Thank you for interest on this issue. The idea here is to validate user inputs in general. E.g.: login, add user... You can find forms in the views directory. You can also find the corresponding controllers in the controller folder.
Are you able to set up the project?

My preference is express-validator, but feel free to chose what you want https://www.freecodecamp.org/news/how-to-choose-which-validator-to-use-a-comparison-between-joi-express-validator-ac0b910c1a8c/


text:
allow ability to upload files

need to be able to press the upload button and have it do something

completed

repo: Banbury-inc/Athena


text:
Update Threading Semantics

This commit makes a few changes related to the threading setup in ConsumerApi and ProducerApi.
It addresses unclean shutdown of the java.util.concurrent.ExecutorService as well as fixing a potential deadlock scenario.
Prior to this commit an ExecutorService with a single thread was created in ConsumerApi.BlockingContext. For blocking IO operations an unbounded thread pool is recommended (https://typelevel.org/cats-effect/concurrency/basics.html#choosing-thread-pool). Preventing unbounded resource usage is the responsibility for calling code running on a bounded thread pool.
This commit also updates the ThreadFactory so that if multiple pools happen to be created, they will be given globally unique names.
Two new methods are added to the companion object of ConsumerApi to allow for the caller to provider their own Blocker if so desired.
Also, the shutdown of the thread pool prior to this commit only called (es: ExecutorService).shutdown(). This is not sufficient to shutdown an ExecutorService. The full process is actually quite involved (https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/ExecutorService.html). Thankfully cats-effect already provides this logic for us out of the box with Blocker.fromExecutorService.
Both the single threaded nature of the blocker and the shutdown semantics were issues. The impetus for this commit is that we were experiencing a deadlock around shutdown/restart of a fs2.Stream with Kafka4s related code. I strongly believe that one or both of these is the source of that issue, however even if it is not, these items should still be addressed.
This is a binary incompatible change.

@isomarcte Build failed:
The command "sbt ++$TRAVIS_SCALA_VERSION "scalafmtSbtCheck;scalafmtCheckAll"" exited with 1.

@isomarcte Is this still under development? There is now a conflict if we are still looking at this.

I think we are considering other approaches now. So I'll close this.

authors: coacoas isomarcte


text:
🛑 Hay River Health and Social Services Authority is down

In 5c827f2, Hay River Health and Social Services Authority (https://www.hrhssa.org/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Hay River Health and Social Services Authority is back up in 60883c5 after 7 minutes.

repo: Barctic/gnwt-monitor


text:
🛑 Lands is down

In a8cf9fe, Lands (https://www.lands.gov.nt.ca) was down:

HTTP code: 503
Response time: 8089 ms

Resolved: Lands is back up in 7cb3231 after 7 minutes.


text:
🛑 Education Culture and Employment is down

In 2f9d48c, Education Culture and Employment (https://www.ece.gov.nt.ca) was down:

HTTP code: 503
Response time: 10243 ms

Resolved: Education Culture and Employment is back up in 3d79942 after 9 minutes.


text:
🛑 Raystown Lake is down

In f61da82, Raystown Lake (https://www.raystown.org/ping.html) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Raystown Lake is back up in 4164e30.

repo: BarkleyREI-ArchiTECH/ArchiTECH-upptime


text:
fix: opt in to import.meta.* properties

Types of changes

[x] Bug fix (a non-breaking change which fixes an issue)
[ ] New feature (a non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Description
This is a very early PR to make this module compatible with changes we expect to release in Nuxt v5.
In Nuxt v3.7.0 we added support for import.meta.* (see original PR) and we've been gradually updating docs and moving across from the old process.* patterned variables.
As I'm sure you're aware, these variables are replaced at build-time and enable tree-shaking in bundled code.
This change affects runtime code (that is, that is processed by the Nuxt bundler, like vite or webpack) rather than code running in Node. So it really doesn't matter what the string is, but it makes more sense in an ESM-world to use import.meta rather than process.
(It might be worth updating the module compatibility as well to indicate it needs to have Nuxt v3.7.0+, but I'll leave that with you if you think this is a good approach.)
Checklist:

[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes (if not applicable, please state why)

Hey @danielroe
Thank you si much for this PR! I will merge it alongside other features and fixes for 1.3.0 version ;)

authors: Baroshem danielroe

repo: Baroshem/nuxt-security


text:
Скласти блок контактної інформації

Посилання на соцмережі (Facebook чи Instagram, інші), номер телефону чи адреса електронної скриньки, тощо. Може не всі лінки в світі, а тільки ті, що дійсно доречні.

Phone (Viber, Telegram): +380683627146
E-mail: kalitovskyi.bohdan@gmail.com
LinkedIn: linkedin.com/in/bohdan-kalitovskyi/
Facebook: facebook.com/barracuda713


text:
!myakish doesn't work

When I type in !myakish it doesn't kick anyone out

@ManobsTheChobs it's supposed to give you admin perms.


text:
Rust bindings

Just use rust-lang/rust-bindgen?
Also, Rust rewrite when??? (not happening lol but yes)

I'm doing this.

repo: BasedInc/libhat