Skip to content

Commit

Permalink
feat(storage): change default storage nfs
Browse files Browse the repository at this point in the history
change default storage nfs

Signed-off-by: ysicing <[email protected]>
  • Loading branch information
ysicing committed Sep 5, 2023
1 parent c8893e1 commit a9a82a6
Show file tree
Hide file tree
Showing 7 changed files with 31 additions and 26 deletions.
6 changes: 0 additions & 6 deletions cmd/cluster/cluster.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,12 +35,6 @@ var (
`)
)

// k3s server --tls-san --data-dir --cluster-cidr --service-cidr \
// --token --server --cluster-init --datastore-endpoint --disable servicelb, traefik, local-storage
// --disable-network-policy --disable-helm-controller \
// --docker \
// --pause-image \

func InitCommand(f factory.Factory) *cobra.Command {
var preCheck precheck.PreCheck
myCluster := cluster.NewCluster(f)
Expand Down
4 changes: 2 additions & 2 deletions cmd/storage/storage.go
Original file line number Diff line number Diff line change
Expand Up @@ -86,10 +86,10 @@ func nfs(f factory.Factory) *cobra.Command {
}
if an == "yes" {
if err := qcexec.CommandRun("bash", "-c", common.GetCustomScripts("hack/manifests/storage/nfs-server.sh")); err != nil {
return errors.Errorf("%s run init script failed, reason: %v", ip, err)
return errors.Errorf("%s run install nfs script failed, reason: %v", ip, err)
}
ip = exnet.LocalIPs()[0]
path = "/opt/quickon/storage/nfs"
path = common.GetDefaultNFSStoragePath("")
logpkg.Infof("install nfs server %s success", ip)
return nil
} else {
Expand Down
1 change: 1 addition & 0 deletions common/const.go
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,7 @@ const (
DefaultCneOperatorName = "cne-operator"
DefaultIngressName = "nginx-ingress-controller"
DefaultKubeAPIDomain = "kubeapi.quickon.local"
DefaultStorageType = "nfs"
InitFileName = ".initdone"
InitLockFileName = ".qlock"
InitModeCluster = ".incluster"
Expand Down
8 changes: 8 additions & 0 deletions common/func.go
Original file line number Diff line number Diff line change
Expand Up @@ -201,3 +201,11 @@ func GetReleaseName(devops bool) string {
}
return DefaultQuchengName
}

// GetDefaultQuickonDir get quickon default nfs dir
func GetDefaultNFSStoragePath(dir string) string {
if len(dir) == 0 {
dir = DefaultQuickonDataDir
}
return fmt.Sprintf("%s/storage/nfs", dir)
}
2 changes: 1 addition & 1 deletion hack/manifests/storage/nfs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,5 @@ helm upgrade -i q-nfs install/nfs-subdir-external-provisioner \
-n quickon-storage \
--set nfs.server=${ip} \
--set nfs.path=/opt/quickon/storage/nfs \
--set storageClass.defaultClass=false \
--set storageClass.defaultClass=true \
--set storageClass.name=q-nfs
17 changes: 9 additions & 8 deletions pkg/cluster/cluster.go
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ func NewCluster(f factory.Factory) *Cluster {
User: "root",
},
DataStore: "",
Storage: "local",
Storage: "nfs",
Registry: "hub.qucheng.com",
OffLine: false,
IgnorePreflightErrors: false,
Expand All @@ -97,8 +97,8 @@ func (c *Cluster) getInitFlags() []types.Flag {
Name: "storage",
P: &c.Storage,
V: c.Storage,
EnvVar: "local",
Usage: `storage, support local,nfs,longhorn`,
EnvVar: common.DefaultStorageType,
Usage: `storage, e.g: nfs,local`,
},
{
Name: "datastore",
Expand Down Expand Up @@ -274,6 +274,12 @@ func (c *Cluster) initMaster0(cfg *config.Config, sshClient ssh.Interface) error
if err := c.waitk3sReady(cfg.Cluster.InitNode, sshClient); err != nil {
return err
}
if c.Storage == "nfs" {
c.log.Infof("install %s as default storage", c.Storage)
if err := qcexec.CommandRun("bash", "-c", common.GetCustomScripts("hack/manifests/storage/nfs-server.sh")); err != nil {
return errors.Errorf("%s run install nfs script failed, reason: %v", cfg.Cluster.InitNode, err)
}
}
kclient, _ := k8s.NewSimpleClient()
if ns, _ := kclient.GetNamespace(context.TODO(), common.DefaultKubeSystem, metav1.GetOptions{}); ns != nil {
cfg.Cluster.ID = string(ns.GetUID())
Expand Down Expand Up @@ -406,11 +412,6 @@ func (c *Cluster) InitNode() error {
c.log.Warnf("skip join worker: %s, reason: %v", host, err)
}
}
if c.Storage == "longhorn" || c.Storage == "nfs" {
c.log.Infof("install %s as storageclass", c.Storage)
scArgs := []string{"cluster", "storage", c.Storage}
return qcexec.CommandRun(os.Args[0], scArgs...)
}
return nil
}

Expand Down
19 changes: 10 additions & 9 deletions pkg/quickon/quickon.go
Original file line number Diff line number Diff line change
Expand Up @@ -115,17 +115,18 @@ func (m *Meta) checkStorage() {
defaultClass, _ := m.kubeClient.GetDefaultSC(context.Background())
m.Log.StopWait()
if defaultClass == nil {
// TODO default storage
m.Log.Infof("not found default storage class, will install default storage")
m.Log.Debug("start install default storage: longhorn")
if err := qcexec.CommandRun(os.Args[0], "cluster", "storage", "longhorn"); err != nil {
m.Log.Errorf("install storage failed, reason: %v", err)
// default storage
cfg, _ := config.LoadConfig()
m.Log.Infof("not found default storage class, will install %s as default storage", cfg.Storage.Type)
m.Log.Debugf("start install default storage: nfs")
if err := qcexec.CommandRun(os.Args[0], "cluster", "storage", "nfs", "--ip", cfg.Cluster.InitNode, "--path", common.GetDefaultNFSStoragePath(cfg.DataDir)); err != nil {
m.Log.Errorf("install storage %s failed, reason: %v", cfg.Storage.Type, err)
} else {
m.Log.Done("install storage: longhorn success")
}
if err := qcexec.CommandRun(os.Args[0], "cluster", "storage", "set-default"); err != nil {
m.Log.Errorf("set default storageclass failed, reason: %v", err)
m.Log.Donef("install storage %s success", cfg.Storage.Type)
}
// if err := qcexec.CommandRun(os.Args[0], "cluster", "storage", "set-default"); err != nil {
// m.Log.Errorf("set default storageclass failed, reason: %v", err)
// }
} else {
m.Log.Infof("found exist default storage class: %s", defaultClass.Name)
}
Expand Down

0 comments on commit a9a82a6

Please sign in to comment.