Bug 1949235

Summary: [OCPonRHV] - machine created on status 'provisioning' instead of failed
Product: OpenShift Container Platform Reporter: michal <mgold>
Component: Cloud ComputeAssignee: OCP on RHV Team <ocprhvteam>
Cloud Compute sub component: oVirt Provider QA Contact: michal <mgold>
Status: CLOSED WONTFIX Docs Contact:
Severity: low    
Priority: low CC: bretm, gzaidman, lleistne, mburman
Version: 4.8   
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-05-20 11:29:21 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description michal 2021-04-13 18:26:15 UTC
Description of problem:

machine created on status 'provisioning' instead of failed

Version-Release number of selected component (if applicable):
ocp version: 
4.8.0-0.nightly-2021-04-09-222447 
How reproducible:

100%

Steps to Reproduce:
1.create machineset with incorrect value on 'instance_type_id'
2.  run 'oc get machines' - machine created on status 'provisioning' 
3.

Actual results:
machine created on status 'provisioning' instead of failed
 with error -E0412 08:25:31.370505       1 controller.go:267] controller-runtime/manager/controller/machine_controller "msg"="Reconciler error" "error"="creating Ovirt instance: Fault reason is \"Operation failed\". Fault detail is \"Invalid UUID string: MemoryMB\". HTTP response code is \"400\". HTTP response message is \"400 Bad Request\"." "name"="primary-m6qrv-worker-24-2mwkk" "namespace"="openshift-machine-api" 


Expected results:

machine should create with a validation error and status failed
Additional info:
apiVersion: machine.openshift.io/v1beta1
kind: MachineSet
metadata:
  name: primary-m6qrv-worker-38
  labels:
    machine.openshift.io/cluster-api-cluster: primary-m6qrv
    machine.openshift.io/cluster-api-machine-role: worker-38
    machine.openshift.io/cluster-api-machine-type: worker-38
spec:
  replicas: 1
  selector:
    matchLabels:
      machine.openshift.io/cluster-api-cluster: primary-m6qrv
      machine.openshift.io/cluster-api-machineset: primary-m6qrv-worker-38
  template:
    metadata:
      labels:
        machine.openshift.io/cluster-api-cluster: primary-m6qrv
        machine.openshift.io/cluster-api-machine-role: worker-38
        machine.openshift.io/cluster-api-machine-type: worker-38
        machine.openshift.io/cluster-api-machineset: primary-m6qrv-worker-38
    spec:
      providerSpec:
        value:
          affinity_groups_names:
          - test1
          apiVersion: ovirtproviderconfig.machine.openshift.io/v1beta1
          cluster_id: 502babf8-9c05-4738-b5c9-2ac8c33a9648
          credentialsSecret:
            name: ovirt-credentials
          kind: OvirtMachineProviderSpec
          os_disk:
            size_gb: 120
          template_name: primary-m6qrv-rhcos
          instance_type_id: CPU
          type: server
          userDataSecret:
            name: worker-user-data

Comment 1 Gal Zaidman 2021-04-14 07:39:02 UTC
Setting this as priority low since there is a limit to the amount of validations we want to add urgently... this fix will require us to check the values that are available on the ovirt engine and not that the value make sense and I'm not sure we want to get into that rabbit hole

Comment 2 Douglas Schilling Landgraf 2021-05-10 17:34:07 UTC
(In reply to Gal Zaidman from comment #1)
> Setting this as priority low since there is a limit to the amount of
> validations we want to add urgently... this fix will require us to check the
> values that are available on the ovirt engine and not that the value make
> sense and I'm not sure we want to get into that rabbit hole

Right, should we close this one then?

Comment 3 Gal Zaidman 2021-05-11 06:26:40 UTC
Nope lets just not target this one yet...

Comment 4 Gal Zaidman 2021-05-20 11:29:21 UTC
We don't want to have a validation against each field that it exist in the engine