Repository: kubernetes-sigs/kueue

Issue:
Flaky E2E Test: ManageJobsWithoutQueueName when manageJobsWithoutQueueName=true should suspend the pods created by a StatefulSet in the test namespace without queue-name label
<!-- Please use this template while reporting a bug and provide as much info as possible. Not doing so may result in your bug not being addressed in a timely manner. Thanks!

If the matter is security related, please disclose it privately via https://kubernetes.io/security/
-->


**What happened**:

`End To End Custom Configs handling Suite: kindest/node:v1.34.0: [It] ManageJobsWithoutQueueName when manageJobsWithoutQueueName=true should suspend the pods created by a StatefulSet in the test namespace without queue-name label` failed in https://github.com/kubernetes-sigs/kueue/pull/6686

```
{Timed out after 45.000s.
The function passed to Eventually failed at /home/prow/go/src/sigs.k8s.io/kueue/test/e2e/customconfigs/managejobswithoutqueuename_test.go:648 with:
Expected success, but got an error:
    <*errors.StatusError | 0xc0008886e0>: 
    workloads.kueue.x-k8s.io "statefulset-sts-18b6e" not found
    {
        ErrStatus: {
            TypeMeta: {Kind: "", APIVersion: ""},
            ListMeta: {
                SelfLink: "",
                ResourceVersion: "",
                Continue: "",
                RemainingItemCount: nil,
            },
            Status: "Failure",
            Message: "workloads.kueue.x-k8s.io \"statefulset-sts-18b6e\" not found",
            Reason: "NotFound",
            Details: {
                Name: "statefulset-sts-18b6e",
                Group: "kueue.x-k8s.io",
                Kind: "workloads",
                UID: "",
                Causes: nil,
                RetryAfterSeconds: 0,
            },
            Code: 404,
        },
    } failed [FAILED] Timed out after 45.000s.
The function passed to Eventually failed at /home/prow/go/src/sigs.k8s.io/kueue/test/e2e/customconfigs/managejobswithoutqueuename_test.go:648 with:
Expected success, but got an error:
    <*errors.StatusError | 0xc0008886e0>: 
    workloads.kueue.x-k8s.io "statefulset-sts-18b6e" not found
    {
        ErrStatus: {
            TypeMeta: {Kind: "", APIVersion: ""},
            ListMeta: {
                SelfLink: "",
                ResourceVersion: "",
                Continue: "",
                RemainingItemCount: nil,
            },
            Status: "Failure",
            Message: "workloads.kueue.x-k8s.io \"statefulset-sts-18b6e\" not found",
            Reason: "NotFound",
            Details: {
                Name: "statefulset-sts-18b6e",
                Group: "kueue.x-k8s.io",
                Kind: "workloads",
                UID: "",
                Causes: nil,
                RetryAfterSeconds: 0,
            },
            Code: 404,
        },
    }
In [It] at: /home/prow/go/src/sigs.k8s.io/kueue/test/e2e/customconfigs/managejobswithoutqueuename_test.go:650 @ 08/29/25 19:02:47.399
}
```

**What you expected to happen**:

No errors.

**How to reproduce it (as minimally and precisely as possible)**:

https://prow.k8s.io/view/gs/kubernetes-ci-logs/pr-logs/pull/kubernetes-sigs_kueue/6686/pull-kueue-test-e2e-customconfigs-main/1961500167513313280

**Anything else we need to know?**:

**Environment**:
- Kubernetes version (use `kubectl version`):
- Kueue version (use `git describe --tags --dirty --always`):
- Cloud provider or hardware configuration:
- OS (e.g: `cat /etc/os-release`):
- Kernel (e.g. `uname -a`):
- Install tools:
- Others:

Hints from issue comments:
@tenzen-y: /kind flake
@IrvingMg: /assign@mimowo: https://prow.k8s.io/view/gs/kubernetes-ci-logs/pr-logs/pull/kubernetes-sigs_kueue/6765/pull-kueue-test-e2e-customconfigs-main/1971185466099109888@tenzen-y: This happened again.

https://github.com/kubernetes-sigs/kueue/pull/7356
https://prow.k8s.io/view/gs/kubernetes-ci-logs/pr-logs/pull/kubernetes-sigs_kueue/7356/pull-kueue-test-e2e-customconfigs-main/1981316427394584576

/reopen@k8s-ci-robot: @tenzen-y: Reopened this issue.

<details>

In response to [this](https://github.com/kubernetes-sigs/kueue/issues/6699#issuecomment-3436447942):

>This happened again.
>
>https://github.com/kubernetes-sigs/kueue/pull/7356
>https://prow.k8s.io/view/gs/kubernetes-ci-logs/pr-logs/pull/kubernetes-sigs_kueue/7356/pull-kueue-test-e2e-customconfigs-main/1981316427394584576
>
>/reopen


Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes-sigs/prow](https://github.com/kubernetes-sigs/prow/issues/new?title=Prow%20issue:) repository.
</details>@mimowo: It is the same test, but different assert, and I think a different root cause
```
{Timed out after 45.000s.
The function passed to Eventually failed at /home/prow/go/src/sigs.k8s.io/kueue/test/e2e/customconfigs/managejobswithoutqueuename_test.go:657 with:
Expected
    <int32>: 0
to equal
    <int32>: 3 failed [FAILED] Timed out after 45.000s.
The function passed to Eventually failed at /home/prow/go/src/sigs.k8s.io/kueue/test/e2e/customconfigs/managejobswithoutqueuename_test.go:657 with:
Expected
    <int32>: 0
to equal
    <int32>: 3
In [It] at: /home/prow/go/src/sigs.k8s.io/kueue/test/e2e/customconfigs/managejobswithoutqueuename_test.go:658 @ 10/23/25 11:18:28.239
}
```@tenzen-y: > It is the same test, but different assert, and I think a different root cause
> 
> ```
> {Timed out after 45.000s.
> The function passed to Eventually failed at /home/prow/go/src/sigs.k8s.io/kueue/test/e2e/customconfigs/managejobswithoutqueuename_test.go:657 with:
> Expected
>     <int32>: 0
> to equal
>     <int32>: 3 failed [FAILED] Timed out after 45.000s.
> The function passed to Eventually failed at /home/prow/go/src/sigs.k8s.io/kueue/test/e2e/customconfigs/managejobswithoutqueuename_test.go:657 with:
> Expected
>     <int32>: 0
> to equal
>     <int32>: 3
> In [It] at: /home/prow/go/src/sigs.k8s.io/kueue/test/e2e/customconfigs/managejobswithoutqueuename_test.go:658 @ 10/23/25 11:18:28.239
> }
> ```

Good point, let me open another issue, thanks.@tenzen-y: /close
@k8s-ci-robot: @tenzen-y: Closing this issue.

<details>

In response to [this](https://github.com/kubernetes-sigs/kueue/issues/6699#issuecomment-3436632531):

>/close
>


Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes-sigs/prow](https://github.com/kubernetes-sigs/prow/issues/new?title=Prow%20issue:) repository.
</details>@tenzen-y: Opened https://github.com/kubernetes-sigs/kueue/issues/7366

Solution patch:
diff --git a/.gitignore b/.gitignore
index da528897b..beadfce66 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,6 +7,7 @@
 *.dylib
 bin
 artifacts
+config/components/crd/_output
 testbin/*
 .DS_Store
 go.work*
diff --git a/Makefile b/Makefile
index ad0470cd5..ddf785936 100644
--- a/Makefile
+++ b/Makefile
@@ -127,6 +127,12 @@ manifests: controller-gen ## Generate WebhookConfiguration, ClusterRole and Cust
 		rbac:roleName=manager-role output:rbac:artifacts:config=config/components/rbac\
 		webhook output:webhook:artifacts:config=config/components/webhook\
 		paths="./pkg/controller/...;./pkg/webhooks/...;./pkg/util/cert/...;./pkg/visibility/..."
+	$(MAKE) compile-crd-manifests
+
+.PHONY: compile-crd-manifests
+compile-crd-manifests: kustomize
+	@mkdir -p config/components/crd/_output
+	$(KUSTOMIZE) build config/components/crd > config/components/crd/_output/crds-with-webhooks.yaml
 
 .PHONY: update-helm
 update-helm: manifests yq yaml-processor
diff --git a/Makefile-test.mk b/Makefile-test.mk
index eec13e1dc..b058cba23 100644
--- a/Makefile-test.mk
+++ b/Makefile-test.mk
@@ -68,7 +68,7 @@ test: gotestsum ## Run tests.
 	TEST_LOG_LEVEL=$(TEST_LOG_LEVEL) $(GOTESTSUM) --junitfile $(ARTIFACTS)/junit.xml -- $(GOFLAGS) $(GO_TEST_FLAGS) $(shell $(GO_CMD) list $(GO_TEST_TARGET)/... | grep -v '/test/') -coverpkg=$(GO_TEST_TARGET)/... -coverprofile $(ARTIFACTS)/cover.out
 
 .PHONY: test-integration
-test-integration: gomod-download envtest ginkgo dep-crds kueuectl ginkgo-top ## Run integration tests for all singlecluster suites.
+test-integration: compile-crd-manifests gomod-download envtest ginkgo dep-crds kueuectl ginkgo-top ## Run integration tests for all singlecluster suites.
 	KUBEBUILDER_ASSETS="$(shell $(ENVTEST) use $(ENVTEST_K8S_VERSION) -p path)" \
 	PROJECT_DIR=$(PROJECT_DIR)/ \
 	KUEUE_BIN=$(BIN_DIR) \
@@ -86,7 +86,7 @@ test-integration-extended: INTEGRATION_FILTERS= --label-filter="slow || redundan
 test-integration-extended: test-integration ## Run extended integration tests for singlecluster suites.
 
 .PHONY: test-multikueue-integration
-test-multikueue-integration: gomod-download envtest ginkgo dep-crds ginkgo-top ## Run integration tests for MultiKueue suite.
+test-multikueue-integration: compile-crd-manifests gomod-download envtest ginkgo dep-crds ginkgo-top ## Run integration tests for MultiKueue suite.
 	KUBEBUILDER_ASSETS="$(shell $(ENVTEST) use $(ENVTEST_K8S_VERSION) -p path)" \
 	PROJECT_DIR=$(PROJECT_DIR)/ \
 	KUEUE_BIN=$(BIN_DIR) \
diff --git a/apis/kueue/v1beta1/clusterqueue_conversion.go b/apis/kueue/v1beta1/clusterqueue_conversion.go
new file mode 100644
index 000000000..0b30c5864
--- /dev/null
+++ b/apis/kueue/v1beta1/clusterqueue_conversion.go
@@ -0,0 +1,47 @@
+/*
+Copyright The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package v1beta1
+
+import (
+	conversionapi "k8s.io/apimachinery/pkg/conversion"
+	"sigs.k8s.io/controller-runtime/pkg/conversion"
+
+	"sigs.k8s.io/kueue/apis/kueue/v1beta2"
+)
+
+//lint:file-ignore ST1003 "generated Convert_* calls below use underscores"
+//revive:disable:var-naming
+
+func (src *ClusterQueue) ConvertTo(dstRaw conversion.Hub) error {
+	dst := dstRaw.(*v1beta2.ClusterQueue)
+	return Convert_v1beta1_ClusterQueue_To_v1beta2_ClusterQueue(src, dst, nil)
+}
+
+func (dst *ClusterQueue) ConvertFrom(srcRaw conversion.Hub) error {
+	src := srcRaw.(*v1beta2.ClusterQueue)
+	return Convert_v1beta2_ClusterQueue_To_v1beta1_ClusterQueue(src, dst, nil)
+}
+
+func Convert_v1beta1_ClusterQueueSpec_To_v1beta2_ClusterQueueSpec(in *ClusterQueueSpec, out *v1beta2.ClusterQueueSpec, s conversionapi.Scope) error {
+	out.CohortName = v1beta2.CohortReference(in.Cohort)
+	return autoConvert_v1beta1_ClusterQueueSpec_To_v1beta2_ClusterQueueSpec(in, out, s)
+}
+
+func Convert_v1beta2_ClusterQueueSpec_To_v1beta1_ClusterQueueSpec(in *v1beta2.ClusterQueueSpec, out *ClusterQueueSpec, s conversionapi.Scope) error {
+	out.Cohort = CohortReference(in.CohortName)
+	return autoConvert_v1beta2_ClusterQueueSpec_To_v1beta1_ClusterQueueSpec(in, out, s)
+}
diff --git a/apis/kueue/v1beta1/doc.go b/apis/kueue/v1beta1/doc.go
index 905126881..17bdf9cc8 100644
--- a/apis/kueue/v1beta1/doc.go
+++ b/apis/kueue/v1beta1/doc.go
@@ -15,6 +15,7 @@ limitations under the License.
 */
 
 // +kubebuilder:object:generate=true
+// +k8s:conversion-gen=sigs.k8s.io/kueue/apis/kueue/v1beta2
 // +groupName=kueue.x-k8s.io
 
 package v1beta1
diff --git a/apis/kueue/v1beta1/groupversion_info.go b/apis/kueue/v1beta1/groupversion_info.go
index 1d1d3ed6d..9882f6b5f 100644
--- a/apis/kueue/v1beta1/groupversion_info.go
+++ b/apis/kueue/v1beta1/groupversion_info.go
@@ -20,8 +20,11 @@ limitations under the License.
 package v1beta1
 
 import (
+	apiruntime "k8s.io/apimachinery/pkg/runtime"
 	"k8s.io/apimachinery/pkg/runtime/schema"
 	"sigs.k8s.io/controller-runtime/pkg/scheme"
+
+	"sigs.k8s.io/kueue/apis/kueue/v1beta2"
 )
 
 var (
@@ -37,9 +40,20 @@ var (
 
 	// AddToScheme adds the types in this group-version to the given scheme.
 	AddToScheme = SchemeBuilder.AddToScheme
+
+	// required by zz_generated.conversion.go
+	localSchemeBuilder = &SchemeBuilder.SchemeBuilder
 )
 
 // Resource is required by pkg/client/listers/...
 func Resource(resource string) schema.GroupResource {
 	return GroupVersion.WithResource(resource).GroupResource()
 }
+
+var convScheme = apiruntime.NewScheme()
+
+func init() {
+	// register generated conversions into our local scheme
+	_ = AddToScheme(convScheme)
+	_ = v1beta2.AddToScheme(convScheme)
+}
diff --git a/apis/kueue/v1beta1/localqueue_conversion.go b/apis/kueue/v1beta1/localqueue_conversion.go
new file mode 100644
index 000000000..c50d2809d
--- /dev/null
+++ b/apis/kueue/v1beta1/localqueue_conversion.go
@@ -0,0 +1,57 @@
+/*
+Copyright The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package v1beta1
+
+import (
+	conversionapi "k8s.io/apimachinery/pkg/conversion"
+	"sigs.k8s.io/controller-runtime/pkg/conversion"
+
+	"sigs.k8s.io/kueue/apis/kueue/v1beta2"
+)
+
+//lint:file-ignore ST1003 "generated Convert_* calls below use underscores"
+//revive:disable:var-naming
+
+func (src *LocalQueue) ConvertTo(dstRaw conversion.Hub) error {
+	dst := dstRaw.(*v1beta2.LocalQueue)
+	return Convert_v1beta1_LocalQueue_To_v1beta2_LocalQueue(src, dst, nil)
+}
+
+func (dst *LocalQueue) ConvertFrom(srcRaw conversion.Hub) error {
+	src := srcRaw.(*v1beta2.LocalQueue)
+	return Convert_v1beta2_LocalQueue_To_v1beta1_LocalQueue(src, dst, nil)
+}
+
+func Convert_v1beta2_LocalQueueStatus_To_v1beta1_LocalQueueStatus(in *v1beta2.LocalQueueStatus, out *LocalQueueStatus, s conversionapi.Scope) error {
+	out.FlavorUsage = make([]LocalQueueFlavorUsage, len(in.FlavorsUsage))
+	for i := range in.FlavorsUsage {
+		if err := autoConvert_v1beta2_LocalQueueFlavorUsage_To_v1beta1_LocalQueueFlavorUsage(&in.FlavorsUsage[i], &out.FlavorUsage[i], s); err != nil {
+			return err
+		}
+	}
+	return autoConvert_v1beta2_LocalQueueStatus_To_v1beta1_LocalQueueStatus(in, out, s)
+}
+
+func Convert_v1beta1_LocalQueueStatus_To_v1beta2_LocalQueueStatus(in *LocalQueueStatus, out *v1beta2.LocalQueueStatus, s conversionapi.Scope) error {
+	out.FlavorsUsage = make([]v1beta2.LocalQueueFlavorUsage, len(in.FlavorUsage))
+	for i := range in.FlavorUsage {
+		if err := autoConvert_v1beta1_LocalQueueFlavorUsage_To_v1beta2_LocalQueueFlavorUsage(&in.FlavorUsage[i], &out.FlavorsUsage[i], s); err != nil {
+			return err
+		}
+	}
+	return autoConvert_v1beta1_LocalQueueStatus_To_v1beta2_LocalQueueStatus(in, out, s)
+}
diff --git a/apis/kueue/v1beta1/workload_conversion.go b/apis/kueue/v1beta1/workload_conversion.go
new file mode 100644
index 000000000..55d407ec5
--- /dev/null
+++ b/apis/kueue/v1beta1/workload_conversion.go
@@ -0,0 +1,47 @@
+/*
+Copyright The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package v1beta1
+
+import (
+	conversionapi "k8s.io/apimachinery/pkg/conversion"
+	"sigs.k8s.io/controller-runtime/pkg/conversion"
+
+	"sigs.k8s.io/kueue/apis/kueue/v1beta2"
+)
+
+//lint:file-ignore ST1003 "generated Convert_* calls below use underscores"
+//revive:disable:var-naming
+
+func (src *Workload) ConvertTo(dstRaw conversion.Hub) error {
+	dst := dstRaw.(*v1beta2.Workload)
+	return Convert_v1beta1_Workload_To_v1beta2_Workload(src, dst, nil)
+}
+
+func (dst *Workload) ConvertFrom(srcRaw conversion.Hub) error {
+	src := srcRaw.(*v1beta2.Workload)
+	return Convert_v1beta2_Workload_To_v1beta1_Workload(src, dst, nil)
+}
+
+func Convert_v1beta2_WorkloadStatus_To_v1beta1_WorkloadStatus(in *v1beta2.WorkloadStatus, out *WorkloadStatus, s conversionapi.Scope) error {
+	out.AccumulatedPastExexcutionTimeSeconds = in.AccumulatedPastExecutionTimeSeconds
+	return autoConvert_v1beta2_WorkloadStatus_To_v1beta1_WorkloadStatus(in, out, s)
+}
+
+func Convert_v1beta1_WorkloadStatus_To_v1beta2_WorkloadStatus(in *WorkloadStatus, out *v1beta2.WorkloadStatus, s conversionapi.Scope) error {
+	out.AccumulatedPastExecutionTimeSeconds = in.AccumulatedPastExexcutionTimeSeconds
+	return autoConvert_v1beta1_WorkloadStatus_To_v1beta2_WorkloadStatus(in, out, s)
+}
diff --git a/apis/kueue/v1beta1/workload_types.go b/apis/kueue/v1beta1/workload_types.go
index 8781aa2e8..7d297f96f 100644
--- a/apis/kueue/v1beta1/workload_types.go
+++ b/apis/kueue/v1beta1/workload_types.go
@@ -765,10 +765,10 @@ const (
 
 // Workload is the Schema for the workloads API
 // +kubebuilder:validation:XValidation:rule="has(self.status) && has(self.status.conditions) && self.status.conditions.exists(c, c.type == 'QuotaReserved' && c.status == 'True') && has(self.status.admission) ? size(self.spec.podSets) == size(self.status.admission.podSetAssignments) : true", message="podSetAssignments must have the same number of podSets as the spec"
-// +kubebuilder:validation:XValidation:rule="(has(oldSelf.status) && has(oldSelf.status.conditions) && oldSelf.status.conditions.exists(c, c.type == 'QuotaReserved' && c.status == 'True')) ? (oldSelf.spec.priorityClassSource == self.spec.priorityClassSource) : true", message="field is immutable"
-// +kubebuilder:validation:XValidation:rule="(has(oldSelf.status) && has(oldSelf.status.conditions) && oldSelf.status.conditions.exists(c, c.type == 'QuotaReserved' && c.status == 'True') && has(oldSelf.spec.priorityClassName) && has(self.spec.priorityClassName)) ? (oldSelf.spec.priorityClassName == self.spec.priorityClassName) : true", message="field is immutable"
-// +kubebuilder:validation:XValidation:rule="(has(oldSelf.status) && has(oldSelf.status.conditions) && oldSelf.status.conditions.exists(c, c.type == 'QuotaReserved' && c.status == 'True')) && (has(self.status) && has(self.status.conditions) && self.status.conditions.exists(c, c.type == 'QuotaReserved' && c.status == 'True')) && has(oldSelf.spec.queueName) && has(self.spec.queueName) ? oldSelf.spec.queueName == self.spec.queueName : true", message="field is immutable"
-// +kubebuilder:validation:XValidation:rule="((has(oldSelf.status) && has(oldSelf.status.conditions) && oldSelf.status.conditions.exists(c, c.type == 'Admitted' && c.status == 'True')) && (has(self.status) && has(self.status.conditions) && self.status.conditions.exists(c, c.type == 'Admitted' && c.status == 'True')))?((has(oldSelf.spec.maximumExecutionTimeSeconds)?oldSelf.spec.maximumExecutionTimeSeconds:0) ==  (has(self.spec.maximumExecutionTimeSeconds)?self.spec.maximumExecutionTimeSeconds:0)):true", message="maximumExecutionTimeSeconds is immutable while admitted"
+// +kubebuilder:validation:XValidation:rule="(has(oldSelf.status) && has(oldSelf.status.conditions) && oldSelf.status.conditions.exists(c, c.type == 'QuotaReserved' && c.status == 'True')) ? (oldSelf.spec.priorityClassSource == self.spec.priorityClassSource) : true", message="priorityClassSource is immutable while workload quota reserved"
+// +kubebuilder:validation:XValidation:rule="(has(oldSelf.status) && has(oldSelf.status.conditions) && oldSelf.status.conditions.exists(c, c.type == 'QuotaReserved' && c.status == 'True') && has(oldSelf.spec.priorityClassName) && has(self.spec.priorityClassName)) ? (oldSelf.spec.priorityClassName == self.spec.priorityClassName) : true", message="priorityClassName is immutable while workload quota reserved"
+// +kubebuilder:validation:XValidation:rule="(has(oldSelf.status) && has(oldSelf.status.conditions) && oldSelf.status.conditions.exists(c, c.type == 'QuotaReserved' && c.status == 'True')) && (has(self.status) && has(self.status.conditions) && self.status.conditions.exists(c, c.type == 'QuotaReserved' && c.status == 'True')) && has(oldSelf.spec.queueName) && has(self.spec.queueName) ? oldSelf.spec.queueName == self.spec.queueName : true", message="queueName is immutable while workload quota reserved"
+// +kubebuilder:validation:XValidation:rule="((has(oldSelf.status) && has(oldSelf.status.conditions) && oldSelf.status.conditions.exists(c, c.type == 'Admitted' && c.status == 'True')) && (has(self.status) && has(self.status.conditions) && self.status.conditions.exists(c, c.type == 'Admitted' && c.status == 'True')))?((has(oldSelf.spec.maximumExecutionTimeSeconds)?oldSelf.spec.maximumExecutionTimeSeconds:0) ==  (has(self.spec.maximumExecutionTimeSeconds)?self.spec.maximumExecutionTimeSeconds:0)):true", message="maximumExecutionTimeSeconds is immutable while workload quota reserved"
 type Workload struct {
 	metav1.TypeMeta `json:",inline"`
 	// metadata is the metadata of the Workload.
diff --git a/apis/kueue/v1beta1/zz_generated.conversion.go b/apis/kueue/v1beta1/zz_generated.conversion.go
new file mode 100644
index 000000000..7fb80707c
--- /dev/null
+++ b/apis/kueue/v1beta1/zz_generated.conversion.go
@@ -0,0 +1,2772 @@
+//go:build !ignore_autogenerated
+// +build !ignore_autogenerated
+
+/*
+Copyright The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+// Code generated by conversion-gen. DO NOT EDIT.
+
+package v1beta1
+
+import (
+	unsafe "unsafe"
+
+	corev1 "k8s.io/api/core/v1"
+	resource "k8s.io/apimachinery/pkg/api/resource"
+	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+	conversion "k8s.io/apimachinery/pkg/conversion"
+	runtime "k8s.io/apimachinery/pkg/runtime"
+	v1beta2 "sigs.k8s.io/kueue/apis/kueue/v1beta2"
+)
+
+func init() {
+	localSchemeBuilder.Register(RegisterConversions)
+}
+
+// RegisterConversions adds conversion functions to the given scheme.
+// Public to allow building arbitrary schemes.
+func RegisterConversions(s *runtime.Scheme) error {
+	if err := s.AddGeneratedConversionFunc((*Admission)(nil), (*v1beta2.Admission)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_Admission_To_v1beta2_Admission(a.(*Admission), b.(*v1beta2.Admission), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.Admission)(nil), (*Admission)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_Admission_To_v1beta1_Admission(a.(*v1beta2.Admission), b.(*Admission), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*AdmissionCheck)(nil), (*v1beta2.AdmissionCheck)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_AdmissionCheck_To_v1beta2_AdmissionCheck(a.(*AdmissionCheck), b.(*v1beta2.AdmissionCheck), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.AdmissionCheck)(nil), (*AdmissionCheck)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_AdmissionCheck_To_v1beta1_AdmissionCheck(a.(*v1beta2.AdmissionCheck), b.(*AdmissionCheck), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*AdmissionCheckList)(nil), (*v1beta2.AdmissionCheckList)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_AdmissionCheckList_To_v1beta2_AdmissionCheckList(a.(*AdmissionCheckList), b.(*v1beta2.AdmissionCheckList), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.AdmissionCheckList)(nil), (*AdmissionCheckList)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_AdmissionCheckList_To_v1beta1_AdmissionCheckList(a.(*v1beta2.AdmissionCheckList), b.(*AdmissionCheckList), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*AdmissionCheckParametersReference)(nil), (*v1beta2.AdmissionCheckParametersReference)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_AdmissionCheckParametersReference_To_v1beta2_AdmissionCheckParametersReference(a.(*AdmissionCheckParametersReference), b.(*v1beta2.AdmissionCheckParametersReference), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.AdmissionCheckParametersReference)(nil), (*AdmissionCheckParametersReference)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_AdmissionCheckParametersReference_To_v1beta1_AdmissionCheckParametersReference(a.(*v1beta2.AdmissionCheckParametersReference), b.(*AdmissionCheckParametersReference), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*AdmissionCheckSpec)(nil), (*v1beta2.AdmissionCheckSpec)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_AdmissionCheckSpec_To_v1beta2_AdmissionCheckSpec(a.(*AdmissionCheckSpec), b.(*v1beta2.AdmissionCheckSpec), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.AdmissionCheckSpec)(nil), (*AdmissionCheckSpec)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_AdmissionCheckSpec_To_v1beta1_AdmissionCheckSpec(a.(*v1beta2.AdmissionCheckSpec), b.(*AdmissionCheckSpec), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*AdmissionCheckState)(nil), (*v1beta2.AdmissionCheckState)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_AdmissionCheckState_To_v1beta2_AdmissionCheckState(a.(*AdmissionCheckState), b.(*v1beta2.AdmissionCheckState), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.AdmissionCheckState)(nil), (*AdmissionCheckState)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_AdmissionCheckState_To_v1beta1_AdmissionCheckState(a.(*v1beta2.AdmissionCheckState), b.(*AdmissionCheckState), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*AdmissionCheckStatus)(nil), (*v1beta2.AdmissionCheckStatus)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_AdmissionCheckStatus_To_v1beta2_AdmissionCheckStatus(a.(*AdmissionCheckStatus), b.(*v1beta2.AdmissionCheckStatus), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.AdmissionCheckStatus)(nil), (*AdmissionCheckStatus)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_AdmissionCheckStatus_To_v1beta1_AdmissionCheckStatus(a.(*v1beta2.AdmissionCheckStatus), b.(*AdmissionCheckStatus), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*AdmissionCheckStrategyRule)(nil), (*v1beta2.AdmissionCheckStrategyRule)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_AdmissionCheckStrategyRule_To_v1beta2_AdmissionCheckStrategyRule(a.(*AdmissionCheckStrategyRule), b.(*v1beta2.AdmissionCheckStrategyRule), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.AdmissionCheckStrategyRule)(nil), (*AdmissionCheckStrategyRule)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_AdmissionCheckStrategyRule_To_v1beta1_AdmissionCheckStrategyRule(a.(*v1beta2.AdmissionCheckStrategyRule), b.(*AdmissionCheckStrategyRule), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*AdmissionChecksStrategy)(nil), (*v1beta2.AdmissionChecksStrategy)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_AdmissionChecksStrategy_To_v1beta2_AdmissionChecksStrategy(a.(*AdmissionChecksStrategy), b.(*v1beta2.AdmissionChecksStrategy), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.AdmissionChecksStrategy)(nil), (*AdmissionChecksStrategy)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_AdmissionChecksStrategy_To_v1beta1_AdmissionChecksStrategy(a.(*v1beta2.AdmissionChecksStrategy), b.(*AdmissionChecksStrategy), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*AdmissionFairSharingStatus)(nil), (*v1beta2.AdmissionFairSharingStatus)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_AdmissionFairSharingStatus_To_v1beta2_AdmissionFairSharingStatus(a.(*AdmissionFairSharingStatus), b.(*v1beta2.AdmissionFairSharingStatus), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.AdmissionFairSharingStatus)(nil), (*AdmissionFairSharingStatus)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_AdmissionFairSharingStatus_To_v1beta1_AdmissionFairSharingStatus(a.(*v1beta2.AdmissionFairSharingStatus), b.(*AdmissionFairSharingStatus), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*AdmissionScope)(nil), (*v1beta2.AdmissionScope)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_AdmissionScope_To_v1beta2_AdmissionScope(a.(*AdmissionScope), b.(*v1beta2.AdmissionScope), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.AdmissionScope)(nil), (*AdmissionScope)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_AdmissionScope_To_v1beta1_AdmissionScope(a.(*v1beta2.AdmissionScope), b.(*AdmissionScope), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*BorrowWithinCohort)(nil), (*v1beta2.BorrowWithinCohort)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_BorrowWithinCohort_To_v1beta2_BorrowWithinCohort(a.(*BorrowWithinCohort), b.(*v1beta2.BorrowWithinCohort), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.BorrowWithinCohort)(nil), (*BorrowWithinCohort)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_BorrowWithinCohort_To_v1beta1_BorrowWithinCohort(a.(*v1beta2.BorrowWithinCohort), b.(*BorrowWithinCohort), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*ClusterQueue)(nil), (*v1beta2.ClusterQueue)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_ClusterQueue_To_v1beta2_ClusterQueue(a.(*ClusterQueue), b.(*v1beta2.ClusterQueue), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.ClusterQueue)(nil), (*ClusterQueue)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_ClusterQueue_To_v1beta1_ClusterQueue(a.(*v1beta2.ClusterQueue), b.(*ClusterQueue), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*ClusterQueueList)(nil), (*v1beta2.ClusterQueueList)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_ClusterQueueList_To_v1beta2_ClusterQueueList(a.(*ClusterQueueList), b.(*v1beta2.ClusterQueueList), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.ClusterQueueList)(nil), (*ClusterQueueList)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_ClusterQueueList_To_v1beta1_ClusterQueueList(a.(*v1beta2.ClusterQueueList), b.(*ClusterQueueList), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*ClusterQueuePendingWorkload)(nil), (*v1beta2.ClusterQueuePendingWorkload)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_ClusterQueuePendingWorkload_To_v1beta2_ClusterQueuePendingWorkload(a.(*ClusterQueuePendingWorkload), b.(*v1beta2.ClusterQueuePendingWorkload), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.ClusterQueuePendingWorkload)(nil), (*ClusterQueuePendingWorkload)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_ClusterQueuePendingWorkload_To_v1beta1_ClusterQueuePendingWorkload(a.(*v1beta2.ClusterQueuePendingWorkload), b.(*ClusterQueuePendingWorkload), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*ClusterQueuePendingWorkloadsStatus)(nil), (*v1beta2.ClusterQueuePendingWorkloadsStatus)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_ClusterQueuePendingWorkloadsStatus_To_v1beta2_ClusterQueuePendingWorkloadsStatus(a.(*ClusterQueuePendingWorkloadsStatus), b.(*v1beta2.ClusterQueuePendingWorkloadsStatus), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.ClusterQueuePendingWorkloadsStatus)(nil), (*ClusterQueuePendingWorkloadsStatus)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_ClusterQueuePendingWorkloadsStatus_To_v1beta1_ClusterQueuePendingWorkloadsStatus(a.(*v1beta2.ClusterQueuePendingWorkloadsStatus), b.(*ClusterQueuePendingWorkloadsStatus), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*ClusterQueuePreemption)(nil), (*v1beta2.ClusterQueuePreemption)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_ClusterQueuePreemption_To_v1beta2_ClusterQueuePreemption(a.(*ClusterQueuePreemption), b.(*v1beta2.ClusterQueuePreemption), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.ClusterQueuePreemption)(nil), (*ClusterQueuePreemption)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_ClusterQueuePreemption_To_v1beta1_ClusterQueuePreemption(a.(*v1beta2.ClusterQueuePreemption), b.(*ClusterQueuePreemption), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*ClusterQueueStatus)(nil), (*v1beta2.ClusterQueueStatus)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_ClusterQueueStatus_To_v1beta2_ClusterQueueStatus(a.(*ClusterQueueStatus), b.(*v1beta2.ClusterQueueStatus), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.ClusterQueueStatus)(nil), (*ClusterQueueStatus)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_ClusterQueueStatus_To_v1beta1_ClusterQueueStatus(a.(*v1beta2.ClusterQueueStatus), b.(*ClusterQueueStatus), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*Cohort)(nil), (*v1beta2.Cohort)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_Cohort_To_v1beta2_Cohort(a.(*Cohort), b.(*v1beta2.Cohort), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.Cohort)(nil), (*Cohort)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_Cohort_To_v1beta1_Cohort(a.(*v1beta2.Cohort), b.(*Cohort), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*CohortList)(nil), (*v1beta2.CohortList)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_CohortList_To_v1beta2_CohortList(a.(*CohortList), b.(*v1beta2.CohortList), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.CohortList)(nil), (*CohortList)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_CohortList_To_v1beta1_CohortList(a.(*v1beta2.CohortList), b.(*CohortList), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*CohortSpec)(nil), (*v1beta2.CohortSpec)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_CohortSpec_To_v1beta2_CohortSpec(a.(*CohortSpec), b.(*v1beta2.CohortSpec), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.CohortSpec)(nil), (*CohortSpec)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_CohortSpec_To_v1beta1_CohortSpec(a.(*v1beta2.CohortSpec), b.(*CohortSpec), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*CohortStatus)(nil), (*v1beta2.CohortStatus)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_CohortStatus_To_v1beta2_CohortStatus(a.(*CohortStatus), b.(*v1beta2.CohortStatus), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.CohortStatus)(nil), (*CohortStatus)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_CohortStatus_To_v1beta1_CohortStatus(a.(*v1beta2.CohortStatus), b.(*CohortStatus), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*FairSharing)(nil), (*v1beta2.FairSharing)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_FairSharing_To_v1beta2_FairSharing(a.(*FairSharing), b.(*v1beta2.FairSharing), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.FairSharing)(nil), (*FairSharing)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_FairSharing_To_v1beta1_FairSharing(a.(*v1beta2.FairSharing), b.(*FairSharing), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*FairSharingStatus)(nil), (*v1beta2.FairSharingStatus)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_FairSharingStatus_To_v1beta2_FairSharingStatus(a.(*FairSharingStatus), b.(*v1beta2.FairSharingStatus), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.FairSharingStatus)(nil), (*FairSharingStatus)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_FairSharingStatus_To_v1beta1_FairSharingStatus(a.(*v1beta2.FairSharingStatus), b.(*FairSharingStatus), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*FlavorFungibility)(nil), (*v1beta2.FlavorFungibility)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_FlavorFungibility_To_v1beta2_FlavorFungibility(a.(*FlavorFungibility), b.(*v1beta2.FlavorFungibility), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.FlavorFungibility)(nil), (*FlavorFungibility)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_FlavorFungibility_To_v1beta1_FlavorFungibility(a.(*v1beta2.FlavorFungibility), b.(*FlavorFungibility), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*FlavorQuotas)(nil), (*v1beta2.FlavorQuotas)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_FlavorQuotas_To_v1beta2_FlavorQuotas(a.(*FlavorQuotas), b.(*v1beta2.FlavorQuotas), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.FlavorQuotas)(nil), (*FlavorQuotas)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_FlavorQuotas_To_v1beta1_FlavorQuotas(a.(*v1beta2.FlavorQuotas), b.(*FlavorQuotas), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*FlavorUsage)(nil), (*v1beta2.FlavorUsage)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_FlavorUsage_To_v1beta2_FlavorUsage(a.(*FlavorUsage), b.(*v1beta2.FlavorUsage), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.FlavorUsage)(nil), (*FlavorUsage)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_FlavorUsage_To_v1beta1_FlavorUsage(a.(*v1beta2.FlavorUsage), b.(*FlavorUsage), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*KubeConfig)(nil), (*v1beta2.KubeConfig)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_KubeConfig_To_v1beta2_KubeConfig(a.(*KubeConfig), b.(*v1beta2.KubeConfig), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.KubeConfig)(nil), (*KubeConfig)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_KubeConfig_To_v1beta1_KubeConfig(a.(*v1beta2.KubeConfig), b.(*KubeConfig), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*LocalQueue)(nil), (*v1beta2.LocalQueue)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_LocalQueue_To_v1beta2_LocalQueue(a.(*LocalQueue), b.(*v1beta2.LocalQueue), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.LocalQueue)(nil), (*LocalQueue)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_LocalQueue_To_v1beta1_LocalQueue(a.(*v1beta2.LocalQueue), b.(*LocalQueue), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*LocalQueueFlavorStatus)(nil), (*v1beta2.LocalQueueFlavorStatus)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_LocalQueueFlavorStatus_To_v1beta2_LocalQueueFlavorStatus(a.(*LocalQueueFlavorStatus), b.(*v1beta2.LocalQueueFlavorStatus), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.LocalQueueFlavorStatus)(nil), (*LocalQueueFlavorStatus)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_LocalQueueFlavorStatus_To_v1beta1_LocalQueueFlavorStatus(a.(*v1beta2.LocalQueueFlavorStatus), b.(*LocalQueueFlavorStatus), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*LocalQueueFlavorUsage)(nil), (*v1beta2.LocalQueueFlavorUsage)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_LocalQueueFlavorUsage_To_v1beta2_LocalQueueFlavorUsage(a.(*LocalQueueFlavorUsage), b.(*v1beta2.LocalQueueFlavorUsage), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.LocalQueueFlavorUsage)(nil), (*LocalQueueFlavorUsage)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_LocalQueueFlavorUsage_To_v1beta1_LocalQueueFlavorUsage(a.(*v1beta2.LocalQueueFlavorUsage), b.(*LocalQueueFlavorUsage), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*LocalQueueList)(nil), (*v1beta2.LocalQueueList)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_LocalQueueList_To_v1beta2_LocalQueueList(a.(*LocalQueueList), b.(*v1beta2.LocalQueueList), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.LocalQueueList)(nil), (*LocalQueueList)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_LocalQueueList_To_v1beta1_LocalQueueList(a.(*v1beta2.LocalQueueList), b.(*LocalQueueList), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*LocalQueueResourceUsage)(nil), (*v1beta2.LocalQueueResourceUsage)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_LocalQueueResourceUsage_To_v1beta2_LocalQueueResourceUsage(a.(*LocalQueueResourceUsage), b.(*v1beta2.LocalQueueResourceUsage), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.LocalQueueResourceUsage)(nil), (*LocalQueueResourceUsage)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_LocalQueueResourceUsage_To_v1beta1_LocalQueueResourceUsage(a.(*v1beta2.LocalQueueResourceUsage), b.(*LocalQueueResourceUsage), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*LocalQueueSpec)(nil), (*v1beta2.LocalQueueSpec)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_LocalQueueSpec_To_v1beta2_LocalQueueSpec(a.(*LocalQueueSpec), b.(*v1beta2.LocalQueueSpec), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.LocalQueueSpec)(nil), (*LocalQueueSpec)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_LocalQueueSpec_To_v1beta1_LocalQueueSpec(a.(*v1beta2.LocalQueueSpec), b.(*LocalQueueSpec), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*MultiKueueCluster)(nil), (*v1beta2.MultiKueueCluster)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_MultiKueueCluster_To_v1beta2_MultiKueueCluster(a.(*MultiKueueCluster), b.(*v1beta2.MultiKueueCluster), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.MultiKueueCluster)(nil), (*MultiKueueCluster)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_MultiKueueCluster_To_v1beta1_MultiKueueCluster(a.(*v1beta2.MultiKueueCluster), b.(*MultiKueueCluster), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*MultiKueueClusterList)(nil), (*v1beta2.MultiKueueClusterList)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_MultiKueueClusterList_To_v1beta2_MultiKueueClusterList(a.(*MultiKueueClusterList), b.(*v1beta2.MultiKueueClusterList), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.MultiKueueClusterList)(nil), (*MultiKueueClusterList)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_MultiKueueClusterList_To_v1beta1_MultiKueueClusterList(a.(*v1beta2.MultiKueueClusterList), b.(*MultiKueueClusterList), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*MultiKueueClusterSpec)(nil), (*v1beta2.MultiKueueClusterSpec)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_MultiKueueClusterSpec_To_v1beta2_MultiKueueClusterSpec(a.(*MultiKueueClusterSpec), b.(*v1beta2.MultiKueueClusterSpec), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.MultiKueueClusterSpec)(nil), (*MultiKueueClusterSpec)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_MultiKueueClusterSpec_To_v1beta1_MultiKueueClusterSpec(a.(*v1beta2.MultiKueueClusterSpec), b.(*MultiKueueClusterSpec), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*MultiKueueClusterStatus)(nil), (*v1beta2.MultiKueueClusterStatus)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_MultiKueueClusterStatus_To_v1beta2_MultiKueueClusterStatus(a.(*MultiKueueClusterStatus), b.(*v1beta2.MultiKueueClusterStatus), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.MultiKueueClusterStatus)(nil), (*MultiKueueClusterStatus)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_MultiKueueClusterStatus_To_v1beta1_MultiKueueClusterStatus(a.(*v1beta2.MultiKueueClusterStatus), b.(*MultiKueueClusterStatus), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*MultiKueueConfig)(nil), (*v1beta2.MultiKueueConfig)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_MultiKueueConfig_To_v1beta2_MultiKueueConfig(a.(*MultiKueueConfig), b.(*v1beta2.MultiKueueConfig), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.MultiKueueConfig)(nil), (*MultiKueueConfig)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_MultiKueueConfig_To_v1beta1_MultiKueueConfig(a.(*v1beta2.MultiKueueConfig), b.(*MultiKueueConfig), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*MultiKueueConfigList)(nil), (*v1beta2.MultiKueueConfigList)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_MultiKueueConfigList_To_v1beta2_MultiKueueConfigList(a.(*MultiKueueConfigList), b.(*v1beta2.MultiKueueConfigList), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.MultiKueueConfigList)(nil), (*MultiKueueConfigList)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_MultiKueueConfigList_To_v1beta1_MultiKueueConfigList(a.(*v1beta2.MultiKueueConfigList), b.(*MultiKueueConfigList), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*MultiKueueConfigSpec)(nil), (*v1beta2.MultiKueueConfigSpec)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_MultiKueueConfigSpec_To_v1beta2_MultiKueueConfigSpec(a.(*MultiKueueConfigSpec), b.(*v1beta2.MultiKueueConfigSpec), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.MultiKueueConfigSpec)(nil), (*MultiKueueConfigSpec)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_MultiKueueConfigSpec_To_v1beta1_MultiKueueConfigSpec(a.(*v1beta2.MultiKueueConfigSpec), b.(*MultiKueueConfigSpec), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*PodSet)(nil), (*v1beta2.PodSet)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_PodSet_To_v1beta2_PodSet(a.(*PodSet), b.(*v1beta2.PodSet), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.PodSet)(nil), (*PodSet)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_PodSet_To_v1beta1_PodSet(a.(*v1beta2.PodSet), b.(*PodSet), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*PodSetAssignment)(nil), (*v1beta2.PodSetAssignment)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_PodSetAssignment_To_v1beta2_PodSetAssignment(a.(*PodSetAssignment), b.(*v1beta2.PodSetAssignment), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.PodSetAssignment)(nil), (*PodSetAssignment)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_PodSetAssignment_To_v1beta1_PodSetAssignment(a.(*v1beta2.PodSetAssignment), b.(*PodSetAssignment), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*PodSetRequest)(nil), (*v1beta2.PodSetRequest)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_PodSetRequest_To_v1beta2_PodSetRequest(a.(*PodSetRequest), b.(*v1beta2.PodSetRequest), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.PodSetRequest)(nil), (*PodSetRequest)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_PodSetRequest_To_v1beta1_PodSetRequest(a.(*v1beta2.PodSetRequest), b.(*PodSetRequest), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*PodSetTopologyRequest)(nil), (*v1beta2.PodSetTopologyRequest)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_PodSetTopologyRequest_To_v1beta2_PodSetTopologyRequest(a.(*PodSetTopologyRequest), b.(*v1beta2.PodSetTopologyRequest), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.PodSetTopologyRequest)(nil), (*PodSetTopologyRequest)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_PodSetTopologyRequest_To_v1beta1_PodSetTopologyRequest(a.(*v1beta2.PodSetTopologyRequest), b.(*PodSetTopologyRequest), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*PodSetUpdate)(nil), (*v1beta2.PodSetUpdate)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_PodSetUpdate_To_v1beta2_PodSetUpdate(a.(*PodSetUpdate), b.(*v1beta2.PodSetUpdate), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.PodSetUpdate)(nil), (*PodSetUpdate)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_PodSetUpdate_To_v1beta1_PodSetUpdate(a.(*v1beta2.PodSetUpdate), b.(*PodSetUpdate), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*ProvisioningRequestConfig)(nil), (*v1beta2.ProvisioningRequestConfig)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_ProvisioningRequestConfig_To_v1beta2_ProvisioningRequestConfig(a.(*ProvisioningRequestConfig), b.(*v1beta2.ProvisioningRequestConfig), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.ProvisioningRequestConfig)(nil), (*ProvisioningRequestConfig)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_ProvisioningRequestConfig_To_v1beta1_ProvisioningRequestConfig(a.(*v1beta2.ProvisioningRequestConfig), b.(*ProvisioningRequestConfig), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*ProvisioningRequestConfigList)(nil), (*v1beta2.ProvisioningRequestConfigList)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_ProvisioningRequestConfigList_To_v1beta2_ProvisioningRequestConfigList(a.(*ProvisioningRequestConfigList), b.(*v1beta2.ProvisioningRequestConfigList), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.ProvisioningRequestConfigList)(nil), (*ProvisioningRequestConfigList)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_ProvisioningRequestConfigList_To_v1beta1_ProvisioningRequestConfigList(a.(*v1beta2.ProvisioningRequestConfigList), b.(*ProvisioningRequestConfigList), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*ProvisioningRequestConfigSpec)(nil), (*v1beta2.ProvisioningRequestConfigSpec)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_ProvisioningRequestConfigSpec_To_v1beta2_ProvisioningRequestConfigSpec(a.(*ProvisioningRequestConfigSpec), b.(*v1beta2.ProvisioningRequestConfigSpec), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.ProvisioningRequestConfigSpec)(nil), (*ProvisioningRequestConfigSpec)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_ProvisioningRequestConfigSpec_To_v1beta1_ProvisioningRequestConfigSpec(a.(*v1beta2.ProvisioningRequestConfigSpec), b.(*ProvisioningRequestConfigSpec), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*ProvisioningRequestPodSetUpdates)(nil), (*v1beta2.ProvisioningRequestPodSetUpdates)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_ProvisioningRequestPodSetUpdates_To_v1beta2_ProvisioningRequestPodSetUpdates(a.(*ProvisioningRequestPodSetUpdates), b.(*v1beta2.ProvisioningRequestPodSetUpdates), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.ProvisioningRequestPodSetUpdates)(nil), (*ProvisioningRequestPodSetUpdates)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_ProvisioningRequestPodSetUpdates_To_v1beta1_ProvisioningRequestPodSetUpdates(a.(*v1beta2.ProvisioningRequestPodSetUpdates), b.(*ProvisioningRequestPodSetUpdates), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*ProvisioningRequestPodSetUpdatesNodeSelector)(nil), (*v1beta2.ProvisioningRequestPodSetUpdatesNodeSelector)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_ProvisioningRequestPodSetUpdatesNodeSelector_To_v1beta2_ProvisioningRequestPodSetUpdatesNodeSelector(a.(*ProvisioningRequestPodSetUpdatesNodeSelector), b.(*v1beta2.ProvisioningRequestPodSetUpdatesNodeSelector), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.ProvisioningRequestPodSetUpdatesNodeSelector)(nil), (*ProvisioningRequestPodSetUpdatesNodeSelector)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_ProvisioningRequestPodSetUpdatesNodeSelector_To_v1beta1_ProvisioningRequestPodSetUpdatesNodeSelector(a.(*v1beta2.ProvisioningRequestPodSetUpdatesNodeSelector), b.(*ProvisioningRequestPodSetUpdatesNodeSelector), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*ProvisioningRequestRetryStrategy)(nil), (*v1beta2.ProvisioningRequestRetryStrategy)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_ProvisioningRequestRetryStrategy_To_v1beta2_ProvisioningRequestRetryStrategy(a.(*ProvisioningRequestRetryStrategy), b.(*v1beta2.ProvisioningRequestRetryStrategy), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.ProvisioningRequestRetryStrategy)(nil), (*ProvisioningRequestRetryStrategy)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_ProvisioningRequestRetryStrategy_To_v1beta1_ProvisioningRequestRetryStrategy(a.(*v1beta2.ProvisioningRequestRetryStrategy), b.(*ProvisioningRequestRetryStrategy), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*ReclaimablePod)(nil), (*v1beta2.ReclaimablePod)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_ReclaimablePod_To_v1beta2_ReclaimablePod(a.(*ReclaimablePod), b.(*v1beta2.ReclaimablePod), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.ReclaimablePod)(nil), (*ReclaimablePod)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_ReclaimablePod_To_v1beta1_ReclaimablePod(a.(*v1beta2.ReclaimablePod), b.(*ReclaimablePod), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*RequeueState)(nil), (*v1beta2.RequeueState)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_RequeueState_To_v1beta2_RequeueState(a.(*RequeueState), b.(*v1beta2.RequeueState), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.RequeueState)(nil), (*RequeueState)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_RequeueState_To_v1beta1_RequeueState(a.(*v1beta2.RequeueState), b.(*RequeueState), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*ResourceFlavor)(nil), (*v1beta2.ResourceFlavor)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_ResourceFlavor_To_v1beta2_ResourceFlavor(a.(*ResourceFlavor), b.(*v1beta2.ResourceFlavor), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.ResourceFlavor)(nil), (*ResourceFlavor)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_ResourceFlavor_To_v1beta1_ResourceFlavor(a.(*v1beta2.ResourceFlavor), b.(*ResourceFlavor), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*ResourceFlavorList)(nil), (*v1beta2.ResourceFlavorList)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_ResourceFlavorList_To_v1beta2_ResourceFlavorList(a.(*ResourceFlavorList), b.(*v1beta2.ResourceFlavorList), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.ResourceFlavorList)(nil), (*ResourceFlavorList)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_ResourceFlavorList_To_v1beta1_ResourceFlavorList(a.(*v1beta2.ResourceFlavorList), b.(*ResourceFlavorList), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*ResourceFlavorSpec)(nil), (*v1beta2.ResourceFlavorSpec)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_ResourceFlavorSpec_To_v1beta2_ResourceFlavorSpec(a.(*ResourceFlavorSpec), b.(*v1beta2.ResourceFlavorSpec), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.ResourceFlavorSpec)(nil), (*ResourceFlavorSpec)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_ResourceFlavorSpec_To_v1beta1_ResourceFlavorSpec(a.(*v1beta2.ResourceFlavorSpec), b.(*ResourceFlavorSpec), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*ResourceGroup)(nil), (*v1beta2.ResourceGroup)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_ResourceGroup_To_v1beta2_ResourceGroup(a.(*ResourceGroup), b.(*v1beta2.ResourceGroup), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.ResourceGroup)(nil), (*ResourceGroup)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_ResourceGroup_To_v1beta1_ResourceGroup(a.(*v1beta2.ResourceGroup), b.(*ResourceGroup), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*ResourceQuota)(nil), (*v1beta2.ResourceQuota)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_ResourceQuota_To_v1beta2_ResourceQuota(a.(*ResourceQuota), b.(*v1beta2.ResourceQuota), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.ResourceQuota)(nil), (*ResourceQuota)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_ResourceQuota_To_v1beta1_ResourceQuota(a.(*v1beta2.ResourceQuota), b.(*ResourceQuota), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*ResourceUsage)(nil), (*v1beta2.ResourceUsage)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_ResourceUsage_To_v1beta2_ResourceUsage(a.(*ResourceUsage), b.(*v1beta2.ResourceUsage), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.ResourceUsage)(nil), (*ResourceUsage)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_ResourceUsage_To_v1beta1_ResourceUsage(a.(*v1beta2.ResourceUsage), b.(*ResourceUsage), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*SchedulingStats)(nil), (*v1beta2.SchedulingStats)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_SchedulingStats_To_v1beta2_SchedulingStats(a.(*SchedulingStats), b.(*v1beta2.SchedulingStats), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.SchedulingStats)(nil), (*SchedulingStats)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_SchedulingStats_To_v1beta1_SchedulingStats(a.(*v1beta2.SchedulingStats), b.(*SchedulingStats), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*Topology)(nil), (*v1beta2.Topology)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_Topology_To_v1beta2_Topology(a.(*Topology), b.(*v1beta2.Topology), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.Topology)(nil), (*Topology)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_Topology_To_v1beta1_Topology(a.(*v1beta2.Topology), b.(*Topology), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*TopologyAssignment)(nil), (*v1beta2.TopologyAssignment)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_TopologyAssignment_To_v1beta2_TopologyAssignment(a.(*TopologyAssignment), b.(*v1beta2.TopologyAssignment), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.TopologyAssignment)(nil), (*TopologyAssignment)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_TopologyAssignment_To_v1beta1_TopologyAssignment(a.(*v1beta2.TopologyAssignment), b.(*TopologyAssignment), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*TopologyDomainAssignment)(nil), (*v1beta2.TopologyDomainAssignment)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_TopologyDomainAssignment_To_v1beta2_TopologyDomainAssignment(a.(*TopologyDomainAssignment), b.(*v1beta2.TopologyDomainAssignment), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.TopologyDomainAssignment)(nil), (*TopologyDomainAssignment)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_TopologyDomainAssignment_To_v1beta1_TopologyDomainAssignment(a.(*v1beta2.TopologyDomainAssignment), b.(*TopologyDomainAssignment), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*TopologyInfo)(nil), (*v1beta2.TopologyInfo)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_TopologyInfo_To_v1beta2_TopologyInfo(a.(*TopologyInfo), b.(*v1beta2.TopologyInfo), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.TopologyInfo)(nil), (*TopologyInfo)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_TopologyInfo_To_v1beta1_TopologyInfo(a.(*v1beta2.TopologyInfo), b.(*TopologyInfo), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*TopologyLevel)(nil), (*v1beta2.TopologyLevel)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_TopologyLevel_To_v1beta2_TopologyLevel(a.(*TopologyLevel), b.(*v1beta2.TopologyLevel), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.TopologyLevel)(nil), (*TopologyLevel)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_TopologyLevel_To_v1beta1_TopologyLevel(a.(*v1beta2.TopologyLevel), b.(*TopologyLevel), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*TopologyList)(nil), (*v1beta2.TopologyList)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_TopologyList_To_v1beta2_TopologyList(a.(*TopologyList), b.(*v1beta2.TopologyList), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.TopologyList)(nil), (*TopologyList)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_TopologyList_To_v1beta1_TopologyList(a.(*v1beta2.TopologyList), b.(*TopologyList), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*TopologySpec)(nil), (*v1beta2.TopologySpec)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_TopologySpec_To_v1beta2_TopologySpec(a.(*TopologySpec), b.(*v1beta2.TopologySpec), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.TopologySpec)(nil), (*TopologySpec)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_TopologySpec_To_v1beta1_TopologySpec(a.(*v1beta2.TopologySpec), b.(*TopologySpec), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*UnhealthyNode)(nil), (*v1beta2.UnhealthyNode)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_UnhealthyNode_To_v1beta2_UnhealthyNode(a.(*UnhealthyNode), b.(*v1beta2.UnhealthyNode), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.UnhealthyNode)(nil), (*UnhealthyNode)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_UnhealthyNode_To_v1beta1_UnhealthyNode(a.(*v1beta2.UnhealthyNode), b.(*UnhealthyNode), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*Workload)(nil), (*v1beta2.Workload)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_Workload_To_v1beta2_Workload(a.(*Workload), b.(*v1beta2.Workload), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.Workload)(nil), (*Workload)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_Workload_To_v1beta1_Workload(a.(*v1beta2.Workload), b.(*Workload), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*WorkloadList)(nil), (*v1beta2.WorkloadList)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_WorkloadList_To_v1beta2_WorkloadList(a.(*WorkloadList), b.(*v1beta2.WorkloadList), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.WorkloadList)(nil), (*WorkloadList)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_WorkloadList_To_v1beta1_WorkloadList(a.(*v1beta2.WorkloadList), b.(*WorkloadList), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*WorkloadPriorityClass)(nil), (*v1beta2.WorkloadPriorityClass)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_WorkloadPriorityClass_To_v1beta2_WorkloadPriorityClass(a.(*WorkloadPriorityClass), b.(*v1beta2.WorkloadPriorityClass), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.WorkloadPriorityClass)(nil), (*WorkloadPriorityClass)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_WorkloadPriorityClass_To_v1beta1_WorkloadPriorityClass(a.(*v1beta2.WorkloadPriorityClass), b.(*WorkloadPriorityClass), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*WorkloadPriorityClassList)(nil), (*v1beta2.WorkloadPriorityClassList)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_WorkloadPriorityClassList_To_v1beta2_WorkloadPriorityClassList(a.(*WorkloadPriorityClassList), b.(*v1beta2.WorkloadPriorityClassList), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.WorkloadPriorityClassList)(nil), (*WorkloadPriorityClassList)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_WorkloadPriorityClassList_To_v1beta1_WorkloadPriorityClassList(a.(*v1beta2.WorkloadPriorityClassList), b.(*WorkloadPriorityClassList), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*WorkloadSchedulingStatsEviction)(nil), (*v1beta2.WorkloadSchedulingStatsEviction)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_WorkloadSchedulingStatsEviction_To_v1beta2_WorkloadSchedulingStatsEviction(a.(*WorkloadSchedulingStatsEviction), b.(*v1beta2.WorkloadSchedulingStatsEviction), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.WorkloadSchedulingStatsEviction)(nil), (*WorkloadSchedulingStatsEviction)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_WorkloadSchedulingStatsEviction_To_v1beta1_WorkloadSchedulingStatsEviction(a.(*v1beta2.WorkloadSchedulingStatsEviction), b.(*WorkloadSchedulingStatsEviction), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*WorkloadSpec)(nil), (*v1beta2.WorkloadSpec)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_WorkloadSpec_To_v1beta2_WorkloadSpec(a.(*WorkloadSpec), b.(*v1beta2.WorkloadSpec), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddGeneratedConversionFunc((*v1beta2.WorkloadSpec)(nil), (*WorkloadSpec)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_WorkloadSpec_To_v1beta1_WorkloadSpec(a.(*v1beta2.WorkloadSpec), b.(*WorkloadSpec), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddConversionFunc((*ClusterQueueSpec)(nil), (*v1beta2.ClusterQueueSpec)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_ClusterQueueSpec_To_v1beta2_ClusterQueueSpec(a.(*ClusterQueueSpec), b.(*v1beta2.ClusterQueueSpec), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddConversionFunc((*LocalQueueStatus)(nil), (*v1beta2.LocalQueueStatus)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_LocalQueueStatus_To_v1beta2_LocalQueueStatus(a.(*LocalQueueStatus), b.(*v1beta2.LocalQueueStatus), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddConversionFunc((*WorkloadStatus)(nil), (*v1beta2.WorkloadStatus)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta1_WorkloadStatus_To_v1beta2_WorkloadStatus(a.(*WorkloadStatus), b.(*v1beta2.WorkloadStatus), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddConversionFunc((*v1beta2.ClusterQueueSpec)(nil), (*ClusterQueueSpec)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_ClusterQueueSpec_To_v1beta1_ClusterQueueSpec(a.(*v1beta2.ClusterQueueSpec), b.(*ClusterQueueSpec), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddConversionFunc((*v1beta2.LocalQueueStatus)(nil), (*LocalQueueStatus)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_LocalQueueStatus_To_v1beta1_LocalQueueStatus(a.(*v1beta2.LocalQueueStatus), b.(*LocalQueueStatus), scope)
+	}); err != nil {
+		return err
+	}
+	if err := s.AddConversionFunc((*v1beta2.WorkloadStatus)(nil), (*WorkloadStatus)(nil), func(a, b interface{}, scope conversion.Scope) error {
+		return Convert_v1beta2_WorkloadStatus_To_v1beta1_WorkloadStatus(a.(*v1beta2.WorkloadStatus), b.(*WorkloadStatus), scope)
+	}); err != nil {
+		return err
+	}
+	return nil
+}
+
+func autoConvert_v1beta1_Admission_To_v1beta2_Admission(in *Admission, out *v1beta2.Admission, s conversion.Scope) error {
+	out.ClusterQueue = v1beta2.ClusterQueueReference(in.ClusterQueue)
+	out.PodSetAssignments = *(*[]v1beta2.PodSetAssignment)(unsafe.Pointer(&in.PodSetAssignments))
+	return nil
+}
+
+// Convert_v1beta1_Admission_To_v1beta2_Admission is an autogenerated conversion function.
+func Convert_v1beta1_Admission_To_v1beta2_Admission(in *Admission, out *v1beta2.Admission, s conversion.Scope) error {
+	return autoConvert_v1beta1_Admission_To_v1beta2_Admission(in, out, s)
+}
+
+func autoConvert_v1beta2_Admission_To_v1beta1_Admission(in *v1beta2.Admission, out *Admission, s conversion.Scope) error {
+	out.ClusterQueue = ClusterQueueReference(in.ClusterQueue)
+	out.PodSetAssignments = *(*[]PodSetAssignment)(unsafe.Pointer(&in.PodSetAssignments))
+	return nil
+}
+
+// Convert_v1beta2_Admission_To_v1beta1_Admission is an autogenerated conversion function.
+func Convert_v1beta2_Admission_To_v1beta1_Admission(in *v1beta2.Admission, out *Admission, s conversion.Scope) error {
+	return autoConvert_v1beta2_Admission_To_v1beta1_Admission(in, out, s)
+}
+
+func autoConvert_v1beta1_AdmissionCheck_To_v1beta2_AdmissionCheck(in *AdmissionCheck, out *v1beta2.AdmissionCheck, s conversion.Scope) error {
+	out.ObjectMeta = in.ObjectMeta
+	if err := Convert_v1beta1_AdmissionCheckSpec_To_v1beta2_AdmissionCheckSpec(&in.Spec, &out.Spec, s); err != nil {
+		return err
+	}
+	if err := Convert_v1beta1_AdmissionCheckStatus_To_v1beta2_AdmissionCheckStatus(&in.Status, &out.Status, s); err != nil {
+		return err
+	}
+	return nil
+}
+
+// Convert_v1beta1_AdmissionCheck_To_v1beta2_AdmissionCheck is an autogenerated conversion function.
+func Convert_v1beta1_AdmissionCheck_To_v1beta2_AdmissionCheck(in *AdmissionCheck, out *v1beta2.AdmissionCheck, s conversion.Scope) error {
+	return autoConvert_v1beta1_AdmissionCheck_To_v1beta2_AdmissionCheck(in, out, s)
+}
+
+func autoConvert_v1beta2_AdmissionCheck_To_v1beta1_AdmissionCheck(in *v1beta2.AdmissionCheck, out *AdmissionCheck, s conversion.Scope) error {
+	out.ObjectMeta = in.ObjectMeta
+	if err := Convert_v1beta2_AdmissionCheckSpec_To_v1beta1_AdmissionCheckSpec(&in.Spec, &out.Spec, s); err != nil {
+		return err
+	}
+	if err := Convert_v1beta2_AdmissionCheckStatus_To_v1beta1_AdmissionCheckStatus(&in.Status, &out.Status, s); err != nil {
+		return err
+	}
+	return nil
+}
+
+// Convert_v1beta2_AdmissionCheck_To_v1beta1_AdmissionCheck is an autogenerated conversion function.
+func Convert_v1beta2_AdmissionCheck_To_v1beta1_AdmissionCheck(in *v1beta2.AdmissionCheck, out *AdmissionCheck, s conversion.Scope) error {
+	return autoConvert_v1beta2_AdmissionCheck_To_v1beta1_AdmissionCheck(in, out, s)
+}
+
+func autoConvert_v1beta1_AdmissionCheckList_To_v1beta2_AdmissionCheckList(in *AdmissionCheckList, out *v1beta2.AdmissionCheckList, s conversion.Scope) error {
+	out.ListMeta = in.ListMeta
+	out.Items = *(*[]v1beta2.AdmissionCheck)(unsafe.Pointer(&in.Items))
+	return nil
+}
+
+// Convert_v1beta1_AdmissionCheckList_To_v1beta2_AdmissionCheckList is an autogenerated conversion function.
+func Convert_v1beta1_AdmissionCheckList_To_v1beta2_AdmissionCheckList(in *AdmissionCheckList, out *v1beta2.AdmissionCheckList, s conversion.Scope) error {
+	return autoConvert_v1beta1_AdmissionCheckList_To_v1beta2_AdmissionCheckList(in, out, s)
+}
+
+func autoConvert_v1beta2_AdmissionCheckList_To_v1beta1_AdmissionCheckList(in *v1beta2.AdmissionCheckList, out *AdmissionCheckList, s conversion.Scope) error {
+	out.ListMeta = in.ListMeta
+	out.Items = *(*[]AdmissionCheck)(unsafe.Pointer(&in.Items))
+	return nil
+}
+
+// Convert_v1beta2_AdmissionCheckList_To_v1beta1_AdmissionCheckList is an autogenerated conversion function.
+func Convert_v1beta2_AdmissionCheckList_To_v1beta1_AdmissionCheckList(in *v1beta2.AdmissionCheckList, out *AdmissionCheckList, s conversion.Scope) error {
+	return autoConvert_v1beta2_AdmissionCheckList_To_v1beta1_AdmissionCheckList(in, out, s)
+}
+
+func autoConvert_v1beta1_AdmissionCheckParametersReference_To_v1beta2_AdmissionCheckParametersReference(in *AdmissionCheckParametersReference, out *v1beta2.AdmissionCheckParametersReference, s conversion.Scope) error {
+	out.APIGroup = in.APIGroup
+	out.Kind = in.Kind
+	out.Name = in.Name
+	return nil
+}
+
+// Convert_v1beta1_AdmissionCheckParametersReference_To_v1beta2_AdmissionCheckParametersReference is an autogenerated conversion function.
+func Convert_v1beta1_AdmissionCheckParametersReference_To_v1beta2_AdmissionCheckParametersReference(in *AdmissionCheckParametersReference, out *v1beta2.AdmissionCheckParametersReference, s conversion.Scope) error {
+	return autoConvert_v1beta1_AdmissionCheckParametersReference_To_v1beta2_AdmissionCheckParametersReference(in, out, s)
+}
+
+func autoConvert_v1beta2_AdmissionCheckParametersReference_To_v1beta1_AdmissionCheckParametersReference(in *v1beta2.AdmissionCheckParametersReference, out *AdmissionCheckParametersReference, s conversion.Scope) error {
+	out.APIGroup = in.APIGroup
+	out.Kind = in.Kind
+	out.Name = in.Name
+	return nil
+}
+
+// Convert_v1beta2_AdmissionCheckParametersReference_To_v1beta1_AdmissionCheckParametersReference is an autogenerated conversion function.
+func Convert_v1beta2_AdmissionCheckParametersReference_To_v1beta1_AdmissionCheckParametersReference(in *v1beta2.AdmissionCheckParametersReference, out *AdmissionCheckParametersReference, s conversion.Scope) error {
+	return autoConvert_v1beta2_AdmissionCheckParametersReference_To_v1beta1_AdmissionCheckParametersReference(in, out, s)
+}
+
+func autoConvert_v1beta1_AdmissionCheckSpec_To_v1beta2_AdmissionCheckSpec(in *AdmissionCheckSpec, out *v1beta2.AdmissionCheckSpec, s conversion.Scope) error {
+	out.ControllerName = in.ControllerName
+	out.RetryDelayMinutes = (*int64)(unsafe.Pointer(in.RetryDelayMinutes))
+	out.Parameters = (*v1beta2.AdmissionCheckParametersReference)(unsafe.Pointer(in.Parameters))
+	return nil
+}
+
+// Convert_v1beta1_AdmissionCheckSpec_To_v1beta2_AdmissionCheckSpec is an autogenerated conversion function.
+func Convert_v1beta1_AdmissionCheckSpec_To_v1beta2_AdmissionCheckSpec(in *AdmissionCheckSpec, out *v1beta2.AdmissionCheckSpec, s conversion.Scope) error {
+	return autoConvert_v1beta1_AdmissionCheckSpec_To_v1beta2_AdmissionCheckSpec(in, out, s)
+}
+
+func autoConvert_v1beta2_AdmissionCheckSpec_To_v1beta1_AdmissionCheckSpec(in *v1beta2.AdmissionCheckSpec, out *AdmissionCheckSpec, s conversion.Scope) error {
+	out.ControllerName = in.ControllerName
+	out.RetryDelayMinutes = (*int64)(unsafe.Pointer(in.RetryDelayMinutes))
+	out.Parameters = (*AdmissionCheckParametersReference)(unsafe.Pointer(in.Parameters))
+	return nil
+}
+
+// Convert_v1beta2_AdmissionCheckSpec_To_v1beta1_AdmissionCheckSpec is an autogenerated conversion function.
+func Convert_v1beta2_AdmissionCheckSpec_To_v1beta1_AdmissionCheckSpec(in *v1beta2.AdmissionCheckSpec, out *AdmissionCheckSpec, s conversion.Scope) error {
+	return autoConvert_v1beta2_AdmissionCheckSpec_To_v1beta1_AdmissionCheckSpec(in, out, s)
+}
+
+func autoConvert_v1beta1_AdmissionCheckState_To_v1beta2_AdmissionCheckState(in *AdmissionCheckState, out *v1beta2.AdmissionCheckState, s conversion.Scope) error {
+	out.Name = v1beta2.AdmissionCheckReference(in.Name)
+	out.State = v1beta2.CheckState(in.State)
+	out.LastTransitionTime = in.LastTransitionTime
+	out.Message = in.Message
+	out.PodSetUpdates = *(*[]v1beta2.PodSetUpdate)(unsafe.Pointer(&in.PodSetUpdates))
+	return nil
+}
+
+// Convert_v1beta1_AdmissionCheckState_To_v1beta2_AdmissionCheckState is an autogenerated conversion function.
+func Convert_v1beta1_AdmissionCheckState_To_v1beta2_AdmissionCheckState(in *AdmissionCheckState, out *v1beta2.AdmissionCheckState, s conversion.Scope) error {
+	return autoConvert_v1beta1_AdmissionCheckState_To_v1beta2_AdmissionCheckState(in, out, s)
+}
+
+func autoConvert_v1beta2_AdmissionCheckState_To_v1beta1_AdmissionCheckState(in *v1beta2.AdmissionCheckState, out *AdmissionCheckState, s conversion.Scope) error {
+	out.Name = AdmissionCheckReference(in.Name)
+	out.State = CheckState(in.State)
+	out.LastTransitionTime = in.LastTransitionTime
+	out.Message = in.Message
+	out.PodSetUpdates = *(*[]PodSetUpdate)(unsafe.Pointer(&in.PodSetUpdates))
+	return nil
+}
+
+// Convert_v1beta2_AdmissionCheckState_To_v1beta1_AdmissionCheckState is an autogenerated conversion function.
+func Convert_v1beta2_AdmissionCheckState_To_v1beta1_AdmissionCheckState(in *v1beta2.AdmissionCheckState, out *AdmissionCheckState, s conversion.Scope) error {
+	return autoConvert_v1beta2_AdmissionCheckState_To_v1beta1_AdmissionCheckState(in, out, s)
+}
+
+func autoConvert_v1beta1_AdmissionCheckStatus_To_v1beta2_AdmissionCheckStatus(in *AdmissionCheckStatus, out *v1beta2.AdmissionCheckStatus, s conversion.Scope) error {
+	out.Conditions = *(*[]v1.Condition)(unsafe.Pointer(&in.Conditions))
+	return nil
+}
+
+// Convert_v1beta1_AdmissionCheckStatus_To_v1beta2_AdmissionCheckStatus is an autogenerated conversion function.
+func Convert_v1beta1_AdmissionCheckStatus_To_v1beta2_AdmissionCheckStatus(in *AdmissionCheckStatus, out *v1beta2.AdmissionCheckStatus, s conversion.Scope) error {
+	return autoConvert_v1beta1_AdmissionCheckStatus_To_v1beta2_AdmissionCheckStatus(in, out, s)
+}
+
+func autoConvert_v1beta2_AdmissionCheckStatus_To_v1beta1_AdmissionCheckStatus(in *v1beta2.AdmissionCheckStatus, out *AdmissionCheckStatus, s conversion.Scope) error {
+	out.Conditions = *(*[]v1.Condition)(unsafe.Pointer(&in.Conditions))
+	return nil
+}
+
+// Convert_v1beta2_AdmissionCheckStatus_To_v1beta1_AdmissionCheckStatus is an autogenerated conversion function.
+func Convert_v1beta2_AdmissionCheckStatus_To_v1beta1_AdmissionCheckStatus(in *v1beta2.AdmissionCheckStatus, out *AdmissionCheckStatus, s conversion.Scope) error {
+	return autoConvert_v1beta2_AdmissionCheckStatus_To_v1beta1_AdmissionCheckStatus(in, out, s)
+}
+
+func autoConvert_v1beta1_AdmissionCheckStrategyRule_To_v1beta2_AdmissionCheckStrategyRule(in *AdmissionCheckStrategyRule, out *v1beta2.AdmissionCheckStrategyRule, s conversion.Scope) error {
+	out.Name = v1beta2.AdmissionCheckReference(in.Name)
+	out.OnFlavors = *(*[]v1beta2.ResourceFlavorReference)(unsafe.Pointer(&in.OnFlavors))
+	return nil
+}
+
+// Convert_v1beta1_AdmissionCheckStrategyRule_To_v1beta2_AdmissionCheckStrategyRule is an autogenerated conversion function.
+func Convert_v1beta1_AdmissionCheckStrategyRule_To_v1beta2_AdmissionCheckStrategyRule(in *AdmissionCheckStrategyRule, out *v1beta2.AdmissionCheckStrategyRule, s conversion.Scope) error {
+	return autoConvert_v1beta1_AdmissionCheckStrategyRule_To_v1beta2_AdmissionCheckStrategyRule(in, out, s)
+}
+
+func autoConvert_v1beta2_AdmissionCheckStrategyRule_To_v1beta1_AdmissionCheckStrategyRule(in *v1beta2.AdmissionCheckStrategyRule, out *AdmissionCheckStrategyRule, s conversion.Scope) error {
+	out.Name = AdmissionCheckReference(in.Name)
+	out.OnFlavors = *(*[]ResourceFlavorReference)(unsafe.Pointer(&in.OnFlavors))
+	return nil
+}
+
+// Convert_v1beta2_AdmissionCheckStrategyRule_To_v1beta1_AdmissionCheckStrategyRule is an autogenerated conversion function.
+func Convert_v1beta2_AdmissionCheckStrategyRule_To_v1beta1_AdmissionCheckStrategyRule(in *v1beta2.AdmissionCheckStrategyRule, out *AdmissionCheckStrategyRule, s conversion.Scope) error {
+	return autoConvert_v1beta2_AdmissionCheckStrategyRule_To_v1beta1_AdmissionCheckStrategyRule(in, out, s)
+}
+
+func autoConvert_v1beta1_AdmissionChecksStrategy_To_v1beta2_AdmissionChecksStrategy(in *AdmissionChecksStrategy, out *v1beta2.AdmissionChecksStrategy, s conversion.Scope) error {
+	out.AdmissionChecks = *(*[]v1beta2.AdmissionCheckStrategyRule)(unsafe.Pointer(&in.AdmissionChecks))
+	return nil
+}
+
+// Convert_v1beta1_AdmissionChecksStrategy_To_v1beta2_AdmissionChecksStrategy is an autogenerated conversion function.
+func Convert_v1beta1_AdmissionChecksStrategy_To_v1beta2_AdmissionChecksStrategy(in *AdmissionChecksStrategy, out *v1beta2.AdmissionChecksStrategy, s conversion.Scope) error {
+	return autoConvert_v1beta1_AdmissionChecksStrategy_To_v1beta2_AdmissionChecksStrategy(in, out, s)
+}
+
+func autoConvert_v1beta2_AdmissionChecksStrategy_To_v1beta1_AdmissionChecksStrategy(in *v1beta2.AdmissionChecksStrategy, out *AdmissionChecksStrategy, s conversion.Scope) error {
+	out.AdmissionChecks = *(*[]AdmissionCheckStrategyRule)(unsafe.Pointer(&in.AdmissionChecks))
+	return nil
+}
+
+// Convert_v1beta2_AdmissionChecksStrategy_To_v1beta1_AdmissionChecksStrategy is an autogenerated conversion function.
+func Convert_v1beta2_AdmissionChecksStrategy_To_v1beta1_AdmissionChecksStrategy(in *v1beta2.AdmissionChecksStrategy, out *AdmissionChecksStrategy, s conversion.Scope) error {
+	return autoConvert_v1beta2_AdmissionChecksStrategy_To_v1beta1_AdmissionChecksStrategy(in, out, s)
+}
+
+func autoConvert_v1beta1_AdmissionFairSharingStatus_To_v1beta2_AdmissionFairSharingStatus(in *AdmissionFairSharingStatus, out *v1beta2.AdmissionFairSharingStatus, s conversion.Scope) error {
+	out.ConsumedResources = *(*corev1.ResourceList)(unsafe.Pointer(&in.ConsumedResources))
+	out.LastUpdate = in.LastUpdate
+	return nil
+}
+
+// Convert_v1beta1_AdmissionFairSharingStatus_To_v1beta2_AdmissionFairSharingStatus is an autogenerated conversion function.
+func Convert_v1beta1_AdmissionFairSharingStatus_To_v1beta2_AdmissionFairSharingStatus(in *AdmissionFairSharingStatus, out *v1beta2.AdmissionFairSharingStatus, s conversion.Scope) error {
+	return autoConvert_v1beta1_AdmissionFairSharingStatus_To_v1beta2_AdmissionFairSharingStatus(in, out, s)
+}
+
+func autoConvert_v1beta2_AdmissionFairSharingStatus_To_v1beta1_AdmissionFairSharingStatus(in *v1beta2.AdmissionFairSharingStatus, out *AdmissionFairSharingStatus, s conversion.Scope) error {
+	out.ConsumedResources = *(*corev1.ResourceList)(unsafe.Pointer(&in.ConsumedResources))
+	out.LastUpdate = in.LastUpdate
+	return nil
+}
+
+// Convert_v1beta2_AdmissionFairSharingStatus_To_v1beta1_AdmissionFairSharingStatus is an autogenerated conversion function.
+func Convert_v1beta2_AdmissionFairSharingStatus_To_v1beta1_AdmissionFairSharingStatus(in *v1beta2.AdmissionFairSharingStatus, out *AdmissionFairSharingStatus, s conversion.Scope) error {
+	return autoConvert_v1beta2_AdmissionFairSharingStatus_To_v1beta1_AdmissionFairSharingStatus(in, out, s)
+}
+
+func autoConvert_v1beta1_AdmissionScope_To_v1beta2_AdmissionScope(in *AdmissionScope, out *v1beta2.AdmissionScope, s conversion.Scope) error {
+	out.AdmissionMode = v1beta2.AdmissionMode(in.AdmissionMode)
+	return nil
+}
+
+// Convert_v1beta1_AdmissionScope_To_v1beta2_AdmissionScope is an autogenerated conversion function.
+func Convert_v1beta1_AdmissionScope_To_v1beta2_AdmissionScope(in *AdmissionScope, out *v1beta2.AdmissionScope, s conversion.Scope) error {
+	return autoConvert_v1beta1_AdmissionScope_To_v1beta2_AdmissionScope(in, out, s)
+}
+
+func autoConvert_v1beta2_AdmissionScope_To_v1beta1_AdmissionScope(in *v1beta2.AdmissionScope, out *AdmissionScope, s conversion.Scope) error {
+	out.AdmissionMode = AdmissionMode(in.AdmissionMode)
+	return nil
+}
+
+// Convert_v1beta2_AdmissionScope_To_v1beta1_AdmissionScope is an autogenerated conversion function.
+func Convert_v1beta2_AdmissionScope_To_v1beta1_AdmissionScope(in *v1beta2.AdmissionScope, out *AdmissionScope, s conversion.Scope) error {
+	return autoConvert_v1beta2_AdmissionScope_To_v1beta1_AdmissionScope(in, out, s)
+}
+
+func autoConvert_v1beta1_BorrowWithinCohort_To_v1beta2_BorrowWithinCohort(in *BorrowWithinCohort, out *v1beta2.BorrowWithinCohort, s conversion.Scope) error {
+	out.Policy = v1beta2.BorrowWithinCohortPolicy(in.Policy)
+	out.MaxPriorityThreshold = (*int32)(unsafe.Pointer(in.MaxPriorityThreshold))
+	return nil
+}
+
+// Convert_v1beta1_BorrowWithinCohort_To_v1beta2_BorrowWithinCohort is an autogenerated conversion function.
+func Convert_v1beta1_BorrowWithinCohort_To_v1beta2_BorrowWithinCohort(in *BorrowWithinCohort, out *v1beta2.BorrowWithinCohort, s conversion.Scope) error {
+	return autoConvert_v1beta1_BorrowWithinCohort_To_v1beta2_BorrowWithinCohort(in, out, s)
+}
+
+func autoConvert_v1beta2_BorrowWithinCohort_To_v1beta1_BorrowWithinCohort(in *v1beta2.BorrowWithinCohort, out *BorrowWithinCohort, s conversion.Scope) error {
+	out.Policy = BorrowWithinCohortPolicy(in.Policy)
+	out.MaxPriorityThreshold = (*int32)(unsafe.Pointer(in.MaxPriorityThreshold))
+	return nil
+}
+
+// Convert_v1beta2_BorrowWithinCohort_To_v1beta1_BorrowWithinCohort is an autogenerated conversion function.
+func Convert_v1beta2_BorrowWithinCohort_To_v1beta1_BorrowWithinCohort(in *v1beta2.BorrowWithinCohort, out *BorrowWithinCohort, s conversion.Scope) error {
+	return autoConvert_v1beta2_BorrowWithinCohort_To_v1beta1_BorrowWithinCohort(in, out, s)
+}
+
+func autoConvert_v1beta1_ClusterQueue_To_v1beta2_ClusterQueue(in *ClusterQueue, out *v1beta2.ClusterQueue, s conversion.Scope) error {
+	out.ObjectMeta = in.ObjectMeta
+	if err := Convert_v1beta1_ClusterQueueSpec_To_v1beta2_ClusterQueueSpec(&in.Spec, &out.Spec, s); err != nil {
+		return err
+	}
+	if err := Convert_v1beta1_ClusterQueueStatus_To_v1beta2_ClusterQueueStatus(&in.Status, &out.Status, s); err != nil {
+		return err
+	}
+	return nil
+}
+
+// Convert_v1beta1_ClusterQueue_To_v1beta2_ClusterQueue is an autogenerated conversion function.
+func Convert_v1beta1_ClusterQueue_To_v1beta2_ClusterQueue(in *ClusterQueue, out *v1beta2.ClusterQueue, s conversion.Scope) error {
+	return autoConvert_v1beta1_ClusterQueue_To_v1beta2_ClusterQueue(in, out, s)
+}
+
+func autoConvert_v1beta2_ClusterQueue_To_v1beta1_ClusterQueue(in *v1beta2.ClusterQueue, out *ClusterQueue, s conversion.Scope) error {
+	out.ObjectMeta = in.ObjectMeta
+	if err := Convert_v1beta2_ClusterQueueSpec_To_v1beta1_ClusterQueueSpec(&in.Spec, &out.Spec, s); err != nil {
+		return err
+	}
+	if err := Convert_v1beta2_ClusterQueueStatus_To_v1beta1_ClusterQueueStatus(&in.Status, &out.Status, s); err != nil {
+		return err
+	}
+	return nil
+}
+
+// Convert_v1beta2_ClusterQueue_To_v1beta1_ClusterQueue is an autogenerated conversion function.
+func Convert_v1beta2_ClusterQueue_To_v1beta1_ClusterQueue(in *v1beta2.ClusterQueue, out *ClusterQueue, s conversion.Scope) error {
+	return autoConvert_v1beta2_ClusterQueue_To_v1beta1_ClusterQueue(in, out, s)
+}
+
+func autoConvert_v1beta1_ClusterQueueList_To_v1beta2_ClusterQueueList(in *ClusterQueueList, out *v1beta2.ClusterQueueList, s conversion.Scope) error {
+	out.ListMeta = in.ListMeta
+	if in.Items != nil {
+		in, out := &in.Items, &out.Items
+		*out = make([]v1beta2.ClusterQueue, len(*in))
+		for i := range *in {
+			if err := Convert_v1beta1_ClusterQueue_To_v1beta2_ClusterQueue(&(*in)[i], &(*out)[i], s); err != nil {
+				return err
+			}
+		}
+	} else {
+		out.Items = nil
+	}
+	return nil
+}
+
+// Convert_v1beta1_ClusterQueueList_To_v1beta2_ClusterQueueList is an autogenerated conversion function.
+func Convert_v1beta1_ClusterQueueList_To_v1beta2_ClusterQueueList(in *ClusterQueueList, out *v1beta2.ClusterQueueList, s conversion.Scope) error {
+	return autoConvert_v1beta1_ClusterQueueList_To_v1beta2_ClusterQueueList(in, out, s)
+}
+
+func autoConvert_v1beta2_ClusterQueueList_To_v1beta1_ClusterQueueList(in *v1beta2.ClusterQueueList, out *ClusterQueueList, s conversion.Scope) error {
+	out.ListMeta = in.ListMeta
+	if in.Items != nil {
+		in, out := &in.Items, &out.Items
+		*out = make([]ClusterQueue, len(*in))
+		for i := range *in {
+			if err := Convert_v1beta2_ClusterQueue_To_v1beta1_ClusterQueue(&(*in)[i], &(*out)[i], s); err != nil {
+				return err
+			}
+		}
+	} else {
+		out.Items = nil
+	}
+	return nil
+}
+
+// Convert_v1beta2_ClusterQueueList_To_v1beta1_ClusterQueueList is an autogenerated conversion function.
+func Convert_v1beta2_ClusterQueueList_To_v1beta1_ClusterQueueList(in *v1beta2.ClusterQueueList, out *ClusterQueueList, s conversion.Scope) error {
+	return autoConvert_v1beta2_ClusterQueueList_To_v1beta1_ClusterQueueList(in, out, s)
+}
+
+func autoConvert_v1beta1_ClusterQueuePendingWorkload_To_v1beta2_ClusterQueuePendingWorkload(in *ClusterQueuePendingWorkload, out *v1beta2.ClusterQueuePendingWorkload, s conversion.Scope) error {
+	out.Name = in.Name
+	out.Namespace = in.Namespace
+	return nil
+}
+
+// Convert_v1beta1_ClusterQueuePendingWorkload_To_v1beta2_ClusterQueuePendingWorkload is an autogenerated conversion function.
+func Convert_v1beta1_ClusterQueuePendingWorkload_To_v1beta2_ClusterQueuePendingWorkload(in *ClusterQueuePendingWorkload, out *v1beta2.ClusterQueuePendingWorkload, s conversion.Scope) error {
+	return autoConvert_v1beta1_ClusterQueuePendingWorkload_To_v1beta2_ClusterQueuePendingWorkload(in, out, s)
+}
+
+func autoConvert_v1beta2_ClusterQueuePendingWorkload_To_v1beta1_ClusterQueuePendingWorkload(in *v1beta2.ClusterQueuePendingWorkload, out *ClusterQueuePendingWorkload, s conversion.Scope) error {
+	out.Name = in.Name
+	out.Namespace = in.Namespace
+	return nil
+}
+
+// Convert_v1beta2_ClusterQueuePendingWorkload_To_v1beta1_ClusterQueuePendingWorkload is an autogenerated conversion function.
+func Convert_v1beta2_ClusterQueuePendingWorkload_To_v1beta1_ClusterQueuePendingWorkload(in *v1beta2.ClusterQueuePendingWorkload, out *ClusterQueuePendingWorkload, s conversion.Scope) error {
+	return autoConvert_v1beta2_ClusterQueuePendingWorkload_To_v1beta1_ClusterQueuePendingWorkload(in, out, s)
+}
+
+func autoConvert_v1beta1_ClusterQueuePendingWorkloadsStatus_To_v1beta2_ClusterQueuePendingWorkloadsStatus(in *ClusterQueuePendingWorkloadsStatus, out *v1beta2.ClusterQueuePendingWorkloadsStatus, s conversion.Scope) error {
+	out.Head = *(*[]v1beta2.ClusterQueuePendingWorkload)(unsafe.Pointer(&in.Head))
+	out.LastChangeTime = in.LastChangeTime
+	return nil
+}
+
+// Convert_v1beta1_ClusterQueuePendingWorkloadsStatus_To_v1beta2_ClusterQueuePendingWorkloadsStatus is an autogenerated conversion function.
+func Convert_v1beta1_ClusterQueuePendingWorkloadsStatus_To_v1beta2_ClusterQueuePendingWorkloadsStatus(in *ClusterQueuePendingWorkloadsStatus, out *v1beta2.ClusterQueuePendingWorkloadsStatus, s conversion.Scope) error {
+	return autoConvert_v1beta1_ClusterQueuePendingWorkloadsStatus_To_v1beta2_ClusterQueuePendingWorkloadsStatus(in, out, s)
+}
+
+func autoConvert_v1beta2_ClusterQueuePendingWorkloadsStatus_To_v1beta1_ClusterQueuePendingWorkloadsStatus(in *v1beta2.ClusterQueuePendingWorkloadsStatus, out *ClusterQueuePendingWorkloadsStatus, s conversion.Scope) error {
+	out.Head = *(*[]ClusterQueuePendingWorkload)(unsafe.Pointer(&in.Head))
+	out.LastChangeTime = in.LastChangeTime
+	return nil
+}
+
+// Convert_v1beta2_ClusterQueuePendingWorkloadsStatus_To_v1beta1_ClusterQueuePendingWorkloadsStatus is an autogenerated conversion function.
+func Convert_v1beta2_ClusterQueuePendingWorkloadsStatus_To_v1beta1_ClusterQueuePendingWorkloadsStatus(in *v1beta2.ClusterQueuePendingWorkloadsStatus, out *ClusterQueuePendingWorkloadsStatus, s conversion.Scope) error {
+	return autoConvert_v1beta2_ClusterQueuePendingWorkloadsStatus_To_v1beta1_ClusterQueuePendingWorkloadsStatus(in, out, s)
+}
+
+func autoConvert_v1beta1_ClusterQueuePreemption_To_v1beta2_ClusterQueuePreemption(in *ClusterQueuePreemption, out *v1beta2.ClusterQueuePreemption, s conversion.Scope) error {
+	out.ReclaimWithinCohort = v1beta2.PreemptionPolicy(in.ReclaimWithinCohort)
+	out.BorrowWithinCohort = (*v1beta2.BorrowWithinCohort)(unsafe.Pointer(in.BorrowWithinCohort))
+	out.WithinClusterQueue = v1beta2.PreemptionPolicy(in.WithinClusterQueue)
+	return nil
+}
+
+// Convert_v1beta1_ClusterQueuePreemption_To_v1beta2_ClusterQueuePreemption is an autogenerated conversion function.
+func Convert_v1beta1_ClusterQueuePreemption_To_v1beta2_ClusterQueuePreemption(in *ClusterQueuePreemption, out *v1beta2.ClusterQueuePreemption, s conversion.Scope) error {
+	return autoConvert_v1beta1_ClusterQueuePreemption_To_v1beta2_ClusterQueuePreemption(in, out, s)
+}
+
+func autoConvert_v1beta2_ClusterQueuePreemption_To_v1beta1_ClusterQueuePreemption(in *v1beta2.ClusterQueuePreemption, out *ClusterQueuePreemption, s conversion.Scope) error {
+	out.ReclaimWithinCohort = PreemptionPolicy(in.ReclaimWithinCohort)
+	out.BorrowWithinCohort = (*BorrowWithinCohort)(unsafe.Pointer(in.BorrowWithinCohort))
+	out.WithinClusterQueue = PreemptionPolicy(in.WithinClusterQueue)
+	return nil
+}
+
+// Convert_v1beta2_ClusterQueuePreemption_To_v1beta1_ClusterQueuePreemption is an autogenerated conversion function.
+func Convert_v1beta2_ClusterQueuePreemption_To_v1beta1_ClusterQueuePreemption(in *v1beta2.ClusterQueuePreemption, out *ClusterQueuePreemption, s conversion.Scope) error {
+	return autoConvert_v1beta2_ClusterQueuePreemption_To_v1beta1_ClusterQueuePreemption(in, out, s)
+}
+
+func autoConvert_v1beta1_ClusterQueueSpec_To_v1beta2_ClusterQueueSpec(in *ClusterQueueSpec, out *v1beta2.ClusterQueueSpec, s conversion.Scope) error {
+	out.ResourceGroups = *(*[]v1beta2.ResourceGroup)(unsafe.Pointer(&in.ResourceGroups))
+	// WARNING: in.Cohort requires manual conversion: does not exist in peer-type
+	out.QueueingStrategy = v1beta2.QueueingStrategy(in.QueueingStrategy)
+	out.NamespaceSelector = (*v1.LabelSelector)(unsafe.Pointer(in.NamespaceSelector))
+	out.FlavorFungibility = (*v1beta2.FlavorFungibility)(unsafe.Pointer(in.FlavorFungibility))
+	out.Preemption = (*v1beta2.ClusterQueuePreemption)(unsafe.Pointer(in.Preemption))
+	out.AdmissionChecks = *(*[]v1beta2.AdmissionCheckReference)(unsafe.Pointer(&in.AdmissionChecks))
+	out.AdmissionChecksStrategy = (*v1beta2.AdmissionChecksStrategy)(unsafe.Pointer(in.AdmissionChecksStrategy))
+	out.StopPolicy = (*v1beta2.StopPolicy)(unsafe.Pointer(in.StopPolicy))
+	out.FairSharing = (*v1beta2.FairSharing)(unsafe.Pointer(in.FairSharing))
+	out.AdmissionScope = (*v1beta2.AdmissionScope)(unsafe.Pointer(in.AdmissionScope))
+	return nil
+}
+
+func autoConvert_v1beta2_ClusterQueueSpec_To_v1beta1_ClusterQueueSpec(in *v1beta2.ClusterQueueSpec, out *ClusterQueueSpec, s conversion.Scope) error {
+	out.ResourceGroups = *(*[]ResourceGroup)(unsafe.Pointer(&in.ResourceGroups))
+	// WARNING: in.CohortName requires manual conversion: does not exist in peer-type
+	out.QueueingStrategy = QueueingStrategy(in.QueueingStrategy)
+	out.NamespaceSelector = (*v1.LabelSelector)(unsafe.Pointer(in.NamespaceSelector))
+	out.FlavorFungibility = (*FlavorFungibility)(unsafe.Pointer(in.FlavorFungibility))
+	out.Preemption = (*ClusterQueuePreemption)(unsafe.Pointer(in.Preemption))
+	out.AdmissionChecks = *(*[]AdmissionCheckReference)(unsafe.Pointer(&in.AdmissionChecks))
+	out.AdmissionChecksStrategy = (*AdmissionChecksStrategy)(unsafe.Pointer(in.AdmissionChecksStrategy))
+	out.StopPolicy = (*StopPolicy)(unsafe.Pointer(in.StopPolicy))
+	out.FairSharing = (*FairSharing)(unsafe.Pointer(in.FairSharing))
+	out.AdmissionScope = (*AdmissionScope)(unsafe.Pointer(in.AdmissionScope))
+	return nil
+}
+
+func autoConvert_v1beta1_ClusterQueueStatus_To_v1beta2_ClusterQueueStatus(in *ClusterQueueStatus, out *v1beta2.ClusterQueueStatus, s conversion.Scope) error {
+	out.Conditions = *(*[]v1.Condition)(unsafe.Pointer(&in.Conditions))
+	out.FlavorsReservation = *(*[]v1beta2.FlavorUsage)(unsafe.Pointer(&in.FlavorsReservation))
+	out.FlavorsUsage = *(*[]v1beta2.FlavorUsage)(unsafe.Pointer(&in.FlavorsUsage))
+	out.PendingWorkloads = in.PendingWorkloads
+	out.ReservingWorkloads = in.ReservingWorkloads
+	out.AdmittedWorkloads = in.AdmittedWorkloads
+	out.PendingWorkloadsStatus = (*v1beta2.ClusterQueuePendingWorkloadsStatus)(unsafe.Pointer(in.PendingWorkloadsStatus))
+	out.FairSharing = (*v1beta2.FairSharingStatus)(unsafe.Pointer(in.FairSharing))
+	return nil
+}
+
+// Convert_v1beta1_ClusterQueueStatus_To_v1beta2_ClusterQueueStatus is an autogenerated conversion function.
+func Convert_v1beta1_ClusterQueueStatus_To_v1beta2_ClusterQueueStatus(in *ClusterQueueStatus, out *v1beta2.ClusterQueueStatus, s conversion.Scope) error {
+	return autoConvert_v1beta1_ClusterQueueStatus_To_v1beta2_ClusterQueueStatus(in, out, s)
+}
+
+func autoConvert_v1beta2_ClusterQueueStatus_To_v1beta1_ClusterQueueStatus(in *v1beta2.ClusterQueueStatus, out *ClusterQueueStatus, s conversion.Scope) error {
+	out.Conditions = *(*[]v1.Condition)(unsafe.Pointer(&in.Conditions))
+	out.FlavorsReservation = *(*[]FlavorUsage)(unsafe.Pointer(&in.FlavorsReservation))
+	out.FlavorsUsage = *(*[]FlavorUsage)(unsafe.Pointer(&in.FlavorsUsage))
+	out.PendingWorkloads = in.PendingWorkloads
+	out.ReservingWorkloads = in.ReservingWorkloads
+	out.AdmittedWorkloads = in.AdmittedWorkloads
+	out.PendingWorkloadsStatus = (*ClusterQueuePendingWorkloadsStatus)(unsafe.Pointer(in.PendingWorkloadsStatus))
+	out.FairSharing = (*FairSharingStatus)(unsafe.Pointer(in.FairSharing))
+	return nil
+}
+
+// Convert_v1beta2_ClusterQueueStatus_To_v1beta1_ClusterQueueStatus is an autogenerated conversion function.
+func Convert_v1beta2_ClusterQueueStatus_To_v1beta1_ClusterQueueStatus(in *v1beta2.ClusterQueueStatus, out *ClusterQueueStatus, s conversion.Scope) error {
+	return autoConvert_v1beta2_ClusterQueueStatus_To_v1beta1_ClusterQueueStatus(in, out, s)
+}
+
+func autoConvert_v1beta1_Cohort_To_v1beta2_Cohort(in *Cohort, out *v1beta2.Cohort, s conversion.Scope) error {
+	out.ObjectMeta = in.ObjectMeta
+	if err := Convert_v1beta1_CohortSpec_To_v1beta2_CohortSpec(&in.Spec, &out.Spec, s); err != nil {
+		return err
+	}
+	if err := Convert_v1beta1_CohortStatus_To_v1beta2_CohortStatus(&in.Status, &out.Status, s); err != nil {
+		return err
+	}
+	return nil
+}
+
+// Convert_v1beta1_Cohort_To_v1beta2_Cohort is an autogenerated conversion function.
+func Convert_v1beta1_Cohort_To_v1beta2_Cohort(in *Cohort, out *v1beta2.Cohort, s conversion.Scope) error {
+	return autoConvert_v1beta1_Cohort_To_v1beta2_Cohort(in, out, s)
+}
+
+func autoConvert_v1beta2_Cohort_To_v1beta1_Cohort(in *v1beta2.Cohort, out *Cohort, s conversion.Scope) error {
+	out.ObjectMeta = in.ObjectMeta
+	if err := Convert_v1beta2_CohortSpec_To_v1beta1_CohortSpec(&in.Spec, &out.Spec, s); err != nil {
+		return err
+	}
+	if err := Convert_v1beta2_CohortStatus_To_v1beta1_CohortStatus(&in.Status, &out.Status, s); err != nil {
+		return err
+	}
+	return nil
+}
+
+// Convert_v1beta2_Cohort_To_v1beta1_Cohort is an autogenerated conversion function.
+func Convert_v1beta2_Cohort_To_v1beta1_Cohort(in *v1beta2.Cohort, out *Cohort, s conversion.Scope) error {
+	return autoConvert_v1beta2_Cohort_To_v1beta1_Cohort(in, out, s)
+}
+
+func autoConvert_v1beta1_CohortList_To_v1beta2_CohortList(in *CohortList, out *v1beta2.CohortList, s conversion.Scope) error {
+	out.ListMeta = in.ListMeta
+	out.Items = *(*[]v1beta2.Cohort)(unsafe.Pointer(&in.Items))
+	return nil
+}
+
+// Convert_v1beta1_CohortList_To_v1beta2_CohortList is an autogenerated conversion function.
+func Convert_v1beta1_CohortList_To_v1beta2_CohortList(in *CohortList, out *v1beta2.CohortList, s conversion.Scope) error {
+	return autoConvert_v1beta1_CohortList_To_v1beta2_CohortList(in, out, s)
+}
+
+func autoConvert_v1beta2_CohortList_To_v1beta1_CohortList(in *v1beta2.CohortList, out *CohortList, s conversion.Scope) error {
+	out.ListMeta = in.ListMeta
+	out.Items = *(*[]Cohort)(unsafe.Pointer(&in.Items))
+	return nil
+}
+
+// Convert_v1beta2_CohortList_To_v1beta1_CohortList is an autogenerated conversion function.
+func Convert_v1beta2_CohortList_To_v1beta1_CohortList(in *v1beta2.CohortList, out *CohortList, s conversion.Scope) error {
+	return autoConvert_v1beta2_CohortList_To_v1beta1_CohortList(in, out, s)
+}
+
+func autoConvert_v1beta1_CohortSpec_To_v1beta2_CohortSpec(in *CohortSpec, out *v1beta2.CohortSpec, s conversion.Scope) error {
+	out.ParentName = v1beta2.CohortReference(in.ParentName)
+	out.ResourceGroups = *(*[]v1beta2.ResourceGroup)(unsafe.Pointer(&in.ResourceGroups))
+	out.FairSharing = (*v1beta2.FairSharing)(unsafe.Pointer(in.FairSharing))
+	return nil
+}
+
+// Convert_v1beta1_CohortSpec_To_v1beta2_CohortSpec is an autogenerated conversion function.
+func Convert_v1beta1_CohortSpec_To_v1beta2_CohortSpec(in *CohortSpec, out *v1beta2.CohortSpec, s conversion.Scope) error {
+	return autoConvert_v1beta1_CohortSpec_To_v1beta2_CohortSpec(in, out, s)
+}
+
+func autoConvert_v1beta2_CohortSpec_To_v1beta1_CohortSpec(in *v1beta2.CohortSpec, out *CohortSpec, s conversion.Scope) error {
+	out.ParentName = CohortReference(in.ParentName)
+	out.ResourceGroups = *(*[]ResourceGroup)(unsafe.Pointer(&in.ResourceGroups))
+	out.FairSharing = (*FairSharing)(unsafe.Pointer(in.FairSharing))
+	return nil
+}
+
+// Convert_v1beta2_CohortSpec_To_v1beta1_CohortSpec is an autogenerated conversion function.
+func Convert_v1beta2_CohortSpec_To_v1beta1_CohortSpec(in *v1beta2.CohortSpec, out *CohortSpec, s conversion.Scope) error {
+	return autoConvert_v1beta2_CohortSpec_To_v1beta1_CohortSpec(in, out, s)
+}
+
+func autoConvert_v1beta1_CohortStatus_To_v1beta2_CohortStatus(in *CohortStatus, out *v1beta2.CohortStatus, s conversion.Scope) error {
+	out.FairSharing = (*v1beta2.FairSharingStatus)(unsafe.Pointer(in.FairSharing))
+	return nil
+}
+
+// Convert_v1beta1_CohortStatus_To_v1beta2_CohortStatus is an autogenerated conversion function.
+func Convert_v1beta1_CohortStatus_To_v1beta2_CohortStatus(in *CohortStatus, out *v1beta2.CohortStatus, s conversion.Scope) error {
+	return autoConvert_v1beta1_CohortStatus_To_v1beta2_CohortStatus(in, out, s)
+}
+
+func autoConvert_v1beta2_CohortStatus_To_v1beta1_CohortStatus(in *v1beta2.CohortStatus, out *CohortStatus, s conversion.Scope) error {
+	out.FairSharing = (*FairSharingStatus)(unsafe.Pointer(in.FairSharing))
+	return nil
+}
+
+// Convert_v1beta2_CohortStatus_To_v1beta1_CohortStatus is an autogenerated conversion function.
+func Convert_v1beta2_CohortStatus_To_v1beta1_CohortStatus(in *v1beta2.CohortStatus, out *CohortStatus, s conversion.Scope) error {
+	return autoConvert_v1beta2_CohortStatus_To_v1beta1_CohortStatus(in, out, s)
+}
+
+func autoConvert_v1beta1_FairSharing_To_v1beta2_FairSharing(in *FairSharing, out *v1beta2.FairSharing, s conversion.Scope) error {
+	out.Weight = (*resource.Quantity)(unsafe.Pointer(in.Weight))
+	return nil
+}
+
+// Convert_v1beta1_FairSharing_To_v1beta2_FairSharing is an autogenerated conversion function.
+func Convert_v1beta1_FairSharing_To_v1beta2_FairSharing(in *FairSharing, out *v1beta2.FairSharing, s conversion.Scope) error {
+	return autoConvert_v1beta1_FairSharing_To_v1beta2_FairSharing(in, out, s)
+}
+
+func autoConvert_v1beta2_FairSharing_To_v1beta1_FairSharing(in *v1beta2.FairSharing, out *FairSharing, s conversion.Scope) error {
+	out.Weight = (*resource.Quantity)(unsafe.Pointer(in.Weight))
+	return nil
+}
+
+// Convert_v1beta2_FairSharing_To_v1beta1_FairSharing is an autogenerated conversion function.
+func Convert_v1beta2_FairSharing_To_v1beta1_FairSharing(in *v1beta2.FairSharing, out *FairSharing, s conversion.Scope) error {
+	return autoConvert_v1beta2_FairSharing_To_v1beta1_FairSharing(in, out, s)
+}
+
+func autoConvert_v1beta1_FairSharingStatus_To_v1beta2_FairSharingStatus(in *FairSharingStatus, out *v1beta2.FairSharingStatus, s conversion.Scope) error {
+	out.WeightedShare = in.WeightedShare
+	out.AdmissionFairSharingStatus = (*v1beta2.AdmissionFairSharingStatus)(unsafe.Pointer(in.AdmissionFairSharingStatus))
+	return nil
+}
+
+// Convert_v1beta1_FairSharingStatus_To_v1beta2_FairSharingStatus is an autogenerated conversion function.
+func Convert_v1beta1_FairSharingStatus_To_v1beta2_FairSharingStatus(in *FairSharingStatus, out *v1beta2.FairSharingStatus, s conversion.Scope) error {
+	return autoConvert_v1beta1_FairSharingStatus_To_v1beta2_FairSharingStatus(in, out, s)
+}
+
+func autoConvert_v1beta2_FairSharingStatus_To_v1beta1_FairSharingStatus(in *v1beta2.FairSharingStatus, out *FairSharingStatus, s conversion.Scope) error {
+	out.WeightedShare = in.WeightedShare
+	out.AdmissionFairSharingStatus = (*AdmissionFairSharingStatus)(unsafe.Pointer(in.AdmissionFairSharingStatus))
+	return nil
+}
+
+// Convert_v1beta2_FairSharingStatus_To_v1beta1_FairSharingStatus is an autogenerated conversion function.
+func Convert_v1beta2_FairSharingStatus_To_v1beta1_FairSharingStatus(in *v1beta2.FairSharingStatus, out *FairSharingStatus, s conversion.Scope) error {
+	return autoConvert_v1beta2_FairSharingStatus_To_v1beta1_FairSharingStatus(in, out, s)
+}
+
+func autoConvert_v1beta1_FlavorFungibility_To_v1beta2_FlavorFungibility(in *FlavorFungibility, out *v1beta2.FlavorFungibility, s conversion.Scope) error {
+	out.WhenCanBorrow = v1beta2.FlavorFungibilityPolicy(in.WhenCanBorrow)
+	out.WhenCanPreempt = v1beta2.FlavorFungibilityPolicy(in.WhenCanPreempt)
+	return nil
+}
+
+// Convert_v1beta1_FlavorFungibility_To_v1beta2_FlavorFungibility is an autogenerated conversion function.
+func Convert_v1beta1_FlavorFungibility_To_v1beta2_FlavorFungibility(in *FlavorFungibility, out *v1beta2.FlavorFungibility, s conversion.Scope) error {
+	return autoConvert_v1beta1_FlavorFungibility_To_v1beta2_FlavorFungibility(in, out, s)
+}
+
+func autoConvert_v1beta2_FlavorFungibility_To_v1beta1_FlavorFungibility(in *v1beta2.FlavorFungibility, out *FlavorFungibility, s conversion.Scope) error {
+	out.WhenCanBorrow = FlavorFungibilityPolicy(in.WhenCanBorrow)
+	out.WhenCanPreempt = FlavorFungibilityPolicy(in.WhenCanPreempt)
+	return nil
+}
+
+// Convert_v1beta2_FlavorFungibility_To_v1beta1_FlavorFungibility is an autogenerated conversion function.
+func Convert_v1beta2_FlavorFungibility_To_v1beta1_FlavorFungibility(in *v1beta2.FlavorFungibility, out *FlavorFungibility, s conversion.Scope) error {
+	return autoConvert_v1beta2_FlavorFungibility_To_v1beta1_FlavorFungibility(in, out, s)
+}
+
+func autoConvert_v1beta1_FlavorQuotas_To_v1beta2_FlavorQuotas(in *FlavorQuotas, out *v1beta2.FlavorQuotas, s conversion.Scope) error {
+	out.Name = v1beta2.ResourceFlavorReference(in.Name)
+	out.Resources = *(*[]v1beta2.ResourceQuota)(unsafe.Pointer(&in.Resources))
+	return nil
+}
+
+// Convert_v1beta1_FlavorQuotas_To_v1beta2_FlavorQuotas is an autogenerated conversion function.
+func Convert_v1beta1_FlavorQuotas_To_v1beta2_FlavorQuotas(in *FlavorQuotas, out *v1beta2.FlavorQuotas, s conversion.Scope) error {
+	return autoConvert_v1beta1_FlavorQuotas_To_v1beta2_FlavorQuotas(in, out, s)
+}
+
+func autoConvert_v1beta2_FlavorQuotas_To_v1beta1_FlavorQuotas(in *v1beta2.FlavorQuotas, out *FlavorQuotas, s conversion.Scope) error {
+	out.Name = ResourceFlavorReference(in.Name)
+	out.Resources = *(*[]ResourceQuota)(unsafe.Pointer(&in.Resources))
+	return nil
+}
+
+// Convert_v1beta2_FlavorQuotas_To_v1beta1_FlavorQuotas is an autogenerated conversion function.
+func Convert_v1beta2_FlavorQuotas_To_v1beta1_FlavorQuotas(in *v1beta2.FlavorQuotas, out *FlavorQuotas, s conversion.Scope) error {
+	return autoConvert_v1beta2_FlavorQuotas_To_v1beta1_FlavorQuotas(in, out, s)
+}
+
+func autoConvert_v1beta1_FlavorUsage_To_v1beta2_FlavorUsage(in *FlavorUsage, out *v1beta2.FlavorUsage, s conversion.Scope) error {
+	out.Name = v1beta2.ResourceFlavorReference(in.Name)
+	out.Resources = *(*[]v1beta2.ResourceUsage)(unsafe.Pointer(&in.Resources))
+	return nil
+}
+
+// Convert_v1beta1_FlavorUsage_To_v1beta2_FlavorUsage is an autogenerated conversion function.
+func Convert_v1beta1_FlavorUsage_To_v1beta2_FlavorUsage(in *FlavorUsage, out *v1beta2.FlavorUsage, s conversion.Scope) error {
+	return autoConvert_v1beta1_FlavorUsage_To_v1beta2_FlavorUsage(in, out, s)
+}
+
+func autoConvert_v1beta2_FlavorUsage_To_v1beta1_FlavorUsage(in *v1beta2.FlavorUsage, out *FlavorUsage, s conversion.Scope) error {
+	out.Name = ResourceFlavorReference(in.Name)
+	out.Resources = *(*[]ResourceUsage)(unsafe.Pointer(&in.Resources))
+	return nil
+}
+
+// Convert_v1beta2_FlavorUsage_To_v1beta1_FlavorUsage is an autogenerated conversion function.
+func Convert_v1beta2_FlavorUsage_To_v1beta1_FlavorUsage(in *v1beta2.FlavorUsage, out *FlavorUsage, s conversion.Scope) error {
+	return autoConvert_v1beta2_FlavorUsage_To_v1beta1_FlavorUsage(in, out, s)
+}
+
+func autoConvert_v1beta1_KubeConfig_To_v1beta2_KubeConfig(in *KubeConfig, out *v1beta2.KubeConfig, s conversion.Scope) error {
+	out.Location = in.Location
+	out.LocationType = v1beta2.LocationType(in.LocationType)
+	return nil
+}
+
+// Convert_v1beta1_KubeConfig_To_v1beta2_KubeConfig is an autogenerated conversion function.
+func Convert_v1beta1_KubeConfig_To_v1beta2_KubeConfig(in *KubeConfig, out *v1beta2.KubeConfig, s conversion.Scope) error {
+	return autoConvert_v1beta1_KubeConfig_To_v1beta2_KubeConfig(in, out, s)
+}
+
+func autoConvert_v1beta2_KubeConfig_To_v1beta1_KubeConfig(in *v1beta2.KubeConfig, out *KubeConfig, s conversion.Scope) error {
+	out.Location = in.Location
+	out.LocationType = LocationType(in.LocationType)
+	return nil
+}
+
+// Convert_v1beta2_KubeConfig_To_v1beta1_KubeConfig is an autogenerated conversion function.
+func Convert_v1beta2_KubeConfig_To_v1beta1_KubeConfig(in *v1beta2.KubeConfig, out *KubeConfig, s conversion.Scope) error {
+	return autoConvert_v1beta2_KubeConfig_To_v1beta1_KubeConfig(in, out, s)
+}
+
+func autoConvert_v1beta1_LocalQueue_To_v1beta2_LocalQueue(in *LocalQueue, out *v1beta2.LocalQueue, s conversion.Scope) error {
+	out.ObjectMeta = in.ObjectMeta
+	if err := Convert_v1beta1_LocalQueueSpec_To_v1beta2_LocalQueueSpec(&in.Spec, &out.Spec, s); err != nil {
+		return err
+	}
+	if err := Convert_v1beta1_LocalQueueStatus_To_v1beta2_LocalQueueStatus(&in.Status, &out.Status, s); err != nil {
+		return err
+	}
+	return nil
+}
+
+// Convert_v1beta1_LocalQueue_To_v1beta2_LocalQueue is an autogenerated conversion function.
+func Convert_v1beta1_LocalQueue_To_v1beta2_LocalQueue(in *LocalQueue, out *v1beta2.LocalQueue, s conversion.Scope) error {
+	return autoConvert_v1beta1_LocalQueue_To_v1beta2_LocalQueue(in, out, s)
+}
+
+func autoConvert_v1beta2_LocalQueue_To_v1beta1_LocalQueue(in *v1beta2.LocalQueue, out *LocalQueue, s conversion.Scope) error {
+	out.ObjectMeta = in.ObjectMeta
+	if err := Convert_v1beta2_LocalQueueSpec_To_v1beta1_LocalQueueSpec(&in.Spec, &out.Spec, s); err != nil {
+		return err
+	}
+	if err := Convert_v1beta2_LocalQueueStatus_To_v1beta1_LocalQueueStatus(&in.Status, &out.Status, s); err != nil {
+		return err
+	}
+	return nil
+}
+
+// Convert_v1beta2_LocalQueue_To_v1beta1_LocalQueue is an autogenerated conversion function.
+func Convert_v1beta2_LocalQueue_To_v1beta1_LocalQueue(in *v1beta2.LocalQueue, out *LocalQueue, s conversion.Scope) error {
+	return autoConvert_v1beta2_LocalQueue_To_v1beta1_LocalQueue(in, out, s)
+}
+
+func autoConvert_v1beta1_LocalQueueFlavorStatus_To_v1beta2_LocalQueueFlavorStatus(in *LocalQueueFlavorStatus, out *v1beta2.LocalQueueFlavorStatus, s conversion.Scope) error {
+	out.Name = v1beta2.ResourceFlavorReference(in.Name)
+	out.Resources = *(*[]corev1.ResourceName)(unsafe.Pointer(&in.Resources))
+	out.NodeLabels = *(*map[string]string)(unsafe.Pointer(&in.NodeLabels))
+	out.NodeTaints = *(*[]corev1.Taint)(unsafe.Pointer(&in.NodeTaints))
+	out.Topology = (*v1beta2.TopologyInfo)(unsafe.Pointer(in.Topology))
+	return nil
+}
+
+// Convert_v1beta1_LocalQueueFlavorStatus_To_v1beta2_LocalQueueFlavorStatus is an autogenerated conversion function.
+func Convert_v1beta1_LocalQueueFlavorStatus_To_v1beta2_LocalQueueFlavorStatus(in *LocalQueueFlavorStatus, out *v1beta2.LocalQueueFlavorStatus, s conversion.Scope) error {
+	return autoConvert_v1beta1_LocalQueueFlavorStatus_To_v1beta2_LocalQueueFlavorStatus(in, out, s)
+}
+
+func autoConvert_v1beta2_LocalQueueFlavorStatus_To_v1beta1_LocalQueueFlavorStatus(in *v1beta2.LocalQueueFlavorStatus, out *LocalQueueFlavorStatus, s conversion.Scope) error {
+	out.Name = ResourceFlavorReference(in.Name)
+	out.Resources = *(*[]corev1.ResourceName)(unsafe.Pointer(&in.Resources))
+	out.NodeLabels = *(*map[string]string)(unsafe.Pointer(&in.NodeLabels))
+	out.NodeTaints = *(*[]corev1.Taint)(unsafe.Pointer(&in.NodeTaints))
+	out.Topology = (*TopologyInfo)(unsafe.Pointer(in.Topology))
+	return nil
+}
+
+// Convert_v1beta2_LocalQueueFlavorStatus_To_v1beta1_LocalQueueFlavorStatus is an autogenerated conversion function.
+func Convert_v1beta2_LocalQueueFlavorStatus_To_v1beta1_LocalQueueFlavorStatus(in *v1beta2.LocalQueueFlavorStatus, out *LocalQueueFlavorStatus, s conversion.Scope) error {
+	return autoConvert_v1beta2_LocalQueueFlavorStatus_To_v1beta1_LocalQueueFlavorStatus(in, out, s)
+}
+
+func autoConvert_v1beta1_LocalQueueFlavorUsage_To_v1beta2_LocalQueueFlavorUsage(in *LocalQueueFlavorUsage, out *v1beta2.LocalQueueFlavorUsage, s conversion.Scope) error {
+	out.Name = v1beta2.ResourceFlavorReference(in.Name)
+	out.Resources = *(*[]v1beta2.LocalQueueResourceUsage)(unsafe.Pointer(&in.Resources))
+	return nil
+}
+
+// Convert_v1beta1_LocalQueueFlavorUsage_To_v1beta2_LocalQueueFlavorUsage is an autogenerated conversion function.
+func Convert_v1beta1_LocalQueueFlavorUsage_To_v1beta2_LocalQueueFlavorUsage(in *LocalQueueFlavorUsage, out *v1beta2.LocalQueueFlavorUsage, s conversion.Scope) error {
+	return autoConvert_v1beta1_LocalQueueFlavorUsage_To_v1beta2_LocalQueueFlavorUsage(in, out, s)
+}
+
+func autoConvert_v1beta2_LocalQueueFlavorUsage_To_v1beta1_LocalQueueFlavorUsage(in *v1beta2.LocalQueueFlavorUsage, out *LocalQueueFlavorUsage, s conversion.Scope) error {
+	out.Name = ResourceFlavorReference(in.Name)
+	out.Resources = *(*[]LocalQueueResourceUsage)(unsafe.Pointer(&in.Resources))
+	return nil
+}
+
+// Convert_v1beta2_LocalQueueFlavorUsage_To_v1beta1_LocalQueueFlavorUsage is an autogenerated conversion function.
+func Convert_v1beta2_LocalQueueFlavorUsage_To_v1beta1_LocalQueueFlavorUsage(in *v1beta2.LocalQueueFlavorUsage, out *LocalQueueFlavorUsage, s conversion.Scope) error {
+	return autoConvert_v1beta2_LocalQueueFlavorUsage_To_v1beta1_LocalQueueFlavorUsage(in, out, s)
+}
+
+func autoConvert_v1beta1_LocalQueueList_To_v1beta2_LocalQueueList(in *LocalQueueList, out *v1beta2.LocalQueueList, s conversion.Scope) error {
+	out.ListMeta = in.ListMeta
+	if in.Items != nil {
+		in, out := &in.Items, &out.Items
+		*out = make([]v1beta2.LocalQueue, len(*in))
+		for i := range *in {
+			if err := Convert_v1beta1_LocalQueue_To_v1beta2_LocalQueue(&(*in)[i], &(*out)[i], s); err != nil {
+				return err
+			}
+		}
+	} else {
+		out.Items = nil
+	}
+	return nil
+}
+
+// Convert_v1beta1_LocalQueueList_To_v1beta2_LocalQueueList is an autogenerated conversion function.
+func Convert_v1beta1_LocalQueueList_To_v1beta2_LocalQueueList(in *LocalQueueList, out *v1beta2.LocalQueueList, s conversion.Scope) error {
+	return autoConvert_v1beta1_LocalQueueList_To_v1beta2_LocalQueueList(in, out, s)
+}
+
+func autoConvert_v1beta2_LocalQueueList_To_v1beta1_LocalQueueList(in *v1beta2.LocalQueueList, out *LocalQueueList, s conversion.Scope) error {
+	out.ListMeta = in.ListMeta
+	if in.Items != nil {
+		in, out := &in.Items, &out.Items
+		*out = make([]LocalQueue, len(*in))
+		for i := range *in {
+			if err := Convert_v1beta2_LocalQueue_To_v1beta1_LocalQueue(&(*in)[i], &(*out)[i], s); err != nil {
+				return err
+			}
+		}
+	} else {
+		out.Items = nil
+	}
+	return nil
+}
+
+// Convert_v1beta2_LocalQueueList_To_v1beta1_LocalQueueList is an autogenerated conversion function.
+func Convert_v1beta2_LocalQueueList_To_v1beta1_LocalQueueList(in *v1beta2.LocalQueueList, out *LocalQueueList, s conversion.Scope) error {
+	return autoConvert_v1beta2_LocalQueueList_To_v1beta1_LocalQueueList(in, out, s)
+}
+
+func autoConvert_v1beta1_LocalQueueResourceUsage_To_v1beta2_LocalQueueResourceUsage(in *LocalQueueResourceUsage, out *v1beta2.LocalQueueResourceUsage, s conversion.Scope) error {
+	out.Name = corev1.ResourceName(in.Name)
+	out.Total = in.Total
+	return nil
+}
+
+// Convert_v1beta1_LocalQueueResourceUsage_To_v1beta2_LocalQueueResourceUsage is an autogenerated conversion function.
+func Convert_v1beta1_LocalQueueResourceUsage_To_v1beta2_LocalQueueResourceUsage(in *LocalQueueResourceUsage, out *v1beta2.LocalQueueResourceUsage, s conversion.Scope) error {
+	return autoConvert_v1beta1_LocalQueueResourceUsage_To_v1beta2_LocalQueueResourceUsage(in, out, s)
+}
+
+func autoConvert_v1beta2_LocalQueueResourceUsage_To_v1beta1_LocalQueueResourceUsage(in *v1beta2.LocalQueueResourceUsage, out *LocalQueueResourceUsage, s conversion.Scope) error {
+	out.Name = corev1.ResourceName(in.Name)
+	out.Total = in.Total
+	return nil
+}
+
+// Convert_v1beta2_LocalQueueResourceUsage_To_v1beta1_LocalQueueResourceUsage is an autogenerated conversion function.
+func Convert_v1beta2_LocalQueueResourceUsage_To_v1beta1_LocalQueueResourceUsage(in *v1beta2.LocalQueueResourceUsage, out *LocalQueueResourceUsage, s conversion.Scope) error {
+	return autoConvert_v1beta2_LocalQueueResourceUsage_To_v1beta1_LocalQueueResourceUsage(in, out, s)
+}
+
+func autoConvert_v1beta1_LocalQueueSpec_To_v1beta2_LocalQueueSpec(in *LocalQueueSpec, out *v1beta2.LocalQueueSpec, s conversion.Scope) error {
+	out.ClusterQueue = v1beta2.ClusterQueueReference(in.ClusterQueue)
+	out.StopPolicy = (*v1beta2.StopPolicy)(unsafe.Pointer(in.StopPolicy))
+	out.FairSharing = (*v1beta2.FairSharing)(unsafe.Pointer(in.FairSharing))
+	return nil
+}
+
+// Convert_v1beta1_LocalQueueSpec_To_v1beta2_LocalQueueSpec is an autogenerated conversion function.
+func Convert_v1beta1_LocalQueueSpec_To_v1beta2_LocalQueueSpec(in *LocalQueueSpec, out *v1beta2.LocalQueueSpec, s conversion.Scope) error {
+	return autoConvert_v1beta1_LocalQueueSpec_To_v1beta2_LocalQueueSpec(in, out, s)
+}
+
+func autoConvert_v1beta2_LocalQueueSpec_To_v1beta1_LocalQueueSpec(in *v1beta2.LocalQueueSpec, out *LocalQueueSpec, s conversion.Scope) error {
+	out.ClusterQueue = ClusterQueueReference(in.ClusterQueue)
+	out.StopPolicy = (*StopPolicy)(unsafe.Pointer(in.StopPolicy))
+	out.FairSharing = (*FairSharing)(unsafe.Pointer(in.FairSharing))
+	return nil
+}
+
+// Convert_v1beta2_LocalQueueSpec_To_v1beta1_LocalQueueSpec is an autogenerated conversion function.
+func Convert_v1beta2_LocalQueueSpec_To_v1beta1_LocalQueueSpec(in *v1beta2.LocalQueueSpec, out *LocalQueueSpec, s conversion.Scope) error {
+	return autoConvert_v1beta2_LocalQueueSpec_To_v1beta1_LocalQueueSpec(in, out, s)
+}
+
+func autoConvert_v1beta1_LocalQueueStatus_To_v1beta2_LocalQueueStatus(in *LocalQueueStatus, out *v1beta2.LocalQueueStatus, s conversion.Scope) error {
+	out.Conditions = *(*[]v1.Condition)(unsafe.Pointer(&in.Conditions))
+	out.PendingWorkloads = in.PendingWorkloads
+	out.ReservingWorkloads = in.ReservingWorkloads
+	out.AdmittedWorkloads = in.AdmittedWorkloads
+	out.FlavorsReservation = *(*[]v1beta2.LocalQueueFlavorUsage)(unsafe.Pointer(&in.FlavorsReservation))
+	// WARNING: in.FlavorUsage requires manual conversion: does not exist in peer-type
+	out.Flavors = *(*[]v1beta2.LocalQueueFlavorStatus)(unsafe.Pointer(&in.Flavors))
+	out.FairSharing = (*v1beta2.FairSharingStatus)(unsafe.Pointer(in.FairSharing))
+	return nil
+}
+
+func autoConvert_v1beta2_LocalQueueStatus_To_v1beta1_LocalQueueStatus(in *v1beta2.LocalQueueStatus, out *LocalQueueStatus, s conversion.Scope) error {
+	out.Conditions = *(*[]v1.Condition)(unsafe.Pointer(&in.Conditions))
+	out.PendingWorkloads = in.PendingWorkloads
+	out.ReservingWorkloads = in.ReservingWorkloads
+	out.AdmittedWorkloads = in.AdmittedWorkloads
+	out.FlavorsReservation = *(*[]LocalQueueFlavorUsage)(unsafe.Pointer(&in.FlavorsReservation))
+	// WARNING: in.FlavorsUsage requires manual conversion: does not exist in peer-type
+	out.Flavors = *(*[]LocalQueueFlavorStatus)(unsafe.Pointer(&in.Flavors))
+	out.FairSharing = (*FairSharingStatus)(unsafe.Pointer(in.FairSharing))
+	return nil
+}
+
+func autoConvert_v1beta1_MultiKueueCluster_To_v1beta2_MultiKueueCluster(in *MultiKueueCluster, out *v1beta2.MultiKueueCluster, s conversion.Scope) error {
+	out.ObjectMeta = in.ObjectMeta
+	if err := Convert_v1beta1_MultiKueueClusterSpec_To_v1beta2_MultiKueueClusterSpec(&in.Spec, &out.Spec, s); err != nil {
+		return err
+	}
+	if err := Convert_v1beta1_MultiKueueClusterStatus_To_v1beta2_MultiKueueClusterStatus(&in.Status, &out.Status, s); err != nil {
+		return err
+	}
+	return nil
+}
+
+// Convert_v1beta1_MultiKueueCluster_To_v1beta2_MultiKueueCluster is an autogenerated conversion function.
+func Convert_v1beta1_MultiKueueCluster_To_v1beta2_MultiKueueCluster(in *MultiKueueCluster, out *v1beta2.MultiKueueCluster, s conversion.Scope) error {
+	return autoConvert_v1beta1_MultiKueueCluster_To_v1beta2_MultiKueueCluster(in, out, s)
+}
+
+func autoConvert_v1beta2_MultiKueueCluster_To_v1beta1_MultiKueueCluster(in *v1beta2.MultiKueueCluster, out *MultiKueueCluster, s conversion.Scope) error {
+	out.ObjectMeta = in.ObjectMeta
+	if err := Convert_v1beta2_MultiKueueClusterSpec_To_v1beta1_MultiKueueClusterSpec(&in.Spec, &out.Spec, s); err != nil {
+		return err
+	}
+	if err := Convert_v1beta2_MultiKueueClusterStatus_To_v1beta1_MultiKueueClusterStatus(&in.Status, &out.Status, s); err != nil {
+		return err
+	}
+	return nil
+}
+
+// Convert_v1beta2_MultiKueueCluster_To_v1beta1_MultiKueueCluster is an autogenerated conversion function.
+func Convert_v1beta2_MultiKueueCluster_To_v1beta1_MultiKueueCluster(in *v1beta2.MultiKueueCluster, out *MultiKueueCluster, s conversion.Scope) error {
+	return autoConvert_v1beta2_MultiKueueCluster_To_v1beta1_MultiKueueCluster(in, out, s)
+}
+
+func autoConvert_v1beta1_MultiKueueClusterList_To_v1beta2_MultiKueueClusterList(in *MultiKueueClusterList, out *v1beta2.MultiKueueClusterList, s conversion.Scope) error {
+	out.ListMeta = in.ListMeta
+	out.Items = *(*[]v1beta2.MultiKueueCluster)(unsafe.Pointer(&in.Items))
+	return nil
+}
+
+// Convert_v1beta1_MultiKueueClusterList_To_v1beta2_MultiKueueClusterList is an autogenerated conversion function.
+func Convert_v1beta1_MultiKueueClusterList_To_v1beta2_MultiKueueClusterList(in *MultiKueueClusterList, out *v1beta2.MultiKueueClusterList, s conversion.Scope) error {
+	return autoConvert_v1beta1_MultiKueueClusterList_To_v1beta2_MultiKueueClusterList(in, out, s)
+}
+
+func autoConvert_v1beta2_MultiKueueClusterList_To_v1beta1_MultiKueueClusterList(in *v1beta2.MultiKueueClusterList, out *MultiKueueClusterList, s conversion.Scope) error {
+	out.ListMeta = in.ListMeta
+	out.Items = *(*[]MultiKueueCluster)(unsafe.Pointer(&in.Items))
+	return nil
+}
+
+// Convert_v1beta2_MultiKueueClusterList_To_v1beta1_MultiKueueClusterList is an autogenerated conversion function.
+func Convert_v1beta2_MultiKueueClusterList_To_v1beta1_MultiKueueClusterList(in *v1beta2.MultiKueueClusterList, out *MultiKueueClusterList, s conversion.Scope) error {
+	return autoConvert_v1beta2_MultiKueueClusterList_To_v1beta1_MultiKueueClusterList(in, out, s)
+}
+
+func autoConvert_v1beta1_MultiKueueClusterSpec_To_v1beta2_MultiKueueClusterSpec(in *MultiKueueClusterSpec, out *v1beta2.MultiKueueClusterSpec, s conversion.Scope) error {
+	if err := Convert_v1beta1_KubeConfig_To_v1beta2_KubeConfig(&in.KubeConfig, &out.KubeConfig, s); err != nil {
+		return err
+	}
+	return nil
+}
+
+// Convert_v1beta1_MultiKueueClusterSpec_To_v1beta2_MultiKueueClusterSpec is an autogenerated conversion function.
+func Convert_v1beta1_MultiKueueClusterSpec_To_v1beta2_MultiKueueClusterSpec(in *MultiKueueClusterSpec, out *v1beta2.MultiKueueClusterSpec, s conversion.Scope) error {
+	return autoConvert_v1beta1_MultiKueueClusterSpec_To_v1beta2_MultiKueueClusterSpec(in, out, s)
+}
+
+func autoConvert_v1beta2_MultiKueueClusterSpec_To_v1beta1_MultiKueueClusterSpec(in *v1beta2.MultiKueueClusterSpec, out *MultiKueueClusterSpec, s conversion.Scope) error {
+	if err := Convert_v1beta2_KubeConfig_To_v1beta1_KubeConfig(&in.KubeConfig, &out.KubeConfig, s); err != nil {
+		return err
+	}
+	return nil
+}
+
+// Convert_v1beta2_MultiKueueClusterSpec_To_v1beta1_MultiKueueClusterSpec is an autogenerated conversion function.
+func Convert_v1beta2_MultiKueueClusterSpec_To_v1beta1_MultiKueueClusterSpec(in *v1beta2.MultiKueueClusterSpec, out *MultiKueueClusterSpec, s conversion.Scope) error {
+	return autoConvert_v1beta2_MultiKueueClusterSpec_To_v1beta1_MultiKueueClusterSpec(in, out, s)
+}
+
+func autoConvert_v1beta1_MultiKueueClusterStatus_To_v1beta2_MultiKueueClusterStatus(in *MultiKueueClusterStatus, out *v1beta2.MultiKueueClusterStatus, s conversion.Scope) error {
+	out.Conditions = *(*[]v1.Condition)(unsafe.Pointer(&in.Conditions))
+	return nil
+}
+
+// Convert_v1beta1_MultiKueueClusterStatus_To_v1beta2_MultiKueueClusterStatus is an autogenerated conversion function.
+func Convert_v1beta1_MultiKueueClusterStatus_To_v1beta2_MultiKueueClusterStatus(in *MultiKueueClusterStatus, out *v1beta2.MultiKueueClusterStatus, s conversion.Scope) error {
+	return autoConvert_v1beta1_MultiKueueClusterStatus_To_v1beta2_MultiKueueClusterStatus(in, out, s)
+}
+
+func autoConvert_v1beta2_MultiKueueClusterStatus_To_v1beta1_MultiKueueClusterStatus(in *v1beta2.MultiKueueClusterStatus, out *MultiKueueClusterStatus, s conversion.Scope) error {
+	out.Conditions = *(*[]v1.Condition)(unsafe.Pointer(&in.Conditions))
+	return nil
+}
+
+// Convert_v1beta2_MultiKueueClusterStatus_To_v1beta1_MultiKueueClusterStatus is an autogenerated conversion function.
+func Convert_v1beta2_MultiKueueClusterStatus_To_v1beta1_MultiKueueClusterStatus(in *v1beta2.MultiKueueClusterStatus, out *MultiKueueClusterStatus, s conversion.Scope) error {
+	return autoConvert_v1beta2_MultiKueueClusterStatus_To_v1beta1_MultiKueueClusterStatus(in, out, s)
+}
+
+func autoConvert_v1beta1_MultiKueueConfig_To_v1beta2_MultiKueueConfig(in *MultiKueueConfig, out *v1beta2.MultiKueueConfig, s conversion.Scope) error {
+	out.ObjectMeta = in.ObjectMeta
+	if err := Convert_v1beta1_MultiKueueConfigSpec_To_v1beta2_MultiKueueConfigSpec(&in.Spec, &out.Spec, s); err != nil {
+		return err
+	}
+	return nil
+}
+
+// Convert_v1beta1_MultiKueueConfig_To_v1beta2_MultiKueueConfig is an autogenerated conversion function.
+func Convert_v1beta1_MultiKueueConfig_To_v1beta2_MultiKueueConfig(in *MultiKueueConfig, out *v1beta2.MultiKueueConfig, s conversion.Scope) error {
+	return autoConvert_v1beta1_MultiKueueConfig_To_v1beta2_MultiKueueConfig(in, out, s)
+}
+
+func autoConvert_v1beta2_MultiKueueConfig_To_v1beta1_MultiKueueConfig(in *v1beta2.MultiKueueConfig, out *MultiKueueConfig, s conversion.Scope) error {
+	out.ObjectMeta = in.ObjectMeta
+	if err := Convert_v1beta2_MultiKueueConfigSpec_To_v1beta1_MultiKueueConfigSpec(&in.Spec, &out.Spec, s); err != nil {
+		return err
+	}
+	return nil
+}
+
+// Convert_v1beta2_MultiKueueConfig_To_v1beta1_MultiKueueConfig is an autogenerated conversion function.
+func Convert_v1beta2_MultiKueueConfig_To_v1beta1_MultiKueueConfig(in *v1beta2.MultiKueueConfig, out *MultiKueueConfig, s conversion.Scope) error {
+	return autoConvert_v1beta2_MultiKueueConfig_To_v1beta1_MultiKueueConfig(in, out, s)
+}
+
+func autoConvert_v1beta1_MultiKueueConfigList_To_v1beta2_MultiKueueConfigList(in *MultiKueueConfigList, out *v1beta2.MultiKueueConfigList, s conversion.Scope) error {
+	out.ListMeta = in.ListMeta
+	out.Items = *(*[]v1beta2.MultiKueueConfig)(unsafe.Pointer(&in.Items))
+	return nil
+}
+
+// Convert_v1beta1_MultiKueueConfigList_To_v1beta2_MultiKueueConfigList is an autogenerated conversion function.
+func Convert_v1beta1_MultiKueueConfigList_To_v1beta2_MultiKueueConfigList(in *MultiKueueConfigList, out *v1beta2.MultiKueueConfigList, s conversion.Scope) error {
+	return autoConvert_v1beta1_MultiKueueConfigList_To_v1beta2_MultiKueueConfigList(in, out, s)
+}
+
+func autoConvert_v1beta2_MultiKueueConfigList_To_v1beta1_MultiKueueConfigList(in *v1beta2.MultiKueueConfigList, out *MultiKueueConfigList, s conversion.Scope) error {
+	out.ListMeta = in.ListMeta
+	out.Items = *(*[]MultiKueueConfig)(unsafe.Pointer(&in.Items))
+	return nil
+}
+
+// Convert_v1beta2_MultiKueueConfigList_To_v1beta1_MultiKueueConfigList is an autogenerated conversion function.
+func Convert_v1beta2_MultiKueueConfigList_To_v1beta1_MultiKueueConfigList(in *v1beta2.MultiKueueConfigList, out *MultiKueueConfigList, s conversion.Scope) error {
+	return autoConvert_v1beta2_MultiKueueConfigList_To_v1beta1_MultiKueueConfigList(in, out, s)
+}
+
+func autoConvert_v1beta1_MultiKueueConfigSpec_To_v1beta2_MultiKueueConfigSpec(in *MultiKueueConfigSpec, out *v1beta2.MultiKueueConfigSpec, s conversion.Scope) error {
+	out.Clusters = *(*[]string)(unsafe.Pointer(&in.Clusters))
+	return nil
+}
+
+// Convert_v1beta1_MultiKueueConfigSpec_To_v1beta2_MultiKueueConfigSpec is an autogenerated conversion function.
+func Convert_v1beta1_MultiKueueConfigSpec_To_v1beta2_MultiKueueConfigSpec(in *MultiKueueConfigSpec, out *v1beta2.MultiKueueConfigSpec, s conversion.Scope) error {
+	return autoConvert_v1beta1_MultiKueueConfigSpec_To_v1beta2_MultiKueueConfigSpec(in, out, s)
+}
+
+func autoConvert_v1beta2_MultiKueueConfigSpec_To_v1beta1_MultiKueueConfigSpec(in *v1beta2.MultiKueueConfigSpec, out *MultiKueueConfigSpec, s conversion.Scope) error {
+	out.Clusters = *(*[]string)(unsafe.Pointer(&in.Clusters))
+	return nil
+}
+
+// Convert_v1beta2_MultiKueueConfigSpec_To_v1beta1_MultiKueueConfigSpec is an autogenerated conversion function.
+func Convert_v1beta2_MultiKueueConfigSpec_To_v1beta1_MultiKueueConfigSpec(in *v1beta2.MultiKueueConfigSpec, out *MultiKueueConfigSpec, s conversion.Scope) error {
+	return autoConvert_v1beta2_MultiKueueConfigSpec_To_v1beta1_MultiKueueConfigSpec(in, out, s)
+}
+
+func autoConvert_v1beta1_PodSet_To_v1beta2_PodSet(in *PodSet, out *v1beta2.PodSet, s conversion.Scope) error {
+	out.Name = v1beta2.PodSetReference(in.Name)
+	out.Template = in.Template
+	out.Count = in.Count
+	out.MinCount = (*int32)(unsafe.Pointer(in.MinCount))
+	out.TopologyRequest = (*v1beta2.PodSetTopologyRequest)(unsafe.Pointer(in.TopologyRequest))
+	return nil
+}
+
+// Convert_v1beta1_PodSet_To_v1beta2_PodSet is an autogenerated conversion function.
+func Convert_v1beta1_PodSet_To_v1beta2_PodSet(in *PodSet, out *v1beta2.PodSet, s conversion.Scope) error {
+	return autoConvert_v1beta1_PodSet_To_v1beta2_PodSet(in, out, s)
+}
+
+func autoConvert_v1beta2_PodSet_To_v1beta1_PodSet(in *v1beta2.PodSet, out *PodSet, s conversion.Scope) error {
+	out.Name = PodSetReference(in.Name)
+	out.Template = in.Template
+	out.Count = in.Count
+	out.MinCount = (*int32)(unsafe.Pointer(in.MinCount))
+	out.TopologyRequest = (*PodSetTopologyRequest)(unsafe.Pointer(in.TopologyRequest))
+	return nil
+}
+
+// Convert_v1beta2_PodSet_To_v1beta1_PodSet is an autogenerated conversion function.
+func Convert_v1beta2_PodSet_To_v1beta1_PodSet(in *v1beta2.PodSet, out *PodSet, s conversion.Scope) error {
+	return autoConvert_v1beta2_PodSet_To_v1beta1_PodSet(in, out, s)
+}
+
+func autoConvert_v1beta1_PodSetAssignment_To_v1beta2_PodSetAssignment(in *PodSetAssignment, out *v1beta2.PodSetAssignment, s conversion.Scope) error {
+	out.Name = v1beta2.PodSetReference(in.Name)
+	out.Flavors = *(*map[corev1.ResourceName]v1beta2.ResourceFlavorReference)(unsafe.Pointer(&in.Flavors))
+	out.ResourceUsage = *(*corev1.ResourceList)(unsafe.Pointer(&in.ResourceUsage))
+	out.Count = (*int32)(unsafe.Pointer(in.Count))
+	out.TopologyAssignment = (*v1beta2.TopologyAssignment)(unsafe.Pointer(in.TopologyAssignment))
+	out.DelayedTopologyRequest = (*v1beta2.DelayedTopologyRequestState)(unsafe.Pointer(in.DelayedTopologyRequest))
+	return nil
+}
+
+// Convert_v1beta1_PodSetAssignment_To_v1beta2_PodSetAssignment is an autogenerated conversion function.
+func Convert_v1beta1_PodSetAssignment_To_v1beta2_PodSetAssignment(in *PodSetAssignment, out *v1beta2.PodSetAssignment, s conversion.Scope) error {
+	return autoConvert_v1beta1_PodSetAssignment_To_v1beta2_PodSetAssignment(in, out, s)
+}
+
+func autoConvert_v1beta2_PodSetAssignment_To_v1beta1_PodSetAssignment(in *v1beta2.PodSetAssignment, out *PodSetAssignment, s conversion.Scope) error {
+	out.Name = PodSetReference(in.Name)
+	out.Flavors = *(*map[corev1.ResourceName]ResourceFlavorReference)(unsafe.Pointer(&in.Flavors))
+	out.ResourceUsage = *(*corev1.ResourceList)(unsafe.Pointer(&in.ResourceUsage))
+	out.Count = (*int32)(unsafe.Pointer(in.Count))
+	out.TopologyAssignment = (*TopologyAssignment)(unsafe.Pointer(in.TopologyAssignment))
+	out.DelayedTopologyRequest = (*DelayedTopologyRequestState)(unsafe.Pointer(in.DelayedTopologyRequest))
+	return nil
+}
+
+// Convert_v1beta2_PodSetAssignment_To_v1beta1_PodSetAssignment is an autogenerated conversion function.
+func Convert_v1beta2_PodSetAssignment_To_v1beta1_PodSetAssignment(in *v1beta2.PodSetAssignment, out *PodSetAssignment, s conversion.Scope) error {
+	return autoConvert_v1beta2_PodSetAssignment_To_v1beta1_PodSetAssignment(in, out, s)
+}
+
+func autoConvert_v1beta1_PodSetRequest_To_v1beta2_PodSetRequest(in *PodSetRequest, out *v1beta2.PodSetRequest, s conversion.Scope) error {
+	out.Name = v1beta2.PodSetReference(in.Name)
+	out.Resources = *(*corev1.ResourceList)(unsafe.Pointer(&in.Resources))
+	return nil
+}
+
+// Convert_v1beta1_PodSetRequest_To_v1beta2_PodSetRequest is an autogenerated conversion function.
+func Convert_v1beta1_PodSetRequest_To_v1beta2_PodSetRequest(in *PodSetRequest, out *v1beta2.PodSetRequest, s conversion.Scope) error {
+	return autoConvert_v1beta1_PodSetRequest_To_v1beta2_PodSetRequest(in, out, s)
+}
+
+func autoConvert_v1beta2_PodSetRequest_To_v1beta1_PodSetRequest(in *v1beta2.PodSetRequest, out *PodSetRequest, s conversion.Scope) error {
+	out.Name = PodSetReference(in.Name)
+	out.Resources = *(*corev1.ResourceList)(unsafe.Pointer(&in.Resources))
+	return nil
+}
+
+// Convert_v1beta2_PodSetRequest_To_v1beta1_PodSetRequest is an autogenerated conversion function.
+func Convert_v1beta2_PodSetRequest_To_v1beta1_PodSetRequest(in *v1beta2.PodSetRequest, out *PodSetRequest, s conversion.Scope) error {
+	return autoConvert_v1beta2_PodSetRequest_To_v1beta1_PodSetRequest(in, out, s)
+}
+
+func autoConvert_v1beta1_PodSetTopologyRequest_To_v1beta2_PodSetTopologyRequest(in *PodSetTopologyRequest, out *v1beta2.PodSetTopologyRequest, s conversion.Scope) error {
+	out.Required = (*string)(unsafe.Pointer(in.Required))
+	out.Preferred = (*string)(unsafe.Pointer(in.Preferred))
+	out.Unconstrained = (*bool)(unsafe.Pointer(in.Unconstrained))
+	out.PodIndexLabel = (*string)(unsafe.Pointer(in.PodIndexLabel))
+	out.SubGroupIndexLabel = (*string)(unsafe.Pointer(in.SubGroupIndexLabel))
+	out.SubGroupCount = (*int32)(unsafe.Pointer(in.SubGroupCount))
+	out.PodSetGroupName = (*string)(unsafe.Pointer(in.PodSetGroupName))
+	out.PodSetSliceRequiredTopology = (*string)(unsafe.Pointer(in.PodSetSliceRequiredTopology))
+	out.PodSetSliceSize = (*int32)(unsafe.Pointer(in.PodSetSliceSize))
+	return nil
+}
+
+// Convert_v1beta1_PodSetTopologyRequest_To_v1beta2_PodSetTopologyRequest is an autogenerated conversion function.
+func Convert_v1beta1_PodSetTopologyRequest_To_v1beta2_PodSetTopologyRequest(in *PodSetTopologyRequest, out *v1beta2.PodSetTopologyRequest, s conversion.Scope) error {
+	return autoConvert_v1beta1_PodSetTopologyRequest_To_v1beta2_PodSetTopologyRequest(in, out, s)
+}
+
+func autoConvert_v1beta2_PodSetTopologyRequest_To_v1beta1_PodSetTopologyRequest(in *v1beta2.PodSetTopologyRequest, out *PodSetTopologyRequest, s conversion.Scope) error {
+	out.Required = (*string)(unsafe.Pointer(in.Required))
+	out.Preferred = (*string)(unsafe.Pointer(in.Preferred))
+	out.Unconstrained = (*bool)(unsafe.Pointer(in.Unconstrained))
+	out.PodIndexLabel = (*string)(unsafe.Pointer(in.PodIndexLabel))
+	out.SubGroupIndexLabel = (*string)(unsafe.Pointer(in.SubGroupIndexLabel))
+	out.SubGroupCount = (*int32)(unsafe.Pointer(in.SubGroupCount))
+	out.PodSetGroupName = (*string)(unsafe.Pointer(in.PodSetGroupName))
+	out.PodSetSliceRequiredTopology = (*string)(unsafe.Pointer(in.PodSetSliceRequiredTopology))
+	out.PodSetSliceSize = (*int32)(unsafe.Pointer(in.PodSetSliceSize))
+	return nil
+}
+
+// Convert_v1beta2_PodSetTopologyRequest_To_v1beta1_PodSetTopologyRequest is an autogenerated conversion function.
+func Convert_v1beta2_PodSetTopologyRequest_To_v1beta1_PodSetTopologyRequest(in *v1beta2.PodSetTopologyRequest, out *PodSetTopologyRequest, s conversion.Scope) error {
+	return autoConvert_v1beta2_PodSetTopologyRequest_To_v1beta1_PodSetTopologyRequest(in, out, s)
+}
+
+func autoConvert_v1beta1_PodSetUpdate_To_v1beta2_PodSetUpdate(in *PodSetUpdate, out *v1beta2.PodSetUpdate, s conversion.Scope) error {
+	out.Name = v1beta2.PodSetReference(in.Name)
+	out.Labels = *(*map[string]string)(unsafe.Pointer(&in.Labels))
+	out.Annotations = *(*map[string]string)(unsafe.Pointer(&in.Annotations))
+	out.NodeSelector = *(*map[string]string)(unsafe.Pointer(&in.NodeSelector))
+	out.Tolerations = *(*[]corev1.Toleration)(unsafe.Pointer(&in.Tolerations))
+	return nil
+}
+
+// Convert_v1beta1_PodSetUpdate_To_v1beta2_PodSetUpdate is an autogenerated conversion function.
+func Convert_v1beta1_PodSetUpdate_To_v1beta2_PodSetUpdate(in *PodSetUpdate, out *v1beta2.PodSetUpdate, s conversion.Scope) error {
+	return autoConvert_v1beta1_PodSetUpdate_To_v1beta2_PodSetUpdate(in, out, s)
+}
+
+func autoConvert_v1beta2_PodSetUpdate_To_v1beta1_PodSetUpdate(in *v1beta2.PodSetUpdate, out *PodSetUpdate, s conversion.Scope) error {
+	out.Name = PodSetReference(in.Name)
+	out.Labels = *(*map[string]string)(unsafe.Pointer(&in.Labels))
+	out.Annotations = *(*map[string]string)(unsafe.Pointer(&in.Annotations))
+	out.NodeSelector = *(*map[string]string)(unsafe.Pointer(&in.NodeSelector))
+	out.Tolerations = *(*[]corev1.Toleration)(unsafe.Pointer(&in.Tolerations))
+	return nil
+}
+
+// Convert_v1beta2_PodSetUpdate_To_v1beta1_PodSetUpdate is an autogenerated conversion function.
+func Convert_v1beta2_PodSetUpdate_To_v1beta1_PodSetUpdate(in *v1beta2.PodSetUpdate, out *PodSetUpdate, s conversion.Scope) error {
+	return autoConvert_v1beta2_PodSetUpdate_To_v1beta1_PodSetUpdate(in, out, s)
+}
+
+func autoConvert_v1beta1_ProvisioningRequestConfig_To_v1beta2_ProvisioningRequestConfig(in *ProvisioningRequestConfig, out *v1beta2.ProvisioningRequestConfig, s conversion.Scope) error {
+	out.ObjectMeta = in.ObjectMeta
+	if err := Convert_v1beta1_ProvisioningRequestConfigSpec_To_v1beta2_ProvisioningRequestConfigSpec(&in.Spec, &out.Spec, s); err != nil {
+		return err
+	}
+	return nil
+}
+
+// Convert_v1beta1_ProvisioningRequestConfig_To_v1beta2_ProvisioningRequestConfig is an autogenerated conversion function.
+func Convert_v1beta1_ProvisioningRequestConfig_To_v1beta2_ProvisioningRequestConfig(in *ProvisioningRequestConfig, out *v1beta2.ProvisioningRequestConfig, s conversion.Scope) error {
+	return autoConvert_v1beta1_ProvisioningRequestConfig_To_v1beta2_ProvisioningRequestConfig(in, out, s)
+}
+
+func autoConvert_v1beta2_ProvisioningRequestConfig_To_v1beta1_ProvisioningRequestConfig(in *v1beta2.ProvisioningRequestConfig, out *ProvisioningRequestConfig, s conversion.Scope) error {
+	out.ObjectMeta = in.ObjectMeta
+	if err := Convert_v1beta2_ProvisioningRequestConfigSpec_To_v1beta1_ProvisioningRequestConfigSpec(&in.Spec, &out.Spec, s); err != nil {
+		return err
+	}
+	return nil
+}
+
+// Convert_v1beta2_ProvisioningRequestConfig_To_v1beta1_ProvisioningRequestConfig is an autogenerated conversion function.
+func Convert_v1beta2_ProvisioningRequestConfig_To_v1beta1_ProvisioningRequestConfig(in *v1beta2.ProvisioningRequestConfig, out *ProvisioningRequestConfig, s conversion.Scope) error {
+	return autoConvert_v1beta2_ProvisioningRequestConfig_To_v1beta1_ProvisioningRequestConfig(in, out, s)
+}
+
+func autoConvert_v1beta1_ProvisioningRequestConfigList_To_v1beta2_ProvisioningRequestConfigList(in *ProvisioningRequestConfigList, out *v1beta2.ProvisioningRequestConfigList, s conversion.Scope) error {
+	out.ListMeta = in.ListMeta
+	out.Items = *(*[]v1beta2.ProvisioningRequestConfig)(unsafe.Pointer(&in.Items))
+	return nil
+}
+
+// Convert_v1beta1_ProvisioningRequestConfigList_To_v1beta2_ProvisioningRequestConfigList is an autogenerated conversion function.
+func Convert_v1beta1_ProvisioningRequestConfigList_To_v1beta2_ProvisioningRequestConfigList(in *ProvisioningRequestConfigList, out *v1beta2.ProvisioningRequestConfigList, s conversion.Scope) error {
+	return autoConvert_v1beta1_ProvisioningRequestConfigList_To_v1beta2_ProvisioningRequestConfigList(in, out, s)
+}
+
+func autoConvert_v1beta2_ProvisioningRequestConfigList_To_v1beta1_ProvisioningRequestConfigList(in *v1beta2.ProvisioningRequestConfigList, out *ProvisioningRequestConfigList, s conversion.Scope) error {
+	out.ListMeta = in.ListMeta
+	out.Items = *(*[]ProvisioningRequestConfig)(unsafe.Pointer(&in.Items))
+	return nil
+}
+
+// Convert_v1beta2_ProvisioningRequestConfigList_To_v1beta1_ProvisioningRequestConfigList is an autogenerated conversion function.
+func Convert_v1beta2_ProvisioningRequestConfigList_To_v1beta1_ProvisioningRequestConfigList(in *v1beta2.ProvisioningRequestConfigList, out *ProvisioningRequestConfigList, s conversion.Scope) error {
+	return autoConvert_v1beta2_ProvisioningRequestConfigList_To_v1beta1_ProvisioningRequestConfigList(in, out, s)
+}
+
+func autoConvert_v1beta1_ProvisioningRequestConfigSpec_To_v1beta2_ProvisioningRequestConfigSpec(in *ProvisioningRequestConfigSpec, out *v1beta2.ProvisioningRequestConfigSpec, s conversion.Scope) error {
+	out.ProvisioningClassName = in.ProvisioningClassName
+	out.Parameters = *(*map[string]v1beta2.Parameter)(unsafe.Pointer(&in.Parameters))
+	out.ManagedResources = *(*[]corev1.ResourceName)(unsafe.Pointer(&in.ManagedResources))
+	out.RetryStrategy = (*v1beta2.ProvisioningRequestRetryStrategy)(unsafe.Pointer(in.RetryStrategy))
+	out.PodSetUpdates = (*v1beta2.ProvisioningRequestPodSetUpdates)(unsafe.Pointer(in.PodSetUpdates))
+	out.PodSetMergePolicy = (*v1beta2.ProvisioningRequestConfigPodSetMergePolicy)(unsafe.Pointer(in.PodSetMergePolicy))
+	return nil
+}
+
+// Convert_v1beta1_ProvisioningRequestConfigSpec_To_v1beta2_ProvisioningRequestConfigSpec is an autogenerated conversion function.
+func Convert_v1beta1_ProvisioningRequestConfigSpec_To_v1beta2_ProvisioningRequestConfigSpec(in *ProvisioningRequestConfigSpec, out *v1beta2.ProvisioningRequestConfigSpec, s conversion.Scope) error {
+	return autoConvert_v1beta1_ProvisioningRequestConfigSpec_To_v1beta2_ProvisioningRequestConfigSpec(in, out, s)
+}
+
+func autoConvert_v1beta2_ProvisioningRequestConfigSpec_To_v1beta1_ProvisioningRequestConfigSpec(in *v1beta2.ProvisioningRequestConfigSpec, out *ProvisioningRequestConfigSpec, s conversion.Scope) error {
+	out.ProvisioningClassName = in.ProvisioningClassName
+	out.Parameters = *(*map[string]Parameter)(unsafe.Pointer(&in.Parameters))
+	out.ManagedResources = *(*[]corev1.ResourceName)(unsafe.Pointer(&in.ManagedResources))
+	out.RetryStrategy = (*ProvisioningRequestRetryStrategy)(unsafe.Pointer(in.RetryStrategy))
+	out.PodSetUpdates = (*ProvisioningRequestPodSetUpdates)(unsafe.Pointer(in.PodSetUpdates))
+	out.PodSetMergePolicy = (*ProvisioningRequestConfigPodSetMergePolicy)(unsafe.Pointer(in.PodSetMergePolicy))
+	return nil
+}
+
+// Convert_v1beta2_ProvisioningRequestConfigSpec_To_v1beta1_ProvisioningRequestConfigSpec is an autogenerated conversion function.
+func Convert_v1beta2_ProvisioningRequestConfigSpec_To_v1beta1_ProvisioningRequestConfigSpec(in *v1beta2.ProvisioningRequestConfigSpec, out *ProvisioningRequestConfigSpec, s conversion.Scope) error {
+	return autoConvert_v1beta2_ProvisioningRequestConfigSpec_To_v1beta1_ProvisioningRequestConfigSpec(in, out, s)
+}
+
+func autoConvert_v1beta1_ProvisioningRequestPodSetUpdates_To_v1beta2_ProvisioningRequestPodSetUpdates(in *ProvisioningRequestPodSetUpdates, out *v1beta2.ProvisioningRequestPodSetUpdates, s conversion.Scope) error {
+	out.NodeSelector = *(*[]v1beta2.ProvisioningRequestPodSetUpdatesNodeSelector)(unsafe.Pointer(&in.NodeSelector))
+	return nil
+}
+
+// Convert_v1beta1_ProvisioningRequestPodSetUpdates_To_v1beta2_ProvisioningRequestPodSetUpdates is an autogenerated conversion function.
+func Convert_v1beta1_ProvisioningRequestPodSetUpdates_To_v1beta2_ProvisioningRequestPodSetUpdates(in *ProvisioningRequestPodSetUpdates, out *v1beta2.ProvisioningRequestPodSetUpdates, s conversion.Scope) error {
+	return autoConvert_v1beta1_ProvisioningRequestPodSetUpdates_To_v1beta2_ProvisioningRequestPodSetUpdates(in, out, s)
+}
+
+func autoConvert_v1beta2_ProvisioningRequestPodSetUpdates_To_v1beta1_ProvisioningRequestPodSetUpdates(in *v1beta2.ProvisioningRequestPodSetUpdates, out *ProvisioningRequestPodSetUpdates, s conversion.Scope) error {
+	out.NodeSelector = *(*[]ProvisioningRequestPodSetUpdatesNodeSelector)(unsafe.Pointer(&in.NodeSelector))
+	return nil
+}
+
+// Convert_v1beta2_ProvisioningRequestPodSetUpdates_To_v1beta1_ProvisioningRequestPodSetUpdates is an autogenerated conversion function.
+func Convert_v1beta2_ProvisioningRequestPodSetUpdates_To_v1beta1_ProvisioningRequestPodSetUpdates(in *v1beta2.ProvisioningRequestPodSetUpdates, out *ProvisioningRequestPodSetUpdates, s conversion.Scope) error {
+	return autoConvert_v1beta2_ProvisioningRequestPodSetUpdates_To_v1beta1_ProvisioningRequestPodSetUpdates(in, out, s)
+}
+
+func autoConvert_v1beta1_ProvisioningRequestPodSetUpdatesNodeSelector_To_v1beta2_ProvisioningRequestPodSetUpdatesNodeSelector(in *ProvisioningRequestPodSetUpdatesNodeSelector, out *v1beta2.ProvisioningRequestPodSetUpdatesNodeSelector, s conversion.Scope) error {
+	out.Key = in.Key
+	out.ValueFromProvisioningClassDetail = in.ValueFromProvisioningClassDetail
+	return nil
+}
+
+// Convert_v1beta1_ProvisioningRequestPodSetUpdatesNodeSelector_To_v1beta2_ProvisioningRequestPodSetUpdatesNodeSelector is an autogenerated conversion function.
+func Convert_v1beta1_ProvisioningRequestPodSetUpdatesNodeSelector_To_v1beta2_ProvisioningRequestPodSetUpdatesNodeSelector(in *ProvisioningRequestPodSetUpdatesNodeSelector, out *v1beta2.ProvisioningRequestPodSetUpdatesNodeSelector, s conversion.Scope) error {
+	return autoConvert_v1beta1_ProvisioningRequestPodSetUpdatesNodeSelector_To_v1beta2_ProvisioningRequestPodSetUpdatesNodeSelector(in, out, s)
+}
+
+func autoConvert_v1beta2_ProvisioningRequestPodSetUpdatesNodeSelector_To_v1beta1_ProvisioningRequestPodSetUpdatesNodeSelector(in *v1beta2.ProvisioningRequestPodSetUpdatesNodeSelector, out *ProvisioningRequestPodSetUpdatesNodeSelector, s conversion.Scope) error {
+	out.Key = in.Key
+	out.ValueFromProvisioningClassDetail = in.ValueFromProvisioningClassDetail
+	return nil
+}
+
+// Convert_v1beta2_ProvisioningRequestPodSetUpdatesNodeSelector_To_v1beta1_ProvisioningRequestPodSetUpdatesNodeSelector is an autogenerated conversion function.
+func Convert_v1beta2_ProvisioningRequestPodSetUpdatesNodeSelector_To_v1beta1_ProvisioningRequestPodSetUpdatesNodeSelector(in *v1beta2.ProvisioningRequestPodSetUpdatesNodeSelector, out *ProvisioningRequestPodSetUpdatesNodeSelector, s conversion.Scope) error {
+	return autoConvert_v1beta2_ProvisioningRequestPodSetUpdatesNodeSelector_To_v1beta1_ProvisioningRequestPodSetUpdatesNodeSelector(in, out, s)
+}
+
+func autoConvert_v1beta1_ProvisioningRequestRetryStrategy_To_v1beta2_ProvisioningRequestRetryStrategy(in *ProvisioningRequestRetryStrategy, out *v1beta2.ProvisioningRequestRetryStrategy, s conversion.Scope) error {
+	out.BackoffLimitCount = (*int32)(unsafe.Pointer(in.BackoffLimitCount))
+	out.BackoffBaseSeconds = (*int32)(unsafe.Pointer(in.BackoffBaseSeconds))
+	out.BackoffMaxSeconds = (*int32)(unsafe.Pointer(in.BackoffMaxSeconds))
+	return nil
+}
+
+// Convert_v1beta1_ProvisioningRequestRetryStrategy_To_v1beta2_ProvisioningRequestRetryStrategy is an autogenerated conversion function.
+func Convert_v1beta1_ProvisioningRequestRetryStrategy_To_v1beta2_ProvisioningRequestRetryStrategy(in *ProvisioningRequestRetryStrategy, out *v1beta2.ProvisioningRequestRetryStrategy, s conversion.Scope) error {
+	return autoConvert_v1beta1_ProvisioningRequestRetryStrategy_To_v1beta2_ProvisioningRequestRetryStrategy(in, out, s)
+}
+
+func autoConvert_v1beta2_ProvisioningRequestRetryStrategy_To_v1beta1_ProvisioningRequestRetryStrategy(in *v1beta2.ProvisioningRequestRetryStrategy, out *ProvisioningRequestRetryStrategy, s conversion.Scope) error {
+	out.BackoffLimitCount = (*int32)(unsafe.Pointer(in.BackoffLimitCount))
+	out.BackoffBaseSeconds = (*int32)(unsafe.Pointer(in.BackoffBaseSeconds))
+	out.BackoffMaxSeconds = (*int32)(unsafe.Pointer(in.BackoffMaxSeconds))
+	return nil
+}
+
+// Convert_v1beta2_ProvisioningRequestRetryStrategy_To_v1beta1_ProvisioningRequestRetryStrategy is an autogenerated conversion function.
+func Convert_v1beta2_ProvisioningRequestRetryStrategy_To_v1beta1_ProvisioningRequestRetryStrategy(in *v1beta2.ProvisioningRequestRetryStrategy, out *ProvisioningRequestRetryStrategy, s conversion.Scope) error {
+	return autoConvert_v1beta2_ProvisioningRequestRetryStrategy_To_v1beta1_ProvisioningRequestRetryStrategy(in, out, s)
+}
+
+func autoConvert_v1beta1_ReclaimablePod_To_v1beta2_ReclaimablePod(in *ReclaimablePod, out *v1beta2.ReclaimablePod, s conversion.Scope) error {
+	out.Name = v1beta2.PodSetReference(in.Name)
+	out.Count = in.Count
+	return nil
+}
+
+// Convert_v1beta1_ReclaimablePod_To_v1beta2_ReclaimablePod is an autogenerated conversion function.
+func Convert_v1beta1_ReclaimablePod_To_v1beta2_ReclaimablePod(in *ReclaimablePod, out *v1beta2.ReclaimablePod, s conversion.Scope) error {
+	return autoConvert_v1beta1_ReclaimablePod_To_v1beta2_ReclaimablePod(in, out, s)
+}
+
+func autoConvert_v1beta2_ReclaimablePod_To_v1beta1_ReclaimablePod(in *v1beta2.ReclaimablePod, out *ReclaimablePod, s conversion.Scope) error {
+	out.Name = PodSetReference(in.Name)
+	out.Count = in.Count
+	return nil
+}
+
+// Convert_v1beta2_ReclaimablePod_To_v1beta1_ReclaimablePod is an autogenerated conversion function.
+func Convert_v1beta2_ReclaimablePod_To_v1beta1_ReclaimablePod(in *v1beta2.ReclaimablePod, out *ReclaimablePod, s conversion.Scope) error {
+	return autoConvert_v1beta2_ReclaimablePod_To_v1beta1_ReclaimablePod(in, out, s)
+}
+
+func autoConvert_v1beta1_RequeueState_To_v1beta2_RequeueState(in *RequeueState, out *v1beta2.RequeueState, s conversion.Scope) error {
+	out.Count = (*int32)(unsafe.Pointer(in.Count))
+	out.RequeueAt = (*v1.Time)(unsafe.Pointer(in.RequeueAt))
+	return nil
+}
+
+// Convert_v1beta1_RequeueState_To_v1beta2_RequeueState is an autogenerated conversion function.
+func Convert_v1beta1_RequeueState_To_v1beta2_RequeueState(in *RequeueState, out *v1beta2.RequeueState, s conversion.Scope) error {
+	return autoConvert_v1beta1_RequeueState_To_v1beta2_RequeueState(in, out, s)
+}
+
+func autoConvert_v1beta2_RequeueState_To_v1beta1_RequeueState(in *v1beta2.RequeueState, out *RequeueState, s conversion.Scope) error {
+	out.Count = (*int32)(unsafe.Pointer(in.Count))
+	out.RequeueAt = (*v1.Time)(unsafe.Pointer(in.RequeueAt))
+	return nil
+}
+
+// Convert_v1beta2_RequeueState_To_v1beta1_RequeueState is an autogenerated conversion function.
+func Convert_v1beta2_RequeueState_To_v1beta1_RequeueState(in *v1beta2.RequeueState, out *RequeueState, s conversion.Scope) error {
+	return autoConvert_v1beta2_RequeueState_To_v1beta1_RequeueState(in, out, s)
+}
+
+func autoConvert_v1beta1_ResourceFlavor_To_v1beta2_ResourceFlavor(in *ResourceFlavor, out *v1beta2.ResourceFlavor, s conversion.Scope) error {
+	out.ObjectMeta = in.ObjectMeta
+	if err := Convert_v1beta1_ResourceFlavorSpec_To_v1beta2_ResourceFlavorSpec(&in.Spec, &out.Spec, s); err != nil {
+		return err
+	}
+	return nil
+}
+
+// Convert_v1beta1_ResourceFlavor_To_v1beta2_ResourceFlavor is an autogenerated conversion function.
+func Convert_v1beta1_ResourceFlavor_To_v1beta2_ResourceFlavor(in *ResourceFlavor, out *v1beta2.ResourceFlavor, s conversion.Scope) error {
+	return autoConvert_v1beta1_ResourceFlavor_To_v1beta2_ResourceFlavor(in, out, s)
+}
+
+func autoConvert_v1beta2_ResourceFlavor_To_v1beta1_ResourceFlavor(in *v1beta2.ResourceFlavor, out *ResourceFlavor, s conversion.Scope) error {
+	out.ObjectMeta = in.ObjectMeta
+	if err := Convert_v1beta2_ResourceFlavorSpec_To_v1beta1_ResourceFlavorSpec(&in.Spec, &out.Spec, s); err != nil {
+		return err
+	}
+	return nil
+}
+
+// Convert_v1beta2_ResourceFlavor_To_v1beta1_ResourceFlavor is an autogenerated conversion function.
+func Convert_v1beta2_ResourceFlavor_To_v1beta1_ResourceFlavor(in *v1beta2.ResourceFlavor, out *ResourceFlavor, s conversion.Scope) error {
+	return autoConvert_v1beta2_ResourceFlavor_To_v1beta1_ResourceFlavor(in, out, s)
+}
+
+func autoConvert_v1beta1_ResourceFlavorList_To_v1beta2_ResourceFlavorList(in *ResourceFlavorList, out *v1beta2.ResourceFlavorList, s conversion.Scope) error {
+	out.ListMeta = in.ListMeta
+	out.Items = *(*[]v1beta2.ResourceFlavor)(unsafe.Pointer(&in.Items))
+	return nil
+}
+
+// Convert_v1beta1_ResourceFlavorList_To_v1beta2_ResourceFlavorList is an autogenerated conversion function.
+func Convert_v1beta1_ResourceFlavorList_To_v1beta2_ResourceFlavorList(in *ResourceFlavorList, out *v1beta2.ResourceFlavorList, s conversion.Scope) error {
+	return autoConvert_v1beta1_ResourceFlavorList_To_v1beta2_ResourceFlavorList(in, out, s)
+}
+
+func autoConvert_v1beta2_ResourceFlavorList_To_v1beta1_ResourceFlavorList(in *v1beta2.ResourceFlavorList, out *ResourceFlavorList, s conversion.Scope) error {
+	out.ListMeta = in.ListMeta
+	out.Items = *(*[]ResourceFlavor)(unsafe.Pointer(&in.Items))
+	return nil
+}
+
+// Convert_v1beta2_ResourceFlavorList_To_v1beta1_ResourceFlavorList is an autogenerated conversion function.
+func Convert_v1beta2_ResourceFlavorList_To_v1beta1_ResourceFlavorList(in *v1beta2.ResourceFlavorList, out *ResourceFlavorList, s conversion.Scope) error {
+	return autoConvert_v1beta2_ResourceFlavorList_To_v1beta1_ResourceFlavorList(in, out, s)
+}
+
+func autoConvert_v1beta1_ResourceFlavorSpec_To_v1beta2_ResourceFlavorSpec(in *ResourceFlavorSpec, out *v1beta2.ResourceFlavorSpec, s conversion.Scope) error {
+	out.NodeLabels = *(*map[string]string)(unsafe.Pointer(&in.NodeLabels))
+	out.NodeTaints = *(*[]corev1.Taint)(unsafe.Pointer(&in.NodeTaints))
+	out.Tolerations = *(*[]corev1.Toleration)(unsafe.Pointer(&in.Tolerations))
+	out.TopologyName = (*v1beta2.TopologyReference)(unsafe.Pointer(in.TopologyName))
+	return nil
+}
+
+// Convert_v1beta1_ResourceFlavorSpec_To_v1beta2_ResourceFlavorSpec is an autogenerated conversion function.
+func Convert_v1beta1_ResourceFlavorSpec_To_v1beta2_ResourceFlavorSpec(in *ResourceFlavorSpec, out *v1beta2.ResourceFlavorSpec, s conversion.Scope) error {
+	return autoConvert_v1beta1_ResourceFlavorSpec_To_v1beta2_ResourceFlavorSpec(in, out, s)
+}
+
+func autoConvert_v1beta2_ResourceFlavorSpec_To_v1beta1_ResourceFlavorSpec(in *v1beta2.ResourceFlavorSpec, out *ResourceFlavorSpec, s conversion.Scope) error {
+	out.NodeLabels = *(*map[string]string)(unsafe.Pointer(&in.NodeLabels))
+	out.NodeTaints = *(*[]corev1.Taint)(unsafe.Pointer(&in.NodeTaints))
+	out.Tolerations = *(*[]corev1.Toleration)(unsafe.Pointer(&in.Tolerations))
+	out.TopologyName = (*TopologyReference)(unsafe.Pointer(in.TopologyName))
+	return nil
+}
+
+// Convert_v1beta2_ResourceFlavorSpec_To_v1beta1_ResourceFlavorSpec is an autogenerated conversion function.
+func Convert_v1beta2_ResourceFlavorSpec_To_v1beta1_ResourceFlavorSpec(in *v1beta2.ResourceFlavorSpec, out *ResourceFlavorSpec, s conversion.Scope) error {
+	return autoConvert_v1beta2_ResourceFlavorSpec_To_v1beta1_ResourceFlavorSpec(in, out, s)
+}
+
+func autoConvert_v1beta1_ResourceGroup_To_v1beta2_ResourceGroup(in *ResourceGroup, out *v1beta2.ResourceGroup, s conversion.Scope) error {
+	out.CoveredResources = *(*[]corev1.ResourceName)(unsafe.Pointer(&in.CoveredResources))
+	out.Flavors = *(*[]v1beta2.FlavorQuotas)(unsafe.Pointer(&in.Flavors))
+	return nil
+}
+
+// Convert_v1beta1_ResourceGroup_To_v1beta2_ResourceGroup is an autogenerated conversion function.
+func Convert_v1beta1_ResourceGroup_To_v1beta2_ResourceGroup(in *ResourceGroup, out *v1beta2.ResourceGroup, s conversion.Scope) error {
+	return autoConvert_v1beta1_ResourceGroup_To_v1beta2_ResourceGroup(in, out, s)
+}
+
+func autoConvert_v1beta2_ResourceGroup_To_v1beta1_ResourceGroup(in *v1beta2.ResourceGroup, out *ResourceGroup, s conversion.Scope) error {
+	out.CoveredResources = *(*[]corev1.ResourceName)(unsafe.Pointer(&in.CoveredResources))
+	out.Flavors = *(*[]FlavorQuotas)(unsafe.Pointer(&in.Flavors))
+	return nil
+}
+
+// Convert_v1beta2_ResourceGroup_To_v1beta1_ResourceGroup is an autogenerated conversion function.
+func Convert_v1beta2_ResourceGroup_To_v1beta1_ResourceGroup(in *v1beta2.ResourceGroup, out *ResourceGroup, s conversion.Scope) error {
+	return autoConvert_v1beta2_ResourceGroup_To_v1beta1_ResourceGroup(in, out, s)
+}
+
+func autoConvert_v1beta1_ResourceQuota_To_v1beta2_ResourceQuota(in *ResourceQuota, out *v1beta2.ResourceQuota, s conversion.Scope) error {
+	out.Name = corev1.ResourceName(in.Name)
+	out.NominalQuota = in.NominalQuota
+	out.BorrowingLimit = (*resource.Quantity)(unsafe.Pointer(in.BorrowingLimit))
+	out.LendingLimit = (*resource.Quantity)(unsafe.Pointer(in.LendingLimit))
+	return nil
+}
+
+// Convert_v1beta1_ResourceQuota_To_v1beta2_ResourceQuota is an autogenerated conversion function.
+func Convert_v1beta1_ResourceQuota_To_v1beta2_ResourceQuota(in *ResourceQuota, out *v1beta2.ResourceQuota, s conversion.Scope) error {
+	return autoConvert_v1beta1_ResourceQuota_To_v1beta2_ResourceQuota(in, out, s)
+}
+
+func autoConvert_v1beta2_ResourceQuota_To_v1beta1_ResourceQuota(in *v1beta2.ResourceQuota, out *ResourceQuota, s conversion.Scope) error {
+	out.Name = corev1.ResourceName(in.Name)
+	out.NominalQuota = in.NominalQuota
+	out.BorrowingLimit = (*resource.Quantity)(unsafe.Pointer(in.BorrowingLimit))
+	out.LendingLimit = (*resource.Quantity)(unsafe.Pointer(in.LendingLimit))
+	return nil
+}
+
+// Convert_v1beta2_ResourceQuota_To_v1beta1_ResourceQuota is an autogenerated conversion function.
+func Convert_v1beta2_ResourceQuota_To_v1beta1_ResourceQuota(in *v1beta2.ResourceQuota, out *ResourceQuota, s conversion.Scope) error {
+	return autoConvert_v1beta2_ResourceQuota_To_v1beta1_ResourceQuota(in, out, s)
+}
+
+func autoConvert_v1beta1_ResourceUsage_To_v1beta2_ResourceUsage(in *ResourceUsage, out *v1beta2.ResourceUsage, s conversion.Scope) error {
+	out.Name = corev1.ResourceName(in.Name)
+	out.Total = in.Total
+	out.Borrowed = in.Borrowed
+	return nil
+}
+
+// Convert_v1beta1_ResourceUsage_To_v1beta2_ResourceUsage is an autogenerated conversion function.
+func Convert_v1beta1_ResourceUsage_To_v1beta2_ResourceUsage(in *ResourceUsage, out *v1beta2.ResourceUsage, s conversion.Scope) error {
+	return autoConvert_v1beta1_ResourceUsage_To_v1beta2_ResourceUsage(in, out, s)
+}
+
+func autoConvert_v1beta2_ResourceUsage_To_v1beta1_ResourceUsage(in *v1beta2.ResourceUsage, out *ResourceUsage, s conversion.Scope) error {
+	out.Name = corev1.ResourceName(in.Name)
+	out.Total = in.Total
+	out.Borrowed = in.Borrowed
+	return nil
+}
+
+// Convert_v1beta2_ResourceUsage_To_v1beta1_ResourceUsage is an autogenerated conversion function.
+func Convert_v1beta2_ResourceUsage_To_v1beta1_ResourceUsage(in *v1beta2.ResourceUsage, out *ResourceUsage, s conversion.Scope) error {
+	return autoConvert_v1beta2_ResourceUsage_To_v1beta1_ResourceUsage(in, out, s)
+}
+
+func autoConvert_v1beta1_SchedulingStats_To_v1beta2_SchedulingStats(in *SchedulingStats, out *v1beta2.SchedulingStats, s conversion.Scope) error {
+	out.Evictions = *(*[]v1beta2.WorkloadSchedulingStatsEviction)(unsafe.Pointer(&in.Evictions))
+	return nil
+}
+
+// Convert_v1beta1_SchedulingStats_To_v1beta2_SchedulingStats is an autogenerated conversion function.
+func Convert_v1beta1_SchedulingStats_To_v1beta2_SchedulingStats(in *SchedulingStats, out *v1beta2.SchedulingStats, s conversion.Scope) error {
+	return autoConvert_v1beta1_SchedulingStats_To_v1beta2_SchedulingStats(in, out, s)
+}
+
+func autoConvert_v1beta2_SchedulingStats_To_v1beta1_SchedulingStats(in *v1beta2.SchedulingStats, out *SchedulingStats, s conversion.Scope) error {
+	out.Evictions = *(*[]WorkloadSchedulingStatsEviction)(unsafe.Pointer(&in.Evictions))
+	return nil
+}
+
+// Convert_v1beta2_SchedulingStats_To_v1beta1_SchedulingStats is an autogenerated conversion function.
+func Convert_v1beta2_SchedulingStats_To_v1beta1_SchedulingStats(in *v1beta2.SchedulingStats, out *SchedulingStats, s conversion.Scope) error {
+	return autoConvert_v1beta2_SchedulingStats_To_v1beta1_SchedulingStats(in, out, s)
+}
+
+func autoConvert_v1beta1_Topology_To_v1beta2_Topology(in *Topology, out *v1beta2.Topology, s conversion.Scope) error {
+	out.ObjectMeta = in.ObjectMeta
+	if err := Convert_v1beta1_TopologySpec_To_v1beta2_TopologySpec(&in.Spec, &out.Spec, s); err != nil {
+		return err
+	}
+	return nil
+}
+
+// Convert_v1beta1_Topology_To_v1beta2_Topology is an autogenerated conversion function.
+func Convert_v1beta1_Topology_To_v1beta2_Topology(in *Topology, out *v1beta2.Topology, s conversion.Scope) error {
+	return autoConvert_v1beta1_Topology_To_v1beta2_Topology(in, out, s)
+}
+
+func autoConvert_v1beta2_Topology_To_v1beta1_Topology(in *v1beta2.Topology, out *Topology, s conversion.Scope) error {
+	out.ObjectMeta = in.ObjectMeta
+	if err := Convert_v1beta2_TopologySpec_To_v1beta1_TopologySpec(&in.Spec, &out.Spec, s); err != nil {
+		return err
+	}
+	return nil
+}
+
+// Convert_v1beta2_Topology_To_v1beta1_Topology is an autogenerated conversion function.
+func Convert_v1beta2_Topology_To_v1beta1_Topology(in *v1beta2.Topology, out *Topology, s conversion.Scope) error {
+	return autoConvert_v1beta2_Topology_To_v1beta1_Topology(in, out, s)
+}
+
+func autoConvert_v1beta1_TopologyAssignment_To_v1beta2_TopologyAssignment(in *TopologyAssignment, out *v1beta2.TopologyAssignment, s conversion.Scope) error {
+	out.Levels = *(*[]string)(unsafe.Pointer(&in.Levels))
+	out.Domains = *(*[]v1beta2.TopologyDomainAssignment)(unsafe.Pointer(&in.Domains))
+	return nil
+}
+
+// Convert_v1beta1_TopologyAssignment_To_v1beta2_TopologyAssignment is an autogenerated conversion function.
+func Convert_v1beta1_TopologyAssignment_To_v1beta2_TopologyAssignment(in *TopologyAssignment, out *v1beta2.TopologyAssignment, s conversion.Scope) error {
+	return autoConvert_v1beta1_TopologyAssignment_To_v1beta2_TopologyAssignment(in, out, s)
+}
+
+func autoConvert_v1beta2_TopologyAssignment_To_v1beta1_TopologyAssignment(in *v1beta2.TopologyAssignment, out *TopologyAssignment, s conversion.Scope) error {
+	out.Levels = *(*[]string)(unsafe.Pointer(&in.Levels))
+	out.Domains = *(*[]TopologyDomainAssignment)(unsafe.Pointer(&in.Domains))
+	return nil
+}
+
+// Convert_v1beta2_TopologyAssignment_To_v1beta1_TopologyAssignment is an autogenerated conversion function.
+func Convert_v1beta2_TopologyAssignment_To_v1beta1_TopologyAssignment(in *v1beta2.TopologyAssignment, out *TopologyAssignment, s conversion.Scope) error {
+	return autoConvert_v1beta2_TopologyAssignment_To_v1beta1_TopologyAssignment(in, out, s)
+}
+
+func autoConvert_v1beta1_TopologyDomainAssignment_To_v1beta2_TopologyDomainAssignment(in *TopologyDomainAssignment, out *v1beta2.TopologyDomainAssignment, s conversion.Scope) error {
+	out.Values = *(*[]string)(unsafe.Pointer(&in.Values))
+	out.Count = in.Count
+	return nil
+}
+
+// Convert_v1beta1_TopologyDomainAssignment_To_v1beta2_TopologyDomainAssignment is an autogenerated conversion function.
+func Convert_v1beta1_TopologyDomainAssignment_To_v1beta2_TopologyDomainAssignment(in *TopologyDomainAssignment, out *v1beta2.TopologyDomainAssignment, s conversion.Scope) error {
+	return autoConvert_v1beta1_TopologyDomainAssignment_To_v1beta2_TopologyDomainAssignment(in, out, s)
+}
+
+func autoConvert_v1beta2_TopologyDomainAssignment_To_v1beta1_TopologyDomainAssignment(in *v1beta2.TopologyDomainAssignment, out *TopologyDomainAssignment, s conversion.Scope) error {
+	out.Values = *(*[]string)(unsafe.Pointer(&in.Values))
+	out.Count = in.Count
+	return nil
+}
+
+// Convert_v1beta2_TopologyDomainAssignment_To_v1beta1_TopologyDomainAssignment is an autogenerated conversion function.
+func Convert_v1beta2_TopologyDomainAssignment_To_v1beta1_TopologyDomainAssignment(in *v1beta2.TopologyDomainAssignment, out *TopologyDomainAssignment, s conversion.Scope) error {
+	return autoConvert_v1beta2_TopologyDomainAssignment_To_v1beta1_TopologyDomainAssignment(in, out, s)
+}
+
+func autoConvert_v1beta1_TopologyInfo_To_v1beta2_TopologyInfo(in *TopologyInfo, out *v1beta2.TopologyInfo, s conversion.Scope) error {
+	out.Name = v1beta2.TopologyReference(in.Name)
+	out.Levels = *(*[]string)(unsafe.Pointer(&in.Levels))
+	return nil
+}
+
+// Convert_v1beta1_TopologyInfo_To_v1beta2_TopologyInfo is an autogenerated conversion function.
+func Convert_v1beta1_TopologyInfo_To_v1beta2_TopologyInfo(in *TopologyInfo, out *v1beta2.TopologyInfo, s conversion.Scope) error {
+	return autoConvert_v1beta1_TopologyInfo_To_v1beta2_TopologyInfo(in, out, s)
+}
+
+func autoConvert_v1beta2_TopologyInfo_To_v1beta1_TopologyInfo(in *v1beta2.TopologyInfo, out *TopologyInfo, s conversion.Scope) error {
+	out.Name = TopologyReference(in.Name)
+	out.Levels = *(*[]string)(unsafe.Pointer(&in.Levels))
+	return nil
+}
+
+// Convert_v1beta2_TopologyInfo_To_v1beta1_TopologyInfo is an autogenerated conversion function.
+func Convert_v1beta2_TopologyInfo_To_v1beta1_TopologyInfo(in *v1beta2.TopologyInfo, out *TopologyInfo, s conversion.Scope) error {
+	return autoConvert_v1beta2_TopologyInfo_To_v1beta1_TopologyInfo(in, out, s)
+}
+
+func autoConvert_v1beta1_TopologyLevel_To_v1beta2_TopologyLevel(in *TopologyLevel, out *v1beta2.TopologyLevel, s conversion.Scope) error {
+	out.NodeLabel = in.NodeLabel
+	return nil
+}
+
+// Convert_v1beta1_TopologyLevel_To_v1beta2_TopologyLevel is an autogenerated conversion function.
+func Convert_v1beta1_TopologyLevel_To_v1beta2_TopologyLevel(in *TopologyLevel, out *v1beta2.TopologyLevel, s conversion.Scope) error {
+	return autoConvert_v1beta1_TopologyLevel_To_v1beta2_TopologyLevel(in, out, s)
+}
+
+func autoConvert_v1beta2_TopologyLevel_To_v1beta1_TopologyLevel(in *v1beta2.TopologyLevel, out *TopologyLevel, s conversion.Scope) error {
+	out.NodeLabel = in.NodeLabel
+	return nil
+}
+
+// Convert_v1beta2_TopologyLevel_To_v1beta1_TopologyLevel is an autogenerated conversion function.
+func Convert_v1beta2_TopologyLevel_To_v1beta1_TopologyLevel(in *v1beta2.TopologyLevel, out *TopologyLevel, s conversion.Scope) error {
+	return autoConvert_v1beta2_TopologyLevel_To_v1beta1_TopologyLevel(in, out, s)
+}
+
+func autoConvert_v1beta1_TopologyList_To_v1beta2_TopologyList(in *TopologyList, out *v1beta2.TopologyList, s conversion.Scope) error {
+	out.ListMeta = in.ListMeta
+	out.Items = *(*[]v1beta2.Topology)(unsafe.Pointer(&in.Items))
+	return nil
+}
+
+// Convert_v1beta1_TopologyList_To_v1beta2_TopologyList is an autogenerated conversion function.
+func Convert_v1beta1_TopologyList_To_v1beta2_TopologyList(in *TopologyList, out *v1beta2.TopologyList, s conversion.Scope) error {
+	return autoConvert_v1beta1_TopologyList_To_v1beta2_TopologyList(in, out, s)
+}
+
+func autoConvert_v1beta2_TopologyList_To_v1beta1_TopologyList(in *v1beta2.TopologyList, out *TopologyList, s conversion.Scope) error {
+	out.ListMeta = in.ListMeta
+	out.Items = *(*[]Topology)(unsafe.Pointer(&in.Items))
+	return nil
+}
+
+// Convert_v1beta2_TopologyList_To_v1beta1_TopologyList is an autogenerated conversion function.
+func Convert_v1beta2_TopologyList_To_v1beta1_TopologyList(in *v1beta2.TopologyList, out *TopologyList, s conversion.Scope) error {
+	return autoConvert_v1beta2_TopologyList_To_v1beta1_TopologyList(in, out, s)
+}
+
+func autoConvert_v1beta1_TopologySpec_To_v1beta2_TopologySpec(in *TopologySpec, out *v1beta2.TopologySpec, s conversion.Scope) error {
+	out.Levels = *(*[]v1beta2.TopologyLevel)(unsafe.Pointer(&in.Levels))
+	return nil
+}
+
+// Convert_v1beta1_TopologySpec_To_v1beta2_TopologySpec is an autogenerated conversion function.
+func Convert_v1beta1_TopologySpec_To_v1beta2_TopologySpec(in *TopologySpec, out *v1beta2.TopologySpec, s conversion.Scope) error {
+	return autoConvert_v1beta1_TopologySpec_To_v1beta2_TopologySpec(in, out, s)
+}
+
+func autoConvert_v1beta2_TopologySpec_To_v1beta1_TopologySpec(in *v1beta2.TopologySpec, out *TopologySpec, s conversion.Scope) error {
+	out.Levels = *(*[]TopologyLevel)(unsafe.Pointer(&in.Levels))
+	return nil
+}
+
+// Convert_v1beta2_TopologySpec_To_v1beta1_TopologySpec is an autogenerated conversion function.
+func Convert_v1beta2_TopologySpec_To_v1beta1_TopologySpec(in *v1beta2.TopologySpec, out *TopologySpec, s conversion.Scope) error {
+	return autoConvert_v1beta2_TopologySpec_To_v1beta1_TopologySpec(in, out, s)
+}
+
+func autoConvert_v1beta1_UnhealthyNode_To_v1beta2_UnhealthyNode(in *UnhealthyNode, out *v1beta2.UnhealthyNode, s conversion.Scope) error {
+	out.Name = in.Name
+	return nil
+}
+
+// Convert_v1beta1_UnhealthyNode_To_v1beta2_UnhealthyNode is an autogenerated conversion function.
+func Convert_v1beta1_UnhealthyNode_To_v1beta2_UnhealthyNode(in *UnhealthyNode, out *v1beta2.UnhealthyNode, s conversion.Scope) error {
+	return autoConvert_v1beta1_UnhealthyNode_To_v1beta2_UnhealthyNode(in, out, s)
+}
+
+func autoConvert_v1beta2_UnhealthyNode_To_v1beta1_UnhealthyNode(in *v1beta2.UnhealthyNode, out *UnhealthyNode, s conversion.Scope) error {
+	out.Name = in.Name
+	return nil
+}
+
+// Convert_v1beta2_UnhealthyNode_To_v1beta1_UnhealthyNode is an autogenerated conversion function.
+func Convert_v1beta2_UnhealthyNode_To_v1beta1_UnhealthyNode(in *v1beta2.UnhealthyNode, out *UnhealthyNode, s conversion.Scope) error {
+	return autoConvert_v1beta2_UnhealthyNode_To_v1beta1_UnhealthyNode(in, out, s)
+}
+
+func autoConvert_v1beta1_Workload_To_v1beta2_Workload(in *Workload, out *v1beta2.Workload, s conversion.Scope) error {
+	out.ObjectMeta = in.ObjectMeta
+	if err := Convert_v1beta1_WorkloadSpec_To_v1beta2_WorkloadSpec(&in.Spec, &out.Spec, s); err != nil {
+		return err
+	}
+	if err := Convert_v1beta1_WorkloadStatus_To_v1beta2_WorkloadStatus(&in.Status, &out.Status, s); err != nil {
+		return err
+	}
+	return nil
+}
+
+// Convert_v1beta1_Workload_To_v1beta2_Workload is an autogenerated conversion function.
+func Convert_v1beta1_Workload_To_v1beta2_Workload(in *Workload, out *v1beta2.Workload, s conversion.Scope) error {
+	return autoConvert_v1beta1_Workload_To_v1beta2_Workload(in, out, s)
+}
+
+func autoConvert_v1beta2_Workload_To_v1beta1_Workload(in *v1beta2.Workload, out *Workload, s conversion.Scope) error {
+	out.ObjectMeta = in.ObjectMeta
+	if err := Convert_v1beta2_WorkloadSpec_To_v1beta1_WorkloadSpec(&in.Spec, &out.Spec, s); err != nil {
+		return err
+	}
+	if err := Convert_v1beta2_WorkloadStatus_To_v1beta1_WorkloadStatus(&in.Status, &out.Status, s); err != nil {
+		return err
+	}
+	return nil
+}
+
+// Convert_v1beta2_Workload_To_v1beta1_Workload is an autogenerated conversion function.
+func Convert_v1beta2_Workload_To_v1beta1_Workload(in *v1beta2.Workload, out *Workload, s conversion.Scope) error {
+	return autoConvert_v1beta2_Workload_To_v1beta1_Workload(in, out, s)
+}
+
+func autoConvert_v1beta1_WorkloadList_To_v1beta2_WorkloadList(in *WorkloadList, out *v1beta2.WorkloadList, s conversion.Scope) error {
+	out.ListMeta = in.ListMeta
+	if in.Items != nil {
+		in, out := &in.Items, &out.Items
+		*out = make([]v1beta2.Workload, len(*in))
+		for i := range *in {
+			if err := Convert_v1beta1_Workload_To_v1beta2_Workload(&(*in)[i], &(*out)[i], s); err != nil {
+				return err
+			}
+		}
+	} else {
+		out.Items = nil
+	}
+	return nil
+}
+
+// Convert_v1beta1_WorkloadList_To_v1beta2_WorkloadList is an autogenerated conversion function.
+func Convert_v1beta1_WorkloadList_To_v1beta2_WorkloadList(in *WorkloadList, out *v1beta2.WorkloadList, s conversion.Scope) error {
+	return autoConvert_v1beta1_WorkloadList_To_v1beta2_WorkloadList(in, out, s)
+}
+
+func autoConvert_v1beta2_WorkloadList_To_v1beta1_WorkloadList(in *v1beta2.WorkloadList, out *WorkloadList, s conversion.Scope) error {
+	out.ListMeta = in.ListMeta
+	if in.Items != nil {
+		in, out := &in.Items, &out.Items
+		*out = make([]Workload, len(*in))
+		for i := range *in {
+			if err := Convert_v1beta2_Workload_To_v1beta1_Workload(&(*in)[i], &(*out)[i], s); err != nil {
+				return err
+			}
+		}
+	} else {
+		out.Items = nil
+	}
+	return nil
+}
+
+// Convert_v1beta2_WorkloadList_To_v1beta1_WorkloadList is an autogenerated conversion function.
+func Convert_v1beta2_WorkloadList_To_v1beta1_WorkloadList(in *v1beta2.WorkloadList, out *WorkloadList, s conversion.Scope) error {
+	return autoConvert_v1beta2_WorkloadList_To_v1beta1_WorkloadList(in, out, s)
+}
+
+func autoConvert_v1beta1_WorkloadPriorityClass_To_v1beta2_WorkloadPriorityClass(in *WorkloadPriorityClass, out *v1beta2.WorkloadPriorityClass, s conversion.Scope) error {
+	out.ObjectMeta = in.ObjectMeta
+	out.Value = in.Value
+	out.Description = in.Description
+	return nil
+}
+
+// Convert_v1beta1_WorkloadPriorityClass_To_v1beta2_WorkloadPriorityClass is an autogenerated conversion function.
+func Convert_v1beta1_WorkloadPriorityClass_To_v1beta2_WorkloadPriorityClass(in *WorkloadPriorityClass, out *v1beta2.WorkloadPriorityClass, s conversion.Scope) error {
+	return autoConvert_v1beta1_WorkloadPriorityClass_To_v1beta2_WorkloadPriorityClass(in, out, s)
+}
+
+func autoConvert_v1beta2_WorkloadPriorityClass_To_v1beta1_WorkloadPriorityClass(in *v1beta2.WorkloadPriorityClass, out *WorkloadPriorityClass, s conversion.Scope) error {
+	out.ObjectMeta = in.ObjectMeta
+	out.Value = in.Value
+	out.Description = in.Description
+	return nil
+}
+
+// Convert_v1beta2_WorkloadPriorityClass_To_v1beta1_WorkloadPriorityClass is an autogenerated conversion function.
+func Convert_v1beta2_WorkloadPriorityClass_To_v1beta1_WorkloadPriorityClass(in *v1beta2.WorkloadPriorityClass, out *WorkloadPriorityClass, s conversion.Scope) error {
+	return autoConvert_v1beta2_WorkloadPriorityClass_To_v1beta1_WorkloadPriorityClass(in, out, s)
+}
+
+func autoConvert_v1beta1_WorkloadPriorityClassList_To_v1beta2_WorkloadPriorityClassList(in *WorkloadPriorityClassList, out *v1beta2.WorkloadPriorityClassList, s conversion.Scope) error {
+	out.ListMeta = in.ListMeta
+	out.Items = *(*[]v1beta2.WorkloadPriorityClass)(unsafe.Pointer(&in.Items))
+	return nil
+}
+
+// Convert_v1beta1_WorkloadPriorityClassList_To_v1beta2_WorkloadPriorityClassList is an autogenerated conversion function.
+func Convert_v1beta1_WorkloadPriorityClassList_To_v1beta2_WorkloadPriorityClassList(in *WorkloadPriorityClassList, out *v1beta2.WorkloadPriorityClassList, s conversion.Scope) error {
+	return autoConvert_v1beta1_WorkloadPriorityClassList_To_v1beta2_WorkloadPriorityClassList(in, out, s)
+}
+
+func autoConvert_v1beta2_WorkloadPriorityClassList_To_v1beta1_WorkloadPriorityClassList(in *v1beta2.WorkloadPriorityClassList, out *WorkloadPriorityClassList, s conversion.Scope) error {
+	out.ListMeta = in.ListMeta
+	out.Items = *(*[]WorkloadPriorityClass)(unsafe.Pointer(&in.Items))
+	return nil
+}
+
+// Convert_v1beta2_WorkloadPriorityClassList_To_v1beta1_WorkloadPriorityClassList is an autogenerated conversion function.
+func Convert_v1beta2_WorkloadPriorityClassList_To_v1beta1_WorkloadPriorityClassList(in *v1beta2.WorkloadPriorityClassList, out *WorkloadPriorityClassList, s conversion.Scope) error {
+	return autoConvert_v1beta2_WorkloadPriorityClassList_To_v1beta1_WorkloadPriorityClassList(in, out, s)
+}
+
+func autoConvert_v1beta1_WorkloadSchedulingStatsEviction_To_v1beta2_WorkloadSchedulingStatsEviction(in *WorkloadSchedulingStatsEviction, out *v1beta2.WorkloadSchedulingStatsEviction, s conversion.Scope) error {
+	out.Reason = in.Reason
+	out.UnderlyingCause = v1beta2.EvictionUnderlyingCause(in.UnderlyingCause)
+	out.Count = in.Count
+	return nil
+}
+
+// Convert_v1beta1_WorkloadSchedulingStatsEviction_To_v1beta2_WorkloadSchedulingStatsEviction is an autogenerated conversion function.
+func Convert_v1beta1_WorkloadSchedulingStatsEviction_To_v1beta2_WorkloadSchedulingStatsEviction(in *WorkloadSchedulingStatsEviction, out *v1beta2.WorkloadSchedulingStatsEviction, s conversion.Scope) error {
+	return autoConvert_v1beta1_WorkloadSchedulingStatsEviction_To_v1beta2_WorkloadSchedulingStatsEviction(in, out, s)
+}
+
+func autoConvert_v1beta2_WorkloadSchedulingStatsEviction_To_v1beta1_WorkloadSchedulingStatsEviction(in *v1beta2.WorkloadSchedulingStatsEviction, out *WorkloadSchedulingStatsEviction, s conversion.Scope) error {
+	out.Reason = in.Reason
+	out.UnderlyingCause = EvictionUnderlyingCause(in.UnderlyingCause)
+	out.Count = in.Count
+	return nil
+}
+
+// Convert_v1beta2_WorkloadSchedulingStatsEviction_To_v1beta1_WorkloadSchedulingStatsEviction is an autogenerated conversion function.
+func Convert_v1beta2_WorkloadSchedulingStatsEviction_To_v1beta1_WorkloadSchedulingStatsEviction(in *v1beta2.WorkloadSchedulingStatsEviction, out *WorkloadSchedulingStatsEviction, s conversion.Scope) error {
+	return autoConvert_v1beta2_WorkloadSchedulingStatsEviction_To_v1beta1_WorkloadSchedulingStatsEviction(in, out, s)
+}
+
+func autoConvert_v1beta1_WorkloadSpec_To_v1beta2_WorkloadSpec(in *WorkloadSpec, out *v1beta2.WorkloadSpec, s conversion.Scope) error {
+	out.PodSets = *(*[]v1beta2.PodSet)(unsafe.Pointer(&in.PodSets))
+	out.QueueName = v1beta2.LocalQueueName(in.QueueName)
+	out.PriorityClassName = in.PriorityClassName
+	out.Priority = (*int32)(unsafe.Pointer(in.Priority))
+	out.PriorityClassSource = in.PriorityClassSource
+	out.Active = (*bool)(unsafe.Pointer(in.Active))
+	out.MaximumExecutionTimeSeconds = (*int32)(unsafe.Pointer(in.MaximumExecutionTimeSeconds))
+	return nil
+}
+
+// Convert_v1beta1_WorkloadSpec_To_v1beta2_WorkloadSpec is an autogenerated conversion function.
+func Convert_v1beta1_WorkloadSpec_To_v1beta2_WorkloadSpec(in *WorkloadSpec, out *v1beta2.WorkloadSpec, s conversion.Scope) error {
+	return autoConvert_v1beta1_WorkloadSpec_To_v1beta2_WorkloadSpec(in, out, s)
+}
+
+func autoConvert_v1beta2_WorkloadSpec_To_v1beta1_WorkloadSpec(in *v1beta2.WorkloadSpec, out *WorkloadSpec, s conversion.Scope) error {
+	out.PodSets = *(*[]PodSet)(unsafe.Pointer(&in.PodSets))
+	out.QueueName = LocalQueueName(in.QueueName)
+	out.PriorityClassName = in.PriorityClassName
+	out.Priority = (*int32)(unsafe.Pointer(in.Priority))
+	out.PriorityClassSource = in.PriorityClassSource
+	out.Active = (*bool)(unsafe.Pointer(in.Active))
+	out.MaximumExecutionTimeSeconds = (*int32)(unsafe.Pointer(in.MaximumExecutionTimeSeconds))
+	return nil
+}
+
+// Convert_v1beta2_WorkloadSpec_To_v1beta1_WorkloadSpec is an autogenerated conversion function.
+func Convert_v1beta2_WorkloadSpec_To_v1beta1_WorkloadSpec(in *v1beta2.WorkloadSpec, out *WorkloadSpec, s conversion.Scope) error {
+	return autoConvert_v1beta2_WorkloadSpec_To_v1beta1_WorkloadSpec(in, out, s)
+}
+
+func autoConvert_v1beta1_WorkloadStatus_To_v1beta2_WorkloadStatus(in *WorkloadStatus, out *v1beta2.WorkloadStatus, s conversion.Scope) error {
+	out.Conditions = *(*[]v1.Condition)(unsafe.Pointer(&in.Conditions))
+	out.Admission = (*v1beta2.Admission)(unsafe.Pointer(in.Admission))
+	out.RequeueState = (*v1beta2.RequeueState)(unsafe.Pointer(in.RequeueState))
+	out.ReclaimablePods = *(*[]v1beta2.ReclaimablePod)(unsafe.Pointer(&in.ReclaimablePods))
+	out.AdmissionChecks = *(*[]v1beta2.AdmissionCheckState)(unsafe.Pointer(&in.AdmissionChecks))
+	out.ResourceRequests = *(*[]v1beta2.PodSetRequest)(unsafe.Pointer(&in.ResourceRequests))
+	// WARNING: in.AccumulatedPastExexcutionTimeSeconds requires manual conversion: does not exist in peer-type
+	out.SchedulingStats = (*v1beta2.SchedulingStats)(unsafe.Pointer(in.SchedulingStats))
+	out.NominatedClusterNames = *(*[]string)(unsafe.Pointer(&in.NominatedClusterNames))
+	out.ClusterName = (*string)(unsafe.Pointer(in.ClusterName))
+	out.UnhealthyNodes = *(*[]v1beta2.UnhealthyNode)(unsafe.Pointer(&in.UnhealthyNodes))
+	return nil
+}
+
+func autoConvert_v1beta2_WorkloadStatus_To_v1beta1_WorkloadStatus(in *v1beta2.WorkloadStatus, out *WorkloadStatus, s conversion.Scope) error {
+	out.Conditions = *(*[]v1.Condition)(unsafe.Pointer(&in.Conditions))
+	out.Admission = (*Admission)(unsafe.Pointer(in.Admission))
+	out.RequeueState = (*RequeueState)(unsafe.Pointer(in.RequeueState))
+	out.ReclaimablePods = *(*[]ReclaimablePod)(unsafe.Pointer(&in.ReclaimablePods))
+	out.AdmissionChecks = *(*[]AdmissionCheckState)(unsafe.Pointer(&in.AdmissionChecks))
+	out.ResourceRequests = *(*[]PodSetRequest)(unsafe.Pointer(&in.ResourceRequests))
+	// WARNING: in.AccumulatedPastExecutionTimeSeconds requires manual conversion: does not exist in peer-type
+	out.SchedulingStats = (*SchedulingStats)(unsafe.Pointer(in.SchedulingStats))
+	out.NominatedClusterNames = *(*[]string)(unsafe.Pointer(&in.NominatedClusterNames))
+	out.ClusterName = (*string)(unsafe.Pointer(in.ClusterName))
+	out.UnhealthyNodes = *(*[]UnhealthyNode)(unsafe.Pointer(&in.UnhealthyNodes))
+	return nil
+}
diff --git a/apis/kueue/v1beta1/zz_generated.deepcopy.go b/apis/kueue/v1beta1/zz_generated.deepcopy.go
index 951a49445..7277dd8b7 100644
--- a/apis/kueue/v1beta1/zz_generated.deepcopy.go
+++ b/apis/kueue/v1beta1/zz_generated.deepcopy.go
@@ -23,7 +23,7 @@ package v1beta1
 import (
 	corev1 "k8s.io/api/core/v1"
 	"k8s.io/apimachinery/pkg/apis/meta/v1"
-	runtime "k8s.io/apimachinery/pkg/runtime"
+	"k8s.io/apimachinery/pkg/runtime"
 )
 
 // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
diff --git a/apis/kueue/v1beta2/clusterqueue_types.go b/apis/kueue/v1beta2/clusterqueue_types.go
index 868a6188d..9f749757b 100644
--- a/apis/kueue/v1beta2/clusterqueue_types.go
+++ b/apis/kueue/v1beta2/clusterqueue_types.go
@@ -53,7 +53,7 @@ type ClusterQueueReference string
 type CohortReference string
 
 // ClusterQueueSpec defines the desired state of ClusterQueue
-// +kubebuilder:validation:XValidation:rule="!has(self.cohort) && has(self.resourceGroups) ? self.resourceGroups.all(rg, rg.flavors.all(f, f.resources.all(r, !has(r.borrowingLimit)))) : true", message="borrowingLimit must be nil when cohort is empty"
+// +kubebuilder:validation:XValidation:rule="!has(self.cohortName) && has(self.resourceGroups) ? self.resourceGroups.all(rg, rg.flavors.all(f, f.resources.all(r, !has(r.borrowingLimit)))) : true", message="borrowingLimit must be nil when cohort is empty"
 type ClusterQueueSpec struct {
 	// resourceGroups describes groups of resources.
 	// Each resource group defines the list of resources and a list of flavors
@@ -64,7 +64,7 @@ type ClusterQueueSpec struct {
 	// +kubebuilder:validation:MaxItems=16
 	ResourceGroups []ResourceGroup `json:"resourceGroups,omitempty"`
 
-	// cohort that this ClusterQueue belongs to. CQs that belong to the
+	// cohortName that this ClusterQueue belongs to. CQs that belong to the
 	// same cohort can borrow unused resources from each other.
 	//
 	// A CQ can be a member of a single borrowing cohort. A workload submitted
@@ -76,7 +76,7 @@ type ClusterQueueSpec struct {
 	//
 	// A cohort is a name that links CQs together, but it doesn't reference any
 	// object.
-	Cohort CohortReference `json:"cohort,omitempty"`
+	CohortName CohortReference `json:"cohortName,omitempty"`
 
 	// queueingStrategy indicates the queueing strategy of the workloads
 	// across the queues in this ClusterQueue.
@@ -548,3 +548,5 @@ type ClusterQueueList struct {
 func init() {
 	SchemeBuilder.Register(&ClusterQueue{}, &ClusterQueueList{})
 }
+
+func (*ClusterQueue) Hub() {}
diff --git a/apis/kueue/v1beta2/localqueue_types.go b/apis/kueue/v1beta2/localqueue_types.go
index a774c2746..9ad483b1c 100644
--- a/apis/kueue/v1beta2/localqueue_types.go
+++ b/apis/kueue/v1beta2/localqueue_types.go
@@ -141,13 +141,13 @@ type LocalQueueStatus struct {
 	// +optional
 	FlavorsReservation []LocalQueueFlavorUsage `json:"flavorsReservation"`
 
-	// flavorUsage are the used quotas, by flavor currently in use by the
+	// flavorsUsage are the used quotas, by flavor currently in use by the
 	// workloads assigned to this LocalQueue.
 	// +listType=map
 	// +listMapKey=name
 	// +kubebuilder:validation:MaxItems=16
 	// +optional
-	FlavorUsage []LocalQueueFlavorUsage `json:"flavorUsage"`
+	FlavorsUsage []LocalQueueFlavorUsage `json:"flavorsUsage"`
 
 	// flavors lists all currently available ResourceFlavors in specified ClusterQueue.
 	// +listType=map
@@ -218,3 +218,5 @@ type LocalQueueList struct {
 func init() {
 	SchemeBuilder.Register(&LocalQueue{}, &LocalQueueList{})
 }
+
+func (*LocalQueue) Hub() {}
diff --git a/apis/kueue/v1beta2/workload_types.go b/apis/kueue/v1beta2/workload_types.go
index 119a9cab3..5010fa0e0 100644
--- a/apis/kueue/v1beta2/workload_types.go
+++ b/apis/kueue/v1beta2/workload_types.go
@@ -405,11 +405,11 @@ type WorkloadStatus struct {
 	// +kubebuilder:validation:MaxItems=8
 	ResourceRequests []PodSetRequest `json:"resourceRequests,omitempty"`
 
-	// accumulatedPastExexcutionTimeSeconds holds the total time, in seconds, the workload spent
+	// accumulatedPastExecutionTimeSeconds holds the total time, in seconds, the workload spent
 	// in Admitted state, in the previous `Admit` - `Evict` cycles.
 	//
 	// +optional
-	AccumulatedPastExexcutionTimeSeconds *int32 `json:"accumulatedPastExexcutionTimeSeconds,omitempty"`
+	AccumulatedPastExecutionTimeSeconds *int32 `json:"accumulatedPastExecutionTimeSeconds,omitempty"`
 
 	// schedulingStats tracks scheduling statistics
 	//
@@ -764,10 +764,10 @@ const (
 
 // Workload is the Schema for the workloads API
 // +kubebuilder:validation:XValidation:rule="has(self.status) && has(self.status.conditions) && self.status.conditions.exists(c, c.type == 'QuotaReserved' && c.status == 'True') && has(self.status.admission) ? size(self.spec.podSets) == size(self.status.admission.podSetAssignments) : true", message="podSetAssignments must have the same number of podSets as the spec"
-// +kubebuilder:validation:XValidation:rule="(has(oldSelf.status) && has(oldSelf.status.conditions) && oldSelf.status.conditions.exists(c, c.type == 'QuotaReserved' && c.status == 'True')) ? (oldSelf.spec.priorityClassSource == self.spec.priorityClassSource) : true", message="field is immutable"
-// +kubebuilder:validation:XValidation:rule="(has(oldSelf.status) && has(oldSelf.status.conditions) && oldSelf.status.conditions.exists(c, c.type == 'QuotaReserved' && c.status == 'True') && has(oldSelf.spec.priorityClassName) && has(self.spec.priorityClassName)) ? (oldSelf.spec.priorityClassName == self.spec.priorityClassName) : true", message="field is immutable"
-// +kubebuilder:validation:XValidation:rule="(has(oldSelf.status) && has(oldSelf.status.conditions) && oldSelf.status.conditions.exists(c, c.type == 'QuotaReserved' && c.status == 'True')) && (has(self.status) && has(self.status.conditions) && self.status.conditions.exists(c, c.type == 'QuotaReserved' && c.status == 'True')) && has(oldSelf.spec.queueName) && has(self.spec.queueName) ? oldSelf.spec.queueName == self.spec.queueName : true", message="field is immutable"
-// +kubebuilder:validation:XValidation:rule="((has(oldSelf.status) && has(oldSelf.status.conditions) && oldSelf.status.conditions.exists(c, c.type == 'Admitted' && c.status == 'True')) && (has(self.status) && has(self.status.conditions) && self.status.conditions.exists(c, c.type == 'Admitted' && c.status == 'True')))?((has(oldSelf.spec.maximumExecutionTimeSeconds)?oldSelf.spec.maximumExecutionTimeSeconds:0) ==  (has(self.spec.maximumExecutionTimeSeconds)?self.spec.maximumExecutionTimeSeconds:0)):true", message="maximumExecutionTimeSeconds is immutable while admitted"
+// +kubebuilder:validation:XValidation:rule="(has(oldSelf.status) && has(oldSelf.status.conditions) && oldSelf.status.conditions.exists(c, c.type == 'QuotaReserved' && c.status == 'True')) ? ((!has(self.spec.priorityClassSource) && !has(oldSelf.spec.priorityClassSource)) || (has(self.spec.priorityClassSource) && has(oldSelf.spec.priorityClassSource) && self.spec.priorityClassSource == oldSelf.spec.priorityClassSource) || (!has(self.spec.priorityClassSource) && has(oldSelf.spec.priorityClassSource) && oldSelf.spec.priorityClassSource.size() == 0) || (!has(oldSelf.spec.priorityClassSource) && has(self.spec.priorityClassSource) && self.spec.priorityClassSource.size() == 0)) : true", message="priorityClassSource is immutable while workload quota reserved"
+// +kubebuilder:validation:XValidation:rule="(has(oldSelf.status) && has(oldSelf.status.conditions) && oldSelf.status.conditions.exists(c, c.type == 'QuotaReserved' && c.status == 'True') && has(oldSelf.spec.priorityClassName) && has(self.spec.priorityClassName)) ? (oldSelf.spec.priorityClassName == self.spec.priorityClassName) : true",message="priorityClassName is immutable while workload quota reserved"
+// +kubebuilder:validation:XValidation:rule="(has(oldSelf.status) && has(oldSelf.status.conditions) && oldSelf.status.conditions.exists(c, c.type == 'QuotaReserved' && c.status == 'True')) && (has(self.status) && has(self.status.conditions) && self.status.conditions.exists(c, c.type == 'QuotaReserved' && c.status == 'True')) && has(oldSelf.spec.queueName) && has(self.spec.queueName) ? oldSelf.spec.queueName == self.spec.queueName : true", message="queueName is immutable while workload quota reserved"
+// +kubebuilder:validation:XValidation:rule="((has(oldSelf.status) && has(oldSelf.status.conditions) && oldSelf.status.conditions.exists(c, c.type == 'Admitted' && c.status == 'True')) && (has(self.status) && has(self.status.conditions) && self.status.conditions.exists(c, c.type == 'Admitted' && c.status == 'True')))?((has(oldSelf.spec.maximumExecutionTimeSeconds)?oldSelf.spec.maximumExecutionTimeSeconds:0) ==  (has(self.spec.maximumExecutionTimeSeconds)?self.spec.maximumExecutionTimeSeconds:0)):true", message="maximumExecutionTimeSeconds is immutable while workload quota reserved"
 type Workload struct {
 	metav1.TypeMeta `json:",inline"`
 	// metadata is the metadata of the Workload.
@@ -791,3 +791,5 @@ type WorkloadList struct {
 func init() {
 	SchemeBuilder.Register(&Workload{}, &WorkloadList{})
 }
+
+func (*Workload) Hub() {}
diff --git a/apis/kueue/v1beta2/zz_generated.deepcopy.go b/apis/kueue/v1beta2/zz_generated.deepcopy.go
index a0f863921..281deaf91 100644
--- a/apis/kueue/v1beta2/zz_generated.deepcopy.go
+++ b/apis/kueue/v1beta2/zz_generated.deepcopy.go
@@ -913,8 +913,8 @@ func (in *LocalQueueStatus) DeepCopyInto(out *LocalQueueStatus) {
 			(*in)[i].DeepCopyInto(&(*out)[i])
 		}
 	}
-	if in.FlavorUsage != nil {
-		in, out := &in.FlavorUsage, &out.FlavorUsage
+	if in.FlavorsUsage != nil {
+		in, out := &in.FlavorsUsage, &out.FlavorsUsage
 		*out = make([]LocalQueueFlavorUsage, len(*in))
 		for i := range *in {
 			(*in)[i].DeepCopyInto(&(*out)[i])
@@ -2089,8 +2089,8 @@ func (in *WorkloadStatus) DeepCopyInto(out *WorkloadStatus) {
 			(*in)[i].DeepCopyInto(&(*out)[i])
 		}
 	}
-	if in.AccumulatedPastExexcutionTimeSeconds != nil {
-		in, out := &in.AccumulatedPastExexcutionTimeSeconds, &out.AccumulatedPastExexcutionTimeSeconds
+	if in.AccumulatedPastExecutionTimeSeconds != nil {
+		in, out := &in.AccumulatedPastExecutionTimeSeconds, &out.AccumulatedPastExecutionTimeSeconds
 		*out = new(int32)
 		**out = **in
 	}
diff --git a/charts/kueue/templates/crd/kueue.x-k8s.io_clusterqueues.yaml b/charts/kueue/templates/crd/kueue.x-k8s.io_clusterqueues.yaml
index 9b631f119..749a5aa04 100644
--- a/charts/kueue/templates/crd/kueue.x-k8s.io_clusterqueues.yaml
+++ b/charts/kueue/templates/crd/kueue.x-k8s.io_clusterqueues.yaml
@@ -873,9 +873,9 @@ spec:
                   required:
                     - admissionMode
                   type: object
-                cohort:
+                cohortName:
                   description: |-
-                    cohort that this ClusterQueue belongs to. CQs that belong to the
+                    cohortName that this ClusterQueue belongs to. CQs that belong to the
                     same cohort can borrow unused resources from each other.
 
                     A CQ can be a member of a single borrowing cohort. A workload submitted
@@ -1251,7 +1251,7 @@ spec:
               type: object
               x-kubernetes-validations:
                 - message: borrowingLimit must be nil when cohort is empty
-                  rule: '!has(self.cohort) && has(self.resourceGroups) ? self.resourceGroups.all(rg, rg.flavors.all(f, f.resources.all(r, !has(r.borrowingLimit)))) : true'
+                  rule: '!has(self.cohortName) && has(self.resourceGroups) ? self.resourceGroups.all(rg, rg.flavors.all(f, f.resources.all(r, !has(r.borrowingLimit)))) : true'
             status:
               description: status is the status of the ClusterQueue.
               properties:
diff --git a/charts/kueue/templates/crd/kueue.x-k8s.io_localqueues.yaml b/charts/kueue/templates/crd/kueue.x-k8s.io_localqueues.yaml
index 7e019e206..fb717a951 100644
--- a/charts/kueue/templates/crd/kueue.x-k8s.io_localqueues.yaml
+++ b/charts/kueue/templates/crd/kueue.x-k8s.io_localqueues.yaml
@@ -622,48 +622,6 @@ spec:
                   required:
                     - weightedShare
                   type: object
-                flavorUsage:
-                  description: |-
-                    flavorUsage are the used quotas, by flavor currently in use by the
-                    workloads assigned to this LocalQueue.
-                  items:
-                    properties:
-                      name:
-                        description: name of the flavor.
-                        maxLength: 253
-                        pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
-                        type: string
-                      resources:
-                        description: resources lists the quota usage for the resources in this flavor.
-                        items:
-                          properties:
-                            name:
-                              description: name of the resource.
-                              type: string
-                            total:
-                              anyOf:
-                                - type: integer
-                                - type: string
-                              description: total is the total quantity of used quota.
-                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
-                              x-kubernetes-int-or-string: true
-                          required:
-                            - name
-                          type: object
-                        maxItems: 16
-                        type: array
-                        x-kubernetes-list-map-keys:
-                          - name
-                        x-kubernetes-list-type: map
-                    required:
-                      - name
-                      - resources
-                    type: object
-                  maxItems: 16
-                  type: array
-                  x-kubernetes-list-map-keys:
-                    - name
-                  x-kubernetes-list-type: map
                 flavors:
                   description: flavors lists all currently available ResourceFlavors in specified ClusterQueue.
                   items:
@@ -796,6 +754,48 @@ spec:
                   x-kubernetes-list-map-keys:
                     - name
                   x-kubernetes-list-type: map
+                flavorsUsage:
+                  description: |-
+                    flavorsUsage are the used quotas, by flavor currently in use by the
+                    workloads assigned to this LocalQueue.
+                  items:
+                    properties:
+                      name:
+                        description: name of the flavor.
+                        maxLength: 253
+                        pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
+                        type: string
+                      resources:
+                        description: resources lists the quota usage for the resources in this flavor.
+                        items:
+                          properties:
+                            name:
+                              description: name of the resource.
+                              type: string
+                            total:
+                              anyOf:
+                                - type: integer
+                                - type: string
+                              description: total is the total quantity of used quota.
+                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+                              x-kubernetes-int-or-string: true
+                          required:
+                            - name
+                          type: object
+                        maxItems: 16
+                        type: array
+                        x-kubernetes-list-map-keys:
+                          - name
+                        x-kubernetes-list-type: map
+                    required:
+                      - name
+                      - resources
+                    type: object
+                  maxItems: 16
+                  type: array
+                  x-kubernetes-list-map-keys:
+                    - name
+                  x-kubernetes-list-type: map
                 pendingWorkloads:
                   description: pendingWorkloads is the number of Workloads in the LocalQueue not yet admitted to a ClusterQueue
                   format: int32
diff --git a/charts/kueue/templates/crd/kueue.x-k8s.io_workloads.yaml b/charts/kueue/templates/crd/kueue.x-k8s.io_workloads.yaml
index d37a9c35c..da71f3d5f 100644
--- a/charts/kueue/templates/crd/kueue.x-k8s.io_workloads.yaml
+++ b/charts/kueue/templates/crd/kueue.x-k8s.io_workloads.yaml
@@ -8844,13 +8844,13 @@ spec:
           x-kubernetes-validations:
             - message: podSetAssignments must have the same number of podSets as the spec
               rule: 'has(self.status) && has(self.status.conditions) && self.status.conditions.exists(c, c.type == ''QuotaReserved'' && c.status == ''True'') && has(self.status.admission) ? size(self.spec.podSets) == size(self.status.admission.podSetAssignments) : true'
-            - message: field is immutable
+            - message: priorityClassSource is immutable while workload quota reserved
               rule: '(has(oldSelf.status) && has(oldSelf.status.conditions) && oldSelf.status.conditions.exists(c, c.type == ''QuotaReserved'' && c.status == ''True'')) ? (oldSelf.spec.priorityClassSource == self.spec.priorityClassSource) : true'
-            - message: field is immutable
+            - message: priorityClassName is immutable while workload quota reserved
               rule: '(has(oldSelf.status) && has(oldSelf.status.conditions) && oldSelf.status.conditions.exists(c, c.type == ''QuotaReserved'' && c.status == ''True'') && has(oldSelf.spec.priorityClassName) && has(self.spec.priorityClassName)) ? (oldSelf.spec.priorityClassName == self.spec.priorityClassName) : true'
-            - message: field is immutable
+            - message: queueName is immutable while workload quota reserved
               rule: '(has(oldSelf.status) && has(oldSelf.status.conditions) && oldSelf.status.conditions.exists(c, c.type == ''QuotaReserved'' && c.status == ''True'')) && (has(self.status) && has(self.status.conditions) && self.status.conditions.exists(c, c.type == ''QuotaReserved'' && c.status == ''True'')) && has(oldSelf.spec.queueName) && has(self.spec.queueName) ? oldSelf.spec.queueName == self.spec.queueName : true'
-            - message: maximumExecutionTimeSeconds is immutable while admitted
+            - message: maximumExecutionTimeSeconds is immutable while workload quota reserved
               rule: ((has(oldSelf.status) && has(oldSelf.status.conditions) && oldSelf.status.conditions.exists(c, c.type == 'Admitted' && c.status == 'True')) && (has(self.status) && has(self.status.conditions) && self.status.conditions.exists(c, c.type == 'Admitted' && c.status == 'True')))?((has(oldSelf.spec.maximumExecutionTimeSeconds)?oldSelf.spec.maximumExecutionTimeSeconds:0) ==  (has(self.spec.maximumExecutionTimeSeconds)?self.spec.maximumExecutionTimeSeconds:0)):true
       served: true
       storage: true
@@ -17145,9 +17145,9 @@ spec:
             status:
               description: status is the status of the Workload.
               properties:
-                accumulatedPastExexcutionTimeSeconds:
+                accumulatedPastExecutionTimeSeconds:
                   description: |-
-                    accumulatedPastExexcutionTimeSeconds holds the total time, in seconds, the workload spent
+                    accumulatedPastExecutionTimeSeconds holds the total time, in seconds, the workload spent
                     in Admitted state, in the previous `Admit` - `Evict` cycles.
                   format: int32
                   type: integer
@@ -17668,13 +17668,13 @@ spec:
           x-kubernetes-validations:
             - message: podSetAssignments must have the same number of podSets as the spec
               rule: 'has(self.status) && has(self.status.conditions) && self.status.conditions.exists(c, c.type == ''QuotaReserved'' && c.status == ''True'') && has(self.status.admission) ? size(self.spec.podSets) == size(self.status.admission.podSetAssignments) : true'
-            - message: field is immutable
-              rule: '(has(oldSelf.status) && has(oldSelf.status.conditions) && oldSelf.status.conditions.exists(c, c.type == ''QuotaReserved'' && c.status == ''True'')) ? (oldSelf.spec.priorityClassSource == self.spec.priorityClassSource) : true'
-            - message: field is immutable
+            - message: priorityClassSource is immutable while workload quota reserved
+              rule: '(has(oldSelf.status) && has(oldSelf.status.conditions) && oldSelf.status.conditions.exists(c, c.type == ''QuotaReserved'' && c.status == ''True'')) ? ((!has(self.spec.priorityClassSource) && !has(oldSelf.spec.priorityClassSource)) || (has(self.spec.priorityClassSource) && has(oldSelf.spec.priorityClassSource) && self.spec.priorityClassSource == oldSelf.spec.priorityClassSource) || (!has(self.spec.priorityClassSource) && has(oldSelf.spec.priorityClassSource) && oldSelf.spec.priorityClassSource.size() == 0) || (!has(oldSelf.spec.priorityClassSource) && has(self.spec.priorityClassSource) && self.spec.priorityClassSource.size() == 0)) : true'
+            - message: priorityClassName is immutable while workload quota reserved
               rule: '(has(oldSelf.status) && has(oldSelf.status.conditions) && oldSelf.status.conditions.exists(c, c.type == ''QuotaReserved'' && c.status == ''True'') && has(oldSelf.spec.priorityClassName) && has(self.spec.priorityClassName)) ? (oldSelf.spec.priorityClassName == self.spec.priorityClassName) : true'
-            - message: field is immutable
+            - message: queueName is immutable while workload quota reserved
               rule: '(has(oldSelf.status) && has(oldSelf.status.conditions) && oldSelf.status.conditions.exists(c, c.type == ''QuotaReserved'' && c.status == ''True'')) && (has(self.status) && has(self.status.conditions) && self.status.conditions.exists(c, c.type == ''QuotaReserved'' && c.status == ''True'')) && has(oldSelf.spec.queueName) && has(self.spec.queueName) ? oldSelf.spec.queueName == self.spec.queueName : true'
-            - message: maximumExecutionTimeSeconds is immutable while admitted
+            - message: maximumExecutionTimeSeconds is immutable while workload quota reserved
               rule: ((has(oldSelf.status) && has(oldSelf.status.conditions) && oldSelf.status.conditions.exists(c, c.type == 'Admitted' && c.status == 'True')) && (has(self.status) && has(self.status.conditions) && self.status.conditions.exists(c, c.type == 'Admitted' && c.status == 'True')))?((has(oldSelf.spec.maximumExecutionTimeSeconds)?oldSelf.spec.maximumExecutionTimeSeconds:0) ==  (has(self.spec.maximumExecutionTimeSeconds)?self.spec.maximumExecutionTimeSeconds:0)):true
       served: true
       storage: false
diff --git a/charts/kueue/templates/rbac/role.yaml b/charts/kueue/templates/rbac/role.yaml
index 0c01e1917..43931821a 100644
--- a/charts/kueue/templates/rbac/role.yaml
+++ b/charts/kueue/templates/rbac/role.yaml
@@ -72,6 +72,15 @@ rules:
       - list
       - update
       - watch
+  - apiGroups:
+      - apiextensions.k8s.io
+    resources:
+      - customresourcedefinitions
+    verbs:
+      - get
+      - list
+      - update
+      - watch
   - apiGroups:
       - apps
     resources:
diff --git a/client-go/applyconfiguration/kueue/v1beta2/clusterqueuespec.go b/client-go/applyconfiguration/kueue/v1beta2/clusterqueuespec.go
index 48547a5c6..b76cd0f24 100644
--- a/client-go/applyconfiguration/kueue/v1beta2/clusterqueuespec.go
+++ b/client-go/applyconfiguration/kueue/v1beta2/clusterqueuespec.go
@@ -26,7 +26,7 @@ import (
 // with apply.
 type ClusterQueueSpecApplyConfiguration struct {
 	ResourceGroups          []ResourceGroupApplyConfiguration          `json:"resourceGroups,omitempty"`
-	Cohort                  *kueuev1beta2.CohortReference              `json:"cohort,omitempty"`
+	CohortName              *kueuev1beta2.CohortReference              `json:"cohortName,omitempty"`
 	QueueingStrategy        *kueuev1beta2.QueueingStrategy             `json:"queueingStrategy,omitempty"`
 	NamespaceSelector       *v1.LabelSelectorApplyConfiguration        `json:"namespaceSelector,omitempty"`
 	FlavorFungibility       *FlavorFungibilityApplyConfiguration       `json:"flavorFungibility,omitempty"`
@@ -57,11 +57,11 @@ func (b *ClusterQueueSpecApplyConfiguration) WithResourceGroups(values ...*Resou
 	return b
 }
 
-// WithCohort sets the Cohort field in the declarative configuration to the given value
+// WithCohortName sets the CohortName field in the declarative configuration to the given value
 // and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the Cohort field is set to the value of the last call.
-func (b *ClusterQueueSpecApplyConfiguration) WithCohort(value kueuev1beta2.CohortReference) *ClusterQueueSpecApplyConfiguration {
-	b.Cohort = &value
+// If called multiple times, the CohortName field is set to the value of the last call.
+func (b *ClusterQueueSpecApplyConfiguration) WithCohortName(value kueuev1beta2.CohortReference) *ClusterQueueSpecApplyConfiguration {
+	b.CohortName = &value
 	return b
 }
 
diff --git a/client-go/applyconfiguration/kueue/v1beta2/localqueuestatus.go b/client-go/applyconfiguration/kueue/v1beta2/localqueuestatus.go
index 575d2905c..c16e4ee96 100644
--- a/client-go/applyconfiguration/kueue/v1beta2/localqueuestatus.go
+++ b/client-go/applyconfiguration/kueue/v1beta2/localqueuestatus.go
@@ -29,7 +29,7 @@ type LocalQueueStatusApplyConfiguration struct {
 	ReservingWorkloads *int32                                     `json:"reservingWorkloads,omitempty"`
 	AdmittedWorkloads  *int32                                     `json:"admittedWorkloads,omitempty"`
 	FlavorsReservation []LocalQueueFlavorUsageApplyConfiguration  `json:"flavorsReservation,omitempty"`
-	FlavorUsage        []LocalQueueFlavorUsageApplyConfiguration  `json:"flavorUsage,omitempty"`
+	FlavorsUsage       []LocalQueueFlavorUsageApplyConfiguration  `json:"flavorsUsage,omitempty"`
 	Flavors            []LocalQueueFlavorStatusApplyConfiguration `json:"flavors,omitempty"`
 	FairSharing        *FairSharingStatusApplyConfiguration       `json:"fairSharing,omitempty"`
 }
@@ -90,15 +90,15 @@ func (b *LocalQueueStatusApplyConfiguration) WithFlavorsReservation(values ...*L
 	return b
 }
 
-// WithFlavorUsage adds the given value to the FlavorUsage field in the declarative configuration
+// WithFlavorsUsage adds the given value to the FlavorsUsage field in the declarative configuration
 // and returns the receiver, so that objects can be build by chaining "With" function invocations.
-// If called multiple times, values provided by each call will be appended to the FlavorUsage field.
-func (b *LocalQueueStatusApplyConfiguration) WithFlavorUsage(values ...*LocalQueueFlavorUsageApplyConfiguration) *LocalQueueStatusApplyConfiguration {
+// If called multiple times, values provided by each call will be appended to the FlavorsUsage field.
+func (b *LocalQueueStatusApplyConfiguration) WithFlavorsUsage(values ...*LocalQueueFlavorUsageApplyConfiguration) *LocalQueueStatusApplyConfiguration {
 	for i := range values {
 		if values[i] == nil {
-			panic("nil value passed to WithFlavorUsage")
+			panic("nil value passed to WithFlavorsUsage")
 		}
-		b.FlavorUsage = append(b.FlavorUsage, *values[i])
+		b.FlavorsUsage = append(b.FlavorsUsage, *values[i])
 	}
 	return b
 }
diff --git a/client-go/applyconfiguration/kueue/v1beta2/workloadstatus.go b/client-go/applyconfiguration/kueue/v1beta2/workloadstatus.go
index 355389c41..9d1179a72 100644
--- a/client-go/applyconfiguration/kueue/v1beta2/workloadstatus.go
+++ b/client-go/applyconfiguration/kueue/v1beta2/workloadstatus.go
@@ -24,17 +24,17 @@ import (
 // WorkloadStatusApplyConfiguration represents a declarative configuration of the WorkloadStatus type for use
 // with apply.
 type WorkloadStatusApplyConfiguration struct {
-	Conditions                           []v1.ConditionApplyConfiguration        `json:"conditions,omitempty"`
-	Admission                            *AdmissionApplyConfiguration            `json:"admission,omitempty"`
-	RequeueState                         *RequeueStateApplyConfiguration         `json:"requeueState,omitempty"`
-	ReclaimablePods                      []ReclaimablePodApplyConfiguration      `json:"reclaimablePods,omitempty"`
-	AdmissionChecks                      []AdmissionCheckStateApplyConfiguration `json:"admissionChecks,omitempty"`
-	ResourceRequests                     []PodSetRequestApplyConfiguration       `json:"resourceRequests,omitempty"`
-	AccumulatedPastExexcutionTimeSeconds *int32                                  `json:"accumulatedPastExexcutionTimeSeconds,omitempty"`
-	SchedulingStats                      *SchedulingStatsApplyConfiguration      `json:"schedulingStats,omitempty"`
-	NominatedClusterNames                []string                                `json:"nominatedClusterNames,omitempty"`
-	ClusterName                          *string                                 `json:"clusterName,omitempty"`
-	UnhealthyNodes                       []UnhealthyNodeApplyConfiguration       `json:"unhealthyNodes,omitempty"`
+	Conditions                          []v1.ConditionApplyConfiguration        `json:"conditions,omitempty"`
+	Admission                           *AdmissionApplyConfiguration            `json:"admission,omitempty"`
+	RequeueState                        *RequeueStateApplyConfiguration         `json:"requeueState,omitempty"`
+	ReclaimablePods                     []ReclaimablePodApplyConfiguration      `json:"reclaimablePods,omitempty"`
+	AdmissionChecks                     []AdmissionCheckStateApplyConfiguration `json:"admissionChecks,omitempty"`
+	ResourceRequests                    []PodSetRequestApplyConfiguration       `json:"resourceRequests,omitempty"`
+	AccumulatedPastExecutionTimeSeconds *int32                                  `json:"accumulatedPastExecutionTimeSeconds,omitempty"`
+	SchedulingStats                     *SchedulingStatsApplyConfiguration      `json:"schedulingStats,omitempty"`
+	NominatedClusterNames               []string                                `json:"nominatedClusterNames,omitempty"`
+	ClusterName                         *string                                 `json:"clusterName,omitempty"`
+	UnhealthyNodes                      []UnhealthyNodeApplyConfiguration       `json:"unhealthyNodes,omitempty"`
 }
 
 // WorkloadStatusApplyConfiguration constructs a declarative configuration of the WorkloadStatus type for use with
@@ -111,11 +111,11 @@ func (b *WorkloadStatusApplyConfiguration) WithResourceRequests(values ...*PodSe
 	return b
 }
 
-// WithAccumulatedPastExexcutionTimeSeconds sets the AccumulatedPastExexcutionTimeSeconds field in the declarative configuration to the given value
+// WithAccumulatedPastExecutionTimeSeconds sets the AccumulatedPastExecutionTimeSeconds field in the declarative configuration to the given value
 // and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the AccumulatedPastExexcutionTimeSeconds field is set to the value of the last call.
-func (b *WorkloadStatusApplyConfiguration) WithAccumulatedPastExexcutionTimeSeconds(value int32) *WorkloadStatusApplyConfiguration {
-	b.AccumulatedPastExexcutionTimeSeconds = &value
+// If called multiple times, the AccumulatedPastExecutionTimeSeconds field is set to the value of the last call.
+func (b *WorkloadStatusApplyConfiguration) WithAccumulatedPastExecutionTimeSeconds(value int32) *WorkloadStatusApplyConfiguration {
+	b.AccumulatedPastExecutionTimeSeconds = &value
 	return b
 }
 
diff --git a/config/components/crd/bases/kueue.x-k8s.io_clusterqueues.yaml b/config/components/crd/bases/kueue.x-k8s.io_clusterqueues.yaml
index bb64f68cc..e42809e8f 100644
--- a/config/components/crd/bases/kueue.x-k8s.io_clusterqueues.yaml
+++ b/config/components/crd/bases/kueue.x-k8s.io_clusterqueues.yaml
@@ -877,9 +877,9 @@ spec:
                 required:
                 - admissionMode
                 type: object
-              cohort:
+              cohortName:
                 description: |-
-                  cohort that this ClusterQueue belongs to. CQs that belong to the
+                  cohortName that this ClusterQueue belongs to. CQs that belong to the
                   same cohort can borrow unused resources from each other.
 
                   A CQ can be a member of a single borrowing cohort. A workload submitted
@@ -1260,7 +1260,7 @@ spec:
             type: object
             x-kubernetes-validations:
             - message: borrowingLimit must be nil when cohort is empty
-              rule: '!has(self.cohort) && has(self.resourceGroups) ? self.resourceGroups.all(rg,
+              rule: '!has(self.cohortName) && has(self.resourceGroups) ? self.resourceGroups.all(rg,
                 rg.flavors.all(f, f.resources.all(r, !has(r.borrowingLimit)))) : true'
           status:
             description: status is the status of the ClusterQueue.
diff --git a/config/components/crd/bases/kueue.x-k8s.io_localqueues.yaml b/config/components/crd/bases/kueue.x-k8s.io_localqueues.yaml
index 606ed2fe4..e1f2d8b8a 100644
--- a/config/components/crd/bases/kueue.x-k8s.io_localqueues.yaml
+++ b/config/components/crd/bases/kueue.x-k8s.io_localqueues.yaml
@@ -624,49 +624,6 @@ spec:
                 required:
                 - weightedShare
                 type: object
-              flavorUsage:
-                description: |-
-                  flavorUsage are the used quotas, by flavor currently in use by the
-                  workloads assigned to this LocalQueue.
-                items:
-                  properties:
-                    name:
-                      description: name of the flavor.
-                      maxLength: 253
-                      pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
-                      type: string
-                    resources:
-                      description: resources lists the quota usage for the resources
-                        in this flavor.
-                      items:
-                        properties:
-                          name:
-                            description: name of the resource.
-                            type: string
-                          total:
-                            anyOf:
-                            - type: integer
-                            - type: string
-                            description: total is the total quantity of used quota.
-                            pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
-                            x-kubernetes-int-or-string: true
-                        required:
-                        - name
-                        type: object
-                      maxItems: 16
-                      type: array
-                      x-kubernetes-list-map-keys:
-                      - name
-                      x-kubernetes-list-type: map
-                  required:
-                  - name
-                  - resources
-                  type: object
-                maxItems: 16
-                type: array
-                x-kubernetes-list-map-keys:
-                - name
-                x-kubernetes-list-type: map
               flavors:
                 description: flavors lists all currently available ResourceFlavors
                   in specified ClusterQueue.
@@ -805,6 +762,49 @@ spec:
                 x-kubernetes-list-map-keys:
                 - name
                 x-kubernetes-list-type: map
+              flavorsUsage:
+                description: |-
+                  flavorsUsage are the used quotas, by flavor currently in use by the
+                  workloads assigned to this LocalQueue.
+                items:
+                  properties:
+                    name:
+                      description: name of the flavor.
+                      maxLength: 253
+                      pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
+                      type: string
+                    resources:
+                      description: resources lists the quota usage for the resources
+                        in this flavor.
+                      items:
+                        properties:
+                          name:
+                            description: name of the resource.
+                            type: string
+                          total:
+                            anyOf:
+                            - type: integer
+                            - type: string
+                            description: total is the total quantity of used quota.
+                            pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+                            x-kubernetes-int-or-string: true
+                        required:
+                        - name
+                        type: object
+                      maxItems: 16
+                      type: array
+                      x-kubernetes-list-map-keys:
+                      - name
+                      x-kubernetes-list-type: map
+                  required:
+                  - name
+                  - resources
+                  type: object
+                maxItems: 16
+                type: array
+                x-kubernetes-list-map-keys:
+                - name
+                x-kubernetes-list-type: map
               pendingWorkloads:
                 description: pendingWorkloads is the number of Workloads in the LocalQueue
                   not yet admitted to a ClusterQueue
diff --git a/config/components/crd/bases/kueue.x-k8s.io_workloads.yaml b/config/components/crd/bases/kueue.x-k8s.io_workloads.yaml
index 35c96cfb7..e83726674 100644
--- a/config/components/crd/bases/kueue.x-k8s.io_workloads.yaml
+++ b/config/components/crd/bases/kueue.x-k8s.io_workloads.yaml
@@ -9341,23 +9341,23 @@ spec:
             c.type == ''QuotaReserved'' && c.status == ''True'') && has(self.status.admission)
             ? size(self.spec.podSets) == size(self.status.admission.podSetAssignments)
             : true'
-        - message: field is immutable
+        - message: priorityClassSource is immutable while workload quota reserved
           rule: '(has(oldSelf.status) && has(oldSelf.status.conditions) && oldSelf.status.conditions.exists(c,
             c.type == ''QuotaReserved'' && c.status == ''True'')) ? (oldSelf.spec.priorityClassSource
             == self.spec.priorityClassSource) : true'
-        - message: field is immutable
+        - message: priorityClassName is immutable while workload quota reserved
           rule: '(has(oldSelf.status) && has(oldSelf.status.conditions) && oldSelf.status.conditions.exists(c,
             c.type == ''QuotaReserved'' && c.status == ''True'') && has(oldSelf.spec.priorityClassName)
             && has(self.spec.priorityClassName)) ? (oldSelf.spec.priorityClassName
             == self.spec.priorityClassName) : true'
-        - message: field is immutable
+        - message: queueName is immutable while workload quota reserved
           rule: '(has(oldSelf.status) && has(oldSelf.status.conditions) && oldSelf.status.conditions.exists(c,
             c.type == ''QuotaReserved'' && c.status == ''True'')) && (has(self.status)
             && has(self.status.conditions) && self.status.conditions.exists(c, c.type
             == ''QuotaReserved'' && c.status == ''True'')) && has(oldSelf.spec.queueName)
             && has(self.spec.queueName) ? oldSelf.spec.queueName == self.spec.queueName
             : true'
-        - message: maximumExecutionTimeSeconds is immutable while admitted
+        - message: maximumExecutionTimeSeconds is immutable while workload quota reserved
           rule: ((has(oldSelf.status) && has(oldSelf.status.conditions) && oldSelf.status.conditions.exists(c,
             c.type == 'Admitted' && c.status == 'True')) && (has(self.status) && has(self.status.conditions)
             && self.status.conditions.exists(c, c.type == 'Admitted' && c.status ==
@@ -18139,9 +18139,9 @@ spec:
           status:
             description: status is the status of the Workload.
             properties:
-              accumulatedPastExexcutionTimeSeconds:
+              accumulatedPastExecutionTimeSeconds:
                 description: |-
-                  accumulatedPastExexcutionTimeSeconds holds the total time, in seconds, the workload spent
+                  accumulatedPastExecutionTimeSeconds holds the total time, in seconds, the workload spent
                   in Admitted state, in the previous `Admit` - `Evict` cycles.
                 format: int32
                 type: integer
@@ -18692,23 +18692,28 @@ spec:
             c.type == ''QuotaReserved'' && c.status == ''True'') && has(self.status.admission)
             ? size(self.spec.podSets) == size(self.status.admission.podSetAssignments)
             : true'
-        - message: field is immutable
+        - message: priorityClassSource is immutable while workload quota reserved
           rule: '(has(oldSelf.status) && has(oldSelf.status.conditions) && oldSelf.status.conditions.exists(c,
-            c.type == ''QuotaReserved'' && c.status == ''True'')) ? (oldSelf.spec.priorityClassSource
-            == self.spec.priorityClassSource) : true'
-        - message: field is immutable
+            c.type == ''QuotaReserved'' && c.status == ''True'')) ? ((!has(self.spec.priorityClassSource)
+            && !has(oldSelf.spec.priorityClassSource)) || (has(self.spec.priorityClassSource)
+            && has(oldSelf.spec.priorityClassSource) && self.spec.priorityClassSource
+            == oldSelf.spec.priorityClassSource) || (!has(self.spec.priorityClassSource)
+            && has(oldSelf.spec.priorityClassSource) && oldSelf.spec.priorityClassSource.size()
+            == 0) || (!has(oldSelf.spec.priorityClassSource) && has(self.spec.priorityClassSource)
+            && self.spec.priorityClassSource.size() == 0)) : true'
+        - message: priorityClassName is immutable while workload quota reserved
           rule: '(has(oldSelf.status) && has(oldSelf.status.conditions) && oldSelf.status.conditions.exists(c,
             c.type == ''QuotaReserved'' && c.status == ''True'') && has(oldSelf.spec.priorityClassName)
             && has(self.spec.priorityClassName)) ? (oldSelf.spec.priorityClassName
             == self.spec.priorityClassName) : true'
-        - message: field is immutable
+        - message: queueName is immutable while workload quota reserved
           rule: '(has(oldSelf.status) && has(oldSelf.status.conditions) && oldSelf.status.conditions.exists(c,
             c.type == ''QuotaReserved'' && c.status == ''True'')) && (has(self.status)
             && has(self.status.conditions) && self.status.conditions.exists(c, c.type
             == ''QuotaReserved'' && c.status == ''True'')) && has(oldSelf.spec.queueName)
             && has(self.spec.queueName) ? oldSelf.spec.queueName == self.spec.queueName
             : true'
-        - message: maximumExecutionTimeSeconds is immutable while admitted
+        - message: maximumExecutionTimeSeconds is immutable while workload quota reserved
           rule: ((has(oldSelf.status) && has(oldSelf.status.conditions) && oldSelf.status.conditions.exists(c,
             c.type == 'Admitted' && c.status == 'True')) && (has(self.status) && has(self.status.conditions)
             && self.status.conditions.exists(c, c.type == 'Admitted' && c.status ==
diff --git a/config/components/crd/kustomization.yaml b/config/components/crd/kustomization.yaml
index c59e3a9a2..c5779dd70 100644
--- a/config/components/crd/kustomization.yaml
+++ b/config/components/crd/kustomization.yaml
@@ -18,9 +18,9 @@ resources:
 patches:
 # [WEBHOOK] To enable webhook, uncomment all the sections with [WEBHOOK] prefix.
 # patches here are for enabling the conversion webhook for each CRD
-#- path: patches/webhook_in_localqueues.yaml
-#- path: patches/webhook_in_clusterqueues.yaml
-#- path: patches/webhook_in_workloads.yaml
+- path: patches/webhook_in_localqueues.yaml
+- path: patches/webhook_in_clusterqueues.yaml
+- path: patches/webhook_in_workloads.yaml
 #- path: patches/webhook_in_resourceflavors.yaml
 #+kubebuilder:scaffold:crdkustomizewebhookpatch
 
diff --git a/config/components/rbac/role.yaml b/config/components/rbac/role.yaml
index cbe4c80a0..f6d955306 100644
--- a/config/components/rbac/role.yaml
+++ b/config/components/rbac/role.yaml
@@ -69,6 +69,15 @@ rules:
   - list
   - update
   - watch
+- apiGroups:
+  - apiextensions.k8s.io
+  resources:
+  - customresourcedefinitions
+  verbs:
+  - get
+  - list
+  - update
+  - watch
 - apiGroups:
   - apps
   resources:
diff --git a/pkg/util/cert/cert.go b/pkg/util/cert/cert.go
index 308c72a20..7fe7e236e 100644
--- a/pkg/util/cert/cert.go
+++ b/pkg/util/cert/cert.go
@@ -36,6 +36,7 @@ const (
 
 // +kubebuilder:rbac:groups="admissionregistration.k8s.io",resources=mutatingwebhookconfigurations,verbs=get;list;watch;update
 // +kubebuilder:rbac:groups="admissionregistration.k8s.io",resources=validatingwebhookconfigurations,verbs=get;list;watch;update
+// +kubebuilder:rbac:groups="apiextensions.k8s.io",resources=customresourcedefinitions,verbs=get;list;watch;update
 
 // ManageCerts creates all certs for webhooks. This function is called from main.go.
 func ManageCerts(mgr ctrl.Manager, cfg config.Configuration, setupFinished chan struct{}) error {
@@ -63,6 +64,15 @@ func ManageCerts(mgr ctrl.Manager, cfg config.Configuration, setupFinished chan
 		}, {
 			Type: cert.Mutating,
 			Name: mutatingWebhookName,
+		}, {
+			Type: cert.CRDConversion,
+			Name: "localqueues.kueue.x-k8s.io",
+		}, {
+			Type: cert.CRDConversion,
+			Name: "clusterqueues.kueue.x-k8s.io",
+		}, {
+			Type: cert.CRDConversion,
+			Name: "workloads.kueue.x-k8s.io",
 		}},
 		// When kueue is running in the leader election mode,
 		// we expect webhook server will run in primary and secondary instance
diff --git a/pkg/webhooks/webhooks.go b/pkg/webhooks/webhooks.go
index cb7c832bb..7c6616345 100644
--- a/pkg/webhooks/webhooks.go
+++ b/pkg/webhooks/webhooks.go
@@ -18,6 +18,8 @@ package webhooks
 
 import (
 	ctrl "sigs.k8s.io/controller-runtime"
+
+	kueue "sigs.k8s.io/kueue/apis/kueue/v1beta1"
 )
 
 // Setup sets up the webhooks for core controllers. It returns the name of the
@@ -39,5 +41,9 @@ func Setup(mgr ctrl.Manager) (string, error) {
 		return "Cohort", err
 	}
 
+	if err := ctrl.NewWebhookManagedBy(mgr).For(&kueue.LocalQueue{}).Complete(); err != nil {
+		return "LocalQueue", err
+	}
+
 	return "", nil
 }



Test patch:
diff --git a/pkg/dra/claims_test.go b/pkg/dra/claims_test.go
index 8674e4574..970784b21 100644
--- a/pkg/dra/claims_test.go
+++ b/pkg/dra/claims_test.go
@@ -17,7 +17,6 @@ limitations under the License.
 package dra_test
 
 import (
-	"context"
 	"reflect"
 	"testing"
 
@@ -257,7 +256,8 @@ func Test_GetResourceRequests(t *testing.T) {
 				tc.modifyWL(wlCopy)
 			}
 
-			got, err := dra.GetResourceRequestsForResourceClaimTemplates(context.Background(), baseClient, wlCopy)
+			ctx, _ := utiltesting.ContextWithLog(t)
+			got, err := dra.GetResourceRequestsForResourceClaimTemplates(ctx, baseClient, wlCopy)
 			if (err != nil) != tc.wantErr {
 				t.Fatalf("unexpected error status: gotErr=%v wantErr=%v, err=%v", err != nil, tc.wantErr, err)
 			}
diff --git a/pkg/util/testing/v1beta2/wrappers.go b/pkg/util/testing/v1beta2/wrappers.go
index 1b28d7d56..47a3472a4 100644
--- a/pkg/util/testing/v1beta2/wrappers.go
+++ b/pkg/util/testing/v1beta2/wrappers.go
@@ -391,7 +391,7 @@ func (w *WorkloadWrapper) MaximumExecutionTimeSeconds(v int32) *WorkloadWrapper
 }
 
 func (w *WorkloadWrapper) PastAdmittedTime(v int32) *WorkloadWrapper {
-	w.Status.AccumulatedPastExexcutionTimeSeconds = &v
+	w.Status.AccumulatedPastExecutionTimeSeconds = &v
 	return w
 }
 
@@ -862,7 +862,7 @@ func (c *ClusterQueueWrapper) Obj() *kueue.ClusterQueue {
 
 // Cohort sets the borrowing cohort.
 func (c *ClusterQueueWrapper) Cohort(cohort kueue.CohortReference) *ClusterQueueWrapper {
-	c.Spec.Cohort = cohort
+	c.Spec.CohortName = cohort
 	return c
 }
 
diff --git a/test/integration/framework/framework.go b/test/integration/framework/framework.go
index 4b9eaaeab..3af92c5bb 100644
--- a/test/integration/framework/framework.go
+++ b/test/integration/framework/framework.go
@@ -51,6 +51,8 @@ import (
 
 	config "sigs.k8s.io/kueue/apis/config/v1beta1"
 	kueue "sigs.k8s.io/kueue/apis/kueue/v1beta1"
+	kueuev1beta2 "sigs.k8s.io/kueue/apis/kueue/v1beta2"
+	"sigs.k8s.io/kueue/client-go/clientset/versioned/scheme"
 	"sigs.k8s.io/kueue/test/util"
 )
 
@@ -74,11 +76,19 @@ func (f *Framework) Init() *rest.Config {
 
 	var cfg *rest.Config
 	ginkgo.By("bootstrapping test environment", func() {
-		baseCrdPath := filepath.Join(util.GetProjectBaseDir(), "config", "components", "crd", "bases")
+		baseCrdPath := filepath.Join(util.GetProjectBaseDir(), "config", "components", "crd", "_output")
 		f.testEnv = &envtest.Environment{
 			CRDDirectoryPaths:     append(f.DepCRDPaths, baseCrdPath),
 			ErrorIfCRDPathMissing: true,
 		}
+		var err error
+		f.testEnv.Scheme = scheme.Scheme
+		err = kueue.AddToScheme(f.testEnv.Scheme)
+		gomega.ExpectWithOffset(1, err).NotTo(gomega.HaveOccurred())
+
+		err = kueuev1beta2.AddToScheme(f.testEnv.Scheme)
+		gomega.ExpectWithOffset(1, err).NotTo(gomega.HaveOccurred())
+
 		if len(f.WebhookPath) > 0 {
 			f.testEnv.WebhookInstallOptions.Paths = []string{f.WebhookPath}
 		}
@@ -97,7 +107,6 @@ func (f *Framework) Init() *rest.Config {
 			f.testEnv.ControlPlane.GetAPIServer().Err = ginkgo.GinkgoWriter
 		}
 
-		var err error
 		cfg, err = f.testEnv.Start()
 		gomega.ExpectWithOffset(1, err).NotTo(gomega.HaveOccurred())
 		gomega.ExpectWithOffset(1, cfg).NotTo(gomega.BeNil())
@@ -114,6 +123,9 @@ func (f *Framework) SetupClient(cfg *rest.Config) (context.Context, client.Clien
 	err = kueue.AddToScheme(f.scheme)
 	gomega.ExpectWithOffset(1, err).NotTo(gomega.HaveOccurred())
 
+	err = kueuev1beta2.AddToScheme(f.scheme)
+	gomega.ExpectWithOffset(1, err).NotTo(gomega.HaveOccurred())
+
 	err = awv1beta2.AddToScheme(f.scheme)
 	gomega.ExpectWithOffset(1, err).NotTo(gomega.HaveOccurred())
 
diff --git a/test/integration/multikueue/suite_test.go b/test/integration/multikueue/suite_test.go
index 9a8428d0b..9559d9157 100644
--- a/test/integration/multikueue/suite_test.go
+++ b/test/integration/multikueue/suite_test.go
@@ -82,6 +82,11 @@ var (
 	worker1TestCluster      cluster
 	worker2TestCluster      cluster
 	managersConfigNamespace *corev1.Namespace
+
+	// makes sure there is only one fwk.Init and setupClient at the same time
+	// since these functions are not thread safe due to adding to the common
+	// schema.
+	mu sync.Mutex
 )
 
 func TestMultiKueue(t *testing.T) {
@@ -106,8 +111,10 @@ func createCluster(setupFnc framework.ManagerSetup, apiFeatureGates ...string) c
 		},
 		APIServerFeatureGates: apiFeatureGates,
 	}
+	mu.Lock()
 	c.cfg = c.fwk.Init()
 	c.ctx, c.client = c.fwk.SetupClient(c.cfg)
+	mu.Unlock()
 
 	// skip the manager setup if setup func is not provided
 	if setupFnc != nil {
@@ -359,6 +366,7 @@ func managerAndMultiKueueSetup(
 var _ = ginkgo.BeforeSuite(func() {
 	var managerFeatureGates []string
 	ginkgo.By("creating the clusters", func() {
+		mu = sync.Mutex{}
 		wg := sync.WaitGroup{}
 		wg.Add(3)
 		go func() {
diff --git a/test/integration/singlecluster/conversion/conversions_v1beta2_test.go b/test/integration/singlecluster/conversion/conversions_v1beta2_test.go
new file mode 100644
index 000000000..17e2d1dda
--- /dev/null
+++ b/test/integration/singlecluster/conversion/conversions_v1beta2_test.go
@@ -0,0 +1,335 @@
+/*
+Copyright The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package conversion
+
+import (
+	"github.com/google/go-cmp/cmp/cmpopts"
+	"github.com/onsi/ginkgo/v2"
+	"github.com/onsi/gomega"
+	batchv1 "k8s.io/api/batch/v1"
+	corev1 "k8s.io/api/core/v1"
+	apimeta "k8s.io/apimachinery/pkg/api/meta"
+	"k8s.io/apimachinery/pkg/api/resource"
+	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+	"k8s.io/apimachinery/pkg/types"
+	"sigs.k8s.io/controller-runtime/pkg/client"
+
+	kueue "sigs.k8s.io/kueue/apis/kueue/v1beta2"
+	"sigs.k8s.io/kueue/pkg/controller/constants"
+	workloadjob "sigs.k8s.io/kueue/pkg/controller/jobs/job"
+	utiltestingapi "sigs.k8s.io/kueue/pkg/util/testing/v1beta2"
+	testingjob "sigs.k8s.io/kueue/pkg/util/testingjobs/job"
+	"sigs.k8s.io/kueue/test/integration/framework"
+	"sigs.k8s.io/kueue/test/util"
+)
+
+var _ = ginkgo.Describe("v1beta2 conversions", ginkgo.Ordered, ginkgo.ContinueOnFailure, func() {
+	const (
+		flavorModelC = "model-c"
+		flavorModelD = "model-d"
+
+		resourceGPU corev1.ResourceName = "example.com/gpu"
+	)
+	var (
+		ns                      *corev1.Namespace
+		localQueue              *kueue.LocalQueue
+		clusterQueues           []*kueue.ClusterQueue
+		jobs                    []*batchv1.Job
+		resourceFlavors         []kueue.ResourceFlavor
+		workloadPriorityClasses []kueue.WorkloadPriorityClass
+	)
+
+	ginkgo.BeforeEach(func() {
+		ns = util.CreateNamespaceFromPrefixWithLog(ctx, k8sClient, "core-queue-")
+	})
+
+	ginkgo.AfterEach(func() {
+		gomega.Expect(util.DeleteNamespace(ctx, k8sClient, ns)).To(gomega.Succeed())
+		for _, cq := range clusterQueues {
+			util.ExpectObjectToBeDeleted(ctx, k8sClient, cq, true)
+		}
+		for _, rf := range resourceFlavors {
+			util.ExpectObjectToBeDeleted(ctx, k8sClient, &rf, true)
+		}
+		for _, wpc := range workloadPriorityClasses {
+			util.ExpectObjectToBeDeleted(ctx, k8sClient, &wpc, true)
+		}
+	})
+
+	ginkgo.It("Should update status when workloads are created", framework.SlowSpec, func() {
+		cq1 := utiltestingapi.MakeClusterQueue("cluster-queue.queue-controller").
+			ResourceGroup(
+				*utiltestingapi.MakeFlavorQuotas(flavorModelC).Resource(resourceGPU, "2", "2").Obj(),
+				*utiltestingapi.MakeFlavorQuotas(flavorModelD).Resource(resourceGPU, "2", "2").Obj(),
+			).
+			Preemption(kueue.ClusterQueuePreemption{
+				WithinClusterQueue: kueue.PreemptionPolicyLowerPriority,
+			}).
+			Cohort("cohort").
+			Obj()
+		cq2 := utiltestingapi.MakeClusterQueue("shared-pool").
+			ResourceGroup(
+				*utiltestingapi.MakeFlavorQuotas(flavorModelC).Resource(resourceGPU, "2", "2").Obj(),
+				*utiltestingapi.MakeFlavorQuotas(flavorModelD).Resource(resourceGPU, "2", "2").Obj(),
+			).
+			Preemption(kueue.ClusterQueuePreemption{
+				WithinClusterQueue: kueue.PreemptionPolicyLowerPriority,
+			}).
+			Cohort("cohort").
+			Obj()
+		clusterQueues = []*kueue.ClusterQueue{cq1, cq2}
+
+		localQueue = utiltestingapi.MakeLocalQueue("queue", ns.Name).ClusterQueue(cq1.Name).Obj()
+		util.MustCreate(ctx, k8sClient, localQueue)
+
+		ginkgo.By("Creating resourceFlavors")
+		resourceFlavors = []kueue.ResourceFlavor{
+			*utiltestingapi.MakeResourceFlavor(flavorModelC).NodeLabel(resourceGPU.String(), flavorModelC).Obj(),
+			*utiltestingapi.MakeResourceFlavor(flavorModelD).NodeLabel(resourceGPU.String(), flavorModelD).Obj(),
+		}
+		for _, rf := range resourceFlavors {
+			util.MustCreate(ctx, k8sClient, &rf)
+		}
+
+		ginkgo.By("Creating clusterQueues")
+		for _, cq := range clusterQueues {
+			util.MustCreate(ctx, k8sClient, cq)
+		}
+
+		ginkgo.By("Verify the cohort setting on the clusterQueue")
+		gomega.Eventually(func(g gomega.Gomega) {
+			var updatedCq kueue.ClusterQueue
+			g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(clusterQueues[0]), &updatedCq)).To(gomega.Succeed())
+			g.Expect(updatedCq.Spec.CohortName).Should(gomega.Equal(kueue.CohortReference("cohort")))
+		}, util.Timeout, util.Interval).Should(gomega.Succeed())
+
+		ginkgo.By("await for the LocalQueue to be ready")
+		emptyUsage := []kueue.LocalQueueFlavorUsage{
+			{
+				Name: flavorModelC,
+				Resources: []kueue.LocalQueueResourceUsage{
+					{
+						Name:  resourceGPU,
+						Total: resource.MustParse("0"),
+					},
+				},
+			},
+			{
+				Name: flavorModelD,
+				Resources: []kueue.LocalQueueResourceUsage{
+					{
+						Name:  resourceGPU,
+						Total: resource.MustParse("0"),
+					},
+				},
+			},
+		}
+		gomega.Eventually(func(g gomega.Gomega) {
+			var updatedQueue kueue.LocalQueue
+			g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(localQueue), &updatedQueue)).To(gomega.Succeed())
+			g.Expect(updatedQueue.Status).Should(gomega.BeComparableTo(kueue.LocalQueueStatus{
+				Conditions: []metav1.Condition{
+					{
+						Type:    kueue.LocalQueueActive,
+						Status:  metav1.ConditionTrue,
+						Reason:  "Ready",
+						Message: "Can submit new workloads to localQueue",
+					},
+				},
+				FlavorsReservation: emptyUsage,
+				FlavorsUsage:       emptyUsage,
+			}, util.IgnoreConditionTimestampsAndObservedGeneration, cmpopts.IgnoreFields(kueue.LocalQueueStatus{}, "Flavors")))
+		}, util.Timeout, util.Interval).Should(gomega.Succeed())
+
+		ginkgo.By("Creating workloads wave1")
+		job1 := testingjob.MakeJob("job1", ns.Name).
+			Label(constants.QueueLabel, localQueue.Name).
+			RequestAndLimit(resourceGPU, "4").Obj()
+		util.MustCreate(ctx, k8sClient, job1)
+		jobs = append(jobs, job1)
+
+		ginkgo.By("Verify the LocalQueue flavor usage is updated correctly")
+		partUsage := []kueue.LocalQueueFlavorUsage{
+			{
+				Name: flavorModelC,
+				Resources: []kueue.LocalQueueResourceUsage{
+					{
+						Name:  resourceGPU,
+						Total: resource.MustParse("4"),
+					},
+				},
+			},
+			{
+				Name: flavorModelD,
+				Resources: []kueue.LocalQueueResourceUsage{
+					{
+						Name:  resourceGPU,
+						Total: resource.MustParse("0"),
+					},
+				},
+			},
+		}
+		gomega.Eventually(func(g gomega.Gomega) {
+			var updatedQueue kueue.LocalQueue
+			g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(localQueue), &updatedQueue)).To(gomega.Succeed())
+			g.Expect(updatedQueue.Status).Should(gomega.BeComparableTo(kueue.LocalQueueStatus{
+				ReservingWorkloads: 1,
+				AdmittedWorkloads:  1,
+				PendingWorkloads:   0,
+				FlavorsReservation: partUsage,
+				FlavorsUsage:       partUsage,
+			}, util.IgnoreConditionTimestampsAndObservedGeneration, cmpopts.IgnoreFields(kueue.LocalQueueStatus{}, "Flavors", "Conditions")))
+		}, util.Timeout, util.Interval).Should(gomega.Succeed())
+
+		ginkgo.By("Creating workloads wave2")
+		job2 := testingjob.MakeJob("job2", ns.Name).
+			Label(constants.QueueLabel, localQueue.Name).
+			RequestAndLimit(resourceGPU, "4").Obj()
+		util.MustCreate(ctx, k8sClient, job2)
+		jobs = append(jobs, job2)
+
+		ginkgo.By("Verify the LocalQueue flavor usage is updated correctly")
+		fullUsage := []kueue.LocalQueueFlavorUsage{
+			{
+				Name: flavorModelC,
+				Resources: []kueue.LocalQueueResourceUsage{
+					{
+						Name:  resourceGPU,
+						Total: resource.MustParse("4"),
+					},
+				},
+			},
+			{
+				Name: flavorModelD,
+				Resources: []kueue.LocalQueueResourceUsage{
+					{
+						Name:  resourceGPU,
+						Total: resource.MustParse("4"),
+					},
+				},
+			},
+		}
+		gomega.Eventually(func(g gomega.Gomega) {
+			var updatedQueue kueue.LocalQueue
+			g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(localQueue), &updatedQueue)).To(gomega.Succeed())
+			g.Expect(updatedQueue.Status).Should(gomega.BeComparableTo(kueue.LocalQueueStatus{
+				ReservingWorkloads: 2,
+				AdmittedWorkloads:  2,
+				PendingWorkloads:   0,
+				Conditions: []metav1.Condition{
+					{
+						Type:    kueue.LocalQueueActive,
+						Status:  metav1.ConditionTrue,
+						Reason:  "Ready",
+						Message: "Can submit new workloads to localQueue",
+					},
+				},
+				FlavorsReservation: fullUsage,
+				FlavorsUsage:       fullUsage,
+			}, util.IgnoreConditionTimestampsAndObservedGeneration, cmpopts.IgnoreFields(kueue.LocalQueueStatus{}, "Flavors")))
+		}, util.Timeout, util.Interval).Should(gomega.Succeed())
+	})
+
+	ginkgo.It("Should correctly accout for Workload accumulated execution time", framework.SlowSpec, func() {
+		highWorkloadPriorityClass := utiltestingapi.MakeWorkloadPriorityClass("high-workload").PriorityValue(100).Obj()
+		util.MustCreate(ctx, k8sClient, highWorkloadPriorityClass)
+		workloadPriorityClasses = append(workloadPriorityClasses, *highWorkloadPriorityClass)
+
+		ginkgo.By("Creating resourceFlavors")
+		resourceFlavors = []kueue.ResourceFlavor{
+			*utiltestingapi.MakeResourceFlavor(flavorModelC).NodeLabel(resourceGPU.String(), flavorModelC).Obj(),
+		}
+		for _, rf := range resourceFlavors {
+			util.MustCreate(ctx, k8sClient, &rf)
+		}
+
+		ginkgo.By("Creating clusterQueues")
+		cq1 := utiltestingapi.MakeClusterQueue("cluster-queue.queue-controller").
+			ResourceGroup(
+				*utiltestingapi.MakeFlavorQuotas(flavorModelC).Resource(resourceGPU, "2").Obj(),
+			).
+			Preemption(kueue.ClusterQueuePreemption{
+				WithinClusterQueue: kueue.PreemptionPolicyLowerPriority,
+			}).
+			Obj()
+		clusterQueues = []*kueue.ClusterQueue{cq1}
+
+		for _, cq := range clusterQueues {
+			util.MustCreate(ctx, k8sClient, cq)
+		}
+
+		ginkgo.By("creating LocalQueue")
+		localQueue = utiltestingapi.MakeLocalQueue("queue", ns.Name).ClusterQueue(cq1.Name).Obj()
+		util.MustCreate(ctx, k8sClient, localQueue)
+
+		ginkgo.By("await for the LocalQueue to be ready")
+		gomega.Eventually(func(g gomega.Gomega) {
+			var updatedQueue kueue.LocalQueue
+			g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(localQueue), &updatedQueue)).To(gomega.Succeed())
+			g.Expect(updatedQueue.Status).Should(gomega.BeComparableTo(kueue.LocalQueueStatus{
+				Conditions: []metav1.Condition{
+					{
+						Type:    kueue.LocalQueueActive,
+						Status:  metav1.ConditionTrue,
+						Reason:  "Ready",
+						Message: "Can submit new workloads to localQueue",
+					},
+				},
+			}, util.IgnoreConditionTimestampsAndObservedGeneration, cmpopts.IgnoreFields(kueue.LocalQueueStatus{}, "Flavors", "FlavorsReservation", "FlavorsUsage")))
+		}, util.Timeout, util.Interval).Should(gomega.Succeed())
+
+		ginkgo.By("Creating workload1")
+		job1 := testingjob.MakeJob("job1", ns.Name).
+			Label(constants.QueueLabel, localQueue.Name).
+			Label(constants.MaxExecTimeSecondsLabel, "30").
+			RequestAndLimit(resourceGPU, "2").Obj()
+		util.MustCreate(ctx, k8sClient, job1)
+		jobs = append(jobs, job1)
+
+		ginkgo.By("Verify the LocalQueue has the workload admitted")
+		gomega.Eventually(func(g gomega.Gomega) {
+			var updatedQueue kueue.LocalQueue
+			g.Expect(k8sClient.Get(ctx, client.ObjectKeyFromObject(localQueue), &updatedQueue)).To(gomega.Succeed())
+			g.Expect(updatedQueue.Status).Should(gomega.BeComparableTo(kueue.LocalQueueStatus{
+				ReservingWorkloads: 1,
+				AdmittedWorkloads:  1,
+				PendingWorkloads:   0,
+			}, util.IgnoreConditionTimestampsAndObservedGeneration, cmpopts.IgnoreFields(kueue.LocalQueueStatus{}, "Flavors", "FlavorsReservation", "FlavorsUsage", "Conditions")))
+		}, util.Timeout, util.Interval).Should(gomega.Succeed())
+
+		ginkgo.By("Creating workload2")
+		job2 := testingjob.MakeJob("job2", ns.Name).
+			Label(constants.QueueLabel, localQueue.Name).
+			WorkloadPriorityClass("high-workload").
+			RequestAndLimit(resourceGPU, "2").Obj()
+		util.MustCreate(ctx, k8sClient, job2)
+		jobs = append(jobs, job2)
+
+		wlLookupKey := types.NamespacedName{Name: workloadjob.GetWorkloadNameForJob(job1.Name, job1.UID), Namespace: ns.Name}
+
+		ginkgo.By("Verify workload2 is correct")
+		gomega.Eventually(func(g gomega.Gomega) {
+			var updatedWl kueue.Workload
+			g.Expect(k8sClient.Get(ctx, wlLookupKey, &updatedWl)).To(gomega.Succeed())
+			g.Expect(apimeta.IsStatusConditionTrue(updatedWl.Status.Conditions, kueue.WorkloadAdmitted)).Should(gomega.BeFalse())
+			g.Expect(apimeta.IsStatusConditionTrue(updatedWl.Status.Conditions, kueue.WorkloadQuotaReserved)).Should(gomega.BeFalse())
+			g.Expect(apimeta.IsStatusConditionTrue(updatedWl.Status.Conditions, kueue.WorkloadEvicted)).Should(gomega.BeTrue())
+			g.Expect(updatedWl.Spec.MaximumExecutionTimeSeconds).ShouldNot(gomega.BeNil())
+			g.Expect(updatedWl.Status.AccumulatedPastExecutionTimeSeconds).ShouldNot(gomega.BeNil())
+		}, util.Timeout, util.Interval).Should(gomega.Succeed())
+	})
+})
diff --git a/test/integration/singlecluster/conversion/suite_test.go b/test/integration/singlecluster/conversion/suite_test.go
new file mode 100644
index 000000000..6d902a589
--- /dev/null
+++ b/test/integration/singlecluster/conversion/suite_test.go
@@ -0,0 +1,104 @@
+/*
+Copyright The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package conversion
+
+import (
+	"context"
+	"testing"
+
+	"github.com/onsi/ginkgo/v2"
+	"github.com/onsi/gomega"
+	"k8s.io/client-go/rest"
+	"sigs.k8s.io/controller-runtime/pkg/client"
+	"sigs.k8s.io/controller-runtime/pkg/manager"
+
+	config "sigs.k8s.io/kueue/apis/config/v1beta1"
+	qcache "sigs.k8s.io/kueue/pkg/cache/queue"
+	schdcache "sigs.k8s.io/kueue/pkg/cache/scheduler"
+	"sigs.k8s.io/kueue/pkg/constants"
+	"sigs.k8s.io/kueue/pkg/controller/core"
+	"sigs.k8s.io/kueue/pkg/controller/core/indexer"
+	"sigs.k8s.io/kueue/pkg/controller/jobframework"
+	workloadjob "sigs.k8s.io/kueue/pkg/controller/jobs/job"
+	"sigs.k8s.io/kueue/pkg/scheduler"
+	"sigs.k8s.io/kueue/pkg/webhooks"
+	"sigs.k8s.io/kueue/test/integration/framework"
+	"sigs.k8s.io/kueue/test/util"
+)
+
+var (
+	cfg       *rest.Config
+	k8sClient client.Client
+	ctx       context.Context
+	fwk       *framework.Framework
+)
+
+func TestConversion(t *testing.T) {
+	gomega.RegisterFailHandler(ginkgo.Fail)
+
+	ginkgo.RunSpecs(t,
+		"Conversion Suite",
+	)
+}
+
+var _ = ginkgo.BeforeSuite(func() {
+	fwk = &framework.Framework{
+		WebhookPath: util.WebhookPath,
+	}
+	cfg = fwk.Init()
+	ctx, k8sClient = fwk.SetupClient(cfg)
+	fwk.StartManager(ctx, cfg, managerAndSchedulerSetup)
+})
+
+var _ = ginkgo.AfterSuite(func() {
+	fwk.Teardown()
+})
+
+func managerAndSchedulerSetup(ctx context.Context, mgr manager.Manager) {
+	err := indexer.Setup(ctx, mgr.GetFieldIndexer())
+	gomega.Expect(err).NotTo(gomega.HaveOccurred())
+
+	cCache := schdcache.New(mgr.GetClient())
+	queues := qcache.NewManager(mgr.GetClient(), cCache)
+
+	configuration := &config.Configuration{}
+	mgr.GetScheme().Default(configuration)
+
+	failedCtrl, err := core.SetupControllers(mgr, queues, cCache, configuration)
+	gomega.Expect(err).ToNot(gomega.HaveOccurred(), "controller", failedCtrl)
+
+	failedWebhook, err := webhooks.Setup(mgr)
+	gomega.Expect(err).ToNot(gomega.HaveOccurred(), "webhook", failedWebhook)
+
+	jobReconciler, err := workloadjob.NewReconciler(
+		ctx,
+		mgr.GetClient(),
+		mgr.GetFieldIndexer(),
+		mgr.GetEventRecorderFor(constants.JobControllerName))
+	gomega.Expect(err).NotTo(gomega.HaveOccurred())
+	err = workloadjob.SetupIndexes(ctx, mgr.GetFieldIndexer())
+	gomega.Expect(err).NotTo(gomega.HaveOccurred())
+	err = jobReconciler.SetupWithManager(mgr)
+	gomega.Expect(err).NotTo(gomega.HaveOccurred())
+	err = workloadjob.SetupWebhook(mgr, jobframework.WithCache(cCache), jobframework.WithQueues(queues))
+	gomega.Expect(err).NotTo(gomega.HaveOccurred())
+	jobframework.EnableIntegration(workloadjob.FrameworkName)
+
+	sched := scheduler.New(queues, cCache, mgr.GetClient(), mgr.GetEventRecorderFor(constants.AdmissionName))
+	err = sched.Start(ctx)
+	gomega.Expect(err).NotTo(gomega.HaveOccurred())
+}