-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unable to deploy bundle due to incompatible API version #48
Comments
Hi @migldasilva, apologies for the confusion around compatibility. I believe Azure TRE is still using Porter v0.38.13, which is not compatible with the v1 releases of the azure plugin. When you have both Porter v0.38.13 and Azure plugin v0.11.2 installed, can you run the following command to verify and then reply back with the error message received when you try to run a bundle? I am hoping that once we are sure that the versions used are compatible that the bundle will run successfully.
|
Hello @carolynvs , thank you so much for the support. Actually, the newest version of AzureTRE (0.6.0) is using porter v0.38.13. However, the version I'm deploying (it's, version 0.4.3) is using porter v0.38.12. Here is the info you asked for:
I have just prepared everything to start trying AzureTRE using porter v0.38.12 and Azure Plugins v0.11.2. I'll keep you posted. |
Unfortunately, no luck. The same error still shows up even though Porter v0.38.13 and Azure Plugins v0.11.2 are being used.
Actually, something got my attention now. After the Plugin and Client versions are printed, a JSON object is also printed. Which component is generating this message? I may be wrong, but it really looks like Terraform's debug output. Besides, another question, which is "problematic API" is this case? I mean, there seems to be an incompatibility between an API and the Azure Plugins. Is this an Azure Key Vault API? Thanks. |
You're right that this looks like an error message from terraform, because we are using the same plugin framework (hashicorp/go-plugin) to communicate between Porter and Porter's plugins. The error indicates that Porter is on the secrets protocol version 1, but the plugin itself is on the newer version 2 (which is only compatible with Porter v1). Do you have more information about how this is being run? Based on the output of the commands for If the bundle isn't public, or it would work better to do a screenshare, you can reach me at (removed) and we can set up a call to troubleshoot. |
Thanks for all the explanation. It's more than clear now. The environment I'm trying to run is using the regular artifacts available on the official AzureTRE repo. There's a Makefile available, and for setting everything up, it's supposed to be enough just to run The whole process takes from 1 to 2 hours to complete. I can follow the status on command line, or indirectly through Azure Web UI (for instance, I can see objects being added to the corresponding Azure subscription). Close to the end of the process, a step fails. I've been debugging the Makefile rules that create the failing bundle. Everything seems fine. Such rule is executed inside a DevContainer attached to VisualStudio Code. During the container creation, the following artifacts are installed:
Originally, all these artifacts were installed in the latest version. However, I have pinned them all (it means that I had to change a Dockerfile and the Bash script installing these components). Porter is download from https://cdn.porter.sh, and plunins/mixins are installed using Porter (i.e., When this DevContainer is running I can execute porter in order to check all the versions. They are indeed the ones I selected for insatllation. And as far as I could track, Porter, plugins and mixins are not changed/upgraded/installed during bundle generation, or when any of the available Makefile rules are executed. I couldn't figure out how a non-compatible version is being dragged into the scenario! Thanks! |
I could dig down to the root! Essentially, AzureTRE is packaged so that Porter and its plugins are installed multiple times, in different containers. Such containers are used for installing the bundles. Thus, after pinning the desired versions in such containers, I can confirm that Porter version 0.38.12 and Azure Plugins v0.11.2 are compatible. Thank you all for the assistance. |
I've being using AzureTRE solution and lately I'm not unable to deploy one of the components. The error messages are shown below:
unable to resolve credential azure.azure_subscription_id from env ARM_SUBSCRIPTION_ID: could not connect to the secrets.azure.keyvault plugin: Incompatible API version with plugin. Plugin version: 2, Client versions: [1]
The same message repeats for 3 more variables:
ARM_CLIENT_ID
,ARM_CLIENT_SECRET
andARM_TENANT_ID
.Following Azure Plugins' documentation I found the following variables:
AZURE_CLIENT_ID
,AZURE_CLIENT_SECRET
andAZURE_TENANT_ID
. It seams that they correspond to the ones listed above.I already raised a ticket with AzureTRE team, giving that the error message does not make clear if it's due to the Azure Plugins, or something in Azure Key Vault.
So far I have tested all the combinations of the following versions:
Thank you very much.
The text was updated successfully, but these errors were encountered: