Uploaded image for project: 'OpenShift Bugs'
  1. OpenShift Bugs
  2. OCPBUGS-4911

[Azure]Availability Set will be created when vmSize is invalid in a region which has zones

    XMLWordPrintable

Details

    • Low
    • False
    • Hide

      None

      Show
      None
    • If Release Note Needed, Set a Value
    • Set a Value

    Description

      Description of problem:

      Availability Set will be created when vmSize is invalid in a region which has zones, but Availability Set should only be created in a region which don’t have zones.

      Version-Release number of selected component (if applicable):

      4.11.0-0.nightly-2022-10-07-174524
      4.10.0-0.nightly-2022-10-07-205844

      How reproducible:

      Always

      Steps to Reproduce:

      1.Set up a cluster in a region which has zones. 
      liuhuali@Lius-MacBook-Pro huali-test % oc get machine
      NAME                                     PHASE     TYPE              REGION   ZONE   AGE
      huliu-az410-99qcm-master-0               Running   Standard_D8s_v3   eastus   2      34m
      huliu-az410-99qcm-master-1               Running   Standard_D8s_v3   eastus   3      34m
      huliu-az410-99qcm-master-2               Running   Standard_D8s_v3   eastus   1      34m
      huliu-az410-99qcm-worker-eastus1-xld58   Running   Standard_D4s_v3   eastus   1      27m
      huliu-az410-99qcm-worker-eastus2-chzg8   Running   Standard_D4s_v3   eastus   2      27m
      huliu-az410-99qcm-worker-eastus3-7g2mw   Running   Standard_D4s_v3   eastus   3      27m
      
      2.Create a machineset with invalid vmSize 
      liuhuali@Lius-MacBook-Pro huali-test % oc create -f ms4.yaml 
      machineset.machine.openshift.io/huliu-az410-99qcm-1 created
      liuhuali@Lius-MacBook-Pro huali-test % oc get machine                                                       
      NAME                                     PHASE     TYPE              REGION   ZONE   AGE
      huliu-az410-99qcm-1-cfw6w                Failed                                      8s
      huliu-az410-99qcm-master-0               Running   Standard_D8s_v3   eastus   2      35m
      huliu-az410-99qcm-master-1               Running   Standard_D8s_v3   eastus   3      35m
      huliu-az410-99qcm-master-2               Running   Standard_D8s_v3   eastus   1      35m
      huliu-az410-99qcm-worker-eastus1-xld58   Running   Standard_D4s_v3   eastus   1      28m
      huliu-az410-99qcm-worker-eastus2-chzg8   Running   Standard_D4s_v3   eastus   2      28m
      huliu-az410-99qcm-worker-eastus3-7g2mw   Running   Standard_D4s_v3   eastus   3      28m
      liuhuali@Lius-MacBook-Pro huali-test % oc get machine huliu-az410-99qcm-1-cfw6w  -o yaml
      apiVersion: machine.openshift.io/v1beta1
      kind: Machine
      metadata:
        annotations:
          machine.openshift.io/instance-state: Unknown
        creationTimestamp: "2022-10-08T07:42:28Z"
        finalizers:
        - machine.machine.openshift.io
        generateName: huliu-az410-99qcm-1-
        generation: 2
        labels:
          machine.openshift.io/cluster-api-cluster: huliu-az410-99qcm
          machine.openshift.io/cluster-api-machine-role: worker
          machine.openshift.io/cluster-api-machine-type: worker
          machine.openshift.io/cluster-api-machineset: huliu-az410-99qcm-1
        name: huliu-az410-99qcm-1-cfw6w
        namespace: openshift-machine-api
        ownerReferences:
        - apiVersion: machine.openshift.io/v1beta1
          blockOwnerDeletion: true
          controller: true
          kind: MachineSet
          name: huliu-az410-99qcm-1
          uid: bf8f7518-1fa9-4704-bdd7-6d0fde54e38e
        resourceVersion: "31287"
        uid: 303cf672-a2fa-44f3-8793-59801bb78902
      spec:
        lifecycleHooks: {}
        metadata: {}
        providerSpec:
          value:
            apiVersion: machine.openshift.io/v1beta1
            credentialsSecret:
              name: azure-cloud-credentials
              namespace: openshift-machine-api
            image:
              offer: ""
              publisher: ""
              resourceID: /resourceGroups/huliu-az410-99qcm-rg/providers/Microsoft.Compute/images/huliu-az410-99qcm
              sku: ""
              version: ""
            kind: AzureMachineProviderSpec
            location: eastus
            managedIdentity: huliu-az410-99qcm-identity
            metadata:
              creationTimestamp: null
              name: huliu-az410-99qcm
            networkResourceGroup: huliu-az410-99qcm-rg
            osDisk:
              diskSettings: {}
              diskSizeGB: 128
              managedDisk:
                storageAccountType: Premium_LRS
              osType: Linux
            publicIP: false
            publicLoadBalancer: huliu-az410-99qcm
            resourceGroup: huliu-az410-99qcm-rg
            spotVMOptions: {}
            subnet: huliu-az410-99qcm-worker-subnet
            userDataSecret:
              name: worker-user-data
            vmSize: invalidStandard_D4s_v3
            vnet: huliu-az410-99qcm-vnet
            zone: "3"
      status:
        conditions:
        - lastTransitionTime: "2022-10-08T07:42:28Z"
          status: "True"
          type: Drainable
        - lastTransitionTime: "2022-10-08T07:42:28Z"
          message: Instance has not been created
          reason: InstanceNotCreated
          severity: Warning
          status: "False"
          type: InstanceExists
        - lastTransitionTime: "2022-10-08T07:42:28Z"
          status: "True"
          type: Terminable
        errorMessage: 'failed to reconcile machine "huliu-az410-99qcm-1-cfw6w": failed to
          create vm huliu-az410-99qcm-1-cfw6w: failure sending request for machine huliu-az410-99qcm-1-cfw6w:
          cannot create vm: compute.VirtualMachinesClient#CreateOrUpdate: Failure sending
          request: StatusCode=0 -- Original Error: Code="BadRequest" Message="Virtual Machine
          cannot be created because both Availability Zone and Availability Set were specified.
          Deploying an Availability Set to an Availability Zone isn’t supported."'
        errorReason: InvalidConfiguration
        lastUpdated: "2022-10-08T07:42:35Z"
        phase: Failed
        providerStatus:
          conditions:
          - lastProbeTime: "2022-10-08T07:42:35Z"
            lastTransitionTime: "2022-10-08T07:42:35Z"
            message: 'failed to create vm huliu-az410-99qcm-1-cfw6w: failure sending request
              for machine huliu-az410-99qcm-1-cfw6w: cannot create vm: compute.VirtualMachinesClient#CreateOrUpdate:
              Failure sending request: StatusCode=0 -- Original Error: Code="BadRequest"
              Message="Virtual Machine cannot be created because both Availability Zone
              and Availability Set were specified. Deploying an Availability Set to an Availability
              Zone isn’t supported."'
            reason: MachineCreationFailed
            status: "True"
            type: MachineCreated
          metadata: {}
      

      Actual results:

      Created Availability Set for it.

      Expected results:

      Should not create Availability Set, as the region has zones.

      Additional info:

      If provided correct vmSize, the machine get Running and will not create Availability Set for it. Not sure why it will create Availability Set for it when vmSize is invalid.
      
      The issue can be reproduced both on 4.11 and 4.10 version, as Availability Set is introduced in 4.10. 
      On 4.12, there is bug https://issues.redhat.com/browse/OCPBUGS-1871, will also check this on 4.12 when this bug get verified.

      Attachments

        Issue Links

          Activity

            People

              dmoiseev Denis Moiseev (Inactive)
              huliu@redhat.com Huali Liu
              Zhaohua Sun Zhaohua Sun
              Red Hat Employee
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: