# spec.preserveUnknownFields nok

**URL:** <https://forums.percona.com/t/spec-preserveunknownfields-nok/35314>\
**Category:** Percona Operator for MongoDB\
**Created:** [November 28, 2024, 1:57am UTC](https://forums.percona.com/t/spec-preserveunknownfields-nok/35314 "2024-11-28T01:57:08Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![jamoser](https://avatars.discourse-cdn.com/v4/letter/j/b2d939/32.png) [@jamoser](https://forums.percona.com/u/jamoser)\
**Post date:** [November 28, 2024, 1:57am UTC](https://forums.percona.com/t/spec-preserveunknownfields-nok/35314/1 "2024-11-28T01:57:08Z")

</div>

Hello

I have currently operator v1.11 running.

When I want to apply :

kubectl -n abc apply --server-side -f [https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/v1.12.0/deploy/bundle.yaml](https://raw.githubusercontent.com/percona/percona-server-mongodb-operator/v1.12.0/deploy/bundle.yaml)

[customresourcedefinition.apiextensions.k8s.io/perconaservermongodbbackups.psmdb.percona.com](http://customresourcedefinition.apiextensions.k8s.io/perconaservermongodbbackups.psmdb.percona.com) serverside-applied  
[customresourcedefinition.apiextensions.k8s.io/perconaservermongodbrestores.psmdb.percona.com](http://customresourcedefinition.apiextensions.k8s.io/perconaservermongodbrestores.psmdb.percona.com) serverside-applied  
[role.rbac.authorization.k8s.io/percona-server-mongodb-operator](http://role.rbac.authorization.k8s.io/percona-server-mongodb-operator) serverside-applied  
serviceaccount/percona-server-mongodb-operator serverside-applied  
[rolebinding.rbac.authorization.k8s.io/service-account-percona-server-mongodb-operator](http://rolebinding.rbac.authorization.k8s.io/service-account-percona-server-mongodb-operator) serverside-applied  
deployment.apps/percona-server-mongodb-operator serverside-applied

The CustomResourceDefinition “[perconaservermongodbs.psmdb.percona.com](http://perconaservermongodbs.psmdb.percona.com)” is invalid: spec.preserveUnknownFields: Invalid value: true: must be false in order to use defaults in the schema

Then I get the error above.

Question: Can I / Do I have to change all the

```
        x-kubernetes-preserve-unknown-fields: true -> false

```

in bundle.yaml and apply it ?

---

<div class="post-metadata">

**Author:** ![jamoser](https://avatars.discourse-cdn.com/v4/letter/j/b2d939/32.png) [@jamoser](https://forums.percona.com/u/jamoser)\
**Post date:** [November 28, 2024, 2:05am UTC](https://forums.percona.com/t/spec-preserveunknownfields-nok/35314/2 "2024-11-28T02:05:27Z")

</div>

Or is there an alternative way to do apply the bundle.yaml ?

For ex. delete the specific CustomResourceDefinition and then apply bundle.yaml ?

---

<div class="post-metadata">

**Author:** ![Inel\_Pandzic](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/inel_pandzic/32/23166_2.png) [@Inel\_Pandzic](https://forums.percona.com/u/Inel_Pandzic)\
**Post date:** [November 28, 2024, 2:47pm UTC](https://forums.percona.com/t/spec-preserveunknownfields-nok/35314/3 "2024-11-28T14:47:27Z")

</div>

Hello @jamoser

We believe the error is coming due to the fact that there is default value of

```auto
                                        protocol:
                                          default: TCP

```

for some of the fields and the field spec.reserveUnknownFields is true.

One of the option is to set the field for PSMDB CRD like this

```auto
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: perconaservermongodbs.psmdb.percona.com
spec:
  preserveUnknownFields: false
  group: psmdb.percona.com
  names:
    kind: PerconaServerMongoDB

```

As the new CRD will eventually handle all the fields, we don’t see a risk in it. But please try to test before applying to a critical environment.

Hope this helps!

---

<div class="post-metadata">

**Author:** ![jamoser](https://avatars.discourse-cdn.com/v4/letter/j/b2d939/32.png) [@jamoser](https://forums.percona.com/u/jamoser)\
**Post date:** [November 29, 2024, 2:39am UTC](https://forums.percona.com/t/spec-preserveunknownfields-nok/35314/4 "2024-11-29T02:39:35Z")

</div>

Thank you - it worked.

---

<div class="post-metadata">

**Author:** ![Inel\_Pandzic](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/inel_pandzic/32/23166_2.png) [@Inel\_Pandzic](https://forums.percona.com/u/Inel_Pandzic)\
**Post date:** [November 29, 2024, 7:54am UTC](https://forums.percona.com/t/spec-preserveunknownfields-nok/35314/5 "2024-11-29T07:54:15Z")

</div>

Nice, glad to hear that!
