diff --git a/Makefile b/Makefile index 94b3a10..554ffe2 100644 --- a/Makefile +++ b/Makefile @@ -103,4 +103,4 @@ bin/kubebuilder: .PHONY: lint lint: bin/golangci-lint ## Run golangci-lint linter $(GOLANGCI_LINT) run --new-from-rev=origin/master - cd v2 && $(GOLANGCI_LINT) run --new-from-rev=origin/master + cd v2 && ../$(GOLANGCI_LINT) run --new-from-rev=origin/master diff --git a/hack/update-codegen.sh b/hack/update-codegen.sh index 6fa0820..0d624a4 100755 --- a/hack/update-codegen.sh +++ b/hack/update-codegen.sh @@ -53,6 +53,6 @@ chmod +x ${CODEGEN_PKG}/generate-groups.sh ${CODEGEN_PKG}/generate-groups.sh "deepcopy,client,informer,lister" \ github.com/kubeflow/mpi-operator/v2/pkg/client github.com/kubeflow/mpi-operator/v2/pkg/apis \ - kubeflow:v2 --go-header-file ${SCRIPT_ROOT}/hack/custom-boilerplate.go.txt + kubeflow:v2beta1 --go-header-file ${SCRIPT_ROOT}/hack/custom-boilerplate.go.txt popd \ No newline at end of file diff --git a/manifests/base/crd.yaml b/manifests/base/crd.yaml index 6ffe862..aff74dc 100644 --- a/manifests/base/crd.yaml +++ b/manifests/base/crd.yaml @@ -149,7 +149,7 @@ spec: properties: replicas: type: integer - - name: v2 + - name: v2beta1 served: true storage: true schema: diff --git a/v2/cmd/mpi-operator/app/options/options.go b/v2/cmd/mpi-operator/app/options/options.go index 1894267..c659287 100644 --- a/v2/cmd/mpi-operator/app/options/options.go +++ b/v2/cmd/mpi-operator/app/options/options.go @@ -18,7 +18,7 @@ import ( "flag" "os" - v2 "github.com/kubeflow/mpi-operator/v2/pkg/apis/kubeflow/v2" + "github.com/kubeflow/mpi-operator/v2/pkg/apis/kubeflow/v2beta1" ) // ServerOption is the main context object for the controller manager. @@ -50,7 +50,7 @@ func (s *ServerOption) AddFlags(fs *flag.FlagSet) { fs.StringVar(&s.Kubeconfig, "kubeConfig", "", "Path to a kubeConfig. Only required if out-of-cluster.") - fs.StringVar(&s.Namespace, "namespace", os.Getenv(v2.EnvKubeflowNamespace), + fs.StringVar(&s.Namespace, "namespace", os.Getenv(v2beta1.EnvKubeflowNamespace), `The namespace to monitor mpijobs. If unset, it monitors all namespaces cluster-wide. If set, it only monitors mpijobs in the given namespace.`) diff --git a/v2/cmd/mpi-operator/app/server.go b/v2/cmd/mpi-operator/app/server.go index d924bb6..9d17b2a 100644 --- a/v2/cmd/mpi-operator/app/server.go +++ b/v2/cmd/mpi-operator/app/server.go @@ -159,7 +159,7 @@ func Run(opt *options.ServerOption) error { kubeInformerFactory.Core().V1().Services(), kubeInformerFactory.Core().V1().Pods(), podgroupsInformer, - kubeflowInformerFactory.Kubeflow().V2().MPIJobs(), + kubeflowInformerFactory.Kubeflow().V2beta1().MPIJobs(), opt.GangSchedulingName) go kubeInformerFactory.Start(ctx.Done()) @@ -284,7 +284,7 @@ func createClientSets(config *restclientset.Config) (kubeclientset.Interface, ku } func checkCRDExists(clientset mpijobclientset.Interface, namespace string) bool { - _, err := clientset.KubeflowV2().MPIJobs(namespace).List(context.TODO(), metav1.ListOptions{}) + _, err := clientset.KubeflowV2beta1().MPIJobs(namespace).List(context.TODO(), metav1.ListOptions{}) if err != nil { klog.Error(err) diff --git a/v2/pkg/apis/kubeflow/v2/constants.go b/v2/pkg/apis/kubeflow/v2beta1/constants.go similarity index 98% rename from v2/pkg/apis/kubeflow/v2/constants.go rename to v2/pkg/apis/kubeflow/v2beta1/constants.go index a88a916..354090c 100644 --- a/v2/pkg/apis/kubeflow/v2/constants.go +++ b/v2/pkg/apis/kubeflow/v2beta1/constants.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package v2 +package v2beta1 import common "github.com/kubeflow/common/pkg/apis/common/v1" diff --git a/v2/pkg/apis/kubeflow/v2/default.go b/v2/pkg/apis/kubeflow/v2beta1/default.go similarity index 99% rename from v2/pkg/apis/kubeflow/v2/default.go rename to v2/pkg/apis/kubeflow/v2beta1/default.go index 93ff58d..659314d 100644 --- a/v2/pkg/apis/kubeflow/v2/default.go +++ b/v2/pkg/apis/kubeflow/v2beta1/default.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package v2 +package v2beta1 import ( common "github.com/kubeflow/common/pkg/apis/common/v1" diff --git a/v2/pkg/apis/kubeflow/v2/default_test.go b/v2/pkg/apis/kubeflow/v2beta1/default_test.go similarity index 99% rename from v2/pkg/apis/kubeflow/v2/default_test.go rename to v2/pkg/apis/kubeflow/v2beta1/default_test.go index e29205d..0f45287 100644 --- a/v2/pkg/apis/kubeflow/v2/default_test.go +++ b/v2/pkg/apis/kubeflow/v2beta1/default_test.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package v2 +package v2beta1 import ( "testing" diff --git a/v2/pkg/apis/kubeflow/v2/doc.go b/v2/pkg/apis/kubeflow/v2beta1/doc.go similarity index 97% rename from v2/pkg/apis/kubeflow/v2/doc.go rename to v2/pkg/apis/kubeflow/v2beta1/doc.go index e35e982..fb51bc8 100644 --- a/v2/pkg/apis/kubeflow/v2/doc.go +++ b/v2/pkg/apis/kubeflow/v2beta1/doc.go @@ -18,4 +18,4 @@ // Package v1 is the v1 version of the API. // +groupName=kubeflow.org -package v2 +package v2beta1 diff --git a/v2/pkg/apis/kubeflow/v2/openapi_generated.go b/v2/pkg/apis/kubeflow/v2beta1/openapi_generated.go similarity index 99% rename from v2/pkg/apis/kubeflow/v2/openapi_generated.go rename to v2/pkg/apis/kubeflow/v2beta1/openapi_generated.go index ebaea6c..a6e35be 100644 --- a/v2/pkg/apis/kubeflow/v2/openapi_generated.go +++ b/v2/pkg/apis/kubeflow/v2beta1/openapi_generated.go @@ -18,7 +18,7 @@ // This file was autogenerated by openapi-gen. Do not edit it manually! -package v2 +package v2beta1 import ( spec "github.com/go-openapi/spec" diff --git a/v2/pkg/apis/kubeflow/v2/register.go b/v2/pkg/apis/kubeflow/v2beta1/register.go similarity index 97% rename from v2/pkg/apis/kubeflow/v2/register.go rename to v2/pkg/apis/kubeflow/v2beta1/register.go index f249837..fc14b70 100644 --- a/v2/pkg/apis/kubeflow/v2/register.go +++ b/v2/pkg/apis/kubeflow/v2beta1/register.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package v2 +package v2beta1 import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -26,7 +26,7 @@ const ( // Kind is the kind name. Kind = "MPIJob" // GroupVersion is the version. - GroupVersion = "v2" + GroupVersion = "v2beta1" ) var ( diff --git a/v2/pkg/apis/kubeflow/v2/swagger.json b/v2/pkg/apis/kubeflow/v2beta1/swagger.json similarity index 100% rename from v2/pkg/apis/kubeflow/v2/swagger.json rename to v2/pkg/apis/kubeflow/v2beta1/swagger.json diff --git a/v2/pkg/apis/kubeflow/v2/types.go b/v2/pkg/apis/kubeflow/v2beta1/types.go similarity index 99% rename from v2/pkg/apis/kubeflow/v2/types.go rename to v2/pkg/apis/kubeflow/v2beta1/types.go index 94ff42a..84d4a13 100644 --- a/v2/pkg/apis/kubeflow/v2/types.go +++ b/v2/pkg/apis/kubeflow/v2beta1/types.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package v2 +package v2beta1 import ( common "github.com/kubeflow/common/pkg/apis/common/v1" diff --git a/v2/pkg/apis/kubeflow/v2/zz_generated.deepcopy.go b/v2/pkg/apis/kubeflow/v2beta1/zz_generated.deepcopy.go similarity index 99% rename from v2/pkg/apis/kubeflow/v2/zz_generated.deepcopy.go rename to v2/pkg/apis/kubeflow/v2beta1/zz_generated.deepcopy.go index fe2d8ab..61fb12a 100644 --- a/v2/pkg/apis/kubeflow/v2/zz_generated.deepcopy.go +++ b/v2/pkg/apis/kubeflow/v2beta1/zz_generated.deepcopy.go @@ -16,7 +16,7 @@ // Code generated by deepcopy-gen. DO NOT EDIT. -package v2 +package v2beta1 import ( v1 "github.com/kubeflow/common/pkg/apis/common/v1" diff --git a/v2/pkg/apis/kubeflow/v2/zz_generated.defaults.go b/v2/pkg/apis/kubeflow/v2beta1/zz_generated.defaults.go similarity index 98% rename from v2/pkg/apis/kubeflow/v2/zz_generated.defaults.go rename to v2/pkg/apis/kubeflow/v2beta1/zz_generated.defaults.go index 3ec3dd9..b07cc5d 100644 --- a/v2/pkg/apis/kubeflow/v2/zz_generated.defaults.go +++ b/v2/pkg/apis/kubeflow/v2beta1/zz_generated.defaults.go @@ -16,7 +16,7 @@ // Code generated by defaulter-gen. DO NOT EDIT. -package v2 +package v2beta1 import ( runtime "k8s.io/apimachinery/pkg/runtime" diff --git a/v2/pkg/apis/kubeflow/validation/validation.go b/v2/pkg/apis/kubeflow/validation/validation.go index 2be6ddd..a73abdc 100644 --- a/v2/pkg/apis/kubeflow/validation/validation.go +++ b/v2/pkg/apis/kubeflow/validation/validation.go @@ -17,11 +17,12 @@ package validation import ( "fmt" - common "github.com/kubeflow/common/pkg/apis/common/v1" - v2 "github.com/kubeflow/mpi-operator/v2/pkg/apis/kubeflow/v2" apivalidation "k8s.io/apimachinery/pkg/api/validation" "k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/util/validation/field" + + common "github.com/kubeflow/common/pkg/apis/common/v1" + kubeflow "github.com/kubeflow/mpi-operator/v2/pkg/apis/kubeflow/v2beta1" ) var validCleanPolicies = sets.NewString( @@ -29,11 +30,11 @@ var validCleanPolicies = sets.NewString( string(common.CleanPodPolicyRunning), string(common.CleanPodPolicyAll)) -func ValidateMPIJob(job *v2.MPIJob) field.ErrorList { +func ValidateMPIJob(job *kubeflow.MPIJob) field.ErrorList { return validateMPIJobSpec(&job.Spec, field.NewPath("spec")) } -func validateMPIJobSpec(spec *v2.MPIJobSpec, path *field.Path) field.ErrorList { +func validateMPIJobSpec(spec *kubeflow.MPIJobSpec, path *field.Path) field.ErrorList { errs := validateMPIReplicaSpecs(spec.MPIReplicaSpecs, path.Child("mpiReplicaSpecs")) if spec.SlotsPerWorker == nil { errs = append(errs, field.Required(path.Child("slotsPerWorker"), "must have number of slots per worker")) @@ -48,21 +49,21 @@ func validateMPIJobSpec(spec *v2.MPIJobSpec, path *field.Path) field.ErrorList { return errs } -func validateMPIReplicaSpecs(replicaSpecs map[v2.MPIReplicaType]*common.ReplicaSpec, path *field.Path) field.ErrorList { +func validateMPIReplicaSpecs(replicaSpecs map[kubeflow.MPIReplicaType]*common.ReplicaSpec, path *field.Path) field.ErrorList { var errs field.ErrorList if replicaSpecs == nil { errs = append(errs, field.Required(path, "must have replica specs")) return errs } - errs = append(errs, validateLauncherReplicaSpec(replicaSpecs[v2.MPIReplicaTypeLauncher], path.Key(string(v2.MPIReplicaTypeLauncher)))...) - errs = append(errs, validateWorkerReplicaSpec(replicaSpecs[v2.MPIReplicaTypeWorker], path.Key(string(v2.MPIReplicaTypeWorker)))...) + errs = append(errs, validateLauncherReplicaSpec(replicaSpecs[kubeflow.MPIReplicaTypeLauncher], path.Key(string(kubeflow.MPIReplicaTypeLauncher)))...) + errs = append(errs, validateWorkerReplicaSpec(replicaSpecs[kubeflow.MPIReplicaTypeWorker], path.Key(string(kubeflow.MPIReplicaTypeWorker)))...) return errs } func validateLauncherReplicaSpec(spec *common.ReplicaSpec, path *field.Path) field.ErrorList { var errs field.ErrorList if spec == nil { - errs = append(errs, field.Required(path, fmt.Sprintf("must have %s replica spec", v2.MPIReplicaTypeLauncher))) + errs = append(errs, field.Required(path, fmt.Sprintf("must have %s replica spec", kubeflow.MPIReplicaTypeLauncher))) return errs } errs = append(errs, validateReplicaSpec(spec, path)...) diff --git a/v2/pkg/apis/kubeflow/validation/validation_test.go b/v2/pkg/apis/kubeflow/validation/validation_test.go index 7a997d7..86e4e11 100644 --- a/v2/pkg/apis/kubeflow/validation/validation_test.go +++ b/v2/pkg/apis/kubeflow/validation/validation_test.go @@ -20,23 +20,23 @@ import ( "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" common "github.com/kubeflow/common/pkg/apis/common/v1" - "github.com/kubeflow/mpi-operator/v2/pkg/apis/kubeflow/v2" + "github.com/kubeflow/mpi-operator/v2/pkg/apis/kubeflow/v2beta1" corev1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/util/validation/field" ) func TestValidateMPIJob(t *testing.T) { cases := map[string]struct { - job v2.MPIJob + job v2beta1.MPIJob wantErrs field.ErrorList }{ "valid": { - job: v2.MPIJob{ - Spec: v2.MPIJobSpec{ + job: v2beta1.MPIJob{ + Spec: v2beta1.MPIJobSpec{ SlotsPerWorker: newInt32(2), CleanPodPolicy: newCleanPodPolicy(common.CleanPodPolicyRunning), - MPIReplicaSpecs: map[v2.MPIReplicaType]*common.ReplicaSpec{ - v2.MPIReplicaTypeLauncher: { + MPIReplicaSpecs: map[v2beta1.MPIReplicaType]*common.ReplicaSpec{ + v2beta1.MPIReplicaTypeLauncher: { Replicas: newInt32(1), Template: corev1.PodTemplateSpec{ Spec: corev1.PodSpec{ @@ -49,12 +49,12 @@ func TestValidateMPIJob(t *testing.T) { }, }, "valid with worker": { - job: v2.MPIJob{ - Spec: v2.MPIJobSpec{ + job: v2beta1.MPIJob{ + Spec: v2beta1.MPIJobSpec{ SlotsPerWorker: newInt32(2), CleanPodPolicy: newCleanPodPolicy(common.CleanPodPolicyRunning), - MPIReplicaSpecs: map[v2.MPIReplicaType]*common.ReplicaSpec{ - v2.MPIReplicaTypeLauncher: { + MPIReplicaSpecs: map[v2beta1.MPIReplicaType]*common.ReplicaSpec{ + v2beta1.MPIReplicaTypeLauncher: { Replicas: newInt32(1), Template: corev1.PodTemplateSpec{ Spec: corev1.PodSpec{ @@ -62,7 +62,7 @@ func TestValidateMPIJob(t *testing.T) { }, }, }, - v2.MPIReplicaTypeWorker: { + v2beta1.MPIReplicaTypeWorker: { Replicas: newInt32(3), Template: corev1.PodTemplateSpec{ Spec: corev1.PodSpec{ @@ -91,11 +91,11 @@ func TestValidateMPIJob(t *testing.T) { }, }, "empty replica specs": { - job: v2.MPIJob{ - Spec: v2.MPIJobSpec{ + job: v2beta1.MPIJob{ + Spec: v2beta1.MPIJobSpec{ SlotsPerWorker: newInt32(2), CleanPodPolicy: newCleanPodPolicy(common.CleanPodPolicyRunning), - MPIReplicaSpecs: map[v2.MPIReplicaType]*common.ReplicaSpec{}, + MPIReplicaSpecs: map[v2beta1.MPIReplicaType]*common.ReplicaSpec{}, }, }, wantErrs: field.ErrorList{ @@ -106,13 +106,13 @@ func TestValidateMPIJob(t *testing.T) { }, }, "missing replica spec fields": { - job: v2.MPIJob{ - Spec: v2.MPIJobSpec{ + job: v2beta1.MPIJob{ + Spec: v2beta1.MPIJobSpec{ SlotsPerWorker: newInt32(2), CleanPodPolicy: newCleanPodPolicy(common.CleanPodPolicyRunning), - MPIReplicaSpecs: map[v2.MPIReplicaType]*common.ReplicaSpec{ - v2.MPIReplicaTypeLauncher: {}, - v2.MPIReplicaTypeWorker: {}, + MPIReplicaSpecs: map[v2beta1.MPIReplicaType]*common.ReplicaSpec{ + v2beta1.MPIReplicaTypeLauncher: {}, + v2beta1.MPIReplicaTypeWorker: {}, }, }, }, diff --git a/v2/pkg/client/clientset/versioned/clientset.go b/v2/pkg/client/clientset/versioned/clientset.go index 3d4ff09..f42befe 100644 --- a/v2/pkg/client/clientset/versioned/clientset.go +++ b/v2/pkg/client/clientset/versioned/clientset.go @@ -19,7 +19,7 @@ package versioned import ( "fmt" - kubeflowv2 "github.com/kubeflow/mpi-operator/v2/pkg/client/clientset/versioned/typed/kubeflow/v2" + kubeflowv2beta1 "github.com/kubeflow/mpi-operator/v2/pkg/client/clientset/versioned/typed/kubeflow/v2beta1" discovery "k8s.io/client-go/discovery" rest "k8s.io/client-go/rest" flowcontrol "k8s.io/client-go/util/flowcontrol" @@ -27,19 +27,19 @@ import ( type Interface interface { Discovery() discovery.DiscoveryInterface - KubeflowV2() kubeflowv2.KubeflowV2Interface + KubeflowV2beta1() kubeflowv2beta1.KubeflowV2beta1Interface } // Clientset contains the clients for groups. Each group has exactly one // version included in a Clientset. type Clientset struct { *discovery.DiscoveryClient - kubeflowV2 *kubeflowv2.KubeflowV2Client + kubeflowV2beta1 *kubeflowv2beta1.KubeflowV2beta1Client } -// KubeflowV2 retrieves the KubeflowV2Client -func (c *Clientset) KubeflowV2() kubeflowv2.KubeflowV2Interface { - return c.kubeflowV2 +// KubeflowV2beta1 retrieves the KubeflowV2beta1Client +func (c *Clientset) KubeflowV2beta1() kubeflowv2beta1.KubeflowV2beta1Interface { + return c.kubeflowV2beta1 } // Discovery retrieves the DiscoveryClient @@ -63,7 +63,7 @@ func NewForConfig(c *rest.Config) (*Clientset, error) { } var cs Clientset var err error - cs.kubeflowV2, err = kubeflowv2.NewForConfig(&configShallowCopy) + cs.kubeflowV2beta1, err = kubeflowv2beta1.NewForConfig(&configShallowCopy) if err != nil { return nil, err } @@ -79,7 +79,7 @@ func NewForConfig(c *rest.Config) (*Clientset, error) { // panics if there is an error in the config. func NewForConfigOrDie(c *rest.Config) *Clientset { var cs Clientset - cs.kubeflowV2 = kubeflowv2.NewForConfigOrDie(c) + cs.kubeflowV2beta1 = kubeflowv2beta1.NewForConfigOrDie(c) cs.DiscoveryClient = discovery.NewDiscoveryClientForConfigOrDie(c) return &cs @@ -88,7 +88,7 @@ func NewForConfigOrDie(c *rest.Config) *Clientset { // New creates a new Clientset for the given RESTClient. func New(c rest.Interface) *Clientset { var cs Clientset - cs.kubeflowV2 = kubeflowv2.New(c) + cs.kubeflowV2beta1 = kubeflowv2beta1.New(c) cs.DiscoveryClient = discovery.NewDiscoveryClient(c) return &cs diff --git a/v2/pkg/client/clientset/versioned/fake/clientset_generated.go b/v2/pkg/client/clientset/versioned/fake/clientset_generated.go index 8442480..606245c 100644 --- a/v2/pkg/client/clientset/versioned/fake/clientset_generated.go +++ b/v2/pkg/client/clientset/versioned/fake/clientset_generated.go @@ -18,8 +18,8 @@ package fake import ( clientset "github.com/kubeflow/mpi-operator/v2/pkg/client/clientset/versioned" - kubeflowv2 "github.com/kubeflow/mpi-operator/v2/pkg/client/clientset/versioned/typed/kubeflow/v2" - fakekubeflowv2 "github.com/kubeflow/mpi-operator/v2/pkg/client/clientset/versioned/typed/kubeflow/v2/fake" + kubeflowv2beta1 "github.com/kubeflow/mpi-operator/v2/pkg/client/clientset/versioned/typed/kubeflow/v2beta1" + fakekubeflowv2beta1 "github.com/kubeflow/mpi-operator/v2/pkg/client/clientset/versioned/typed/kubeflow/v2beta1/fake" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/watch" "k8s.io/client-go/discovery" @@ -74,7 +74,7 @@ func (c *Clientset) Tracker() testing.ObjectTracker { var _ clientset.Interface = &Clientset{} -// KubeflowV2 retrieves the KubeflowV2Client -func (c *Clientset) KubeflowV2() kubeflowv2.KubeflowV2Interface { - return &fakekubeflowv2.FakeKubeflowV2{Fake: &c.Fake} +// KubeflowV2beta1 retrieves the KubeflowV2beta1Client +func (c *Clientset) KubeflowV2beta1() kubeflowv2beta1.KubeflowV2beta1Interface { + return &fakekubeflowv2beta1.FakeKubeflowV2beta1{Fake: &c.Fake} } diff --git a/v2/pkg/client/clientset/versioned/fake/register.go b/v2/pkg/client/clientset/versioned/fake/register.go index bd8f6a0..77f0af4 100644 --- a/v2/pkg/client/clientset/versioned/fake/register.go +++ b/v2/pkg/client/clientset/versioned/fake/register.go @@ -17,7 +17,7 @@ package fake import ( - kubeflowv2 "github.com/kubeflow/mpi-operator/v2/pkg/apis/kubeflow/v2" + kubeflowv2beta1 "github.com/kubeflow/mpi-operator/v2/pkg/apis/kubeflow/v2beta1" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" schema "k8s.io/apimachinery/pkg/runtime/schema" @@ -29,7 +29,7 @@ var scheme = runtime.NewScheme() var codecs = serializer.NewCodecFactory(scheme) var localSchemeBuilder = runtime.SchemeBuilder{ - kubeflowv2.AddToScheme, + kubeflowv2beta1.AddToScheme, } // AddToScheme adds all types of this clientset into the given scheme. This allows composition diff --git a/v2/pkg/client/clientset/versioned/scheme/register.go b/v2/pkg/client/clientset/versioned/scheme/register.go index b245805..69ecf9d 100644 --- a/v2/pkg/client/clientset/versioned/scheme/register.go +++ b/v2/pkg/client/clientset/versioned/scheme/register.go @@ -17,7 +17,7 @@ package scheme import ( - kubeflowv2 "github.com/kubeflow/mpi-operator/v2/pkg/apis/kubeflow/v2" + kubeflowv2beta1 "github.com/kubeflow/mpi-operator/v2/pkg/apis/kubeflow/v2beta1" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" schema "k8s.io/apimachinery/pkg/runtime/schema" @@ -29,7 +29,7 @@ var Scheme = runtime.NewScheme() var Codecs = serializer.NewCodecFactory(Scheme) var ParameterCodec = runtime.NewParameterCodec(Scheme) var localSchemeBuilder = runtime.SchemeBuilder{ - kubeflowv2.AddToScheme, + kubeflowv2beta1.AddToScheme, } // AddToScheme adds all types of this clientset into the given scheme. This allows composition diff --git a/v2/pkg/client/clientset/versioned/typed/kubeflow/v2/doc.go b/v2/pkg/client/clientset/versioned/typed/kubeflow/v2beta1/doc.go similarity index 97% rename from v2/pkg/client/clientset/versioned/typed/kubeflow/v2/doc.go rename to v2/pkg/client/clientset/versioned/typed/kubeflow/v2beta1/doc.go index 1806c8a..1bf0d8c 100644 --- a/v2/pkg/client/clientset/versioned/typed/kubeflow/v2/doc.go +++ b/v2/pkg/client/clientset/versioned/typed/kubeflow/v2beta1/doc.go @@ -15,4 +15,4 @@ // Code generated by client-gen. DO NOT EDIT. // This package has the automatically generated typed clients. -package v2 +package v2beta1 diff --git a/v2/pkg/client/clientset/versioned/typed/kubeflow/v2/fake/doc.go b/v2/pkg/client/clientset/versioned/typed/kubeflow/v2beta1/fake/doc.go similarity index 100% rename from v2/pkg/client/clientset/versioned/typed/kubeflow/v2/fake/doc.go rename to v2/pkg/client/clientset/versioned/typed/kubeflow/v2beta1/fake/doc.go diff --git a/v2/pkg/client/clientset/versioned/typed/kubeflow/v2/fake/fake_kubeflow_client.go b/v2/pkg/client/clientset/versioned/typed/kubeflow/v2beta1/fake/fake_kubeflow_client.go similarity index 77% rename from v2/pkg/client/clientset/versioned/typed/kubeflow/v2/fake/fake_kubeflow_client.go rename to v2/pkg/client/clientset/versioned/typed/kubeflow/v2beta1/fake/fake_kubeflow_client.go index 074aea8..b2f35fd 100644 --- a/v2/pkg/client/clientset/versioned/typed/kubeflow/v2/fake/fake_kubeflow_client.go +++ b/v2/pkg/client/clientset/versioned/typed/kubeflow/v2beta1/fake/fake_kubeflow_client.go @@ -17,22 +17,22 @@ package fake import ( - v2 "github.com/kubeflow/mpi-operator/v2/pkg/client/clientset/versioned/typed/kubeflow/v2" + v2beta1 "github.com/kubeflow/mpi-operator/v2/pkg/client/clientset/versioned/typed/kubeflow/v2beta1" rest "k8s.io/client-go/rest" testing "k8s.io/client-go/testing" ) -type FakeKubeflowV2 struct { +type FakeKubeflowV2beta1 struct { *testing.Fake } -func (c *FakeKubeflowV2) MPIJobs(namespace string) v2.MPIJobInterface { +func (c *FakeKubeflowV2beta1) MPIJobs(namespace string) v2beta1.MPIJobInterface { return &FakeMPIJobs{c, namespace} } // RESTClient returns a RESTClient that is used to communicate // with API server by this client implementation. -func (c *FakeKubeflowV2) RESTClient() rest.Interface { +func (c *FakeKubeflowV2beta1) RESTClient() rest.Interface { var ret *rest.RESTClient return ret } diff --git a/v2/pkg/client/clientset/versioned/typed/kubeflow/v2/fake/fake_mpijob.go b/v2/pkg/client/clientset/versioned/typed/kubeflow/v2beta1/fake/fake_mpijob.go similarity index 76% rename from v2/pkg/client/clientset/versioned/typed/kubeflow/v2/fake/fake_mpijob.go rename to v2/pkg/client/clientset/versioned/typed/kubeflow/v2beta1/fake/fake_mpijob.go index 9954669..ea51a83 100644 --- a/v2/pkg/client/clientset/versioned/typed/kubeflow/v2/fake/fake_mpijob.go +++ b/v2/pkg/client/clientset/versioned/typed/kubeflow/v2beta1/fake/fake_mpijob.go @@ -19,7 +19,7 @@ package fake import ( "context" - v2 "github.com/kubeflow/mpi-operator/v2/pkg/apis/kubeflow/v2" + v2beta1 "github.com/kubeflow/mpi-operator/v2/pkg/apis/kubeflow/v2beta1" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" schema "k8s.io/apimachinery/pkg/runtime/schema" @@ -30,29 +30,29 @@ import ( // FakeMPIJobs implements MPIJobInterface type FakeMPIJobs struct { - Fake *FakeKubeflowV2 + Fake *FakeKubeflowV2beta1 ns string } -var mpijobsResource = schema.GroupVersionResource{Group: "kubeflow.org", Version: "v2", Resource: "mpijobs"} +var mpijobsResource = schema.GroupVersionResource{Group: "kubeflow.org", Version: "v2beta1", Resource: "mpijobs"} -var mpijobsKind = schema.GroupVersionKind{Group: "kubeflow.org", Version: "v2", Kind: "MPIJob"} +var mpijobsKind = schema.GroupVersionKind{Group: "kubeflow.org", Version: "v2beta1", Kind: "MPIJob"} // Get takes name of the mPIJob, and returns the corresponding mPIJob object, and an error if there is any. -func (c *FakeMPIJobs) Get(ctx context.Context, name string, options v1.GetOptions) (result *v2.MPIJob, err error) { +func (c *FakeMPIJobs) Get(ctx context.Context, name string, options v1.GetOptions) (result *v2beta1.MPIJob, err error) { obj, err := c.Fake. - Invokes(testing.NewGetAction(mpijobsResource, c.ns, name), &v2.MPIJob{}) + Invokes(testing.NewGetAction(mpijobsResource, c.ns, name), &v2beta1.MPIJob{}) if obj == nil { return nil, err } - return obj.(*v2.MPIJob), err + return obj.(*v2beta1.MPIJob), err } // List takes label and field selectors, and returns the list of MPIJobs that match those selectors. -func (c *FakeMPIJobs) List(ctx context.Context, opts v1.ListOptions) (result *v2.MPIJobList, err error) { +func (c *FakeMPIJobs) List(ctx context.Context, opts v1.ListOptions) (result *v2beta1.MPIJobList, err error) { obj, err := c.Fake. - Invokes(testing.NewListAction(mpijobsResource, mpijobsKind, c.ns, opts), &v2.MPIJobList{}) + Invokes(testing.NewListAction(mpijobsResource, mpijobsKind, c.ns, opts), &v2beta1.MPIJobList{}) if obj == nil { return nil, err @@ -62,8 +62,8 @@ func (c *FakeMPIJobs) List(ctx context.Context, opts v1.ListOptions) (result *v2 if label == nil { label = labels.Everything() } - list := &v2.MPIJobList{ListMeta: obj.(*v2.MPIJobList).ListMeta} - for _, item := range obj.(*v2.MPIJobList).Items { + list := &v2beta1.MPIJobList{ListMeta: obj.(*v2beta1.MPIJobList).ListMeta} + for _, item := range obj.(*v2beta1.MPIJobList).Items { if label.Matches(labels.Set(item.Labels)) { list.Items = append(list.Items, item) } @@ -79,43 +79,43 @@ func (c *FakeMPIJobs) Watch(ctx context.Context, opts v1.ListOptions) (watch.Int } // Create takes the representation of a mPIJob and creates it. Returns the server's representation of the mPIJob, and an error, if there is any. -func (c *FakeMPIJobs) Create(ctx context.Context, mPIJob *v2.MPIJob, opts v1.CreateOptions) (result *v2.MPIJob, err error) { +func (c *FakeMPIJobs) Create(ctx context.Context, mPIJob *v2beta1.MPIJob, opts v1.CreateOptions) (result *v2beta1.MPIJob, err error) { obj, err := c.Fake. - Invokes(testing.NewCreateAction(mpijobsResource, c.ns, mPIJob), &v2.MPIJob{}) + Invokes(testing.NewCreateAction(mpijobsResource, c.ns, mPIJob), &v2beta1.MPIJob{}) if obj == nil { return nil, err } - return obj.(*v2.MPIJob), err + return obj.(*v2beta1.MPIJob), err } // Update takes the representation of a mPIJob and updates it. Returns the server's representation of the mPIJob, and an error, if there is any. -func (c *FakeMPIJobs) Update(ctx context.Context, mPIJob *v2.MPIJob, opts v1.UpdateOptions) (result *v2.MPIJob, err error) { +func (c *FakeMPIJobs) Update(ctx context.Context, mPIJob *v2beta1.MPIJob, opts v1.UpdateOptions) (result *v2beta1.MPIJob, err error) { obj, err := c.Fake. - Invokes(testing.NewUpdateAction(mpijobsResource, c.ns, mPIJob), &v2.MPIJob{}) + Invokes(testing.NewUpdateAction(mpijobsResource, c.ns, mPIJob), &v2beta1.MPIJob{}) if obj == nil { return nil, err } - return obj.(*v2.MPIJob), err + return obj.(*v2beta1.MPIJob), err } // UpdateStatus was generated because the type contains a Status member. // Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). -func (c *FakeMPIJobs) UpdateStatus(ctx context.Context, mPIJob *v2.MPIJob, opts v1.UpdateOptions) (*v2.MPIJob, error) { +func (c *FakeMPIJobs) UpdateStatus(ctx context.Context, mPIJob *v2beta1.MPIJob, opts v1.UpdateOptions) (*v2beta1.MPIJob, error) { obj, err := c.Fake. - Invokes(testing.NewUpdateSubresourceAction(mpijobsResource, "status", c.ns, mPIJob), &v2.MPIJob{}) + Invokes(testing.NewUpdateSubresourceAction(mpijobsResource, "status", c.ns, mPIJob), &v2beta1.MPIJob{}) if obj == nil { return nil, err } - return obj.(*v2.MPIJob), err + return obj.(*v2beta1.MPIJob), err } // Delete takes name of the mPIJob and deletes it. Returns an error if one occurs. func (c *FakeMPIJobs) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { _, err := c.Fake. - Invokes(testing.NewDeleteAction(mpijobsResource, c.ns, name), &v2.MPIJob{}) + Invokes(testing.NewDeleteAction(mpijobsResource, c.ns, name), &v2beta1.MPIJob{}) return err } @@ -124,17 +124,17 @@ func (c *FakeMPIJobs) Delete(ctx context.Context, name string, opts v1.DeleteOpt func (c *FakeMPIJobs) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error { action := testing.NewDeleteCollectionAction(mpijobsResource, c.ns, listOpts) - _, err := c.Fake.Invokes(action, &v2.MPIJobList{}) + _, err := c.Fake.Invokes(action, &v2beta1.MPIJobList{}) return err } // Patch applies the patch and returns the patched mPIJob. -func (c *FakeMPIJobs) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v2.MPIJob, err error) { +func (c *FakeMPIJobs) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v2beta1.MPIJob, err error) { obj, err := c.Fake. - Invokes(testing.NewPatchSubresourceAction(mpijobsResource, c.ns, name, pt, data, subresources...), &v2.MPIJob{}) + Invokes(testing.NewPatchSubresourceAction(mpijobsResource, c.ns, name, pt, data, subresources...), &v2beta1.MPIJob{}) if obj == nil { return nil, err } - return obj.(*v2.MPIJob), err + return obj.(*v2beta1.MPIJob), err } diff --git a/v2/pkg/client/clientset/versioned/typed/kubeflow/v2/generated_expansion.go b/v2/pkg/client/clientset/versioned/typed/kubeflow/v2beta1/generated_expansion.go similarity index 97% rename from v2/pkg/client/clientset/versioned/typed/kubeflow/v2/generated_expansion.go rename to v2/pkg/client/clientset/versioned/typed/kubeflow/v2beta1/generated_expansion.go index 393e90d..a5452e5 100644 --- a/v2/pkg/client/clientset/versioned/typed/kubeflow/v2/generated_expansion.go +++ b/v2/pkg/client/clientset/versioned/typed/kubeflow/v2beta1/generated_expansion.go @@ -14,6 +14,6 @@ // Code generated by client-gen. DO NOT EDIT. -package v2 +package v2beta1 type MPIJobExpansion interface{} diff --git a/v2/pkg/client/clientset/versioned/typed/kubeflow/v2/kubeflow_client.go b/v2/pkg/client/clientset/versioned/typed/kubeflow/v2beta1/kubeflow_client.go similarity index 63% rename from v2/pkg/client/clientset/versioned/typed/kubeflow/v2/kubeflow_client.go rename to v2/pkg/client/clientset/versioned/typed/kubeflow/v2beta1/kubeflow_client.go index 3ade717..2784bb1 100644 --- a/v2/pkg/client/clientset/versioned/typed/kubeflow/v2/kubeflow_client.go +++ b/v2/pkg/client/clientset/versioned/typed/kubeflow/v2beta1/kubeflow_client.go @@ -14,30 +14,30 @@ // Code generated by client-gen. DO NOT EDIT. -package v2 +package v2beta1 import ( - v2 "github.com/kubeflow/mpi-operator/v2/pkg/apis/kubeflow/v2" + v2beta1 "github.com/kubeflow/mpi-operator/v2/pkg/apis/kubeflow/v2beta1" "github.com/kubeflow/mpi-operator/v2/pkg/client/clientset/versioned/scheme" rest "k8s.io/client-go/rest" ) -type KubeflowV2Interface interface { +type KubeflowV2beta1Interface interface { RESTClient() rest.Interface MPIJobsGetter } -// KubeflowV2Client is used to interact with features provided by the kubeflow.org group. -type KubeflowV2Client struct { +// KubeflowV2beta1Client is used to interact with features provided by the kubeflow.org group. +type KubeflowV2beta1Client struct { restClient rest.Interface } -func (c *KubeflowV2Client) MPIJobs(namespace string) MPIJobInterface { +func (c *KubeflowV2beta1Client) MPIJobs(namespace string) MPIJobInterface { return newMPIJobs(c, namespace) } -// NewForConfig creates a new KubeflowV2Client for the given config. -func NewForConfig(c *rest.Config) (*KubeflowV2Client, error) { +// NewForConfig creates a new KubeflowV2beta1Client for the given config. +func NewForConfig(c *rest.Config) (*KubeflowV2beta1Client, error) { config := *c if err := setConfigDefaults(&config); err != nil { return nil, err @@ -46,12 +46,12 @@ func NewForConfig(c *rest.Config) (*KubeflowV2Client, error) { if err != nil { return nil, err } - return &KubeflowV2Client{client}, nil + return &KubeflowV2beta1Client{client}, nil } -// NewForConfigOrDie creates a new KubeflowV2Client for the given config and +// NewForConfigOrDie creates a new KubeflowV2beta1Client for the given config and // panics if there is an error in the config. -func NewForConfigOrDie(c *rest.Config) *KubeflowV2Client { +func NewForConfigOrDie(c *rest.Config) *KubeflowV2beta1Client { client, err := NewForConfig(c) if err != nil { panic(err) @@ -59,13 +59,13 @@ func NewForConfigOrDie(c *rest.Config) *KubeflowV2Client { return client } -// New creates a new KubeflowV2Client for the given RESTClient. -func New(c rest.Interface) *KubeflowV2Client { - return &KubeflowV2Client{c} +// New creates a new KubeflowV2beta1Client for the given RESTClient. +func New(c rest.Interface) *KubeflowV2beta1Client { + return &KubeflowV2beta1Client{c} } func setConfigDefaults(config *rest.Config) error { - gv := v2.SchemeGroupVersion + gv := v2beta1.SchemeGroupVersion config.GroupVersion = &gv config.APIPath = "/apis" config.NegotiatedSerializer = scheme.Codecs.WithoutConversion() @@ -79,7 +79,7 @@ func setConfigDefaults(config *rest.Config) error { // RESTClient returns a RESTClient that is used to communicate // with API server by this client implementation. -func (c *KubeflowV2Client) RESTClient() rest.Interface { +func (c *KubeflowV2beta1Client) RESTClient() rest.Interface { if c == nil { return nil } diff --git a/v2/pkg/client/clientset/versioned/typed/kubeflow/v2/mpijob.go b/v2/pkg/client/clientset/versioned/typed/kubeflow/v2beta1/mpijob.go similarity index 79% rename from v2/pkg/client/clientset/versioned/typed/kubeflow/v2/mpijob.go rename to v2/pkg/client/clientset/versioned/typed/kubeflow/v2beta1/mpijob.go index e09a21c..ff16dfa 100644 --- a/v2/pkg/client/clientset/versioned/typed/kubeflow/v2/mpijob.go +++ b/v2/pkg/client/clientset/versioned/typed/kubeflow/v2beta1/mpijob.go @@ -14,13 +14,13 @@ // Code generated by client-gen. DO NOT EDIT. -package v2 +package v2beta1 import ( "context" "time" - v2 "github.com/kubeflow/mpi-operator/v2/pkg/apis/kubeflow/v2" + v2beta1 "github.com/kubeflow/mpi-operator/v2/pkg/apis/kubeflow/v2beta1" scheme "github.com/kubeflow/mpi-operator/v2/pkg/client/clientset/versioned/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -36,15 +36,15 @@ type MPIJobsGetter interface { // MPIJobInterface has methods to work with MPIJob resources. type MPIJobInterface interface { - Create(ctx context.Context, mPIJob *v2.MPIJob, opts v1.CreateOptions) (*v2.MPIJob, error) - Update(ctx context.Context, mPIJob *v2.MPIJob, opts v1.UpdateOptions) (*v2.MPIJob, error) - UpdateStatus(ctx context.Context, mPIJob *v2.MPIJob, opts v1.UpdateOptions) (*v2.MPIJob, error) + Create(ctx context.Context, mPIJob *v2beta1.MPIJob, opts v1.CreateOptions) (*v2beta1.MPIJob, error) + Update(ctx context.Context, mPIJob *v2beta1.MPIJob, opts v1.UpdateOptions) (*v2beta1.MPIJob, error) + UpdateStatus(ctx context.Context, mPIJob *v2beta1.MPIJob, opts v1.UpdateOptions) (*v2beta1.MPIJob, error) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error - Get(ctx context.Context, name string, opts v1.GetOptions) (*v2.MPIJob, error) - List(ctx context.Context, opts v1.ListOptions) (*v2.MPIJobList, error) + Get(ctx context.Context, name string, opts v1.GetOptions) (*v2beta1.MPIJob, error) + List(ctx context.Context, opts v1.ListOptions) (*v2beta1.MPIJobList, error) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) - Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v2.MPIJob, err error) + Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v2beta1.MPIJob, err error) MPIJobExpansion } @@ -55,7 +55,7 @@ type mPIJobs struct { } // newMPIJobs returns a MPIJobs -func newMPIJobs(c *KubeflowV2Client, namespace string) *mPIJobs { +func newMPIJobs(c *KubeflowV2beta1Client, namespace string) *mPIJobs { return &mPIJobs{ client: c.RESTClient(), ns: namespace, @@ -63,8 +63,8 @@ func newMPIJobs(c *KubeflowV2Client, namespace string) *mPIJobs { } // Get takes name of the mPIJob, and returns the corresponding mPIJob object, and an error if there is any. -func (c *mPIJobs) Get(ctx context.Context, name string, options v1.GetOptions) (result *v2.MPIJob, err error) { - result = &v2.MPIJob{} +func (c *mPIJobs) Get(ctx context.Context, name string, options v1.GetOptions) (result *v2beta1.MPIJob, err error) { + result = &v2beta1.MPIJob{} err = c.client.Get(). Namespace(c.ns). Resource("mpijobs"). @@ -76,12 +76,12 @@ func (c *mPIJobs) Get(ctx context.Context, name string, options v1.GetOptions) ( } // List takes label and field selectors, and returns the list of MPIJobs that match those selectors. -func (c *mPIJobs) List(ctx context.Context, opts v1.ListOptions) (result *v2.MPIJobList, err error) { +func (c *mPIJobs) List(ctx context.Context, opts v1.ListOptions) (result *v2beta1.MPIJobList, err error) { var timeout time.Duration if opts.TimeoutSeconds != nil { timeout = time.Duration(*opts.TimeoutSeconds) * time.Second } - result = &v2.MPIJobList{} + result = &v2beta1.MPIJobList{} err = c.client.Get(). Namespace(c.ns). Resource("mpijobs"). @@ -108,8 +108,8 @@ func (c *mPIJobs) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interfa } // Create takes the representation of a mPIJob and creates it. Returns the server's representation of the mPIJob, and an error, if there is any. -func (c *mPIJobs) Create(ctx context.Context, mPIJob *v2.MPIJob, opts v1.CreateOptions) (result *v2.MPIJob, err error) { - result = &v2.MPIJob{} +func (c *mPIJobs) Create(ctx context.Context, mPIJob *v2beta1.MPIJob, opts v1.CreateOptions) (result *v2beta1.MPIJob, err error) { + result = &v2beta1.MPIJob{} err = c.client.Post(). Namespace(c.ns). Resource("mpijobs"). @@ -121,8 +121,8 @@ func (c *mPIJobs) Create(ctx context.Context, mPIJob *v2.MPIJob, opts v1.CreateO } // Update takes the representation of a mPIJob and updates it. Returns the server's representation of the mPIJob, and an error, if there is any. -func (c *mPIJobs) Update(ctx context.Context, mPIJob *v2.MPIJob, opts v1.UpdateOptions) (result *v2.MPIJob, err error) { - result = &v2.MPIJob{} +func (c *mPIJobs) Update(ctx context.Context, mPIJob *v2beta1.MPIJob, opts v1.UpdateOptions) (result *v2beta1.MPIJob, err error) { + result = &v2beta1.MPIJob{} err = c.client.Put(). Namespace(c.ns). Resource("mpijobs"). @@ -136,8 +136,8 @@ func (c *mPIJobs) Update(ctx context.Context, mPIJob *v2.MPIJob, opts v1.UpdateO // UpdateStatus was generated because the type contains a Status member. // Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). -func (c *mPIJobs) UpdateStatus(ctx context.Context, mPIJob *v2.MPIJob, opts v1.UpdateOptions) (result *v2.MPIJob, err error) { - result = &v2.MPIJob{} +func (c *mPIJobs) UpdateStatus(ctx context.Context, mPIJob *v2beta1.MPIJob, opts v1.UpdateOptions) (result *v2beta1.MPIJob, err error) { + result = &v2beta1.MPIJob{} err = c.client.Put(). Namespace(c.ns). Resource("mpijobs"). @@ -178,8 +178,8 @@ func (c *mPIJobs) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, l } // Patch applies the patch and returns the patched mPIJob. -func (c *mPIJobs) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v2.MPIJob, err error) { - result = &v2.MPIJob{} +func (c *mPIJobs) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v2beta1.MPIJob, err error) { + result = &v2beta1.MPIJob{} err = c.client.Patch(pt). Namespace(c.ns). Resource("mpijobs"). diff --git a/v2/pkg/client/informers/externalversions/generic.go b/v2/pkg/client/informers/externalversions/generic.go index b78a277..66a3e25 100644 --- a/v2/pkg/client/informers/externalversions/generic.go +++ b/v2/pkg/client/informers/externalversions/generic.go @@ -19,7 +19,7 @@ package externalversions import ( "fmt" - v2 "github.com/kubeflow/mpi-operator/v2/pkg/apis/kubeflow/v2" + v2beta1 "github.com/kubeflow/mpi-operator/v2/pkg/apis/kubeflow/v2beta1" schema "k8s.io/apimachinery/pkg/runtime/schema" cache "k8s.io/client-go/tools/cache" ) @@ -50,9 +50,9 @@ func (f *genericInformer) Lister() cache.GenericLister { // TODO extend this to unknown resources with a client pool func (f *sharedInformerFactory) ForResource(resource schema.GroupVersionResource) (GenericInformer, error) { switch resource { - // Group=kubeflow.org, Version=v2 - case v2.SchemeGroupVersion.WithResource("mpijobs"): - return &genericInformer{resource: resource.GroupResource(), informer: f.Kubeflow().V2().MPIJobs().Informer()}, nil + // Group=kubeflow.org, Version=v2beta1 + case v2beta1.SchemeGroupVersion.WithResource("mpijobs"): + return &genericInformer{resource: resource.GroupResource(), informer: f.Kubeflow().V2beta1().MPIJobs().Informer()}, nil } diff --git a/v2/pkg/client/informers/externalversions/kubeflow/interface.go b/v2/pkg/client/informers/externalversions/kubeflow/interface.go index c032ef4..19c4f9a 100644 --- a/v2/pkg/client/informers/externalversions/kubeflow/interface.go +++ b/v2/pkg/client/informers/externalversions/kubeflow/interface.go @@ -18,13 +18,13 @@ package kubeflow import ( internalinterfaces "github.com/kubeflow/mpi-operator/v2/pkg/client/informers/externalversions/internalinterfaces" - v2 "github.com/kubeflow/mpi-operator/v2/pkg/client/informers/externalversions/kubeflow/v2" + v2beta1 "github.com/kubeflow/mpi-operator/v2/pkg/client/informers/externalversions/kubeflow/v2beta1" ) // Interface provides access to each of this group's versions. type Interface interface { - // V2 provides access to shared informers for resources in V2. - V2() v2.Interface + // V2beta1 provides access to shared informers for resources in V2beta1. + V2beta1() v2beta1.Interface } type group struct { @@ -38,7 +38,7 @@ func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakList return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions} } -// V2 returns a new v2.Interface. -func (g *group) V2() v2.Interface { - return v2.New(g.factory, g.namespace, g.tweakListOptions) +// V2beta1 returns a new v2beta1.Interface. +func (g *group) V2beta1() v2beta1.Interface { + return v2beta1.New(g.factory, g.namespace, g.tweakListOptions) } diff --git a/v2/pkg/client/informers/externalversions/kubeflow/v2/interface.go b/v2/pkg/client/informers/externalversions/kubeflow/v2beta1/interface.go similarity index 98% rename from v2/pkg/client/informers/externalversions/kubeflow/v2/interface.go rename to v2/pkg/client/informers/externalversions/kubeflow/v2beta1/interface.go index 9dc9495..9983dd0 100644 --- a/v2/pkg/client/informers/externalversions/kubeflow/v2/interface.go +++ b/v2/pkg/client/informers/externalversions/kubeflow/v2beta1/interface.go @@ -14,7 +14,7 @@ // Code generated by informer-gen. DO NOT EDIT. -package v2 +package v2beta1 import ( internalinterfaces "github.com/kubeflow/mpi-operator/v2/pkg/client/informers/externalversions/internalinterfaces" diff --git a/v2/pkg/client/informers/externalversions/kubeflow/v2/mpijob.go b/v2/pkg/client/informers/externalversions/kubeflow/v2beta1/mpijob.go similarity index 83% rename from v2/pkg/client/informers/externalversions/kubeflow/v2/mpijob.go rename to v2/pkg/client/informers/externalversions/kubeflow/v2beta1/mpijob.go index 1de5dc8..d5f8c49 100644 --- a/v2/pkg/client/informers/externalversions/kubeflow/v2/mpijob.go +++ b/v2/pkg/client/informers/externalversions/kubeflow/v2beta1/mpijob.go @@ -14,16 +14,16 @@ // Code generated by informer-gen. DO NOT EDIT. -package v2 +package v2beta1 import ( "context" time "time" - kubeflowv2 "github.com/kubeflow/mpi-operator/v2/pkg/apis/kubeflow/v2" + kubeflowv2beta1 "github.com/kubeflow/mpi-operator/v2/pkg/apis/kubeflow/v2beta1" versioned "github.com/kubeflow/mpi-operator/v2/pkg/client/clientset/versioned" internalinterfaces "github.com/kubeflow/mpi-operator/v2/pkg/client/informers/externalversions/internalinterfaces" - v2 "github.com/kubeflow/mpi-operator/v2/pkg/client/listers/kubeflow/v2" + v2beta1 "github.com/kubeflow/mpi-operator/v2/pkg/client/listers/kubeflow/v2beta1" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" watch "k8s.io/apimachinery/pkg/watch" @@ -34,7 +34,7 @@ import ( // MPIJobs. type MPIJobInformer interface { Informer() cache.SharedIndexInformer - Lister() v2.MPIJobLister + Lister() v2beta1.MPIJobLister } type mPIJobInformer struct { @@ -60,16 +60,16 @@ func NewFilteredMPIJobInformer(client versioned.Interface, namespace string, res if tweakListOptions != nil { tweakListOptions(&options) } - return client.KubeflowV2().MPIJobs(namespace).List(context.TODO(), options) + return client.KubeflowV2beta1().MPIJobs(namespace).List(context.TODO(), options) }, WatchFunc: func(options v1.ListOptions) (watch.Interface, error) { if tweakListOptions != nil { tweakListOptions(&options) } - return client.KubeflowV2().MPIJobs(namespace).Watch(context.TODO(), options) + return client.KubeflowV2beta1().MPIJobs(namespace).Watch(context.TODO(), options) }, }, - &kubeflowv2.MPIJob{}, + &kubeflowv2beta1.MPIJob{}, resyncPeriod, indexers, ) @@ -80,9 +80,9 @@ func (f *mPIJobInformer) defaultInformer(client versioned.Interface, resyncPerio } func (f *mPIJobInformer) Informer() cache.SharedIndexInformer { - return f.factory.InformerFor(&kubeflowv2.MPIJob{}, f.defaultInformer) + return f.factory.InformerFor(&kubeflowv2beta1.MPIJob{}, f.defaultInformer) } -func (f *mPIJobInformer) Lister() v2.MPIJobLister { - return v2.NewMPIJobLister(f.Informer().GetIndexer()) +func (f *mPIJobInformer) Lister() v2beta1.MPIJobLister { + return v2beta1.NewMPIJobLister(f.Informer().GetIndexer()) } diff --git a/v2/pkg/client/listers/kubeflow/v2/expansion_generated.go b/v2/pkg/client/listers/kubeflow/v2beta1/expansion_generated.go similarity index 98% rename from v2/pkg/client/listers/kubeflow/v2/expansion_generated.go rename to v2/pkg/client/listers/kubeflow/v2beta1/expansion_generated.go index 31dfa95..1d12bf4 100644 --- a/v2/pkg/client/listers/kubeflow/v2/expansion_generated.go +++ b/v2/pkg/client/listers/kubeflow/v2beta1/expansion_generated.go @@ -14,7 +14,7 @@ // Code generated by lister-gen. DO NOT EDIT. -package v2 +package v2beta1 // MPIJobListerExpansion allows custom methods to be added to // MPIJobLister. diff --git a/v2/pkg/client/listers/kubeflow/v2/mpijob.go b/v2/pkg/client/listers/kubeflow/v2beta1/mpijob.go similarity index 82% rename from v2/pkg/client/listers/kubeflow/v2/mpijob.go rename to v2/pkg/client/listers/kubeflow/v2beta1/mpijob.go index 10b8676..b2c56ed 100644 --- a/v2/pkg/client/listers/kubeflow/v2/mpijob.go +++ b/v2/pkg/client/listers/kubeflow/v2beta1/mpijob.go @@ -14,10 +14,10 @@ // Code generated by lister-gen. DO NOT EDIT. -package v2 +package v2beta1 import ( - v2 "github.com/kubeflow/mpi-operator/v2/pkg/apis/kubeflow/v2" + v2beta1 "github.com/kubeflow/mpi-operator/v2/pkg/apis/kubeflow/v2beta1" "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/labels" "k8s.io/client-go/tools/cache" @@ -28,7 +28,7 @@ import ( type MPIJobLister interface { // List lists all MPIJobs in the indexer. // Objects returned here must be treated as read-only. - List(selector labels.Selector) (ret []*v2.MPIJob, err error) + List(selector labels.Selector) (ret []*v2beta1.MPIJob, err error) // MPIJobs returns an object that can list and get MPIJobs. MPIJobs(namespace string) MPIJobNamespaceLister MPIJobListerExpansion @@ -45,9 +45,9 @@ func NewMPIJobLister(indexer cache.Indexer) MPIJobLister { } // List lists all MPIJobs in the indexer. -func (s *mPIJobLister) List(selector labels.Selector) (ret []*v2.MPIJob, err error) { +func (s *mPIJobLister) List(selector labels.Selector) (ret []*v2beta1.MPIJob, err error) { err = cache.ListAll(s.indexer, selector, func(m interface{}) { - ret = append(ret, m.(*v2.MPIJob)) + ret = append(ret, m.(*v2beta1.MPIJob)) }) return ret, err } @@ -62,10 +62,10 @@ func (s *mPIJobLister) MPIJobs(namespace string) MPIJobNamespaceLister { type MPIJobNamespaceLister interface { // List lists all MPIJobs in the indexer for a given namespace. // Objects returned here must be treated as read-only. - List(selector labels.Selector) (ret []*v2.MPIJob, err error) + List(selector labels.Selector) (ret []*v2beta1.MPIJob, err error) // Get retrieves the MPIJob from the indexer for a given namespace and name. // Objects returned here must be treated as read-only. - Get(name string) (*v2.MPIJob, error) + Get(name string) (*v2beta1.MPIJob, error) MPIJobNamespaceListerExpansion } @@ -77,21 +77,21 @@ type mPIJobNamespaceLister struct { } // List lists all MPIJobs in the indexer for a given namespace. -func (s mPIJobNamespaceLister) List(selector labels.Selector) (ret []*v2.MPIJob, err error) { +func (s mPIJobNamespaceLister) List(selector labels.Selector) (ret []*v2beta1.MPIJob, err error) { err = cache.ListAllByNamespace(s.indexer, s.namespace, selector, func(m interface{}) { - ret = append(ret, m.(*v2.MPIJob)) + ret = append(ret, m.(*v2beta1.MPIJob)) }) return ret, err } // Get retrieves the MPIJob from the indexer for a given namespace and name. -func (s mPIJobNamespaceLister) Get(name string) (*v2.MPIJob, error) { +func (s mPIJobNamespaceLister) Get(name string) (*v2beta1.MPIJob, error) { obj, exists, err := s.indexer.GetByKey(s.namespace + "/" + name) if err != nil { return nil, err } if !exists { - return nil, errors.NewNotFound(v2.Resource("mpijob"), name) + return nil, errors.NewNotFound(v2beta1.Resource("mpijob"), name) } - return obj.(*v2.MPIJob), nil + return obj.(*v2beta1.MPIJob), nil } diff --git a/v2/pkg/controller/mpi_job_controller.go b/v2/pkg/controller/mpi_job_controller.go index 7ee0251..5c2d8dc 100644 --- a/v2/pkg/controller/mpi_job_controller.go +++ b/v2/pkg/controller/mpi_job_controller.go @@ -55,12 +55,12 @@ import ( podgroupslists "volcano.sh/apis/pkg/client/listers/scheduling/v1beta1" common "github.com/kubeflow/common/pkg/apis/common/v1" - kubeflow "github.com/kubeflow/mpi-operator/v2/pkg/apis/kubeflow/v2" + kubeflow "github.com/kubeflow/mpi-operator/v2/pkg/apis/kubeflow/v2beta1" "github.com/kubeflow/mpi-operator/v2/pkg/apis/kubeflow/validation" clientset "github.com/kubeflow/mpi-operator/v2/pkg/client/clientset/versioned" "github.com/kubeflow/mpi-operator/v2/pkg/client/clientset/versioned/scheme" - informers "github.com/kubeflow/mpi-operator/v2/pkg/client/informers/externalversions/kubeflow/v2" - listers "github.com/kubeflow/mpi-operator/v2/pkg/client/listers/kubeflow/v2" + informers "github.com/kubeflow/mpi-operator/v2/pkg/client/informers/externalversions/kubeflow/v2beta1" + listers "github.com/kubeflow/mpi-operator/v2/pkg/client/listers/kubeflow/v2beta1" ) const ( @@ -1030,7 +1030,7 @@ func (c *MPIJobController) handleObjectUpdate(old, new interface{}) { // doUpdateJobStatus updates the status of the given MPIJob by call apiServer. func (c *MPIJobController) doUpdateJobStatus(mpiJob *kubeflow.MPIJob) error { - _, err := c.kubeflowClient.KubeflowV2().MPIJobs(mpiJob.Namespace).UpdateStatus(context.TODO(), mpiJob, metav1.UpdateOptions{}) + _, err := c.kubeflowClient.KubeflowV2beta1().MPIJobs(mpiJob.Namespace).UpdateStatus(context.TODO(), mpiJob, metav1.UpdateOptions{}) return err } diff --git a/v2/pkg/controller/mpi_job_controller_status.go b/v2/pkg/controller/mpi_job_controller_status.go index 2b6ff86..cd4dc93 100644 --- a/v2/pkg/controller/mpi_job_controller_status.go +++ b/v2/pkg/controller/mpi_job_controller_status.go @@ -19,7 +19,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" common "github.com/kubeflow/common/pkg/apis/common/v1" - kubeflow "github.com/kubeflow/mpi-operator/v2/pkg/apis/kubeflow/v2" + kubeflow "github.com/kubeflow/mpi-operator/v2/pkg/apis/kubeflow/v2beta1" ) const ( diff --git a/v2/pkg/controller/mpi_job_controller_test.go b/v2/pkg/controller/mpi_job_controller_test.go index 01ca30c..dc5af8a 100644 --- a/v2/pkg/controller/mpi_job_controller_test.go +++ b/v2/pkg/controller/mpi_job_controller_test.go @@ -36,7 +36,7 @@ import ( volcanoinformers "volcano.sh/apis/pkg/client/informers/externalversions" common "github.com/kubeflow/common/pkg/apis/common/v1" - kubeflow "github.com/kubeflow/mpi-operator/v2/pkg/apis/kubeflow/v2" + kubeflow "github.com/kubeflow/mpi-operator/v2/pkg/apis/kubeflow/v2beta1" "github.com/kubeflow/mpi-operator/v2/pkg/client/clientset/versioned/fake" "github.com/kubeflow/mpi-operator/v2/pkg/client/clientset/versioned/scheme" informers "github.com/kubeflow/mpi-operator/v2/pkg/client/informers/externalversions" @@ -190,7 +190,7 @@ func (f *fixture) newController(gangSchedulerName string) (*MPIJobController, in k8sI.Core().V1().Services(), k8sI.Core().V1().Pods(), podgroupsInformer, - i.Kubeflow().V2().MPIJobs(), + i.Kubeflow().V2beta1().MPIJobs(), gangSchedulerName, ) @@ -238,7 +238,7 @@ func (f *fixture) newController(gangSchedulerName string) (*MPIJobController, in } for _, mpiJob := range f.mpiJobLister { - err := i.Kubeflow().V2().MPIJobs().Informer().GetIndexer().Add(mpiJob) + err := i.Kubeflow().V2beta1().MPIJobs().Informer().GetIndexer().Add(mpiJob) if err != nil { fmt.Println("Failed to create mpijob") } diff --git a/v2/test/integration/mpi_job_controller_test.go b/v2/test/integration/mpi_job_controller_test.go index 80eed09..1450254 100644 --- a/v2/test/integration/mpi_job_controller_test.go +++ b/v2/test/integration/mpi_job_controller_test.go @@ -22,12 +22,6 @@ import ( "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" - common "github.com/kubeflow/common/pkg/apis/common/v1" - "github.com/kubeflow/mpi-operator/v2/pkg/apis/kubeflow/v2" - clientset "github.com/kubeflow/mpi-operator/v2/pkg/client/clientset/versioned" - "github.com/kubeflow/mpi-operator/v2/pkg/client/clientset/versioned/scheme" - informers "github.com/kubeflow/mpi-operator/v2/pkg/client/informers/externalversions" - "github.com/kubeflow/mpi-operator/v2/pkg/controller" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" @@ -36,6 +30,13 @@ import ( kubeinformers "k8s.io/client-go/informers" "k8s.io/client-go/kubernetes" "k8s.io/client-go/tools/reference" + + common "github.com/kubeflow/common/pkg/apis/common/v1" + kubeflow "github.com/kubeflow/mpi-operator/v2/pkg/apis/kubeflow/v2beta1" + clientset "github.com/kubeflow/mpi-operator/v2/pkg/client/clientset/versioned" + "github.com/kubeflow/mpi-operator/v2/pkg/client/clientset/versioned/scheme" + informers "github.com/kubeflow/mpi-operator/v2/pkg/client/informers/externalversions" + "github.com/kubeflow/mpi-operator/v2/pkg/controller" ) const ( @@ -48,16 +49,16 @@ func TestMPIJobSuccess(t *testing.T) { s := newTestSetup(ctx, t) startController(ctx, s.kClient, s.mpiClient) - mpiJob := &v2.MPIJob{ + mpiJob := &kubeflow.MPIJob{ ObjectMeta: metav1.ObjectMeta{ Name: "job", Namespace: s.namespace, }, - Spec: v2.MPIJobSpec{ + Spec: kubeflow.MPIJobSpec{ SlotsPerWorker: newInt32(1), CleanPodPolicy: newCleanPodPolicy(common.CleanPodPolicyRunning), - MPIReplicaSpecs: map[v2.MPIReplicaType]*common.ReplicaSpec{ - v2.MPIReplicaTypeLauncher: { + MPIReplicaSpecs: map[kubeflow.MPIReplicaType]*common.ReplicaSpec{ + kubeflow.MPIReplicaTypeLauncher: { Template: corev1.PodTemplateSpec{ Spec: corev1.PodSpec{ Containers: []corev1.Container{ @@ -69,7 +70,7 @@ func TestMPIJobSuccess(t *testing.T) { }, }, }, - v2.MPIReplicaTypeWorker: { + kubeflow.MPIReplicaTypeWorker: { Replicas: newInt32(2), Template: corev1.PodTemplateSpec{ Spec: corev1.PodSpec{ @@ -86,7 +87,7 @@ func TestMPIJobSuccess(t *testing.T) { }, } var err error - mpiJob, err = s.mpiClient.KubeflowV2().MPIJobs(s.namespace).Create(ctx, mpiJob, metav1.CreateOptions{}) + mpiJob, err = s.mpiClient.KubeflowV2beta1().MPIJobs(s.namespace).Create(ctx, mpiJob, metav1.CreateOptions{}) if err != nil { t.Fatalf("Failed sending job to apiserver: %v", err) } @@ -98,8 +99,8 @@ func TestMPIJobSuccess(t *testing.T) { podsByRole := validateMPIJobDependencies(ctx, t, s.kClient, mpiJob, 2) validateMPIJobStatus(ctx, t, s.mpiClient, mpiJob, map[common.ReplicaType]*common.ReplicaStatus{ - common.ReplicaType(v2.MPIReplicaTypeLauncher): {}, - common.ReplicaType(v2.MPIReplicaTypeWorker): {}, + common.ReplicaType(kubeflow.MPIReplicaTypeLauncher): {}, + common.ReplicaType(kubeflow.MPIReplicaTypeWorker): {}, }) s.events.verify(t) @@ -108,8 +109,8 @@ func TestMPIJobSuccess(t *testing.T) { t.Fatalf("Updating worker Pods to Running phase: %v", err) } validateMPIJobStatus(ctx, t, s.mpiClient, mpiJob, map[common.ReplicaType]*common.ReplicaStatus{ - common.ReplicaType(v2.MPIReplicaTypeLauncher): {}, - common.ReplicaType(v2.MPIReplicaTypeWorker): { + common.ReplicaType(kubeflow.MPIReplicaTypeLauncher): {}, + common.ReplicaType(kubeflow.MPIReplicaTypeWorker): { Active: 2, }, }) @@ -122,10 +123,10 @@ func TestMPIJobSuccess(t *testing.T) { t.Fatalf("Updating launcher Pods to Running phase: %v", err) } validateMPIJobStatus(ctx, t, s.mpiClient, mpiJob, map[common.ReplicaType]*common.ReplicaStatus{ - common.ReplicaType(v2.MPIReplicaTypeLauncher): { + common.ReplicaType(kubeflow.MPIReplicaTypeLauncher): { Active: 1, }, - common.ReplicaType(v2.MPIReplicaTypeWorker): { + common.ReplicaType(kubeflow.MPIReplicaTypeWorker): { Active: 2, }, }) @@ -141,10 +142,10 @@ func TestMPIJobSuccess(t *testing.T) { } validateMPIJobDependencies(ctx, t, s.kClient, mpiJob, 0) validateMPIJobStatus(ctx, t, s.mpiClient, mpiJob, map[common.ReplicaType]*common.ReplicaStatus{ - common.ReplicaType(v2.MPIReplicaTypeLauncher): { + common.ReplicaType(kubeflow.MPIReplicaTypeLauncher): { Succeeded: 1, }, - common.ReplicaType(v2.MPIReplicaTypeWorker): {}, + common.ReplicaType(kubeflow.MPIReplicaTypeWorker): {}, }) s.events.verify(t) } @@ -155,16 +156,16 @@ func TestMPIJobFailure(t *testing.T) { s := newTestSetup(ctx, t) startController(ctx, s.kClient, s.mpiClient) - mpiJob := &v2.MPIJob{ + mpiJob := &kubeflow.MPIJob{ ObjectMeta: metav1.ObjectMeta{ Name: "job", Namespace: s.namespace, }, - Spec: v2.MPIJobSpec{ + Spec: kubeflow.MPIJobSpec{ SlotsPerWorker: newInt32(1), CleanPodPolicy: newCleanPodPolicy(common.CleanPodPolicyRunning), - MPIReplicaSpecs: map[v2.MPIReplicaType]*common.ReplicaSpec{ - v2.MPIReplicaTypeLauncher: { + MPIReplicaSpecs: map[kubeflow.MPIReplicaType]*common.ReplicaSpec{ + kubeflow.MPIReplicaTypeLauncher: { Template: corev1.PodTemplateSpec{ Spec: corev1.PodSpec{ Containers: []corev1.Container{ @@ -176,7 +177,7 @@ func TestMPIJobFailure(t *testing.T) { }, }, }, - v2.MPIReplicaTypeWorker: { + kubeflow.MPIReplicaTypeWorker: { Replicas: newInt32(2), Template: corev1.PodTemplateSpec{ Spec: corev1.PodSpec{ @@ -194,7 +195,7 @@ func TestMPIJobFailure(t *testing.T) { } var err error - mpiJob, err = s.mpiClient.KubeflowV2().MPIJobs(s.namespace).Create(ctx, mpiJob, metav1.CreateOptions{}) + mpiJob, err = s.mpiClient.KubeflowV2beta1().MPIJobs(s.namespace).Create(ctx, mpiJob, metav1.CreateOptions{}) if err != nil { t.Fatalf("Failed sending job to apiserver: %v", err) } @@ -218,10 +219,10 @@ func TestMPIJobFailure(t *testing.T) { err = updatePodsToPhase(ctx, s.kClient, podsByRole["launcher"], corev1.PodFailed) validateMPIJobDependencies(ctx, t, s.kClient, mpiJob, 0) validateMPIJobStatus(ctx, t, s.mpiClient, mpiJob, map[common.ReplicaType]*common.ReplicaStatus{ - common.ReplicaType(v2.MPIReplicaTypeLauncher): { + common.ReplicaType(kubeflow.MPIReplicaTypeLauncher): { Failed: 1, }, - common.ReplicaType(v2.MPIReplicaTypeWorker): {}, + common.ReplicaType(kubeflow.MPIReplicaTypeWorker): {}, }) s.events.verify(t) } @@ -238,7 +239,7 @@ func startController(ctx context.Context, kClient kubernetes.Interface, mpiClien kubeInformerFactory.Core().V1().Services(), kubeInformerFactory.Core().V1().Pods(), nil, - mpiInformerFactory.Kubeflow().V2().MPIJobs(), + mpiInformerFactory.Kubeflow().V2beta1().MPIJobs(), "") go kubeInformerFactory.Start(ctx.Done()) @@ -247,7 +248,7 @@ func startController(ctx context.Context, kClient kubernetes.Interface, mpiClien go ctrl.Run(1, ctx.Done()) } -func validateMPIJobDependencies(ctx context.Context, t *testing.T, kubeClient kubernetes.Interface, job *v2.MPIJob, workers int) map[string][]corev1.Pod { +func validateMPIJobDependencies(ctx context.Context, t *testing.T, kubeClient kubernetes.Interface, job *kubeflow.MPIJob, workers int) map[string][]corev1.Pod { t.Helper() var ( svc *corev1.Service @@ -336,11 +337,11 @@ func validateMPIJobDependencies(ctx context.Context, t *testing.T, kubeClient ku return podsByRole } -func validateMPIJobStatus(ctx context.Context, t *testing.T, client clientset.Interface, job *v2.MPIJob, want map[common.ReplicaType]*common.ReplicaStatus) { +func validateMPIJobStatus(ctx context.Context, t *testing.T, client clientset.Interface, job *kubeflow.MPIJob, want map[common.ReplicaType]*common.ReplicaStatus) { t.Helper() var got map[common.ReplicaType]*common.ReplicaStatus if err := wait.Poll(waitInterval, wait.ForeverTestTimeout, func() (bool, error) { - newJob, err := client.KubeflowV2().MPIJobs(job.Namespace).Get(ctx, job.Name, metav1.GetOptions{}) + newJob, err := client.KubeflowV2beta1().MPIJobs(job.Namespace).Get(ctx, job.Name, metav1.GetOptions{}) if err != nil { return false, err } @@ -386,7 +387,7 @@ func diffCounts(gotMap map[string][]corev1.Pod, want map[string]int) string { })) } -func getServiceForJob(ctx context.Context, client kubernetes.Interface, job *v2.MPIJob) (*corev1.Service, error) { +func getServiceForJob(ctx context.Context, client kubernetes.Interface, job *kubeflow.MPIJob) (*corev1.Service, error) { result, err := client.CoreV1().Services(job.Namespace).List(ctx, metav1.ListOptions{}) if err != nil { return nil, err @@ -399,7 +400,7 @@ func getServiceForJob(ctx context.Context, client kubernetes.Interface, job *v2. return nil, nil } -func getConfigMapForJob(ctx context.Context, client kubernetes.Interface, job *v2.MPIJob) (*corev1.ConfigMap, error) { +func getConfigMapForJob(ctx context.Context, client kubernetes.Interface, job *kubeflow.MPIJob) (*corev1.ConfigMap, error) { result, err := client.CoreV1().ConfigMaps(job.Namespace).List(ctx, metav1.ListOptions{}) if err != nil { return nil, err @@ -412,7 +413,7 @@ func getConfigMapForJob(ctx context.Context, client kubernetes.Interface, job *v return nil, nil } -func getSecretForJob(ctx context.Context, client kubernetes.Interface, job *v2.MPIJob) (*corev1.Secret, error) { +func getSecretForJob(ctx context.Context, client kubernetes.Interface, job *kubeflow.MPIJob) (*corev1.Secret, error) { result, err := client.CoreV1().Secrets(job.Namespace).List(ctx, metav1.ListOptions{}) if err != nil { return nil, err @@ -425,7 +426,7 @@ func getSecretForJob(ctx context.Context, client kubernetes.Interface, job *v2.M return nil, nil } -func getPodsForJob(ctx context.Context, client kubernetes.Interface, job *v2.MPIJob) ([]corev1.Pod, error) { +func getPodsForJob(ctx context.Context, client kubernetes.Interface, job *kubeflow.MPIJob) ([]corev1.Pod, error) { result, err := client.CoreV1().Pods(job.Namespace).List(ctx, metav1.ListOptions{}) if err != nil { return nil, err @@ -447,7 +448,7 @@ func newCleanPodPolicy(policy common.CleanPodPolicy) *common.CleanPodPolicy { return &policy } -func eventForJob(event corev1.Event, job *v2.MPIJob) corev1.Event { +func eventForJob(event corev1.Event, job *kubeflow.MPIJob) corev1.Event { event.Namespace = job.Namespace event.Source.Component = "mpi-job-controller" ref, err := reference.GetReference(scheme.Scheme, job)