diff --git a/assets/components/lvms/lvm.topolvm.io_lvmclusters.yaml b/assets/components/lvms/lvm.topolvm.io_lvmclusters.yaml index 3d98a66038..bb641144a2 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.17.3 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..a5ca0ada53 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.17.3 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..336e5e70fa 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.17.3 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 c50a1b9eef..a4a912e296 100644 --- a/assets/components/lvms/lvms-operator_apps_v1_deployment.yaml +++ b/assets/components/lvms/lvms-operator_apps_v1_deployment.yaml @@ -66,6 +66,9 @@ spec: memory: 50Mi securityContext: allowPrivilegeEscalation: false + capabilities: + drop: + - NET_RAW terminationMessagePolicy: FallbackToLogsOnError volumeMounts: - mountPath: /tmp/k8s-webhook-server/serving-certs 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..e0db3091e7 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.19.2 diff --git a/assets/release/release-aarch64.json b/assets/release/release-aarch64.json index 31ffed8812..034fa245d8 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:0de9641d748d52dc7655c288882071b3c69c348fc33d6dd88ca3a1619771de4a", "pod": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:706da59aac25a2c9b5f704c6dadb24e340e35fe191904f79cc9f6bfb4bb38150", "service-ca-operator": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:479683f8937592893c9f846925250a783728c042993ad997afa5fa2e643af691", - "lvms_operator": "registry.redhat.io/lvms4/lvms-rhel9-operator@sha256:03771d66c0ed8a422c012ffaf6f390d8c3191e02330ef9b9dee00af518928d6e", + "lvms_operator": "registry.redhat.io/lvms4/lvms-rhel9-operator@sha256:bb826c5e38b7c0ced02cfce71b7e188d30a4adaff620ca458f25e4d2a602f2fd", "csi-snapshot-controller": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:5a76f60728783a457e1ee8cc850a4f1df26d7e374d297b7777a047537e8ea069" } } diff --git a/assets/release/release-x86_64.json b/assets/release/release-x86_64.json index 0605bc59b6..8dec058956 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:6d300ef97b7d5165827fda9e03df16126888dd0c2558b9efee9d968ad52ff628", "pod": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:bf669d1815814fc5cb805916699e509a1dad41e12d23513a71201c7ddb2ad45f", "service-ca-operator": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:425ab63ca32f4554e1f28326be29d3eedf23bf82f608d9aa60faf600cb6091a2", - "lvms_operator": "registry.redhat.io/lvms4/lvms-rhel9-operator@sha256:c5f0ad26372afdd4d3e6a37fdb5cdf0c91304c0e994ec885e2db89e851081504", + "lvms_operator": "registry.redhat.io/lvms4/lvms-rhel9-operator@sha256:a81da51f8d1ef03fdf1e64a94741f1d672e4fb970c4be570394c6a6e2e4f7363", "csi-snapshot-controller": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:ffe3666ff927d95fd79cc5f7fd69a4dc77a1a3a7a9e9db72db3dda1dac8a1989" } } diff --git a/scripts/auto-rebase/last_lvms_rebase.sh b/scripts/auto-rebase/last_lvms_rebase.sh index 5708e8b632..9f9e92df9a 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.19.2" diff --git a/scripts/auto-rebase/rebase_job_entrypoint.sh b/scripts/auto-rebase/rebase_job_entrypoint.sh index 83e5f98e78..d0aa23a2b4 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 } @@ -110,7 +107,7 @@ RHOAI_RELEASE=${rhoai_release} \ # 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.19.2" # 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 @@ -120,8 +117,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/el96-src@standard-suite2.sh b/test/scenarios/presubmits/el96-src@standard-suite2.sh index 1fd6cfd47a..695d1b02e7 100644 --- a/test/scenarios/presubmits/el96-src@standard-suite2.sh +++ b/test/scenarios/presubmits/el96-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.6-microshift-source-optionals + prepare_kickstart host1 kickstart.ks.template rhel-9.6-microshift-source launch_vm }