-
Bug
-
Resolution: Unresolved
-
Undefined
-
None
-
4.19
-
None
-
Moderate
-
None
-
False
-
Description of problem:
Create same name capi machineset/awsmachinetemplate with mapi machineset, but deletePolicy is different, setting deletePolicy: Oldest Then update mapi machineset authoritativeAPI: MachineAPI(deletePolicy: Random) Check if capi machineset deletePolicy: Oldest will be updated
Version-Release number of selected component (if applicable):
How reproducible:
Always
Steps to Reproduce:
1.Create awsmachinetemplate/capi machineset with name zhsun-27-zv8vh-worker-us-east-2c(same name with mapi machineset) with deletePolicy: Oldest 2.Update mapi machineset zhsun-27-zv8vh-worker-us-east-2c authoritativeAPI: MachineAPI. the default deletePolicy is Random 3.Check if capi machineset deletePolicy: Oldest will be updated to deletePolicy: Random
Actual results:
FailedToUpdateCAPIInfraMachineTemplate $ oc get machineset.m -n openshift-machine-api zhsun-27-zv8vh-worker-us-east-2c -o yaml apiVersion: machine.openshift.io/v1beta1 kind: MachineSet metadata: annotations: capacity.cluster-autoscaler.kubernetes.io/labels: kubernetes.io/arch=amd64 machine.openshift.io/GPU: "0" machine.openshift.io/memoryMb: "16384" machine.openshift.io/vCPU: "4" creationTimestamp: "2025-01-07T05:05:41Z" generation: 1 labels: machine.openshift.io/cluster-api-cluster: zhsun-27-zv8vh name: zhsun-27-zv8vh-worker-us-east-2c namespace: openshift-machine-api resourceVersion: "145899" uid: 48f799d0-2545-4b5c-abcf-b48b47930660 spec: authoritativeAPI: MachineAPI replicas: 1 selector: matchLabels: machine.openshift.io/cluster-api-cluster: zhsun-27-zv8vh machine.openshift.io/cluster-api-machineset: zhsun-27-zv8vh-worker-us-east-2c template: metadata: labels: machine.openshift.io/cluster-api-cluster: zhsun-27-zv8vh machine.openshift.io/cluster-api-machine-role: worker machine.openshift.io/cluster-api-machine-type: worker machine.openshift.io/cluster-api-machineset: zhsun-27-zv8vh-worker-us-east-2c spec: authoritativeAPI: MachineAPI lifecycleHooks: {} metadata: {} providerSpec: value: ami: id: ami-0197c5c22c44c04f1 apiVersion: machine.openshift.io/v1beta1 blockDevices: - ebs: encrypted: true iops: 0 kmsKey: arn: "" volumeSize: 120 volumeType: gp3 capacityReservationId: "" credentialsSecret: name: aws-cloud-credentials deviceIndex: 0 iamInstanceProfile: id: zhsun-27-zv8vh-worker-profile instanceType: m6i.xlarge kind: AWSMachineProviderConfig metadata: creationTimestamp: null metadataServiceOptions: {} placement: availabilityZone: us-east-2c region: us-east-2 securityGroups: - filters: - name: tag:Name values: - zhsun-27-zv8vh-node - filters: - name: tag:Name values: - zhsun-27-zv8vh-lb spotMarketOptions: {} subnet: filters: - name: tag:Name values: - zhsun-27-zv8vh-subnet-private-us-east-2c tags: - name: kubernetes.io/cluster/zhsun-27-zv8vh value: owned userDataSecret: name: worker-user-data status: authoritativeAPI: MachineAPI availableReplicas: 1 conditions: - lastTransitionTime: "2025-01-07T07:32:30Z" message: The AuthoritativeAPI is set to MachineAPI reason: AuthoritativeAPIMachineAPI severity: Info status: "False" type: Paused - lastTransitionTime: "2025-01-07T07:32:30Z" message: 'failed to update CAPI infra machine template: admission webhook "validation.awsmachinetemplate.infrastructure.cluster.x-k8s.io" denied the request: AWSMachineTemplate.infrastructure.cluster.x-k8s.io "zhsun-27-zv8vh-worker-us-east-2c" is invalid: spec.template.spec: Invalid value: v1beta2.AWSMachineTemplate{TypeMeta:v1.TypeMeta{Kind:"AWSMachineTemplate", APIVersion:"infrastructure.cluster.x-k8s.io/v1beta2"}, ObjectMeta:v1.ObjectMeta{Name:"zhsun-27-zv8vh-worker-us-east-2c", GenerateName:"", Namespace:"openshift-cluster-api", SelfLink:"", UID:"07e06fc0-05bb-42b6-98d1-34f13ecd1c18", ResourceVersion:"133856", Generation:2, CreationTimestamp:time.Date(2025, time.January, 7, 7, 23, 0, 0, time.Local), DeletionTimestamp:<nil>, DeletionGracePeriodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Finalizers:[]string(nil), ManagedFields:[]v1.ManagedFieldsEntry{v1.ManagedFieldsEntry{Manager:"kubectl-create", Operation:"Update", APIVersion:"infrastructure.cluster.x-k8s.io/v1beta2", Time:time.Date(2025, time.January, 7, 7, 23, 0, 0, time.Local), FieldsType:"FieldsV1", FieldsV1:(*v1.FieldsV1)(0xc002f1f260), Subresource:""}, v1.ManagedFieldsEntry{Manager:"machine-api-migration", Operation:"Update", APIVersion:"infrastructure.cluster.x-k8s.io/v1beta2", Time:time.Date(2025, time.January, 7, 7, 36, 44, 0, time.Local), FieldsType:"FieldsV1", FieldsV1:(*v1.FieldsV1)(0xc002f1f290), Subresource:""}}}, Spec:v1beta2.AWSMachineTemplateSpec{Template:v1beta2.AWSMachineTemplateResource{ObjectMeta:v1beta1.ObjectMeta{Labels:map[string]string(nil), Annotations:map[string]string(nil)}, Spec:v1beta2.AWSMachineSpec{ProviderID:(*string)(nil), InstanceID:(*string)(nil), InstanceMetadataOptions:(*v1beta2.InstanceMetadataOptions)(0xc00300ee00), AMI:v1beta2.AMIReference{ID:(*string)(0xc002dd7ad0), EKSOptimizedLookupType:(*v1beta2.EKSAMILookupType)(nil)}, ImageLookupFormat:"", ImageLookupOrg:"", ImageLookupBaseOS:"", InstanceType:"m6i.xlarge", AdditionalTags:v1beta2.Tags{"kubernetes.io/cluster/zhsun-27-zv8vh":"owned"}, IAMInstanceProfile:"zhsun-27-zv8vh-worker-profile", PublicIP:(*bool)(nil), ElasticIPPool:(*v1beta2.ElasticIPPool)(nil), AdditionalSecurityGroups:[]v1beta2.AWSResourceReference{v1beta2.AWSResourceReference{ID:(*string)(nil), Filters:[]v1beta2.Filter{v1beta2.Filter{Name:"tag:Name", Values:[]string{"zhsun-27-zv8vh-node"}}}}, v1beta2.AWSResourceReference{ID:(*string)(nil), Filters:[]v1beta2.Filter{v1beta2.Filter{Name:"tag:Name", Values:[]string{"zhsun-27-zv8vh-lb"}}}}}, Subnet:(*v1beta2.AWSResourceReference)(0xc00258e440), SecurityGroupOverrides:map[v1beta2.SecurityGroupRole]string(nil), SSHKeyName:(*string)(nil), RootVolume:(*v1beta2.Volume)(0xc0007fe190), NonRootVolumes:[]v1beta2.Volume(nil), NetworkInterfaces:[]string(nil), UncompressedUserData:(*bool)(nil), CloudInit:v1beta2.CloudInit{InsecureSkipSecretsManager:false, SecretCount:0, SecretPrefix:"", SecureSecretsBackend:""}, Ignition:(*v1beta2.Ignition)(0xc002f588a0), SpotMarketOptions:(*v1beta2.SpotMarketOptions)(0xc00076ec10), PlacementGroupName:"", PlacementGroupPartition:0, Tenancy:"", PrivateDNSName:(*v1beta2.PrivateDNSName)(nil), CapacityReservationID:(*string)(nil)}}}, Status:v1beta2.AWSMachineTemplateStatus{Capacity:v1.ResourceList(nil)}}: AWSMachineTemplate.Spec is immutable' reason: FailedToUpdateCAPIInfraMachineTemplate severity: Error status: "False" type: Synchronized fullyLabeledReplicas: 1 observedGeneration: 1 readyReplicas: 1 replicas: 1 E0107 07:35:21.170452 1 controller.go:316] "Reconciler error" err="unable to ensure CAPI infra machine template: failed to update CAPI infra machine template: admission webhook \"validation.awsmachinetemplate.infrastructure.cluster.x-k8s.io\" denied the request: AWSMachineTemplate.infrastructure.cluster.x-k8s.io \"zhsun-27-zv8vh-worker-us-east-2c\" is invalid: spec.template.spec: Invalid value: v1beta2.AWSMachineTemplate{TypeMeta:v1.TypeMeta{Kind:\"AWSMachineTemplate\", APIVersion:\"infrastructure.cluster.x-k8s.io/v1beta2\"}, ObjectMeta:v1.ObjectMeta{Name:\"zhsun-27-zv8vh-worker-us-east-2c\", GenerateName:\"\", Namespace:\"openshift-cluster-api\", SelfLink:\"\", UID:\"07e06fc0-05bb-42b6-98d1-34f13ecd1c18\", ResourceVersion:\"133856\", Generation:2, CreationTimestamp:time.Date(2025, time.January, 7, 7, 23, 0, 0, time.Local), DeletionTimestamp:<nil>, DeletionGracePeriodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Finalizers:[]string(nil), ManagedFields:[]v1.ManagedFieldsEntry{v1.ManagedFieldsEntry{Manager:\"kubectl-create\", Operation:\"Update\", APIVersion:\"infrastructure.cluster.x-k8s.io/v1beta2\", Time:time.Date(2025, time.January, 7, 7, 23, 0, 0, time.Local), FieldsType:\"FieldsV1\", FieldsV1:(*v1.FieldsV1)(0xc002f02078), Subresource:\"\"}, v1.ManagedFieldsEntry{Manager:\"machine-api-migration\", Operation:\"Update\", APIVersion:\"infrastructure.cluster.x-k8s.io/v1beta2\", Time:time.Date(2025, time.January, 7, 7, 35, 21, 0, time.Local), FieldsType:\"FieldsV1\", FieldsV1:(*v1.FieldsV1)(0xc002f020a8), Subresource:\"\"}}}, Spec:v1beta2.AWSMachineTemplateSpec{Template:v1beta2.AWSMachineTemplateResource{ObjectMeta:v1beta1.ObjectMeta{Labels:map[string]string(nil), Annotations:map[string]string(nil)}, Spec:v1beta2.AWSMachineSpec{ProviderID:(*string)(nil), InstanceID:(*string)(nil), InstanceMetadataOptions:(*v1beta2.InstanceMetadataOptions)(0xc00292ab40), AMI:v1beta2.AMIReference{ID:(*string)(0xc0029344e0), EKSOptimizedLookupType:(*v1beta2.EKSAMILookupType)(nil)}, ImageLookupFormat:\"\", ImageLookupOrg:\"\", ImageLookupBaseOS:\"\", InstanceType:\"m6i.xlarge\", AdditionalTags:v1beta2.Tags{\"kubernetes.io/cluster/zhsun-27-zv8vh\":\"owned\"}, IAMInstanceProfile:\"zhsun-27-zv8vh-worker-profile\", PublicIP:(*bool)(nil), ElasticIPPool:(*v1beta2.ElasticIPPool)(nil), AdditionalSecurityGroups:[]v1beta2.AWSResourceReference{v1beta2.AWSResourceReference{ID:(*string)(nil), Filters:[]v1beta2.Filter{v1beta2.Filter{Name:\"tag:Name\", Values:[]string{\"zhsun-27-zv8vh-node\"}}}}, v1beta2.AWSResourceReference{ID:(*string)(nil), Filters:[]v1beta2.Filter{v1beta2.Filter{Name:\"tag:Name\", Values:[]string{\"zhsun-27-zv8vh-lb\"}}}}}, Subnet:(*v1beta2.AWSResourceReference)(0xc0026d33c0), SecurityGroupOverrides:map[v1beta2.SecurityGroupRole]string(nil), SSHKeyName:(*string)(nil), RootVolume:(*v1beta2.Volume)(0xc001394cd0), NonRootVolumes:[]v1beta2.Volume(nil), NetworkInterfaces:[]string(nil), UncompressedUserData:(*bool)(nil), CloudInit:v1beta2.CloudInit{InsecureSkipSecretsManager:false, SecretCount:0, SecretPrefix:\"\", SecureSecretsBackend:\"\"}, Ignition:(*v1beta2.Ignition)(0xc00108c750), SpotMarketOptions:(*v1beta2.SpotMarketOptions)(0xc0014b2cc0), PlacementGroupName:\"\", PlacementGroupPartition:0, Tenancy:\"\", PrivateDNSName:(*v1beta2.PrivateDNSName)(nil), CapacityReservationID:(*string)(nil)}}}, Status:v1beta2.AWSMachineTemplateStatus{Capacity:v1.ResourceList(nil)}}: AWSMachineTemplate.Spec is immutable" controller="machineset" controllerGroup="machine.openshift.io" controllerKind="MachineSet" MachineSet="openshift-machine-api/zhsun-27-zv8vh-worker-us-east-2c" namespace="openshift-machine-api" name="zhsun-27-zv8vh-worker-us-east-2c" reconcileID="098edb5e-2623-4527-870c-c020f13cb113" I0107 07:35:21.170976 1 machineset_sync_controller.go:468] "Updating CAPI infra machine template" controller="machineset" controllerGroup="machine.openshift.io" controllerKind="MachineSet" MachineSet="openshift-machine-api/zhsun-27-zv8vh-worker-us-east-2c" namespace="openshift-machine-api" name="zhsun-27-zv8vh-worker-us-east-2c" reconcileID="606ec0e2-1e74-4baa-871b-487eda79e171" namespace="openshift-machine-api" name="zhsun-27-zv8vh-worker-us-east-2c"
Expected results:
Any update on the MAPI side should trigger the sync across
Additional info:
https://issues.redhat.com/browse/OCPCLOUD-2644