Ray operator: controller code and guide to use (#6501)

This commit is contained in:
Qstar
2019-12-29 10:14:47 -06:00
committed by Edward Oakes
parent 7c1e0e5715
commit 10338fde0c
17 changed files with 1424 additions and 59 deletions
@@ -13,16 +13,16 @@ type RayClusterSpec struct {
// INSERT ADDITIONAL SPEC FIELDS - desired state of cluster
// Important: Run "make" to regenerate code after modifying this file
// ClusterName is unique identifier for RayCluster in one namespace.
ClusterName string `json:"clusterName"`
ClusterName string `json:"clusterName"`
// Docker image.
Images RayClusterImage `json:"images"`
Images RayClusterImage `json:"images"`
// Image pull policy.
// One of Always, Never, IfNotPresent.
// Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
// Cannot be updated.
ImagePullPolicy string `json:"imagePullPolicy,omitempty"`
ImagePullPolicy v1.PullPolicy `json:"imagePullPolicy,omitempty"`
// Specification of the desired behavior of pod group
Extensions []Extension `json:"extensions,omitempty"`
Extensions []Extension `json:"extensions,omitempty"`
}
// RayCluster pod type
@@ -5,13 +5,18 @@
package v1alpha1
import (
corev1 "k8s.io/api/core/v1"
"k8s.io/api/core/v1"
runtime "k8s.io/apimachinery/pkg/runtime"
)
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Extension) DeepCopyInto(out *Extension) {
*out = *in
if in.Replicas != nil {
in, out := &in.Replicas, &out.Replicas
*out = new(int32)
**out = **in
}
if in.Labels != nil {
in, out := &in.Labels, &out.Labels
*out = make(map[string]string, len(*in))
@@ -28,20 +33,20 @@ func (in *Extension) DeepCopyInto(out *Extension) {
}
if in.Affinity != nil {
in, out := &in.Affinity, &out.Affinity
*out = new(corev1.Affinity)
*out = new(v1.Affinity)
(*in).DeepCopyInto(*out)
}
in.Resources.DeepCopyInto(&out.Resources)
if in.Tolerations != nil {
in, out := &in.Tolerations, &out.Tolerations
*out = make([]corev1.Toleration, len(*in))
*out = make([]v1.Toleration, len(*in))
for i := range *in {
(*in)[i].DeepCopyInto(&(*out)[i])
}
}
if in.ContainerEnv != nil {
in, out := &in.ContainerEnv, &out.ContainerEnv
*out = make([]corev1.EnvVar, len(*in))
*out = make([]v1.EnvVar, len(*in))
for i := range *in {
(*in)[i].DeepCopyInto(&(*out)[i])
}
@@ -55,14 +60,14 @@ func (in *Extension) DeepCopyInto(out *Extension) {
}
if in.Volumes != nil {
in, out := &in.Volumes, &out.Volumes
*out = make([]corev1.Volume, len(*in))
*out = make([]v1.Volume, len(*in))
for i := range *in {
(*in)[i].DeepCopyInto(&(*out)[i])
}
}
if in.VolumeMounts != nil {
in, out := &in.VolumeMounts, &out.VolumeMounts
*out = make([]corev1.VolumeMount, len(*in))
*out = make([]v1.VolumeMount, len(*in))
for i := range *in {
(*in)[i].DeepCopyInto(&(*out)[i])
}