Skip to content

Commit

Permalink
fix(provider): update join k3d function and rollback logic
Browse files Browse the repository at this point in the history
  • Loading branch information
sunyakun authored and JacieChao committed Jul 14, 2023
1 parent fa84c48 commit 5c54e6c
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 13 deletions.
14 changes: 11 additions & 3 deletions pkg/cluster/base.go
Original file line number Diff line number Diff line change
Expand Up @@ -1142,10 +1142,18 @@ func (p *ProviderBase) RollbackCluster(rollbackInstance func(ids []string) error
if err := rollbackInstance(ids); err != nil {
return err
}
// remove context.
if err := common.FileManager.ClearCfgByContext(p.ContextName); err != nil {
logrus.Errorf("failed to remove cluster context %s from kube config", p.ContextName)

state, err := common.DefaultDB.GetCluster(p.Name, p.Provider)
if err != nil {
return err
}
if state == nil || state.Status != common.StatusRunning {
// remove context.
if err := common.FileManager.ClearCfgByContext(p.ContextName); err != nil {
logrus.Errorf("failed to remove cluster context %s from kube config", p.ContextName)
}
}

p.Logger.Infof("[%s] successfully executed rollback logic", p.Provider)
}

Expand Down
27 changes: 17 additions & 10 deletions pkg/providers/k3d/k3d.go
Original file line number Diff line number Diff line change
Expand Up @@ -368,6 +368,13 @@ func (p *K3d) createK3d(ssh *types.SSH) (*types.Cluster, error) {
return nil, err
}

p.M.Range(func(key, val interface{}) bool {
v := val.(types.Node)
v.RollBack = true
p.M.Store(v.InstanceID, v)
return true
})

c := &types.Cluster{
Metadata: p.Metadata,
Options: p.Options,
Expand Down Expand Up @@ -415,13 +422,13 @@ func (p *K3d) joinK3d(ssh *types.SSH) (*types.Cluster, error) {
sort.Ints(serverIndexes)
sort.Ints(agentIndexes)

index := 0
if len(serverIndexes) > 0 {
index = serverIndexes[len(serverIndexes)-1] + 1
}
for i := 0; i < masterNum; i++ {
index := 0
if len(serverIndexes)-1 > 0 {
index = serverIndexes[len(serverIndexes)-1]
}
node := &k3d.Node{
Name: fmt.Sprintf("%s-%s-%s-%d", k3d.DefaultObjectNamePrefix, p.Name, "server", index+1+i),
Name: fmt.Sprintf("%s-%s-%s-%d", k3d.DefaultObjectNamePrefix, p.Name, "server", index+i),
Role: k3d.ServerRole,
Image: p.Image,
K3sNodeLabels: map[string]string{
Expand All @@ -435,13 +442,13 @@ func (p *K3d) joinK3d(ssh *types.SSH) (*types.Cluster, error) {
nodes = append(nodes, node)
}

index = 0
if len(agentIndexes) > 0 {
index = agentIndexes[len(agentIndexes)-1] + 1
}
for i := 0; i < workerNum; i++ {
index := 0
if len(agentIndexes)-1 > 0 {
index = agentIndexes[len(agentIndexes)-1]
}
node := &k3d.Node{
Name: fmt.Sprintf("%s-%s-%s-%d", k3d.DefaultObjectNamePrefix, p.Name, "agent", index+1+i),
Name: fmt.Sprintf("%s-%s-%s-%d", k3d.DefaultObjectNamePrefix, p.Name, "agent", index+i),
Role: k3d.AgentRole,
Image: p.Image,
K3sNodeLabels: map[string]string{
Expand Down

0 comments on commit 5c54e6c

Please sign in to comment.