File 0033-update-LVMS-manifests.patch of Package micro-okd

From 5485fe2601d7ac0289f83e4d11d18712586662be Mon Sep 17 00:00:00 2001
From: Johannes Kastl <git@johannes-kastl.de>
Date: Mon, 16 Jun 2025 11:18:52 +0200
Subject: [PATCH] update LVMS manifests

Signed-off-by: Johannes Kastl <git@johannes-kastl.de>
---
 .../lvms/lvm.topolvm.io_lvmclusters.yaml      |  45 ++--
 ...topolvm.io_lvmvolumegroupnodestatuses.yaml |   4 +-
 .../lvms/lvm.topolvm.io_lvmvolumegroups.yaml  |  24 ++-
 .../lvms-operator_apps_v1_deployment.yaml     |   4 +-
 ...c.authorization.k8s.io_v1_clusterrole.yaml | 194 ++++--------------
 .../lvms/topolvm-configmap_lvms-version.yaml  |   2 +-
 assets/release/release-aarch64.json           |   2 +-
 assets/release/release-x86_64.json            |   2 +-
 8 files changed, 102 insertions(+), 175 deletions(-)

diff --git a/assets/components/lvms/lvm.topolvm.io_lvmclusters.yaml b/assets/components/lvms/lvm.topolvm.io_lvmclusters.yaml
index 3d98a6603..4c8887b1a 100644
--- a/assets/components/lvms/lvm.topolvm.io_lvmclusters.yaml
+++ b/assets/components/lvms/lvm.topolvm.io_lvmclusters.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
 metadata:
   annotations:
-    controller-gen.kubebuilder.io/version: v0.15.0
+    controller-gen.kubebuilder.io/version: v0.16.5
   creationTimestamp: null
   name: lvmclusters.lvm.topolvm.io
 spec:
@@ -213,6 +213,26 @@ spec:
                               - Host
                               - Static
                               type: string
+                            metadataSize:
+                              anyOf:
+                              - type: integer
+                              - type: string
+                              description: |-
+                                MetadataSize specifies metadata size for thin pool. It used only when MetadataSizeCalculationPolicy
+                                is set to Static. No MetadataSize with a MetadataSizeCalculationPolicy set to Static will result in
+                                default metadata size of 1Gi. It can be between 2Mi and 16Gi due to the underlying limitations of lvm2.
+                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+                              x-kubernetes-int-or-string: true
+                            metadataSizeCalculationPolicy:
+                              default: Host
+                              description: |-
+                                MetadataSizeCalculationPolicy specifies the policy to calculate metadata size for the underlying volume.
+                                When set to Host, the metadata size is calculated based on lvm2 default settings
+                                When set to Static, the metadata size is calculated based on the static size attribute provided within MetadataSize
+                              enum:
+                              - Host
+                              - Static
+                              type: string
                             name:
                               description: Name specifies a name for the thin pool.
                               type: string
@@ -234,6 +254,8 @@ spec:
                               minimum: 10
                               type: integer
                           required:
+                          - chunkSizeCalculationPolicy
+                          - metadataSizeCalculationPolicy
                           - name
                           - overprovisionRatio
                           type: object
@@ -286,16 +308,8 @@ spec:
               conditions:
                 description: Conditions describes the state of the resource.
                 items:
-                  description: "Condition contains details for one aspect of the current
-                    state of this API Resource.\n---\nThis struct is intended for
-                    direct use as an array at the field path .status.conditions.  For
-                    example,\n\n\n\ttype FooStatus struct{\n\t    // Represents the
-                    observations of a foo's current state.\n\t    // Known .status.conditions.type
-                    are: \"Available\", \"Progressing\", and \"Degraded\"\n\t    //
-                    +patchMergeKey=type\n\t    // +patchStrategy=merge\n\t    // +listType=map\n\t
-                    \   // +listMapKey=type\n\t    Conditions []metav1.Condition `json:\"conditions,omitempty\"
-                    patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t
-                    \   // other fields\n\t}"
+                  description: Condition contains details for one aspect of the current
+                    state of this API Resource.
                   properties:
                     lastTransitionTime:
                       description: |-
@@ -336,12 +350,7 @@ spec:
                       - Unknown
                       type: string
                     type:
-                      description: |-
-                        type of condition in CamelCase or in foo.example.com/CamelCase.
-                        ---
-                        Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
-                        useful (see .node.status.conditions), the ability to deconflict is important.
-                        The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
+                      description: type of condition in CamelCase or in foo.example.com/CamelCase.
                       maxLength: 316
                       pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
                       type: string
@@ -421,6 +430,8 @@ spec:
                             description: Status tells if the volume group was created
                               on the node
                             type: string
+                        required:
+                        - deviceDiscoveryPolicy
                         type: object
                       type: array
                   type: object
diff --git a/assets/components/lvms/lvm.topolvm.io_lvmvolumegroupnodestatuses.yaml b/assets/components/lvms/lvm.topolvm.io_lvmvolumegroupnodestatuses.yaml
index d1202d3bb..e6321b0fb 100644
--- a/assets/components/lvms/lvm.topolvm.io_lvmvolumegroupnodestatuses.yaml
+++ b/assets/components/lvms/lvm.topolvm.io_lvmvolumegroupnodestatuses.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
 metadata:
   annotations:
-    controller-gen.kubebuilder.io/version: v0.15.0
+    controller-gen.kubebuilder.io/version: v0.16.5
   creationTimestamp: null
   name: lvmvolumegroupnodestatuses.lvm.topolvm.io
 spec:
@@ -94,6 +94,8 @@ spec:
                       description: Status tells if the volume group was created on
                         the node
                       type: string
+                  required:
+                  - deviceDiscoveryPolicy
                   type: object
                 type: array
             type: object
diff --git a/assets/components/lvms/lvm.topolvm.io_lvmvolumegroups.yaml b/assets/components/lvms/lvm.topolvm.io_lvmvolumegroups.yaml
index b3e9e88fe..2b4e6fa64 100644
--- a/assets/components/lvms/lvm.topolvm.io_lvmvolumegroups.yaml
+++ b/assets/components/lvms/lvm.topolvm.io_lvmvolumegroups.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
 metadata:
   annotations:
-    controller-gen.kubebuilder.io/version: v0.15.0
+    controller-gen.kubebuilder.io/version: v0.16.5
   creationTimestamp: null
   name: lvmvolumegroups.lvm.topolvm.io
 spec:
@@ -176,6 +176,26 @@ spec:
                     - Host
                     - Static
                     type: string
+                  metadataSize:
+                    anyOf:
+                    - type: integer
+                    - type: string
+                    description: |-
+                      MetadataSize specifies metadata size for thin pool. It used only when MetadataSizeCalculationPolicy
+                      is set to Static. No MetadataSize with a MetadataSizeCalculationPolicy set to Static will result in
+                      default metadata size of 1Gi. It can be between 2Mi and 16Gi due to the underlying limitations of lvm2.
+                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+                    x-kubernetes-int-or-string: true
+                  metadataSizeCalculationPolicy:
+                    default: Host
+                    description: |-
+                      MetadataSizeCalculationPolicy specifies the policy to calculate metadata size for the underlying volume.
+                      When set to Host, the metadata size is calculated based on lvm2 default settings
+                      When set to Static, the metadata size is calculated based on the static size attribute provided within MetadataSize
+                    enum:
+                    - Host
+                    - Static
+                    type: string
                   name:
                     description: Name specifies a name for the thin pool.
                     type: string
@@ -196,6 +216,8 @@ spec:
                     minimum: 10
                     type: integer
                 required:
+                - chunkSizeCalculationPolicy
+                - metadataSizeCalculationPolicy
                 - name
                 - overprovisionRatio
                 type: object
diff --git a/assets/components/lvms/lvms-operator_apps_v1_deployment.yaml b/assets/components/lvms/lvms-operator_apps_v1_deployment.yaml
index 282da2a75..b05cb7a98 100644
--- a/assets/components/lvms/lvms-operator_apps_v1_deployment.yaml
+++ b/assets/components/lvms/lvms-operator_apps_v1_deployment.yaml
@@ -38,7 +38,7 @@ spec:
               valueFrom:
                 fieldRef:
                   fieldPath: metadata.name
-          image: registry.redhat.io/lvms4/lvms-rhel9-operator@sha256:bd6dc4d6e90fdbcdb844759e203c9c591abc5ac29a956257a90bda101a37b76e
+          image: quay.io/okderators/lvms-operator@sha256:8b24036164fa1463c52cb32dc461157732639a8ec5ef1e952a2fbc4383892715
           livenessProbe:
             failureThreshold: 3
             httpGet:
@@ -47,7 +47,7 @@ spec:
             initialDelaySeconds: 1
             periodSeconds: 30
             timeoutSeconds: 1
-          name: manager
+          name: lvms-operator
           ports:
             - containerPort: 9443
               name: webhook-server
diff --git a/assets/components/lvms/lvms-operator_rbac.authorization.k8s.io_v1_clusterrole.yaml b/assets/components/lvms/lvms-operator_rbac.authorization.k8s.io_v1_clusterrole.yaml
index c1eb320ea..f64d596d0 100644
--- a/assets/components/lvms/lvms-operator_rbac.authorization.k8s.io_v1_clusterrole.yaml
+++ b/assets/components/lvms/lvms-operator_rbac.authorization.k8s.io_v1_clusterrole.yaml
@@ -1,56 +1,9 @@
 rules:
-  - apiGroups:
-      - apps
-    resources:
-      - daemonsets
-    verbs:
-      - create
-      - delete
-      - get
-      - list
-      - patch
-      - update
-      - watch
-  - apiGroups:
-      - apps
-    resources:
-      - deployments
-    verbs:
-      - create
-      - delete
-      - get
-      - list
-      - patch
-      - update
-      - watch
-  - apiGroups:
-      - apps
-    resources:
-      - replicasets
-    verbs:
-      - get
-  - apiGroups:
-      - config.openshift.io
-    resources:
-      - infrastructures
-    verbs:
-      - get
-  - apiGroups:
-      - coordination.k8s.io
-    resources:
-      - leases
-    verbs:
-      - create
-      - delete
-      - get
-      - list
-      - patch
-      - update
-      - watch
   - apiGroups:
       - ""
     resources:
       - configmaps
+      - persistentvolumes
     verbs:
       - create
       - delete
@@ -103,18 +56,6 @@ rules:
       - persistentvolumeclaims/status
     verbs:
       - patch
-  - apiGroups:
-      - ""
-    resources:
-      - persistentvolumes
-    verbs:
-      - create
-      - delete
-      - get
-      - list
-      - patch
-      - update
-      - watch
   - apiGroups:
       - ""
     resources:
@@ -124,61 +65,48 @@ rules:
       - get
       - list
       - watch
+  - apiGroups:
+      - apps
+    resources:
+      - daemonsets
+      - deployments
+    verbs:
+      - create
+      - delete
+      - get
+      - list
+      - patch
+      - update
+      - watch
+  - apiGroups:
+      - apps
+    resources:
+      - replicasets
+    verbs:
+      - get
+  - apiGroups:
+      - config.openshift.io
+    resources:
+      - infrastructures
+    verbs:
+      - get
+  - apiGroups:
+      - coordination.k8s.io
+    resources:
+      - leases
+    verbs:
+      - create
+      - delete
+      - get
+      - list
+      - patch
+      - update
+      - watch
   - apiGroups:
       - lvm.topolvm.io
     resources:
       - lvmclusters
-    verbs:
-      - create
-      - delete
-      - get
-      - list
-      - patch
-      - update
-      - watch
-  - apiGroups:
-      - lvm.topolvm.io
-    resources:
-      - lvmclusters/finalizers
-    verbs:
-      - update
-  - apiGroups:
-      - lvm.topolvm.io
-    resources:
-      - lvmclusters/status
-    verbs:
-      - get
-      - patch
-      - update
-  - apiGroups:
-      - lvm.topolvm.io
-    resources:
       - lvmvolumegroupnodestatuses
-    verbs:
-      - create
-      - delete
-      - get
-      - list
-      - patch
-      - update
-      - watch
-  - apiGroups:
-      - lvm.topolvm.io
-    resources:
-      - lvmvolumegroupnodestatuses/finalizers
-    verbs:
-      - update
-  - apiGroups:
-      - lvm.topolvm.io
-    resources:
-      - lvmvolumegroupnodestatuses/status
-    verbs:
-      - get
-      - patch
-      - update
-  - apiGroups:
-      - lvm.topolvm.io
-    resources:
       - lvmvolumegroups
     verbs:
       - create
@@ -191,12 +119,16 @@ rules:
   - apiGroups:
       - lvm.topolvm.io
     resources:
+      - lvmclusters/finalizers
+      - lvmvolumegroupnodestatuses/finalizers
       - lvmvolumegroups/finalizers
     verbs:
       - update
   - apiGroups:
       - lvm.topolvm.io
     resources:
+      - lvmclusters/status
+      - lvmvolumegroupnodestatuses/status
       - lvmvolumegroups/status
     verbs:
       - get
@@ -254,37 +186,7 @@ rules:
       - storage.k8s.io
     resources:
       - csidrivers
-    verbs:
-      - create
-      - delete
-      - get
-      - list
-      - patch
-      - update
-      - watch
-  - apiGroups:
-      - storage.k8s.io
-    resources:
-      - csinodes
-    verbs:
-      - get
-      - list
-      - watch
-  - apiGroups:
-      - storage.k8s.io
-    resources:
       - csistoragecapacities
-    verbs:
-      - create
-      - delete
-      - get
-      - list
-      - patch
-      - update
-      - watch
-  - apiGroups:
-      - storage.k8s.io
-    resources:
       - storageclasses
     verbs:
       - create
@@ -297,6 +199,7 @@ rules:
   - apiGroups:
       - storage.k8s.io
     resources:
+      - csinodes
       - volumeattachments
     verbs:
       - get
@@ -306,17 +209,6 @@ rules:
       - topolvm.io
     resources:
       - logicalvolumes
-    verbs:
-      - create
-      - delete
-      - get
-      - list
-      - patch
-      - update
-      - watch
-  - apiGroups:
-      - topolvm.io
-    resources:
       - logicalvolumes/status
     verbs:
       - create
diff --git a/assets/components/lvms/topolvm-configmap_lvms-version.yaml b/assets/components/lvms/topolvm-configmap_lvms-version.yaml
index 3432ad668..be3d0f2aa 100644
--- a/assets/components/lvms/topolvm-configmap_lvms-version.yaml
+++ b/assets/components/lvms/topolvm-configmap_lvms-version.yaml
@@ -4,4 +4,4 @@ metadata:
   name: lvms-version
   namespace: kube-public
 data:
-  version: v4.17.0-43
+  version: 4.18.0-2025-02-25-114001
diff --git a/assets/release/release-aarch64.json b/assets/release/release-aarch64.json
index 69d5566ea..7578b7bcd 100644
--- a/assets/release/release-aarch64.json
+++ b/assets/release/release-aarch64.json
@@ -10,7 +10,7 @@
     "ovn-kubernetes-microshift": "quay.io/okd/scos-content@sha256:a77204e73832556fa9862b5fa058f5ee3e1d3868f67a2c8692b27afd308dce74",
     "pod": "quay.io/okd/scos-content@sha256:d595da80a8477386d471b3b31b1ec8bf174ba10c45adeb42fe0065e6e9477f69",
     "service-ca-operator": "quay.io/okd/scos-content@sha256:4d3a48cb8b25f63b6550e7abf56513c6d835838a93b06039574d5df8719de60a",
-    "lvms_operator": "registry.redhat.io/lvms4/lvms-rhel9-operator@sha256:bd6dc4d6e90fdbcdb844759e203c9c591abc5ac29a956257a90bda101a37b76e",
+    "lvms_operator": "quay.io/okderators/lvms-operator@sha256:8b24036164fa1463c52cb32dc461157732639a8ec5ef1e952a2fbc4383892715",
     "csi-snapshot-controller": "quay.io/okd/scos-content@sha256:2f8d890e9a0e36c8be9ebf72f829ae369e1ef99e836def0734e5b7de7164718c"
   }
 }
diff --git a/assets/release/release-x86_64.json b/assets/release/release-x86_64.json
index 69d5566ea..7578b7bcd 100644
--- a/assets/release/release-x86_64.json
+++ b/assets/release/release-x86_64.json
@@ -10,7 +10,7 @@
     "ovn-kubernetes-microshift": "quay.io/okd/scos-content@sha256:a77204e73832556fa9862b5fa058f5ee3e1d3868f67a2c8692b27afd308dce74",
     "pod": "quay.io/okd/scos-content@sha256:d595da80a8477386d471b3b31b1ec8bf174ba10c45adeb42fe0065e6e9477f69",
     "service-ca-operator": "quay.io/okd/scos-content@sha256:4d3a48cb8b25f63b6550e7abf56513c6d835838a93b06039574d5df8719de60a",
-    "lvms_operator": "registry.redhat.io/lvms4/lvms-rhel9-operator@sha256:bd6dc4d6e90fdbcdb844759e203c9c591abc5ac29a956257a90bda101a37b76e",
+    "lvms_operator": "quay.io/okderators/lvms-operator@sha256:8b24036164fa1463c52cb32dc461157732639a8ec5ef1e952a2fbc4383892715",
     "csi-snapshot-controller": "quay.io/okd/scos-content@sha256:2f8d890e9a0e36c8be9ebf72f829ae369e1ef99e836def0734e5b7de7164718c"
   }
 }
-- 
2.49.0

openSUSE Build Service is sponsored by