From 0a170b22b7100d610679cede536062a385635710 Mon Sep 17 00:00:00 2001 From: Frank Mai Date: Thu, 5 Sep 2019 17:29:54 +0800 Subject: [PATCH] Support to accpet new Windows service options **Issue:** https://github.com/rancher/rancher/issues/22470 --- cluster/cluster.go | 6 +++++- cmd/up.go | 3 ++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/cluster/cluster.go b/cluster/cluster.go index 1720cb9e..28598145 100644 --- a/cluster/cluster.go +++ b/cluster/cluster.go @@ -124,12 +124,16 @@ func (c *Cluster) DeployControlPlane(ctx context.Context, svcOptions *v3.Kuberne return nil } -func (c *Cluster) DeployWorkerPlane(ctx context.Context, svcOptions *v3.KubernetesServicesOptions) error { +func (c *Cluster) DeployWorkerPlane(ctx context.Context, linuxSvcOptions *v3.KubernetesServicesOptions, windowsSvcOptions *v3.KubernetesServicesOptions) error { // Deploy Worker plane workerNodePlanMap := make(map[string]v3.RKEConfigNodePlan) // Build cp node plan map allHosts := hosts.GetUniqueHostList(c.EtcdHosts, c.ControlPlaneHosts, c.WorkerHosts) for _, workerHost := range allHosts { + svcOptions := linuxSvcOptions + if workerHost.DockerInfo.OSType == "windows" { // compatible with Windows + svcOptions = windowsSvcOptions + } workerNodePlanMap[workerHost.Address] = BuildRKEConfigNodePlan(ctx, c, workerHost, workerHost.DockerInfo, svcOptions) } if err := services.RunWorkerPlane(ctx, allHosts, diff --git a/cmd/up.go b/cmd/up.go index e93f048a..ea7e375b 100644 --- a/cmd/up.go +++ b/cmd/up.go @@ -166,7 +166,8 @@ func ClusterUp(ctx context.Context, dialersOptions hosts.DialersOptions, flags c return APIURL, caCrt, clientCert, clientKey, nil, err } - err = kubeCluster.DeployWorkerPlane(ctx, svcOptions) + windowsSvcOptions, _ := data["k8s-windows-service-options"].(*v3.KubernetesServicesOptions) + err = kubeCluster.DeployWorkerPlane(ctx, svcOptions, windowsSvcOptions) if err != nil { return APIURL, caCrt, clientCert, clientKey, nil, err }