Я пытаюсь построить виртуальный жесткий диск с упаковщиком. Я следовал одному из основных примеров, но сборка не удалась сразу после удаления временной группы ресурсов со следующим сообщением:
==> Some builds didn't complete successfully and had errors:
--> azure-arm: storage: service returned error: StatusCode=403, ErrorCode=AuthenticationFailed, ErrorMessage=Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature.
Вот мой шаблон:
{
"builders": [{
"type": "azure-arm",
"client_id": "myclientid",
"client_secret": "myclientsecret",
"resource_group_name": "packer",
"storage_account": "packerstorage",
"subscription_id": "mysubscriptionid",
"tenant_id": "mytenantid",
"capture_container_name": "images",
"capture_name_prefix": "packerimage",
"os_type": "Linux",
"image_publisher": "Canonical",
"image_offer": "UbuntuServer",
"image_sku": "14.04.4-LTS",
"azure_tags": {
"dept": "engineering"
},
"location": "East US",
"vm_size": "Standard_A2"
}],
"provisioners": [{
"execute_command": "chmod +x {{ .Path }}; {{ .Vars }} sudo -E sh '{{ .Path }}'",
"inline": [
"/usr/sbin/waagent -force -deprovision+user && export HISTSIZE=0 && sync"
],
"inline_shebang": "/bin/sh -x",
"type": "shell"
}]
}
Я пробовал с хранилищем v1, хранилищем v2, избыточностью lrs, но на данный момент я не уверен, что мне не хватает. Я создал учетную запись хранения в той же группе ресурсов, установленной в resource_group_name
, и убедился, что используемое приложение имеет роль владельца, унаследованную от моей подписки.