diff --git a/assets/components/lvms/lvm.topolvm.io_lvmclusters.yaml b/assets/components/lvms/lvm.topolvm.io_lvmclusters.yaml index 3d98a66038..3060746e8d 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 @@ -286,16 +306,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 +348,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 +428,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 d1202d3bb3..e6321b0fb6 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 b3e9e88fe9..212161a0d7 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 diff --git a/assets/components/lvms/lvms-operator_apps_v1_deployment.yaml b/assets/components/lvms/lvms-operator_apps_v1_deployment.yaml index 282da2a75c..55ab53ab44 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: registry.redhat.io/lvms4/lvms-rhel9-operator@sha256:be49109ec5be53a783b2de9bc6529db99930a69021577c05cfa0bf1312e06d69 livenessProbe: failureThreshold: 3 httpGet: 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 c1eb320eac..7a3fac454a 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 @@ -106,28 +59,24 @@ rules: - apiGroups: - "" resources: - - persistentvolumes + - pods verbs: - - create - delete - get - list - - patch - - update - watch - apiGroups: - - "" + - apiextensions.k8s.io resources: - - pods + - customresourcedefinitions verbs: - - delete - get - list - - watch - apiGroups: - - lvm.topolvm.io + - apps resources: - - lvmclusters + - daemonsets + - deployments verbs: - create - delete @@ -137,23 +86,35 @@ rules: - update - watch - apiGroups: - - lvm.topolvm.io + - apps resources: - - lvmclusters/finalizers + - replicasets verbs: - - update + - get - apiGroups: - - lvm.topolvm.io + - config.openshift.io resources: - - lvmclusters/status + - infrastructures verbs: - get + - apiGroups: + - coordination.k8s.io + resources: + - leases + verbs: + - create + - delete + - get + - list - patch - update + - watch - apiGroups: - lvm.topolvm.io resources: + - lvmclusters - lvmvolumegroupnodestatuses + - lvmvolumegroups verbs: - create - delete @@ -165,21 +126,25 @@ 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 - patch - update - apiGroups: - - lvm.topolvm.io + - monitoring.coreos.com resources: - - lvmvolumegroups + - servicemonitors verbs: - create - delete @@ -188,20 +153,6 @@ rules: - patch - update - watch - - apiGroups: - - lvm.topolvm.io - resources: - - lvmvolumegroups/finalizers - verbs: - - update - - apiGroups: - - lvm.topolvm.io - resources: - - lvmvolumegroups/status - verbs: - - get - - patch - - update - apiGroups: - security.openshift.io resources: @@ -254,37 +205,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 +218,7 @@ rules: - apiGroups: - storage.k8s.io resources: + - csinodes - volumeattachments verbs: - get @@ -306,17 +228,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 3432ad6682..2dc4007ea0 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: v4.18.4 diff --git a/assets/release/release-aarch64.json b/assets/release/release-aarch64.json index 1713c04718..cc64d3f311 100644 --- a/assets/release/release-aarch64.json +++ b/assets/release/release-aarch64.json @@ -10,7 +10,7 @@ "ovn-kubernetes-microshift": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:61e9c065d72dd82e450b00ecce81c6f7a6ffd228d0351dab0509ea573dc893a8", "pod": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:1f6231e8ab6c5f3064bd2463fad528d26c85a7c4b7bc22f29ab97326cb5cd72b", "service-ca-operator": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:b7d2a0b0769061df75adbdd2e719d9053fbd6db21fc042663935a45074b9a2dd", - "lvms_operator": "registry.redhat.io/lvms4/lvms-rhel9-operator@sha256:bd6dc4d6e90fdbcdb844759e203c9c591abc5ac29a956257a90bda101a37b76e", + "lvms_operator": "registry.redhat.io/lvms4/lvms-rhel9-operator@sha256:be49109ec5be53a783b2de9bc6529db99930a69021577c05cfa0bf1312e06d69", "csi-snapshot-controller": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:72f5255ffde22c9520f5312c29348a10ce2dc18da2d0915ad43b934b1f977a2a" } } diff --git a/assets/release/release-x86_64.json b/assets/release/release-x86_64.json index 31b899a30c..9d7603cf34 100644 --- a/assets/release/release-x86_64.json +++ b/assets/release/release-x86_64.json @@ -10,7 +10,7 @@ "ovn-kubernetes-microshift": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0c4f9f69f15fb925664055c24a38b143eb4a7ad92864b4b2193a74d735c6f975", "pod": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:8ebcd6745e15ac3776016a78fc9882f5ca05f5f6afbb5edd97edd70377f667d1", "service-ca-operator": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:187f9b0a3870f29230341708af35ab9befe217fb7d5c9c0aa663a365175b3f83", - "lvms_operator": "registry.redhat.io/lvms4/lvms-rhel9-operator@sha256:bd6dc4d6e90fdbcdb844759e203c9c591abc5ac29a956257a90bda101a37b76e", + "lvms_operator": "registry.redhat.io/lvms4/lvms-rhel9-operator@sha256:be49109ec5be53a783b2de9bc6529db99930a69021577c05cfa0bf1312e06d69", "csi-snapshot-controller": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:8657b9eca6df33d652c05c4ca594236aa42277ed5d83b7757748be262f2ffd1f" } } diff --git a/scripts/auto-rebase/last_lvms_rebase.sh b/scripts/auto-rebase/last_lvms_rebase.sh index 5708e8b632..4427e90dca 100755 --- a/scripts/auto-rebase/last_lvms_rebase.sh +++ b/scripts/auto-rebase/last_lvms_rebase.sh @@ -1,2 +1,2 @@ #!/bin/bash -x -./scripts/auto-rebase/rebase-lvms.sh to "registry.redhat.io/lvms4/lvms-operator-bundle:v4.17.0-43" +./scripts/auto-rebase/rebase-lvms.sh to "registry.redhat.io/lvms4/lvms-operator-bundle:v4.18.4" diff --git a/scripts/auto-rebase/rebase_job_entrypoint.sh b/scripts/auto-rebase/rebase_job_entrypoint.sh index 40f3ae1527..dab84080ee 100755 --- a/scripts/auto-rebase/rebase_job_entrypoint.sh +++ b/scripts/auto-rebase/rebase_job_entrypoint.sh @@ -5,22 +5,19 @@ set -o errexit set -o pipefail set -x -check_semver_suffix() { +check_semver_no_suffix() { local version=$1 # Check if the version is not empty if [[ -z "$version" ]]; then - echo "false" - return 1 + return 0 fi # Check if the version string contains a numeric suffix of the form -xx if [[ $version =~ -[0-9]+$ ]]; then - echo "true" - return 0 - else - echo "false" return 1 + else + return 0 fi } @@ -100,7 +97,7 @@ ARM64_RELEASE=${PULLSPEC_RELEASE_ARM64} \ # For example, ocp-release at 4.13 will more often than not # correspond to 4.12 LVMS, until the official 4.13 release when both # components will be 4.13. -release_lvms="v4.17.0-43" +release_lvms="v4.18.4" # Since LVMS is not part of the release payload, it is not kept in # CI. Use the latest z-stream that coincides with the release @@ -110,8 +107,7 @@ pullspec_release_lvms="registry.redhat.io/lvms4/lvms-operator-bundle:${release_l # the latest lvms release candidate replicated from CPaaS into quay pullspec_release_lvms_fallback="quay.io/lvms_dev/lvms4-lvms-operator-bundle:${release_lvms}" -lvms_is_candidate_build=$(check_semver_suffix "${release_lvms}") -if [ "$lvms_is_candidate_build" == "false" ]; then +if check_semver_no_suffix "${release_lvms}"; then ./scripts/auto-rebase/rebase-lvms.sh to "${pullspec_release_lvms}" else ./scripts/auto-rebase/rebase-lvms.sh to "${pullspec_release_lvms_fallback}" diff --git a/test/scenarios/presubmits/el94-src@standard-suite2.sh b/test/scenarios/presubmits/el94-src@standard-suite2.sh index a0332cf238..7c5966da24 100644 --- a/test/scenarios/presubmits/el94-src@standard-suite2.sh +++ b/test/scenarios/presubmits/el94-src@standard-suite2.sh @@ -3,7 +3,7 @@ # Sourced from scenario.sh and uses functions defined there. scenario_create_vms() { - prepare_kickstart host1 kickstart.ks.template rhel-9.4-microshift-source-optionals + prepare_kickstart host1 kickstart.ks.template rhel-9.4-microshift-source launch_vm }