代码拉取完成,页面将自动刷新
同步操作将从 src-openEuler/eggo 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
From 61a4eb8d90ac24ad09b82b2d1578c99ed6a2d5b7 Mon Sep 17 00:00:00 2001
From: zhangxiaoyu <zhangxiaoyu58@huawei.com>
Date: Tue, 29 Mar 2022 21:34:38 +0800
Subject: [PATCH 23/24] add golang static code check
Signed-off-by: zhangxiaoyu <zhangxiaoyu58@huawei.com>
---
.golangci.yaml | 54 +++++++++++++++----
cmd/checker.go | 5 +-
cmd/checker_test.go | 4 +-
cmd/configs.go | 33 ++++++------
cmd/configs_test.go | 1 +
cmd/delete.go | 2 +-
cmd/eggo.go | 4 +-
cmd/filetools.go | 6 ++-
cmd/list.go | 1 +
cmd/opts.go | 4 +-
pkg/api/tools.go | 7 +--
pkg/api/types.go | 10 ++--
.../binary/addons/runner_addons.go | 4 +-
.../binary/bootstrap/bootstrap.go | 5 +-
.../binary/bootstrap/bootstrap_test.go | 9 ++--
.../binary/cleanupcluster/cleanupetcd.go | 1 +
.../binary/commontools/copycacerts.go | 1 +
.../binary/commontools/runshell.go | 1 +
.../binary/commontools/systemdservices.go | 5 +-
.../binary/controlplane/controlplane.go | 9 ++--
.../binary/controlplane/controlplane_test.go | 1 +
.../binary/coredns/binarycoredns.go | 11 ++--
.../binary/coredns/podcoredns.go | 6 ++-
.../binary/etcdcluster/etcdcluster.go | 10 ++--
.../binary/etcdcluster/etcdcluster_test.go | 1 +
.../binary/etcdcluster/etcdjoin.go | 4 +-
.../binary/etcdcluster/etcdreconfig.go | 5 +-
.../binary/infrastructure/firewall.go | 1 +
.../infrastructure/infrastructure_test.go | 1 +
.../binary/loadbalance/loadbalance.go | 1 +
.../binary/network/network.go | 5 +-
pkg/clusterdeployment/clusterdeploy.go | 36 ++++++++-----
pkg/clusterdeployment/runtime/runtime.go | 1 +
pkg/constants/constants.go | 14 ++++-
pkg/utils/certs/approvecsr.go | 10 ++--
pkg/utils/certs/certs.go | 1 +
pkg/utils/certs/localcerts.go | 9 +++-
pkg/utils/certs/tools.go | 6 ++-
pkg/utils/dependency/cmdhooks.go | 3 +-
pkg/utils/dependency/dependency.go | 1 +
pkg/utils/dependency/dependency_test.go | 1 +
pkg/utils/dependency/install.go | 9 ++--
pkg/utils/endpoint/endpoint.go | 13 +++--
pkg/utils/infra/infra.go | 2 +-
pkg/utils/kubectl/kubectl.go | 10 ++--
pkg/utils/kubectl/taint.go | 5 +-
pkg/utils/nodemanager/node.go | 14 +++--
pkg/utils/nodemanager/nodemanager.go | 5 +-
pkg/utils/nodemanager/nodemanager_test.go | 1 +
pkg/utils/runner/runner.go | 1 +
50 files changed, 244 insertions(+), 110 deletions(-)
diff --git a/.golangci.yaml b/.golangci.yaml
index ea8515f..e3051db 100644
--- a/.golangci.yaml
+++ b/.golangci.yaml
@@ -1,18 +1,54 @@
-linters-settings:
- golint:
- min-confidence: 0
- misspell:
- locale: US
+run:
+ deadline: 10m
+ issues-exit-code: 1
+ tests: true
+
+ skip-dirs:
+ - vendor
+
+ skip-files:
+ - ".*\\.pb\\.go$"
+ - ".*\\.dbx\\.go$"
+
+
linters:
disable-all: true
enable:
- - typecheck
+ - gomnd
+ - govet
- goimports
+ - revive
+ - gofmt
+ - gosimple
+ - typecheck
- misspell
- - govet
- ineffassign
- - gosimple
- deadcode
- structcheck
- unused
- - errcheck
\ No newline at end of file
+ - errcheck
+
+linters-settings:
+ gomnd:
+ settings:
+ mnd:
+ checks: argument, case, condition, operation, return, assign
+ ignored-numbers: 2
+ govet:
+ check-shadowing: true
+ use-installed-packages: false
+ goimports:
+ local-prefixes: isula.org/eggo
+ revive:
+ min-confidence: 0.8
+ rules:
+ - name: exported
+ disabled: true
+ gofmt:
+ simplify: true
+ misspell:
+ locale: US
+ errcheck:
+ check-type-assertions: false
+ check-blank: false
+ ignore: fmt:.*,io/ioutil:^Read.*
diff --git a/cmd/checker.go b/cmd/checker.go
index 2f99a0c..54136a2 100644
--- a/cmd/checker.go
+++ b/cmd/checker.go
@@ -26,12 +26,13 @@ import (
"strings"
"time"
+ "k8s.io/apimachinery/pkg/util/validation"
+
"isula.org/eggo/pkg/api"
"isula.org/eggo/pkg/constants"
"isula.org/eggo/pkg/utils"
"isula.org/eggo/pkg/utils/endpoint"
chain "isula.org/eggo/pkg/utils/responsibilitychain"
- "k8s.io/apimachinery/pkg/util/validation"
)
type ClusterConfigResponsibility struct {
@@ -414,7 +415,7 @@ func checkHookFile(fileName string) error {
if !file.Mode().IsRegular() {
return fmt.Errorf("%s is not regular file", file.Name())
}
- if file.Mode().Perm() != os.FileMode(constants.HookFileMode) {
+ if file.Mode().Perm() != constants.HookFileMode {
return fmt.Errorf("file mode of %s is incorrect", file.Name())
}
if file.Size() > constants.MaxHookFileSize || file.Size() == 0 {
diff --git a/cmd/checker_test.go b/cmd/checker_test.go
index 57babf9..1abf20d 100644
--- a/cmd/checker_test.go
+++ b/cmd/checker_test.go
@@ -53,8 +53,8 @@ func TestRunChecker(t *testing.T) {
}
for _, fn := range conf.InstallConfig.PackageSrc.SrcPath {
- if err := os.MkdirAll(fn, 0755); err != nil {
- t.Fatalf("mkdir failed: %v", err)
+ if terr := os.MkdirAll(fn, 0755); terr != nil {
+ t.Fatalf("mkdir failed: %v", terr)
}
defer os.RemoveAll(fn)
}
diff --git a/cmd/configs.go b/cmd/configs.go
index 4d7a4b9..0a35b57 100644
--- a/cmd/configs.go
+++ b/cmd/configs.go
@@ -25,9 +25,9 @@ import (
"strconv"
"strings"
+ "github.com/sirupsen/logrus"
"gopkg.in/yaml.v1"
- "github.com/sirupsen/logrus"
"isula.org/eggo/pkg/api"
"isula.org/eggo/pkg/clusterdeployment/binary/coredns"
"isula.org/eggo/pkg/constants"
@@ -40,6 +40,9 @@ const (
WorkerRole string = "worker"
ETCDRole string = "etcd"
LoadBalanceRole string = "loadbalance"
+
+ parseBase = 10
+ parseBitSize = 32
)
var (
@@ -81,7 +84,7 @@ func init() {
return
}
- if err := os.Mkdir(utils.GetEggoDir(), 0700); err != nil {
+ if err := os.Mkdir(utils.GetEggoDir(), constants.EggoDirMode); err != nil {
logrus.Errorf("mkdir eggo directory %v failed", utils.GetEggoDir())
}
}
@@ -109,11 +112,11 @@ func saveDeployConfig(cc *DeployConfig, filePath string) error {
return fmt.Errorf("invalid config file path %v", filePath)
}
- if err = os.MkdirAll(filepath.Dir(cleanPath), 0750); err != nil {
+ if err = os.MkdirAll(filepath.Dir(cleanPath), constants.EggoHomeDirMode); err != nil {
return fmt.Errorf("create dir %v to save deploy config failed: %v", filepath.Dir(cleanPath), err)
}
- if err = ioutil.WriteFile(filePath, d, 0640); err != nil {
+ if err = ioutil.WriteFile(filePath, d, constants.DeployConfigFileMode); err != nil {
return fmt.Errorf("write user deploy config file failed: %v", err)
}
@@ -162,14 +165,14 @@ func getDefaultClusterdeploymentConfig() *api.ClusterConfig {
PluginArgs: make(map[string]string),
},
ControlPlane: api.ControlPlaneConfig{
- ApiConf: &api.ApiServer{
+ APIConf: &api.APIServer{
Timeout: "120s",
},
},
WorkerConfig: api.WorkerConfig{
KubeletConf: &api.Kubelet{
- DnsVip: "10.32.0.10",
- DnsDomain: "cluster.local",
+ DNSVip: "10.32.0.10",
+ DNSDomain: "cluster.local",
PauseImage: "k8s.gcr.io/pause:3.2",
NetworkPlugin: "cni",
CniBinDir: "/usr/libexec/cni,/opt/cni/bin",
@@ -283,7 +286,7 @@ func fillPackageConfig(ccfg *api.ClusterConfig, icfg *InstallConfig) {
}
if coredns.IsTypeBinary(ccfg.ServiceCluster.DNS.CorednsType) {
- ccfg.RoleInfra[api.Master].Softwares = appendSoftware(ccfg.RoleInfra[api.Master].Softwares, ToEggoPackageConfig(icfg.Dns), infra.DnsPackages)
+ ccfg.RoleInfra[api.Master].Softwares = appendSoftware(ccfg.RoleInfra[api.Master].Softwares, ToEggoPackageConfig(icfg.Dns), infra.DNSPackages)
}
if len(icfg.Addition) == 0 {
@@ -527,7 +530,7 @@ func fillAPIEndPoint(APIEndpoint *api.APIEndpoint, conf *DeployConfig) {
return
}
- iport, err := strconv.ParseInt(port, 10, 32)
+ iport, err := strconv.ParseInt(port, parseBase, parseBitSize)
if err != nil {
logrus.Errorf("invalid port %s: %v", port, err)
return
@@ -576,9 +579,9 @@ func toClusterdeploymentConfig(conf *DeployConfig, hooks []*api.ClusterHookConf)
setIfStrConfigNotEmpty(&ccfg.Network.PodCIDR, conf.NetWork.PodCIDR)
setIfStrConfigNotEmpty(&ccfg.Network.Plugin, conf.NetWork.Plugin)
setStrStrMap(ccfg.Network.PluginArgs, conf.NetWork.PluginArgs)
- setStrArray(&ccfg.ControlPlane.ApiConf.CertSans.DNSNames, conf.ApiServerCertSans.DNSNames)
- setStrArray(&ccfg.ControlPlane.ApiConf.CertSans.IPs, conf.ApiServerCertSans.IPs)
- setIfStrConfigNotEmpty(&ccfg.ControlPlane.ApiConf.Timeout, conf.ApiServerTimeout)
+ setStrArray(&ccfg.ControlPlane.APIConf.CertSans.DNSNames, conf.ApiServerCertSans.DNSNames)
+ setStrArray(&ccfg.ControlPlane.APIConf.CertSans.IPs, conf.ApiServerCertSans.IPs)
+ setIfStrConfigNotEmpty(&ccfg.ControlPlane.APIConf.Timeout, conf.ApiServerTimeout)
ccfg.EtcdCluster.External = conf.EtcdExternal
for _, node := range ccfg.Nodes {
if (node.Type & api.ETCD) != 0 {
@@ -586,8 +589,8 @@ func toClusterdeploymentConfig(conf *DeployConfig, hooks []*api.ClusterHookConf)
}
}
setIfStrConfigNotEmpty(&ccfg.EtcdCluster.Token, conf.EtcdToken)
- setIfStrConfigNotEmpty(&ccfg.WorkerConfig.KubeletConf.DnsVip, conf.DnsVip)
- setIfStrConfigNotEmpty(&ccfg.WorkerConfig.KubeletConf.DnsDomain, conf.DnsDomain)
+ setIfStrConfigNotEmpty(&ccfg.WorkerConfig.KubeletConf.DNSVip, conf.DnsVip)
+ setIfStrConfigNotEmpty(&ccfg.WorkerConfig.KubeletConf.DNSDomain, conf.DnsDomain)
setIfStrConfigNotEmpty(&ccfg.WorkerConfig.KubeletConf.PauseImage, conf.PauseImage)
setIfStrConfigNotEmpty(&ccfg.WorkerConfig.KubeletConf.NetworkPlugin, conf.NetworkPlugin)
setIfStrConfigNotEmpty(&ccfg.WorkerConfig.KubeletConf.CniBinDir, conf.CniBinDir)
@@ -938,7 +941,7 @@ func createDeployConfigTemplate(file string) error {
return fmt.Errorf("marshal template config failed: %v", err)
}
- if err := ioutil.WriteFile(file, d, 0640); err != nil {
+ if err := ioutil.WriteFile(file, d, constants.DeployConfigFileMode); err != nil {
return fmt.Errorf("write template config file failed: %v", err)
}
diff --git a/cmd/configs_test.go b/cmd/configs_test.go
index 04afc51..3b72481 100644
--- a/cmd/configs_test.go
+++ b/cmd/configs_test.go
@@ -23,6 +23,7 @@ import (
"testing"
"gopkg.in/yaml.v1"
+
"isula.org/eggo/pkg/api"
)
diff --git a/cmd/delete.go b/cmd/delete.go
index 05a1dee..2e537aa 100644
--- a/cmd/delete.go
+++ b/cmd/delete.go
@@ -89,7 +89,7 @@ func deleteCluster(cmd *cobra.Command, args []string) error {
return fmt.Errorf("load saved deploy config failed: %v", err)
}
- if err := checkCmdHooksParameter(opts.prehook, opts.posthook); err != nil {
+ if err = checkCmdHooksParameter(opts.prehook, opts.posthook); err != nil {
return err
}
// check saved deploy config
diff --git a/cmd/eggo.go b/cmd/eggo.go
index 36a3f9e..77c8a0f 100644
--- a/cmd/eggo.go
+++ b/cmd/eggo.go
@@ -68,7 +68,9 @@ func preCheck() {
sb.WriteString("Maybe cause to failure!!!\n")
sb.WriteString("Shutdown current operator!!!\n")
fmt.Println(sb.String())
- time.Sleep(time.Second * 10)
+
+ const preCheckSecond = 10
+ time.Sleep(time.Second * preCheckSecond)
}
}
diff --git a/cmd/filetools.go b/cmd/filetools.go
index dff2a01..9b67b71 100644
--- a/cmd/filetools.go
+++ b/cmd/filetools.go
@@ -21,6 +21,8 @@ import (
"path/filepath"
"strconv"
"strings"
+
+ "isula.org/eggo/pkg/constants"
)
func checkProcessRunning(pid int) bool {
@@ -53,11 +55,11 @@ func NewProcessPlaceHolder(path string) (*ProcessPlaceHolder, error) {
if err := checkProcessInFile(path); err != nil && !os.IsNotExist(err) {
return nil, err
}
- if err := os.MkdirAll(filepath.Dir(path), os.FileMode(0750)); err != nil {
+ if err := os.MkdirAll(filepath.Dir(path), constants.EggoHomeDirMode); err != nil {
return nil, err
}
pid := strconv.Itoa(os.Getpid())
- if err := ioutil.WriteFile(path, []byte(pid), 0640); err != nil {
+ if err := ioutil.WriteFile(path, []byte(pid), constants.ProcessFileMode); err != nil {
return nil, err
}
return &ProcessPlaceHolder{path}, nil
diff --git a/cmd/list.go b/cmd/list.go
index 27729ba..60e43bf 100644
--- a/cmd/list.go
+++ b/cmd/list.go
@@ -22,6 +22,7 @@ import (
"github.com/sirupsen/logrus"
"github.com/spf13/cobra"
+
"isula.org/eggo/pkg/api"
)
diff --git a/cmd/opts.go b/cmd/opts.go
index d0235fe..c2ffed4 100644
--- a/cmd/opts.go
+++ b/cmd/opts.go
@@ -20,6 +20,8 @@ import (
"github.com/sirupsen/logrus"
"github.com/spf13/cobra"
+
+ "isula.org/eggo/pkg/constants"
"isula.org/eggo/pkg/utils"
)
@@ -56,7 +58,7 @@ func init() {
return
}
- if err := os.Mkdir(utils.GetEggoDir(), 0700); err != nil {
+ if err := os.Mkdir(utils.GetEggoDir(), constants.EggoDirMode); err != nil {
logrus.Errorf("mkdir eggo directory %v failed", utils.GetEggoDir())
}
}
diff --git a/pkg/api/tools.go b/pkg/api/tools.go
index 4c65dc2..77ee1bc 100644
--- a/pkg/api/tools.go
+++ b/pkg/api/tools.go
@@ -6,8 +6,9 @@ import (
"strings"
"github.com/sirupsen/logrus"
- "isula.org/eggo/pkg/constants"
"k8s.io/apimachinery/pkg/util/json"
+
+ "isula.org/eggo/pkg/constants"
)
var (
@@ -55,7 +56,7 @@ func (p PackageSrcConfig) GetPkgDstPath() string {
return p.DstPath
}
-func (ep APIEndpoint) GetUrl() string {
+func (ep APIEndpoint) GetURL() string {
return fmt.Sprintf("%s/%v", ep.AdvertiseAddress, ep.BindPort)
}
@@ -141,7 +142,7 @@ func WithEtcdExtrArgs(eargs map[string]string) ClusterConfigOption {
func WithAPIServerExtrArgs(eargs map[string]string) ClusterConfigOption {
return func(conf *ClusterConfig) *ClusterConfig {
- conf.ControlPlane.ApiConf.ExtraArgs = eargs
+ conf.ControlPlane.APIConf.ExtraArgs = eargs
return conf
}
}
diff --git a/pkg/api/types.go b/pkg/api/types.go
index 5cb7121..972ec82 100644
--- a/pkg/api/types.go
+++ b/pkg/api/types.go
@@ -55,7 +55,7 @@ const (
type HookRunConfig struct {
ClusterID string
- ClusterApiEndpoint string
+ ClusterAPIEndpoint string
ClusterConfigDir string
HookType HookType
@@ -115,7 +115,7 @@ type Sans struct {
DNSNames []string `json:"dns-names"`
IPs []string `json:"ips"`
}
-type ApiServer struct {
+type APIServer struct {
CertSans Sans `json:"cert-sans,omitempty"`
Timeout string `json:"timeout,omitempty"`
ExtraArgs map[string]string `json:"extra-args,omitempty"`
@@ -136,8 +136,8 @@ type WorkerConfig struct {
}
type Kubelet struct {
- DnsVip string `json:"dns-vip,omitempty"`
- DnsDomain string `json:"dns-domain"`
+ DNSVip string `json:"dns-vip,omitempty"`
+ DNSDomain string `json:"dns-domain"`
PauseImage string `json:"pause-image"`
NetworkPlugin string `json:"network-plugin"`
CniBinDir string `json:"cni-bin-dir"`
@@ -163,7 +163,7 @@ type APIEndpoint struct {
BindPort int32 `json:"bind-port,omitempty"`
}
type ControlPlaneConfig struct {
- ApiConf *ApiServer `json:"apiconf,omitempty"`
+ APIConf *APIServer `json:"apiconf,omitempty"`
ManagerConf *ControlManager `json:"managerconf,omitempty"`
SchedulerConf *Scheduler `json:"schedulerconf,omitempty"`
}
diff --git a/pkg/clusterdeployment/binary/addons/runner_addons.go b/pkg/clusterdeployment/binary/addons/runner_addons.go
index e5bc0ad..27347fd 100644
--- a/pkg/clusterdeployment/binary/addons/runner_addons.go
+++ b/pkg/clusterdeployment/binary/addons/runner_addons.go
@@ -6,6 +6,7 @@ import (
"time"
"github.com/sirupsen/logrus"
+
"isula.org/eggo/pkg/api"
"isula.org/eggo/pkg/constants"
"isula.org/eggo/pkg/utils/dependency"
@@ -77,7 +78,8 @@ func setupAddons(cluster *api.ClusterConfig) error {
if err != nil {
return err
}
- err = nodemanager.WaitNodesFinish([]string{useMaster}, 5*time.Minute)
+
+ err = nodemanager.WaitNodesFinish([]string{useMaster}, time.Minute*constants.DefaultTaskWaitMinutes)
if err != nil {
return err
}
diff --git a/pkg/clusterdeployment/binary/bootstrap/bootstrap.go b/pkg/clusterdeployment/binary/bootstrap/bootstrap.go
index 46870d7..e7b0c63 100644
--- a/pkg/clusterdeployment/binary/bootstrap/bootstrap.go
+++ b/pkg/clusterdeployment/binary/bootstrap/bootstrap.go
@@ -24,6 +24,7 @@ import (
"time"
"github.com/sirupsen/logrus"
+
"isula.org/eggo/pkg/api"
"isula.org/eggo/pkg/clusterdeployment/binary/commontools"
"isula.org/eggo/pkg/clusterdeployment/binary/controlplane"
@@ -245,8 +246,8 @@ serverTLSBootstrap: true
`
datastore := make(map[string]interface{})
- datastore["DnsVip"] = ccfg.WorkerConfig.KubeletConf.DnsVip
- datastore["DnsDomain"] = ccfg.WorkerConfig.KubeletConf.DnsDomain
+ datastore["DnsVip"] = ccfg.WorkerConfig.KubeletConf.DNSVip
+ datastore["DnsDomain"] = ccfg.WorkerConfig.KubeletConf.DNSDomain
datastore["EnableServer"] = ccfg.WorkerConfig.KubeletConf.EnableServer
config, err := template.TemplateRender(kubeletConfig, datastore)
diff --git a/pkg/clusterdeployment/binary/bootstrap/bootstrap_test.go b/pkg/clusterdeployment/binary/bootstrap/bootstrap_test.go
index 7b3c1ff..522af37 100644
--- a/pkg/clusterdeployment/binary/bootstrap/bootstrap_test.go
+++ b/pkg/clusterdeployment/binary/bootstrap/bootstrap_test.go
@@ -20,6 +20,7 @@ import (
"testing"
"github.com/sirupsen/logrus"
+
"isula.org/eggo/pkg/api"
"isula.org/eggo/pkg/utils/nodemanager"
"isula.org/eggo/pkg/utils/runner"
@@ -71,8 +72,8 @@ func TestJoinMaster(t *testing.T) {
},
WorkerConfig: api.WorkerConfig{
KubeletConf: &api.Kubelet{
- DnsVip: "10.32.0.10",
- DnsDomain: "cluster.local",
+ DNSVip: "10.32.0.10",
+ DNSDomain: "cluster.local",
CniBinDir: "/opt/cni/bin",
},
ContainerEngineConf: &api.ContainerEngine{
@@ -146,8 +147,8 @@ func TestJoinWorker(t *testing.T) {
},
WorkerConfig: api.WorkerConfig{
KubeletConf: &api.Kubelet{
- DnsVip: "10.32.0.10",
- DnsDomain: "cluster.local",
+ DNSVip: "10.32.0.10",
+ DNSDomain: "cluster.local",
CniBinDir: "/opt/cni/bin",
},
ContainerEngineConf: &api.ContainerEngine{
diff --git a/pkg/clusterdeployment/binary/cleanupcluster/cleanupetcd.go b/pkg/clusterdeployment/binary/cleanupcluster/cleanupetcd.go
index 59005a7..07922b0 100644
--- a/pkg/clusterdeployment/binary/cleanupcluster/cleanupetcd.go
+++ b/pkg/clusterdeployment/binary/cleanupcluster/cleanupetcd.go
@@ -21,6 +21,7 @@ import (
"time"
"github.com/sirupsen/logrus"
+
"isula.org/eggo/pkg/api"
"isula.org/eggo/pkg/clusterdeployment/binary/etcdcluster"
"isula.org/eggo/pkg/utils"
diff --git a/pkg/clusterdeployment/binary/commontools/copycacerts.go b/pkg/clusterdeployment/binary/commontools/copycacerts.go
index d9f992d..0ef2815 100644
--- a/pkg/clusterdeployment/binary/commontools/copycacerts.go
+++ b/pkg/clusterdeployment/binary/commontools/copycacerts.go
@@ -20,6 +20,7 @@ import (
"path/filepath"
"github.com/sirupsen/logrus"
+
"isula.org/eggo/pkg/api"
"isula.org/eggo/pkg/utils/runner"
)
diff --git a/pkg/clusterdeployment/binary/commontools/runshell.go b/pkg/clusterdeployment/binary/commontools/runshell.go
index 266c488..92122ef 100644
--- a/pkg/clusterdeployment/binary/commontools/runshell.go
+++ b/pkg/clusterdeployment/binary/commontools/runshell.go
@@ -16,6 +16,7 @@ package commontools
import (
"github.com/sirupsen/logrus"
+
"isula.org/eggo/pkg/api"
"isula.org/eggo/pkg/utils/runner"
)
diff --git a/pkg/clusterdeployment/binary/commontools/systemdservices.go b/pkg/clusterdeployment/binary/commontools/systemdservices.go
index 3b32e22..00ed557 100644
--- a/pkg/clusterdeployment/binary/commontools/systemdservices.go
+++ b/pkg/clusterdeployment/binary/commontools/systemdservices.go
@@ -19,6 +19,7 @@ import (
"fmt"
"github.com/sirupsen/logrus"
+
"isula.org/eggo/pkg/api"
"isula.org/eggo/pkg/utils"
"isula.org/eggo/pkg/utils/runner"
@@ -60,8 +61,8 @@ func SetupAPIServerService(r runner.Runner, ccfg *api.ClusterConfig, hcf *api.Ho
"--requestheader-username-headers": "X-Remote-User",
"--encryption-provider-config": "/etc/kubernetes/encryption-config.yaml",
}
- if ccfg.ControlPlane.ApiConf != nil {
- for k, v := range ccfg.ControlPlane.ApiConf.ExtraArgs {
+ if ccfg.ControlPlane.APIConf != nil {
+ for k, v := range ccfg.ControlPlane.APIConf.ExtraArgs {
defaultArgs[k] = v
}
}
diff --git a/pkg/clusterdeployment/binary/controlplane/controlplane.go b/pkg/clusterdeployment/binary/controlplane/controlplane.go
index 1f93e5e..31bdcef 100644
--- a/pkg/clusterdeployment/binary/controlplane/controlplane.go
+++ b/pkg/clusterdeployment/binary/controlplane/controlplane.go
@@ -26,6 +26,7 @@ import (
"strings"
"github.com/sirupsen/logrus"
+
"isula.org/eggo/pkg/api"
"isula.org/eggo/pkg/clusterdeployment/binary/commontools"
"isula.org/eggo/pkg/constants"
@@ -193,9 +194,9 @@ func generateApiServerCertificate(savePath string, cg certs.CertGenerator, ccfg
if ccfg.ServiceCluster.Gateway != "" {
ips = append(ips, ccfg.ServiceCluster.Gateway)
}
- if ccfg.ControlPlane.ApiConf != nil {
- ips = append(ips, ccfg.ControlPlane.ApiConf.CertSans.IPs...)
- dnsnames = append(dnsnames, ccfg.ControlPlane.ApiConf.CertSans.DNSNames...)
+ if ccfg.ControlPlane.APIConf != nil {
+ ips = append(ips, ccfg.ControlPlane.APIConf.CertSans.IPs...)
+ dnsnames = append(dnsnames, ccfg.ControlPlane.APIConf.CertSans.DNSNames...)
}
if ccfg.LoadBalancer.IP != "" {
ips = append(ips, ccfg.LoadBalancer.IP)
@@ -435,7 +436,7 @@ resources:
}
fname := filepath.Join(savePath, constants.EncryptionConfigName)
- return ioutil.WriteFile(fname, []byte(encryStr), 0600)
+ return ioutil.WriteFile(fname, []byte(encryStr), constants.EncryptionConfigFileMode)
}
func generateCertsAndKubeConfigs(r runner.Runner, ccfg *api.ClusterConfig, hcf *api.HostConfig) (err error) {
diff --git a/pkg/clusterdeployment/binary/controlplane/controlplane_test.go b/pkg/clusterdeployment/binary/controlplane/controlplane_test.go
index c4e6ab7..0a73c71 100644
--- a/pkg/clusterdeployment/binary/controlplane/controlplane_test.go
+++ b/pkg/clusterdeployment/binary/controlplane/controlplane_test.go
@@ -20,6 +20,7 @@ import (
"testing"
"github.com/sirupsen/logrus"
+
"isula.org/eggo/pkg/api"
"isula.org/eggo/pkg/utils"
"isula.org/eggo/pkg/utils/nodemanager"
diff --git a/pkg/clusterdeployment/binary/coredns/binarycoredns.go b/pkg/clusterdeployment/binary/coredns/binarycoredns.go
index 411dba2..aa3fada 100644
--- a/pkg/clusterdeployment/binary/coredns/binarycoredns.go
+++ b/pkg/clusterdeployment/binary/coredns/binarycoredns.go
@@ -22,6 +22,7 @@ import (
"time"
"github.com/sirupsen/logrus"
+
"isula.org/eggo/pkg/api"
"isula.org/eggo/pkg/clusterdeployment/binary/commontools"
"isula.org/eggo/pkg/constants"
@@ -292,7 +293,7 @@ func (bc *BinaryCoredns) Setup(cluster *api.ClusterConfig) error {
return err
}
- if err = nodemanager.WaitNodesFinish(masterIPs, time.Minute*5); err != nil {
+ if err = nodemanager.WaitNodesFinish(masterIPs, time.Minute*constants.DefaultTaskWaitMinutes); err != nil {
logrus.Errorf("coredns setup failed: %v", err)
return err
}
@@ -375,7 +376,7 @@ func (bc *BinaryCoredns) Cleanup(cluster *api.ClusterConfig) error {
return nil
}
- if err = nodemanager.WaitNodesFinish(masterIPs, time.Minute*5); err != nil {
+ if err = nodemanager.WaitNodesFinish(masterIPs, time.Minute*constants.DefaultTaskWaitMinutes); err != nil {
logrus.Warnf("wait to coredns cleanup failed: %v", err)
return nil
}
@@ -414,7 +415,7 @@ func (bc *BinaryCoredns) JoinNode(nodeAddr string, cluster *api.ClusterConfig) e
return err
}
- if err = nodemanager.WaitNodesFinish([]string{nodeAddr}, time.Minute*5); err != nil {
+ if err = nodemanager.WaitNodesFinish([]string{nodeAddr}, time.Minute*constants.DefaultTaskWaitMinutes); err != nil {
logrus.Errorf("wait to coredns service running failed: %v", err)
return err
}
@@ -431,7 +432,7 @@ func (bc *BinaryCoredns) JoinNode(nodeAddr string, cluster *api.ClusterConfig) e
return err
}
- if err = nodemanager.WaitNodesFinish([]string{useMaster}, time.Minute*5); err != nil {
+ if err = nodemanager.WaitNodesFinish([]string{useMaster}, time.Minute*constants.DefaultTaskWaitMinutes); err != nil {
logrus.Errorf("wait to join new coredns node failed: %v", err)
return err
}
@@ -453,7 +454,7 @@ func (bc *BinaryCoredns) CleanNode(nodeAddr string, cluster *api.ClusterConfig)
return nil
}
- if err = nodemanager.WaitNodesFinish([]string{nodeAddr}, time.Minute*5); err != nil {
+ if err = nodemanager.WaitNodesFinish([]string{nodeAddr}, time.Minute*constants.DefaultTaskWaitMinutes); err != nil {
logrus.Warnf("wait to coredns cleanup failed: %v", err)
return nil
}
diff --git a/pkg/clusterdeployment/binary/coredns/podcoredns.go b/pkg/clusterdeployment/binary/coredns/podcoredns.go
index 28ae908..8b509bc 100644
--- a/pkg/clusterdeployment/binary/coredns/podcoredns.go
+++ b/pkg/clusterdeployment/binary/coredns/podcoredns.go
@@ -22,7 +22,9 @@ import (
"time"
"github.com/sirupsen/logrus"
+
"isula.org/eggo/pkg/api"
+ "isula.org/eggo/pkg/constants"
"isula.org/eggo/pkg/utils/kubectl"
"isula.org/eggo/pkg/utils/nodemanager"
"isula.org/eggo/pkg/utils/runner"
@@ -137,7 +139,7 @@ func (pc *PodCoredns) Setup(cluster *api.ClusterConfig) error {
if err != nil {
return err
}
- err = nodemanager.WaitNodesFinish([]string{useMaster}, 5*time.Minute)
+ err = nodemanager.WaitNodesFinish([]string{useMaster}, time.Minute*constants.DefaultTaskWaitMinutes)
if err != nil {
return err
}
@@ -162,7 +164,7 @@ func (pc *PodCoredns) Cleanup(cluster *api.ClusterConfig) error {
if err != nil {
return err
}
- err = nodemanager.WaitNodesFinish([]string{useMaster}, 5*time.Minute)
+ err = nodemanager.WaitNodesFinish([]string{useMaster}, time.Minute*constants.DefaultTaskWaitMinutes)
if err != nil {
return err
}
diff --git a/pkg/clusterdeployment/binary/etcdcluster/etcdcluster.go b/pkg/clusterdeployment/binary/etcdcluster/etcdcluster.go
index 5444e77..d7d2f41 100644
--- a/pkg/clusterdeployment/binary/etcdcluster/etcdcluster.go
+++ b/pkg/clusterdeployment/binary/etcdcluster/etcdcluster.go
@@ -23,8 +23,10 @@ import (
"time"
"github.com/sirupsen/logrus"
+
"isula.org/eggo/pkg/api"
"isula.org/eggo/pkg/clusterdeployment/binary/commontools"
+ "isula.org/eggo/pkg/constants"
"isula.org/eggo/pkg/utils"
"isula.org/eggo/pkg/utils/nodemanager"
"isula.org/eggo/pkg/utils/runner"
@@ -155,7 +157,9 @@ func (t *EtcdPostDeployEtcdsTask) Run(r runner.Runner, hostConfig *api.HostConfi
return nil
}
retry--
- time.Sleep(3 * time.Second)
+
+ const etcdRetrySecond = 3
+ time.Sleep(time.Second * etcdRetrySecond)
}
return fmt.Errorf("etcd %v healthcheck failed: %v", hostConfig.Name, err)
@@ -244,7 +248,7 @@ func Init(conf *api.ClusterConfig) error {
return fmt.Errorf("run task on nodes failed: %v", err)
}
- if err := nodemanager.WaitNodesFinish(nodes, time.Minute*5); err != nil {
+ if err := nodemanager.WaitNodesFinish(nodes, time.Minute*constants.DefaultTaskWaitMinutes); err != nil {
return fmt.Errorf("wait for deploy etcds task finish failed: %v", err)
}
@@ -258,7 +262,7 @@ func Init(conf *api.ClusterConfig) error {
return fmt.Errorf("run task on nodes failed: %v", err)
}
- if err := nodemanager.WaitNodesFinish(nodes, time.Minute*5); err != nil {
+ if err := nodemanager.WaitNodesFinish(nodes, time.Minute*constants.DefaultTaskWaitMinutes); err != nil {
return fmt.Errorf("wait for post deploy etcds task finish failed: %v", err)
}
diff --git a/pkg/clusterdeployment/binary/etcdcluster/etcdcluster_test.go b/pkg/clusterdeployment/binary/etcdcluster/etcdcluster_test.go
index f19394a..74ced0f 100644
--- a/pkg/clusterdeployment/binary/etcdcluster/etcdcluster_test.go
+++ b/pkg/clusterdeployment/binary/etcdcluster/etcdcluster_test.go
@@ -24,6 +24,7 @@ import (
"testing"
"github.com/sirupsen/logrus"
+
"isula.org/eggo/pkg/api"
"isula.org/eggo/pkg/utils"
"isula.org/eggo/pkg/utils/nodemanager"
diff --git a/pkg/clusterdeployment/binary/etcdcluster/etcdjoin.go b/pkg/clusterdeployment/binary/etcdcluster/etcdjoin.go
index 97be436..f86499f 100644
--- a/pkg/clusterdeployment/binary/etcdcluster/etcdjoin.go
+++ b/pkg/clusterdeployment/binary/etcdcluster/etcdjoin.go
@@ -20,6 +20,7 @@ import (
"time"
"isula.org/eggo/pkg/api"
+ "isula.org/eggo/pkg/constants"
"isula.org/eggo/pkg/utils/nodemanager"
"isula.org/eggo/pkg/utils/task"
)
@@ -48,7 +49,8 @@ func AddMember(conf *api.ClusterConfig, hostconfig *api.HostConfig) error {
return fmt.Errorf("run task on nodes failed: %v", err)
}
- if err := nodemanager.WaitNodesFinish([]string{hostconfig.Address}, 5*time.Minute); err != nil {
+ if err := nodemanager.WaitNodesFinish([]string{hostconfig.Address},
+ time.Minute*constants.DefaultTaskWaitMinutes); err != nil {
return fmt.Errorf("wait for post deploy etcds task finish failed: %v", err)
}
diff --git a/pkg/clusterdeployment/binary/etcdcluster/etcdreconfig.go b/pkg/clusterdeployment/binary/etcdcluster/etcdreconfig.go
index 9757997..df2cf5c 100644
--- a/pkg/clusterdeployment/binary/etcdcluster/etcdreconfig.go
+++ b/pkg/clusterdeployment/binary/etcdcluster/etcdreconfig.go
@@ -21,6 +21,7 @@ import (
"time"
"github.com/sirupsen/logrus"
+
"isula.org/eggo/pkg/api"
"isula.org/eggo/pkg/utils"
"isula.org/eggo/pkg/utils/nodemanager"
@@ -229,7 +230,9 @@ func addEtcd(r runner.Runner, certDir string, name string, ip string) (string, e
return output, nil
}
retry--
- time.Sleep(3 * time.Second)
+
+ const etcdRetrySecond = 3
+ time.Sleep(time.Second * etcdRetrySecond)
}
logrus.Errorf("add etcd %v failed: %v\noutput: %v", name, err, output)
return "", err
diff --git a/pkg/clusterdeployment/binary/infrastructure/firewall.go b/pkg/clusterdeployment/binary/infrastructure/firewall.go
index 81bf7c5..4660cab 100644
--- a/pkg/clusterdeployment/binary/infrastructure/firewall.go
+++ b/pkg/clusterdeployment/binary/infrastructure/firewall.go
@@ -21,6 +21,7 @@ import (
"strings"
"github.com/sirupsen/logrus"
+
"isula.org/eggo/pkg/api"
"isula.org/eggo/pkg/utils"
"isula.org/eggo/pkg/utils/runner"
diff --git a/pkg/clusterdeployment/binary/infrastructure/infrastructure_test.go b/pkg/clusterdeployment/binary/infrastructure/infrastructure_test.go
index c9e0946..4ffa7a9 100644
--- a/pkg/clusterdeployment/binary/infrastructure/infrastructure_test.go
+++ b/pkg/clusterdeployment/binary/infrastructure/infrastructure_test.go
@@ -20,6 +20,7 @@ import (
"testing"
"github.com/sirupsen/logrus"
+
"isula.org/eggo/pkg/api"
"isula.org/eggo/pkg/utils/dependency"
"isula.org/eggo/pkg/utils/nodemanager"
diff --git a/pkg/clusterdeployment/binary/loadbalance/loadbalance.go b/pkg/clusterdeployment/binary/loadbalance/loadbalance.go
index 34c25bd..f059372 100644
--- a/pkg/clusterdeployment/binary/loadbalance/loadbalance.go
+++ b/pkg/clusterdeployment/binary/loadbalance/loadbalance.go
@@ -22,6 +22,7 @@ import (
"time"
"github.com/sirupsen/logrus"
+
"isula.org/eggo/pkg/api"
"isula.org/eggo/pkg/clusterdeployment/binary/commontools"
"isula.org/eggo/pkg/utils"
diff --git a/pkg/clusterdeployment/binary/network/network.go b/pkg/clusterdeployment/binary/network/network.go
index 0c35a9c..c88f28a 100644
--- a/pkg/clusterdeployment/binary/network/network.go
+++ b/pkg/clusterdeployment/binary/network/network.go
@@ -20,6 +20,7 @@ import (
"time"
"github.com/sirupsen/logrus"
+
"isula.org/eggo/pkg/api"
"isula.org/eggo/pkg/constants"
"isula.org/eggo/pkg/utils/kubectl"
@@ -79,7 +80,7 @@ func SetupNetwork(cluster *api.ClusterConfig) error {
if err != nil {
return err
}
- err = nodemanager.WaitNodesFinish([]string{useMaster}, 5*time.Minute)
+ err = nodemanager.WaitNodesFinish([]string{useMaster}, time.Minute*constants.DefaultTaskWaitMinutes)
if err != nil {
return err
}
@@ -133,7 +134,7 @@ func CleanupNetwork(cluster *api.ClusterConfig) error {
if err != nil {
return err
}
- err = nodemanager.WaitNodesFinish([]string{useMaster}, 5*time.Minute)
+ err = nodemanager.WaitNodesFinish([]string{useMaster}, time.Minute*constants.DefaultTaskWaitMinutes)
if err != nil {
return err
}
diff --git a/pkg/clusterdeployment/clusterdeploy.go b/pkg/clusterdeployment/clusterdeploy.go
index fde1fde..1ecf46f 100644
--- a/pkg/clusterdeployment/clusterdeploy.go
+++ b/pkg/clusterdeployment/clusterdeploy.go
@@ -22,9 +22,11 @@ import (
"time"
"github.com/sirupsen/logrus"
+
"isula.org/eggo/pkg/api"
_ "isula.org/eggo/pkg/clusterdeployment/binary"
"isula.org/eggo/pkg/clusterdeployment/manager"
+ "isula.org/eggo/pkg/constants"
"isula.org/eggo/pkg/utils"
"isula.org/eggo/pkg/utils/certs"
"isula.org/eggo/pkg/utils/nodemanager"
@@ -98,7 +100,8 @@ func doJoinNodeOfCluster(handler api.ClusterDeploymentAPI, cc *api.ClusterConfig
joinedNodeIDs = append(joinedNodeIDs, node.Address)
}
// wait all nodes ready
- if err := nodemanager.WaitNodesFinishWithProgress(joinedNodeIDs, time.Minute*5); err != nil {
+ if err := nodemanager.WaitNodesFinishWithProgress(joinedNodeIDs,
+ time.Minute*constants.DefaultTaskWaitMinutes); err != nil {
tFailedNodes, successNodes := nodemanager.CheckNodesStatus(joinedNodeIDs)
// update joined and failed nodes
failedNodes = append(failedNodes, tFailedNodes...)
@@ -149,7 +152,8 @@ func doCreateCluster(handler api.ClusterDeploymentAPI, cc *api.ClusterConfig, cs
// Step3: setup etcd cluster
// wait infrastructure task success on nodes of etcd cluster
- if err = nodemanager.WaitNodesFinishWithProgress(etcdNodes, time.Minute*5); err != nil {
+ if err = nodemanager.WaitNodesFinishWithProgress(etcdNodes,
+ time.Minute*constants.DefaultTaskWaitMinutes); err != nil {
return nil, err
}
if err = handler.EtcdClusterSetup(); err != nil {
@@ -166,7 +170,8 @@ func doCreateCluster(handler api.ClusterDeploymentAPI, cc *api.ClusterConfig, cs
return nil, err
}
// wait controlplane setup task success
- if err = nodemanager.WaitNodesFinish([]string{controlPlaneNode.Address}, time.Minute*5); err != nil {
+ if err = nodemanager.WaitNodesFinish([]string{controlPlaneNode.Address},
+ time.Minute*constants.DefaultTaskWaitMinutes); err != nil {
return nil, err
}
if utils.IsType(controlPlaneNode.Type, api.Worker) {
@@ -195,7 +200,8 @@ func doCreateCluster(handler api.ClusterDeploymentAPI, cc *api.ClusterConfig, cs
return nil, err
}
- if err = nodemanager.WaitNodesFinishWithProgress(append(joinedNodeIDs, controlPlaneNode.Address), time.Minute*5); err != nil {
+ if err = nodemanager.WaitNodesFinishWithProgress(append(joinedNodeIDs, controlPlaneNode.Address),
+ time.Minute*constants.DefaultTaskWaitMinutes); err != nil {
return nil, err
}
@@ -229,7 +235,8 @@ func rollbackFailedNoeds(handler api.ClusterDeploymentAPI, nodes []*api.HostConf
rollIDs = append(rollIDs, n.Address)
}
- if err := nodemanager.WaitNodesFinishWithProgress(rollIDs, time.Minute*5); err != nil {
+ if err := nodemanager.WaitNodesFinishWithProgress(rollIDs,
+ time.Minute*constants.DefaultTaskWaitMinutes); err != nil {
logrus.Warnf("rollback failed: %v", err)
}
}
@@ -255,7 +262,7 @@ func CreateCluster(cc *api.ClusterConfig, deployEnableRollback bool) (api.Cluste
defer handler.Finish()
// prepare eggo config directory
- if err := os.MkdirAll(api.GetClusterHomePath(cc.Name), 0750); err != nil {
+ if err = os.MkdirAll(api.GetClusterHomePath(cc.Name), constants.EggoHomeDirMode); err != nil {
return cstatus, err
}
@@ -302,7 +309,8 @@ func doJoinNode(handler api.ClusterDeploymentAPI, cc *api.ClusterConfig, hostcon
}
// wait infrastructure task success on node
- if err := nodemanager.WaitNodesFinish([]string{hostconfig.Address}, time.Minute*5); err != nil {
+ if err := nodemanager.WaitNodesFinish([]string{hostconfig.Address},
+ time.Minute*constants.DefaultTaskWaitMinutes); err != nil {
return err
}
@@ -325,7 +333,8 @@ func doJoinNode(handler api.ClusterDeploymentAPI, cc *api.ClusterConfig, hostcon
}
// wait node ready
- if err := nodemanager.WaitNodesFinishWithProgress([]string{hostconfig.Address}, time.Minute*5); err != nil {
+ if err := nodemanager.WaitNodesFinishWithProgress([]string{hostconfig.Address},
+ time.Minute*constants.DefaultTaskWaitMinutes); err != nil {
return err
}
@@ -471,7 +480,8 @@ func doDeleteNode(handler api.ClusterDeploymentAPI, cc *api.ClusterConfig, h *ap
return err
}
- if err := nodemanager.WaitNodesFinishWithProgress([]string{h.Address}, time.Minute*5); err != nil {
+ if err := nodemanager.WaitNodesFinishWithProgress([]string{h.Address},
+ time.Minute*constants.DefaultTaskWaitMinutes); err != nil {
logrus.Warnf("wait cleanup finish failed: %v", err)
}
@@ -511,7 +521,7 @@ func DeleteNodes(cc *api.ClusterConfig, hostconfigs []*api.HostConfig) error {
for _, h := range nodes {
go func(hostconfig *api.HostConfig) {
defer wg.Done()
- if err := doDeleteNode(handler, cc, hostconfig); err != nil {
+ if terr := doDeleteNode(handler, cc, hostconfig); terr != nil {
logrus.Errorf("[cluster] delete '%s' from cluster failed", hostconfig.Name)
return
}
@@ -522,7 +532,7 @@ func DeleteNodes(cc *api.ClusterConfig, hostconfigs []*api.HostConfig) error {
// delete node with etcds
for _, h := range etcds {
- if err := doDeleteNode(handler, cc, h); err != nil {
+ if err = doDeleteNode(handler, cc, h); err != nil {
logrus.Errorf("[cluster] delete '%s' with etcd from cluster failed", h.Name)
return err
}
@@ -543,7 +553,7 @@ func doRemoveCluster(handler api.ClusterDeploymentAPI, cc *api.ClusterConfig) {
}
allNodes := utils.GetAllIPs(cc.Nodes)
- if err = nodemanager.WaitNodesFinish(allNodes, time.Minute*5); err != nil {
+ if err = nodemanager.WaitNodesFinish(allNodes, time.Minute*constants.DefaultTaskWaitMinutes); err != nil {
logrus.Warnf("[cluster] wait cleanup addons failed: %v", err)
}
@@ -603,7 +613,7 @@ func doRemoveCluster(handler api.ClusterDeploymentAPI, cc *api.ClusterConfig) {
}
}
- if err = nodemanager.WaitNodesFinishWithProgress(allNodes, time.Minute*5); err != nil {
+ if err = nodemanager.WaitNodesFinishWithProgress(allNodes, time.Minute*constants.DefaultTaskWaitMinutes); err != nil {
logrus.Warnf("[cluster] wait all cleanup finish failed: %v", err)
}
}
diff --git a/pkg/clusterdeployment/runtime/runtime.go b/pkg/clusterdeployment/runtime/runtime.go
index e996dae..f8cc424 100644
--- a/pkg/clusterdeployment/runtime/runtime.go
+++ b/pkg/clusterdeployment/runtime/runtime.go
@@ -6,6 +6,7 @@ import (
"strings"
"github.com/sirupsen/logrus"
+
"isula.org/eggo/pkg/api"
"isula.org/eggo/pkg/clusterdeployment/binary/commontools"
"isula.org/eggo/pkg/utils/dependency"
diff --git a/pkg/constants/constants.go b/pkg/constants/constants.go
index c60d061..0ab75cc 100644
--- a/pkg/constants/constants.go
+++ b/pkg/constants/constants.go
@@ -1,5 +1,7 @@
package constants
+import "os"
+
const (
// certificates relate constants
DefaultK8SRootDir = "/etc/kubernetes"
@@ -30,6 +32,14 @@ const (
NetworkPluginArgKeyYamlPath = "NetworkYamlPath"
MaxHookFileSize = int64(1 << 20)
- // 750: rwxr-x---
- HookFileMode = uint32(0750)
+
+ HookFileMode os.FileMode = 0750
+ EggoHomeDirMode os.FileMode = 0750
+ EggoDirMode os.FileMode = 0700
+ DeployConfigFileMode os.FileMode = 0640
+ ProcessFileMode os.FileMode = 0640
+ EncryptionConfigFileMode os.FileMode = 0600
+
+ // default task wait time in minute
+ DefaultTaskWaitMinutes = 5
)
diff --git a/pkg/utils/certs/approvecsr.go b/pkg/utils/certs/approvecsr.go
index dfebbee..d4f81a4 100644
--- a/pkg/utils/certs/approvecsr.go
+++ b/pkg/utils/certs/approvecsr.go
@@ -24,15 +24,16 @@ import (
"time"
"github.com/sirupsen/logrus"
- "isula.org/eggo/pkg/api"
- "isula.org/eggo/pkg/constants"
- "isula.org/eggo/pkg/utils/kubectl"
certificatesv1 "k8s.io/api/certificates/v1"
certificatesv1beta1 "k8s.io/api/certificates/v1beta1"
corev1 "k8s.io/api/core/v1"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/client-go/kubernetes"
"k8s.io/client-go/util/cert"
+
+ "isula.org/eggo/pkg/api"
+ "isula.org/eggo/pkg/constants"
+ "isula.org/eggo/pkg/utils/kubectl"
)
type ServingCSR interface {
@@ -309,7 +310,8 @@ func ApproveCsr(cluster string, workers []*api.HostConfig) error {
}
// maybe the serving csr hasn't received
- time.Sleep(time.Duration(10) * time.Second)
+ const approvedIntervalSeconds = 3
+ time.Sleep(time.Second * approvedIntervalSeconds)
}
if !approved {
diff --git a/pkg/utils/certs/certs.go b/pkg/utils/certs/certs.go
index e57cfe8..0772679 100644
--- a/pkg/utils/certs/certs.go
+++ b/pkg/utils/certs/certs.go
@@ -22,6 +22,7 @@ import (
"strings"
"github.com/sirupsen/logrus"
+
"isula.org/eggo/pkg/utils/runner"
"isula.org/eggo/pkg/utils/template"
)
diff --git a/pkg/utils/certs/localcerts.go b/pkg/utils/certs/localcerts.go
index d613ea9..c6b2fc1 100644
--- a/pkg/utils/certs/localcerts.go
+++ b/pkg/utils/certs/localcerts.go
@@ -14,11 +14,16 @@ import (
"github.com/pkg/errors"
"github.com/sirupsen/logrus"
- "isula.org/eggo/pkg/utils/runner"
"k8s.io/client-go/tools/clientcmd"
clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
certutil "k8s.io/client-go/util/cert"
keyutil "k8s.io/client-go/util/keyutil"
+
+ "isula.org/eggo/pkg/utils/runner"
+)
+
+const (
+ certExpiryHour = 24 * 36500
)
type LocalCertGenerator struct {
@@ -151,7 +156,7 @@ func (l *LocalCertGenerator) CreateCertAndKey(caCertPath, caKeyPath string, conf
KeyUsage: x509.KeyUsageDigitalSignature | x509.KeyUsageKeyEncipherment | x509.KeyUsageDataEncipherment,
ExtKeyUsage: config.Usages,
NotBefore: caCert.NotBefore,
- NotAfter: time.Now().Add(time.Hour * 24 * 36500).UTC(),
+ NotAfter: time.Now().Add(time.Hour * certExpiryHour).UTC(),
}
certBytes, err := x509.CreateCertificate(rand.Reader, &certConf, caCert, signer.Public(), caKey)
diff --git a/pkg/utils/certs/tools.go b/pkg/utils/certs/tools.go
index 24cbc04..d18b7fd 100644
--- a/pkg/utils/certs/tools.go
+++ b/pkg/utils/certs/tools.go
@@ -16,6 +16,10 @@ import (
keyutil "k8s.io/client-go/util/keyutil"
)
+const (
+ keyBits = 4096
+)
+
func GetCertName(name string) string {
return fmt.Sprintf("%s.crt", name)
}
@@ -29,7 +33,7 @@ func GetKeySigner(alg x509.PublicKeyAlgorithm) (crypto.Signer, error) {
return ecdsa.GenerateKey(elliptic.P256(), rand.Reader)
}
- return rsa.GenerateKey(rand.Reader, 4096)
+ return rsa.GenerateKey(rand.Reader, keyBits)
}
func ParseIPsFromString(ipStrs []string) ([]net.IP, error) {
diff --git a/pkg/utils/dependency/cmdhooks.go b/pkg/utils/dependency/cmdhooks.go
index e6fd9af..b1f93ad 100644
--- a/pkg/utils/dependency/cmdhooks.go
+++ b/pkg/utils/dependency/cmdhooks.go
@@ -20,6 +20,7 @@ import (
"path"
"github.com/sirupsen/logrus"
+
"isula.org/eggo/pkg/api"
"isula.org/eggo/pkg/constants"
"isula.org/eggo/pkg/utils"
@@ -75,7 +76,7 @@ func ExecuteCmdHooks(ccfg *api.ClusterConfig, nodes []*api.HostConfig, op api.Ho
func executeCmdHooks(ccfg *api.ClusterConfig, hooks *api.ClusterHookConf, hcf *api.HostConfig, shell []*api.PackageConfig) error {
hookConf := &api.HookRunConfig{
ClusterID: ccfg.Name,
- ClusterApiEndpoint: ccfg.APIEndpoint.GetUrl(),
+ ClusterAPIEndpoint: ccfg.APIEndpoint.GetURL(),
ClusterConfigDir: ccfg.ConfigDir,
HookType: hooks.Type,
Operator: hooks.Operator,
diff --git a/pkg/utils/dependency/dependency.go b/pkg/utils/dependency/dependency.go
index 9b464dd..ce4a7ca 100644
--- a/pkg/utils/dependency/dependency.go
+++ b/pkg/utils/dependency/dependency.go
@@ -20,6 +20,7 @@ import (
"strings"
"github.com/sirupsen/logrus"
+
"isula.org/eggo/pkg/api"
"isula.org/eggo/pkg/utils/runner"
"isula.org/eggo/pkg/utils/template"
diff --git a/pkg/utils/dependency/dependency_test.go b/pkg/utils/dependency/dependency_test.go
index 58ea756..c50a6fc 100644
--- a/pkg/utils/dependency/dependency_test.go
+++ b/pkg/utils/dependency/dependency_test.go
@@ -4,6 +4,7 @@ import (
"testing"
"github.com/sirupsen/logrus"
+
"isula.org/eggo/pkg/api"
)
diff --git a/pkg/utils/dependency/install.go b/pkg/utils/dependency/install.go
index 35c3521..62437b7 100644
--- a/pkg/utils/dependency/install.go
+++ b/pkg/utils/dependency/install.go
@@ -22,6 +22,7 @@ import (
"strings"
"github.com/sirupsen/logrus"
+
"isula.org/eggo/pkg/api"
"isula.org/eggo/pkg/constants"
"isula.org/eggo/pkg/utils"
@@ -176,9 +177,11 @@ func ExecuteHooks(hookConf *api.HookRunConfig) error {
srcPath: hookConf.HookDir,
shell: hookConf.Hooks,
}
- envs := make([]string, 9)
+
+ const envsSize = 9
+ envs := make([]string, envsSize)
envs[0] = fmt.Sprintf("EGGO_CLUSTER_ID=%s", hookConf.ClusterID)
- envs[1] = fmt.Sprintf("EGGO_CLUSTER_API_ENDPOINT=%s", hookConf.ClusterApiEndpoint)
+ envs[1] = fmt.Sprintf("EGGO_CLUSTER_API_ENDPOINT=%s", hookConf.ClusterAPIEndpoint)
envs[2] = fmt.Sprintf("EGGO_CLUSTER_CONFIG_DIR=%s", hookConf.ClusterConfigDir)
envs[3] = fmt.Sprintf("EGGO_NODE_IP=%s", hookConf.Node.Address)
envs[4] = fmt.Sprintf("EGGO_NODE_NAME=%s", hookConf.Node.Name)
@@ -220,7 +223,7 @@ func executeShell(ccfg *api.ClusterConfig, role uint16, hcf *api.HostConfig, sch
hookConf := &api.HookRunConfig{
ClusterID: ccfg.Name,
- ClusterApiEndpoint: ccfg.APIEndpoint.GetUrl(),
+ ClusterAPIEndpoint: ccfg.APIEndpoint.GetURL(),
ClusterConfigDir: ccfg.ConfigDir,
HookType: htype,
Operator: oper,
diff --git a/pkg/utils/endpoint/endpoint.go b/pkg/utils/endpoint/endpoint.go
index a2b82d3..17c4dcc 100644
--- a/pkg/utils/endpoint/endpoint.go
+++ b/pkg/utils/endpoint/endpoint.go
@@ -27,13 +27,16 @@ import (
)
const (
- DefaultEndpointPort = 6443
+ defaultEndpointPort = 6443
+
+ parseBase = 10
+ parsebitSize = 16
)
func GetEndpoint(advertiseAddr string, bindPort int) (string, error) {
if !ValidPort(bindPort) {
- bindPort = DefaultEndpointPort
- logrus.Warnf("ignore invalid bindport: %d, use default: %d", bindPort, DefaultEndpointPort)
+ bindPort = defaultEndpointPort
+ logrus.Warnf("ignore invalid bindport: %d, use default: %d", bindPort, defaultEndpointPort)
}
if ip := net.ParseIP(advertiseAddr); ip == nil {
@@ -52,7 +55,7 @@ func ValidPort(port int) bool {
}
func ParsePort(port string) (int, error) {
- tport, err := strconv.ParseUint(port, 10, 16)
+ tport, err := strconv.ParseUint(port, parseBase, parsebitSize)
if err != nil {
return 0, err
}
@@ -77,7 +80,7 @@ func GetAPIServerEndpoint(ccfg *api.ClusterConfig) (string, error) {
return "", fmt.Errorf("invalid host")
}
if sport == "" {
- sport = strconv.Itoa(DefaultEndpointPort)
+ sport = strconv.Itoa(defaultEndpointPort)
}
port, err := ParsePort(sport)
diff --git a/pkg/utils/infra/infra.go b/pkg/utils/infra/infra.go
index 2b36e2a..0addf5d 100644
--- a/pkg/utils/infra/infra.go
+++ b/pkg/utils/infra/infra.go
@@ -110,7 +110,7 @@ var (
}
// coredns
- DnsPackages = []*api.PackageConfig{
+ DNSPackages = []*api.PackageConfig{
{
Name: "coredns",
Type: "repo",
diff --git a/pkg/utils/kubectl/kubectl.go b/pkg/utils/kubectl/kubectl.go
index b299a2a..057815a 100644
--- a/pkg/utils/kubectl/kubectl.go
+++ b/pkg/utils/kubectl/kubectl.go
@@ -22,13 +22,14 @@ import (
"time"
"github.com/sirupsen/logrus"
+ v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ "k8s.io/client-go/kubernetes"
+ "k8s.io/client-go/tools/clientcmd"
+
"isula.org/eggo/pkg/api"
"isula.org/eggo/pkg/constants"
"isula.org/eggo/pkg/utils/runner"
"isula.org/eggo/pkg/utils/template"
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- "k8s.io/client-go/kubernetes"
- "k8s.io/client-go/tools/clientcmd"
)
var ops map[string]string
@@ -109,7 +110,8 @@ func WaitNodeRegister(name string, cluster string) error {
return err
}
- finish := time.After(time.Second * 120)
+ const timeout = 120
+ finish := time.After(time.Second * timeout)
for {
select {
case t := <-finish:
diff --git a/pkg/utils/kubectl/taint.go b/pkg/utils/kubectl/taint.go
index a6af75b..fc9521e 100644
--- a/pkg/utils/kubectl/taint.go
+++ b/pkg/utils/kubectl/taint.go
@@ -6,12 +6,13 @@ import (
"path/filepath"
"github.com/sirupsen/logrus"
- "isula.org/eggo/pkg/api"
- "isula.org/eggo/pkg/constants"
k8scorev1 "k8s.io/api/core/v1"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/util/strategicpatch"
+
+ "isula.org/eggo/pkg/api"
+ "isula.org/eggo/pkg/constants"
)
type Taint struct {
diff --git a/pkg/utils/nodemanager/node.go b/pkg/utils/nodemanager/node.go
index 08af098..5474719 100644
--- a/pkg/utils/nodemanager/node.go
+++ b/pkg/utils/nodemanager/node.go
@@ -22,18 +22,26 @@ import (
"time"
"github.com/sirupsen/logrus"
+
"isula.org/eggo/pkg/api"
"isula.org/eggo/pkg/utils/runner"
"isula.org/eggo/pkg/utils/task"
)
const (
+ // status
WorkingStatus = iota
FinishStatus
IgnoreStatus
ErrorStatus
)
+const (
+ nodeQueueCapability = 16
+ runTaskTimeOutSecond = 300
+ waitTaskMillisecond = 200
+)
+
type NodeStatus struct {
Status int
Message string
@@ -115,7 +123,7 @@ func (n *Node) WaitNodeTasksFinish(timeout time.Duration) error {
msg := s.Message
n.lock.RUnlock()
if !s.TasksFinished() {
- time.Sleep(time.Millisecond * 200)
+ time.Sleep(time.Millisecond * waitTaskMillisecond)
continue
}
if s.HasError() {
@@ -177,7 +185,7 @@ func doRunTask(n *Node, t task.Task) {
go func(ec chan error) {
select {
// TODO: maybe we need get timeout from task
- case <-time.After(time.Second * 300):
+ case <-time.After(time.Second * runTaskTimeOutSecond):
ec <- fmt.Errorf("timeout to run task")
case ec <- t.Run(n.r, n.host):
}
@@ -212,7 +220,7 @@ func NewNode(hcf *api.HostConfig, r runner.Runner) (*Node, error) {
host: hcf,
r: r,
stop: make(chan bool),
- queue: make(chan task.Task, 16),
+ queue: make(chan task.Task, nodeQueueCapability),
}
go func(n *Node) {
diff --git a/pkg/utils/nodemanager/nodemanager.go b/pkg/utils/nodemanager/nodemanager.go
index 5fff50e..b3a80e7 100644
--- a/pkg/utils/nodemanager/nodemanager.go
+++ b/pkg/utils/nodemanager/nodemanager.go
@@ -22,6 +22,7 @@ import (
"time"
"github.com/sirupsen/logrus"
+
"isula.org/eggo/pkg/api"
"isula.org/eggo/pkg/utils/runner"
"isula.org/eggo/pkg/utils/task"
@@ -148,6 +149,8 @@ func RunTaskOnAll(t task.Task) error {
}
func RunTasksOnNode(tasks []task.Task, node string) error {
+ const pushTaskInterval = 6
+
manager.lock.Lock()
defer manager.lock.Unlock()
@@ -158,7 +161,7 @@ func RunTasksOnNode(tasks []task.Task, node string) error {
if n.PushTask(t) {
break
}
- time.Sleep(time.Second * 6)
+ time.Sleep(time.Second * pushTaskInterval)
}
if i == 5 {
logrus.Errorf("node: %s work with too much tasks, will retry it", node)
diff --git a/pkg/utils/nodemanager/nodemanager_test.go b/pkg/utils/nodemanager/nodemanager_test.go
index 52ad91c..cbd46db 100644
--- a/pkg/utils/nodemanager/nodemanager_test.go
+++ b/pkg/utils/nodemanager/nodemanager_test.go
@@ -22,6 +22,7 @@ import (
"time"
"github.com/sirupsen/logrus"
+
"isula.org/eggo/pkg/api"
"isula.org/eggo/pkg/utils/runner"
"isula.org/eggo/pkg/utils/task"
diff --git a/pkg/utils/runner/runner.go b/pkg/utils/runner/runner.go
index 09c9e1d..7b54730 100644
--- a/pkg/utils/runner/runner.go
+++ b/pkg/utils/runner/runner.go
@@ -29,6 +29,7 @@ import (
kkv1alpha1 "github.com/kubesphere/kubekey/apis/kubekey/v1alpha1"
"github.com/kubesphere/kubekey/pkg/util/ssh"
"github.com/sirupsen/logrus"
+
"isula.org/eggo/pkg/api"
)
--
2.25.1
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。