Skip to content

Commit

Permalink
Merge pull request #3597 from jiaqiluo/fix-kubeapi-env
Browse files Browse the repository at this point in the history
  • Loading branch information
jiaqiluo authored Jun 7, 2024
2 parents 08c9481 + 4613cce commit cfc6fcc
Show file tree
Hide file tree
Showing 3 changed files with 76 additions and 1 deletion.
6 changes: 5 additions & 1 deletion cluster/plan.go
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,7 @@ func (c *Cluster) BuildKubeAPIProcess(host *hosts.Host, serviceOptions v3.Kubern
"tls-private-key-file": pki.GetKeyPath(pki.KubeAPICertName),
}
CommandArrayArgs := make(map[string][]string, len(c.Services.KubeAPI.ExtraArgsArray))
Env := make([]string, len(c.Services.KubeAPI.ExtraEnv))
var Env []string

if len(c.CloudProvider.Name) > 0 {
CommandArgs["cloud-config"] = cloudConfigFileName
Expand Down Expand Up @@ -1267,6 +1267,10 @@ func getUniqStringList(l []string) []string {
m := map[string]bool{}
ul := []string{}
for _, k := range l {
k = strings.TrimSpace(k)
if k == "" {
continue
}
if _, ok := m[k]; !ok {
m[k] = true
ul = append(ul, k)
Expand Down
52 changes: 52 additions & 0 deletions cluster/plan_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
package cluster

import (
"testing"

"github.com/stretchr/testify/assert"
)

func Test_getUniqStringList(t *testing.T) {
type args struct {
l []string
}
tests := []struct {
name string
args args
want []string
}{
{
"contain strings with only spaces",
args{
[]string{" ", "key1=value1", " ", "key2=value2"},
},
[]string{"key1=value1", "key2=value2"},
},
{
"contain strings with trailing or leading spaces",
args{
[]string{" key1=value1", "key1=value1 ", " key2=value2 "},
},
[]string{"key1=value1", "key2=value2"},
},
{
"contain duplicated strings",
args{
[]string{"", "key1=value1", "key1=value1", "key2=value2"},
},
[]string{"key1=value1", "key2=value2"},
},
{
"contain empty string",
args{
[]string{"", "key1=value1", "", "key2=value2"},
},
[]string{"key1=value1", "key2=value2"},
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
assert.Equalf(t, tt.want, getUniqStringList(tt.args.l), "getUniqStringList(%v)", tt.args.l)
})
}
}
19 changes: 19 additions & 0 deletions scripts/integration
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,25 @@ nodes:
- address: rke-node-${node}
role: [etcd, controlplane, worker]
user: ubuntu
services:
etcd:
extra_env:
- TEST_VAR=etcd
kubeproxy:
extra_env:
- TEST_VAR=kube-proxy
scheduler:
extra_env:
- TEST_VAR=scheduler
kubelet:
extra_env:
- TEST_VAR=kubelet
kube-controller:
extra_env:
- TEST_VAR=kube-controller
kube-api:
extra_env:
- TEST_VAR=kube-api
EOF

if [ "x${NETWORK_PLUGIN}" != "x" ]; then
Expand Down

0 comments on commit cfc6fcc

Please sign in to comment.