Constraints 'cores=8 mem=32G' fails on azure/westus2

Bug #2047929 reported by Léo Schoukroun
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Canonical Juju
Incomplete
High
Jack Shaw

Bug Description

I'm struggling to understand instance selection with Azure.

For example if I deploy my app with --constraints 'cores=8 mem=32G' on region azure/westus2, it tries to provision a Standard_DC8s_v3 but fails because it does not support Ubuntu 22.04_lts gen1: The selected VM size 'Standard_DC8s_v3' cannot boot Hypervisor Generation '1'. If this was a Create operation please check that the Hypervisor Generation of the Image matches the Hypervisor Generation of the selected VM Size. If this was an Update operation please select a Hypervisor Generation '1' VM Size. For more information, see https://aka.ms/azuregen2vm

By trying to create manually on Azure I can confirm that Standard_DC8s_v3 with 22.04_lts gen1 on westus2 can not be provisioned.

Also if I run with --constraints 'instance-type=Standard_DC8s_v3' it fails with invalid constraint value: instance-type=Standard_DC8s_v3 and it is indeed not in the list so why would Juju pick this with the previous command?

With --constraints 'cores=8 mem=32G' on region azure/francecentral works fine and provisions a Standard B2ls v2 BUT its running 22_04-lts gen1.

My goal is to be able to run --constraints 'cores=8 mem=32G' on any region and make it work everytime (I don't really care if it ends up being a gen1 or gen2). Thanks in advance 🙏

I am running with Juju 3.2.4 on both client and controller.

Revision history for this message
Joseph Phillips (manadart) wrote :

This instance type can be run with a 22.04 base in the "centralus" region.

Based on a look through the logic, when we assemble the resources list, we make no use of `Locations` or `LocationInfo` in the `ResourceSKU` list that we get back.

This is from the SDK:

// READ-ONLY; A list of locations and availability zones in those locations where the SKU is available.
LocationInfo []*ResourceSKULocationInfo `json:"locationInfo,omitempty" azure:"ro"`

// READ-ONLY; The set of locations that the SKU is available.
Locations []*string `json:"locations,omitempty" azure:"ro"`

I believe we're missing a filter here.

Changed in juju:
status: New → Triaged
importance: Undecided → High
Changed in juju:
assignee: nobody → Jack Shaw (jack-shaw)
Revision history for this message
Jack Shaw (jack-shaw) wrote :

Hi, are you still experiencing this?

I haven't been able to replicate this bug

```
$ juju version
3.2.4-ubuntu-amd64
$ juju bootstrap azure/westus2
...
$ juju add-model m
Added 'm' model on azure/westus2 with credential 'juju-qa-azure' for user 'admin'
$ juju add-machine --constraints 'cores=8 mem=32G'
created machine 0
[wait a few moments]
$ juju status
Model Controller Cloud/Region Version SLA Timestamp
m azure-westus2 azure/westus2 3.2.4 unsupported 11:10:34Z

Machine State Address Inst id Base AZ Message
0 started 20.72.216.39 machine-0 ubuntu@22.04
```

`machine-0` here was created with type Standard_D8_v5

Also, as a side, Juju 3.2 is no longer supported by the Juju team. We would recommend you migrate your workloads to 3.3, regardless. I have been unable to replicate this bug on 3.3 as well

Changed in juju:
status: Triaged → Incomplete
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.