Skip to content
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

How do I update the VM Size options for Linux VMs? #3980

Open
TonyWildish-BH opened this issue Jun 18, 2024 · 7 comments
Open

How do I update the VM Size options for Linux VMs? #3980

TonyWildish-BH opened this issue Jun 18, 2024 · 7 comments
Labels
question Further information is requested

Comments

@TonyWildish-BH
Copy link

Description

In my Azure TRE deployment I am trying to update the list of VM images and sizes for Linux VMs. I've modified the porter.yaml file (including changing version), and template_schema.json, and rebuilt the docker images, pushed them to the registry and registered them. So far, so good.

However, when I try to create a new VM from Guacamole, it doesn't offer the options for the new sizes/images.

Steps

The steps I have tried are:

  1. I've updated porter.yaml and template_schema.json and rebuilt the linux docker image, as mentioned. That didn't help.
  2. After that, I've tried bumping the version of the Guacamole service and rebuilding it. The rebuild worked, but I still don't see the new options.
  3. When I create a linux VM, I see that Guacamole is still using the old template version for it
  4. I've tried deleting the Guacamole service, no luck.
  5. I've verified that Guacamole is running the updated version, just in case, no luck.

So my question is, what's the detailed recipe for adding a new option to, say, the VM Size menu for a Linux VM?

@TonyWildish-BH TonyWildish-BH added the question Further information is requested label Jun 18, 2024
@tim-allen-ck
Copy link
Collaborator

Hey @TonyWildish-BH can you attach a snippet of your file changes?

@TonyWildish-BH
Copy link
Author

porter.yaml:

[...]
custom:
  # For information on vm_sizes and image_options, see README.me in the guacamole/user-resources folder
  vm_sizes:
    "2 CPU | 8GB RAM": Standard_D2s_v5
    "4 CPU | 16GB RAM": Standard_D4s_v5
    "8 CPU | 32GB RAM": Standard_D8s_v5
    "16 CPU | 64GB RAM": Standard_D16s_v5
    "32 CPU | 128GB RAM": Standard_D32s_v5
    "64 CPU | 256GB RAM": Standard_D64s_v5
  image_options:
    "Ubuntu 18.04":
      source_image_reference:
        publisher: canonical
[...]

template_schema.json:

[...]
    "vm_size": {
      "$id": "#/properties/vm_size",
      "type": "string",
      "title": "VM Size",
      "description": "Select size of VM",
      "enum": [
        "2 CPU | 8GB RAM",
        "4 CPU | 16GB RAM",
        "8 CPU | 32GB RAM",
        "16 CPU | 64GB RAM",
        "32 CPU | 128GB RAM",
        "64 CPU | 256GB RAM"
      ],
      "updateable": true
[...]

@Danny-Cooke-CK
Copy link
Collaborator

hi tony and you version update in the porter file ??

image

@TonyWildish-BH
Copy link
Author

TonyWildish-BH commented Jun 18, 2024 via email

@Danny-Cooke-CK
Copy link
Collaborator

Hi Tony. it is essentially as you have done already.
update the port file (including version)
update the template schema
rebuild the docker image
and then run the full pipeline. (we have a shortened one which just deploys the new bundle)
The above is a git deployment and your doing a manual deployment. There are 3 stages for a bundle, publish, register, deploy
so are you able to deploy using Git?

@TonyWildish-BH
Copy link
Author

thanks @Danny-Cooke-CK, it helps to know I'm on the right track.
Those are the steps I've done, and yes, manually, the github actions pipeline doesn't work well enough for us to use.

So, I go through these steps, I see my new container deployed in the ACR, and I've verified that the linux VM container does contain my changes (run locally and inspect the contents),

However, my Guacamole instance still uses the old template. I create a new linux VM, check the template version it uses, it's the old one. I've tried deleting my Guacamole service and creating a new one, that doesn't help, it still uses the old template.

I've even tried bumping the Guacamole version and building/deploying that, but that didn't help either.

Do I need to do something specific for Guacamole to pick up the new template?

@TonyWildish-BH
Copy link
Author

I finally worked around this by going into CosmosDB and toggling the current flag on the old and new versions to false and true, respectively.

It would be great to know why this didn't happen automatically, but at least I have a workaround now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

3 participants