From 197b45db4215d7cd6b55cf01f3db28e6f321bf93 Mon Sep 17 00:00:00 2001 From: orangedeng Date: Fri, 21 Jun 2019 15:44:20 +0800 Subject: [PATCH] Add taints field into rke node config --- apis/management.cattle.io/v3/rke_types.go | 3 +++ apis/management.cattle.io/v3/schema/schema.go | 14 +++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/apis/management.cattle.io/v3/rke_types.go b/apis/management.cattle.io/v3/rke_types.go index 0f9fbae9..40e44a84 100644 --- a/apis/management.cattle.io/v3/rke_types.go +++ b/apis/management.cattle.io/v3/rke_types.go @@ -2,6 +2,7 @@ package v3 import ( "github.com/rancher/norman/types" + v1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) @@ -172,6 +173,8 @@ type RKEConfigNode struct { SSHCertPath string `yaml:"ssh_cert_path" json:"sshCertPath,omitempty"` // Node Labels Labels map[string]string `yaml:"labels" json:"labels,omitempty"` + // Node Taints + Taints []v1.Taint `yaml:"taints" json:"taints,omitempty"` } type RKEK8sSystemImage struct { diff --git a/apis/management.cattle.io/v3/schema/schema.go b/apis/management.cattle.io/v3/schema/schema.go index 2d047def..5e2ebd99 100644 --- a/apis/management.cattle.io/v3/schema/schema.go +++ b/apis/management.cattle.io/v3/schema/schema.go @@ -52,7 +52,19 @@ var ( ) func rkeTypes(schemas *types.Schemas) *types.Schemas { - return schemas.AddMapperForType(&Version, v3.BaseService{}, m.Drop{Field: "image"}) + return schemas.AddMapperForType(&Version, v3.BaseService{}, m.Drop{Field: "image"}). + AddMapperForType(&Version, v1.Taint{}, + m.Enum{Field: "effect", Options: []string{ + string(v1.TaintEffectNoSchedule), + string(v1.TaintEffectPreferNoSchedule), + string(v1.TaintEffectNoExecute), + }}, + m.Required{Fields: []string{ + "effect", + "key", + }}, + m.ReadOnly{Field: "timeAdded"}, + ) } func schemaTypes(schemas *types.Schemas) *types.Schemas {