utils

package
v0.2.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 29, 2024 License: MIT Imports: 18 Imported by: 0

Documentation

Overview

Copyright (c) Microsoft Corporation. Licensed under the MIT license.

Index

Constants

View Source
const (
	LabelKeyNvidia    = "accelerator"
	LabelValueNvidia  = "nvidia"
	CapacityNvidiaGPU = "nvidia.com/gpu"
)
View Source
const (
	// WorkspaceFinalizer is used to make sure that workspace controller handles garbage collection.
	WorkspaceFinalizer = "workspace.finalizer.kaito.sh"
)

Variables

View Source
var (
	MockMachine = v1alpha5.Machine{
		ObjectMeta: metav1.ObjectMeta{
			Name:   "testmachine",
			Labels: machineLabels,
		},
		Spec: v1alpha5.MachineSpec{
			MachineTemplateRef: &v1alpha5.MachineTemplateRef{
				Name: "test-machine",
			},
			Requirements: []corev1.NodeSelectorRequirement{
				{
					Key:      corev1.LabelInstanceTypeStable,
					Operator: corev1.NodeSelectorOpIn,
					Values:   []string{"Standard_NC12s_v3"},
				},
				{
					Key:      "karpenter.sh/provisioner-name",
					Operator: corev1.NodeSelectorOpIn,
					Values:   []string{"default"},
				},
			},
		},
	}
)
View Source
var (
	MockMachineList = &v1alpha5.MachineList{
		Items: []v1alpha5.Machine{
			MockMachine,
		},
	}
)
View Source
var (
	MockNodeList = &corev1.NodeList{
		Items: nodes,
	}
)
View Source
var (
	MockWorkspaceDistributedModel = &v1alpha1.Workspace{
		ObjectMeta: metav1.ObjectMeta{
			Name:      "testWorkspace",
			Namespace: "kaito",
		},
		Resource: v1alpha1.ResourceSpec{
			Count:        &gpuNodeCount,
			InstanceType: "Standard_NC12s_v3",
			LabelSelector: &metav1.LabelSelector{
				MatchLabels: map[string]string{
					"apps": "test",
				},
			},
		},
		Inference: v1alpha1.InferenceSpec{
			Preset: &v1alpha1.PresetSpec{
				PresetMeta: v1alpha1.PresetMeta{
					Name: "test-distributed-model",
				},
			},
		},
	}
)
View Source
var (
	MockWorkspaceWithInferenceTemplate = &v1alpha1.Workspace{
		ObjectMeta: metav1.ObjectMeta{
			Name:      "testWorkspace",
			Namespace: "kaito",
		},
		Resource: v1alpha1.ResourceSpec{
			Count:        &gpuNodeCount,
			InstanceType: "Standard_NC12s_v3",
			LabelSelector: &metav1.LabelSelector{
				MatchLabels: map[string]string{
					"apps": "test",
				},
			},
		},
		Inference: v1alpha1.InferenceSpec{
			Template: &corev1.PodTemplateSpec{},
		},
	}
)
View Source
var (
	MockWorkspaceWithPreset = &v1alpha1.Workspace{
		ObjectMeta: metav1.ObjectMeta{
			Name:      "testWorkspace",
			Namespace: "kaito",
		},
		Resource: v1alpha1.ResourceSpec{
			Count:        &gpuNodeCount,
			InstanceType: "Standard_NC12s_v3",
			LabelSelector: &metav1.LabelSelector{
				MatchLabels: map[string]string{
					"apps": "test",
				},
			},
		},
		Inference: v1alpha1.InferenceSpec{
			Preset: &v1alpha1.PresetSpec{
				PresetMeta: v1alpha1.PresetMeta{
					Name: "test-model",
				},
			},
		},
	}
)

Functions

func Contains

func Contains(s []string, e string) bool

func IsAlreadyExistsError added in v0.1.0

func IsAlreadyExistsError() error

func NewTestScheme

func NewTestScheme() *runtime.Scheme

func NotFoundError added in v0.1.0

func NotFoundError() error

func RegisterTestModel added in v0.2.0

func RegisterTestModel()

Types

type MockClient

type MockClient struct {
	mock.Mock

	ObjectMap  map[reflect.Type]map[k8sClient.ObjectKey]k8sClient.Object
	StatusMock *MockStatusClient
	UpdateCb   func(key types.NamespacedName)
}

Client is a mock for the controller-runtime dynamic client interface.

func NewClient

func NewClient() *MockClient

func (*MockClient) Create

func (m *MockClient) Create(ctx context.Context, obj k8sClient.Object, opts ...k8sClient.CreateOption) error

func (*MockClient) CreateMapWithType added in v0.1.0

func (m *MockClient) CreateMapWithType(t interface{}) map[k8sClient.ObjectKey]k8sClient.Object

func (*MockClient) CreateOrUpdateObjectInMap

func (m *MockClient) CreateOrUpdateObjectInMap(obj k8sClient.Object)

func (*MockClient) Delete

func (m *MockClient) Delete(ctx context.Context, obj k8sClient.Object, opts ...k8sClient.DeleteOption) error

func (*MockClient) DeleteAllOf

func (m *MockClient) DeleteAllOf(ctx context.Context, obj k8sClient.Object, opts ...k8sClient.DeleteAllOfOption) error

func (*MockClient) Get

k8s Client interface

func (*MockClient) GetObjectFromMap

func (m *MockClient) GetObjectFromMap(obj k8sClient.Object, key types.NamespacedName)

func (*MockClient) GroupVersionKindFor

func (m *MockClient) GroupVersionKindFor(obj runtime.Object) (schema.GroupVersionKind, error)

GroupVersionKindFor implements client.Client

func (*MockClient) IsObjectNamespaced

func (m *MockClient) IsObjectNamespaced(obj runtime.Object) (bool, error)

IsObjectNamespaced implements client.Client

func (*MockClient) List

func (*MockClient) Patch

func (m *MockClient) Patch(ctx context.Context, obj k8sClient.Object, patch k8sClient.Patch, opts ...k8sClient.PatchOption) error

func (*MockClient) RESTMapper

func (m *MockClient) RESTMapper() meta.RESTMapper

func (*MockClient) Scheme

func (m *MockClient) Scheme() *runtime.Scheme

func (*MockClient) Status

func (m *MockClient) Status() k8sClient.StatusWriter

func (*MockClient) SubResource

func (m *MockClient) SubResource(subResource string) k8sClient.SubResourceClient

SubResource implements client.Client

func (*MockClient) Update

func (m *MockClient) Update(ctx context.Context, obj k8sClient.Object, opts ...k8sClient.UpdateOption) error

type MockStatusClient

type MockStatusClient struct {
	mock.Mock
}

func (*MockStatusClient) Create

func (*MockStatusClient) Patch

func (*MockStatusClient) Update

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL