Azure / Azure/MachineLearningNotebooks
Docker image pull fails for workspaces created via Pulumi or Terraform
- Linguagem predominante
- Jupyter Notebook
- Estrelas
- 4.4k
- Forks
- 2.6k
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Descrição
I'm creating workspaces using infrastructure automation.
That means I create the workspace, keyvault, container registry, and storage account independently and pass them as inputs when creating the workspace resource. (code below)
In contrast to workspaces created through the Azure Portal, in this workspace *I cannot run data profile jobs*. This is true for both standard compute VMs and training clusters.
The data profile job fails with the error below:
```
AzureMLCompute job failed.
FailedPullingImage: Unable to pull docker image
imageName: mlresgistry47995d33.azurecr.io/azureml/azureml_83cea8d8015ba343d5ee43f9b331c069
err: Run docker command to pull public image failed with error: Error response from daemon: Get https://mlresgistry47995d33.azurecr.io/v2/azureml/azureml_83cea8d8015ba343d5ee43f9b331c069/manifests/latest: unauthorized: authentication required, visit https://aka.ms/acr/authorization for more information.
.
Reason: Error response from daemon: Get https://mlresgistry47995d33.azurecr.io/v2/azureml/azureml_83cea8d8015ba343d5ee43f9b331c069/manifests/latest: unauthorized: authentication required, visit https://aka.ms/acr/authorization for more information.
Info: Failed to prepare an environment for the job execution: Job environment preparation failed on 10.0.0.6 with err exit status 1.
```
Pulumi resource creation for reference:
```cs
var storageAccount = new StorageAccount("sa", new StorageAccountArgs
{
ResourceGroupName = rg.Name,
Sku = new SkuArgs
{
Name = SkuName.Standard_LRS
},
Kind = Kind.StorageV2,
Tags = tags
});
this.PrimaryStorageKey = Output.Tuple(rg.Name, storageAccount.Name).Apply(names =>
Output.CreateSecret(GetStorageAccountPrimaryKey(names.Item1, names.Item2)));
var appInsights = new AzureNative.Insights.Component("MLAppInsights", new AzureNative.Insights.ComponentArgs
{
ApplicationType = "web",
Kind = "web",
ResourceGroupName = rg.Name,
Tags = tags
});
var containerRegistry = new AzureNative.ContainerRegistry.Registry("MLResgistry", new AzureNative.ContainerRegistry.RegistryArgs
{
Sku = new AzureNative.ContainerRegistry.Inputs.SkuArgs
{
Name = "standard",
},
AdminUserEnabled = true,
ResourceGroupName = rg.Name,
Tags = tags
});
var keyVault = new AzureNative.KeyVault.Vault("MLKV", new AzureNative.KeyVault.VaultArgs
{
ResourceGroupName = rg.Name,
Tags = tags,
Properties = new AzureNative.KeyVault.Inputs.VaultPropertiesArgs
{
TenantId = config.Require("tenantId"),
EnabledForDeployment = true,
EnabledForDiskEncryption = true,
EnabledForTemplateDeployment = true,
AccessPolicies =
{
new AzureNative.KeyVault.Inputs.AccessPolicyEntryArgs
{
ObjectId = Output.Create(AzureNative.Authorization.GetClientConfig.InvokeAsync()).Apply(_ => _.ObjectId),
Permissions = new AzureNative.KeyVault.Inputs.PermissionsArgs
{
Certificates =
{
"all"
},
Keys =
{
"all"
},
Secrets =
{
"all"
},
},
TenantId = config.Require("tenantId"),
},
},
Sku = new AzureNative.KeyVault.Inputs.SkuArgs
{
Name = AzureNative.KeyVault.SkuName.Standard,
Family = AzureNative.KeyVault.SkuFamily.A
}
},
});
var workspace = new AzureNative.MachineLearningServices.Workspace("workspace", new AzureNative.MachineLearningServices.WorkspaceArgs
{
ApplicationInsights = appInsights.Id,
ContainerRegistry = containerRegistry.Id,
Description = "Azure ML Workspace",
FriendlyName = "Dev ML",
HbiWorkspace = false,
Identity = new AzureNative.MachineLearningServices.Inputs.IdentityArgs
{
Type = AzureNative.MachineLearningServices.ResourceIdentityType.SystemAssigned,
},
KeyVault = keyVault.Id,
ResourceGroupName = rg.Name,
Sku = new AzureNative.MachineLearningServices.Inputs.SkuArgs
{
Name = "Basic",
Tier = "Basic",
},
StorageAccount = storageAccount.Id,
WorkspaceName = "MyNewWorkspace",
});
```
Guia de contribuição
Nenhum guia de contribuição indexado para este repositório
Direção de pesquisa
Comece com o provisionamento do workspace do Pulumi/Terraform mostrado na issue e com a falha do job de perfil de dados do Azure Machine Learning; compare esses recursos criados independentemente com um workspace criado pelo Azure Portal. O trabalho estará concluído quando os jobs de perfil de dados forem executados com sucesso em VMs de computação padrão e clusters de treinamento sem o erro de autenticação FailedPullingImage.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- azure, csharp, machine-learning, terraform
- Domínio
- cloud, infrastructure, machine-learning
- Tipo de issue
- Bug
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Status de atividade
- Estagnada
- Clareza
- Razoavelmente clara
- Facilidade para iniciantes
- 25/100