Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revert "Feature(cluster add): add deploy type parameter" #387

Merged
merged 1 commit into from
Dec 20, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 1 addition & 3 deletions cli/cli/cli.go
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,6 @@ type CurveAdm struct {
clusterName string // current cluster name
clusterTopologyData string // cluster topology
clusterPoolData string // cluster pool
clusterType string // cluster type like develop, production, etc.
monitor storage.Monitor
}

Expand Down Expand Up @@ -196,7 +195,7 @@ func (curveadm *CurveAdm) init() error {
curveadm.clusterTopologyData = cluster.Topology
curveadm.clusterPoolData = cluster.Pool
curveadm.monitor = monitor
curveadm.clusterType = cluster.Type

return nil
}

Expand Down Expand Up @@ -277,7 +276,6 @@ func (curveadm *CurveAdm) ClusterUUId() string { return curveadm.c
func (curveadm *CurveAdm) ClusterName() string { return curveadm.clusterName }
func (curveadm *CurveAdm) ClusterTopologyData() string { return curveadm.clusterTopologyData }
func (curveadm *CurveAdm) ClusterPoolData() string { return curveadm.clusterPoolData }
func (curveadm *CurveAdm) ClusterType() string { return curveadm.clusterType }
func (curveadm *CurveAdm) Monitor() storage.Monitor { return curveadm.monitor }

func (curveadm *CurveAdm) GetHost(name string) (*hosts.HostConfig, error) {
Expand Down
26 changes: 2 additions & 24 deletions cli/command/cluster/add.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,18 +47,12 @@ var (
CHECK_TOPOLOGY_PLAYBOOK_STEPS = []int{
playbook.CHECK_TOPOLOGY,
}
SUPPORTED_DEPLOY_TYPES = []string{
"production",
"test",
"develop",
}
)

type addOptions struct {
name string
description string
filename string
deployType string
}

func NewAddCommand(curveadm *cli.CurveAdm) *cobra.Command {
Expand All @@ -69,9 +63,6 @@ func NewAddCommand(curveadm *cli.CurveAdm) *cobra.Command {
Short: "Add cluster",
Args: utils.ExactArgs(1),
Example: ADD_EXAMPLE,
PreRunE: func(cmd *cobra.Command, args []string) error {
return checkAddOptions(cmd)
},
RunE: func(cmd *cobra.Command, args []string) error {
options.name = args[0]
return runAdd(curveadm, options)
Expand All @@ -82,7 +73,7 @@ func NewAddCommand(curveadm *cli.CurveAdm) *cobra.Command {
flags := cmd.Flags()
flags.StringVarP(&options.description, "description", "m", "", "Description for cluster")
flags.StringVarP(&options.filename, "topology", "f", "", "Specify the path of topology file")
flags.StringVar(&options.deployType, "type", "develop", "Specify the type of cluster")

return cmd
}

Expand Down Expand Up @@ -143,19 +134,6 @@ func checkTopology(curveadm *cli.CurveAdm, data string, options addOptions) erro
return pb.Run()
}

func checkAddOptions(cmd *cobra.Command) error {
deployType, err := cmd.Flags().GetString("deploy-type")
if err != nil {
return err
}
for _, t := range SUPPORTED_DEPLOY_TYPES {
if deployType == t {
return nil
}
}
return errno.ERR_UNSUPPORT_DEPLOY_TYPE.F("deploy type: %s", deployType)
}

func runAdd(curveadm *cli.CurveAdm, options addOptions) error {
// 1) check wether cluster already exist
name := options.name
Expand Down Expand Up @@ -185,7 +163,7 @@ func runAdd(curveadm *cli.CurveAdm, options addOptions) error {

// 4) insert cluster (with topology) into database
uuid := uuid.NewString()
err = storage.InsertCluster(name, uuid, options.description, data, options.deployType)
err = storage.InsertCluster(name, uuid, options.description, data)
if err != nil {
return errno.ERR_INSERT_CLUSTER_FAILED.E(err)
}
Expand Down
2 changes: 1 addition & 1 deletion cli/command/cluster/import.go
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ func importCluster(storage *storage.Storage, dbfile, name string) error {
}

// insert cluster
err = storage.InsertCluster(name, cluster.UUId, cluster.Description, cluster.Topology, cluster.Type)
err = storage.InsertCluster(name, cluster.UUId, cluster.Description, cluster.Topology)
if err != nil {
return err
}
Expand Down
1 change: 0 additions & 1 deletion cli/command/deploy.go
Original file line number Diff line number Diff line change
Expand Up @@ -302,7 +302,6 @@ func displayDeployTitle(curveadm *cli.CurveAdm, dcs []*topology.DeployConfig) {
curveadm.WriteOutln("Cluster Name : %s", curveadm.ClusterName())
curveadm.WriteOutln("Cluster Kind : %s", dcs[0].GetKind())
curveadm.WriteOutln("Cluster Services: %s", serviceStats(dcs))
curveadm.WriteOutln("Cluster Type : %s", curveadm.ClusterType())
curveadm.WriteOutln("")
}

Expand Down
5 changes: 2 additions & 3 deletions internal/errno/errno.go
Original file line number Diff line number Diff line change
Expand Up @@ -254,9 +254,8 @@ var (
ERR_NO_SERVICES_MATCHED = EC(210006, "no services matched")
// TODO: please check pool set disk type
ERR_INVALID_DISK_TYPE = EC(210007, "poolset disk type must be lowercase and can only be one of ssd, hdd and nvme")
ERR_UNSUPPORT_DEPLOY_TYPE = EC(210008, "unknown deploy type")
ERR_NO_LEADER_OR_RANDOM_CONTAINER_FOUND = EC(210009, "no leader or random container found")

ERR_NO_LEADER_OR_RANDOM_CONTAINER_FOUND = EC(210008, "no leader or random container found")

// 220: commad options (client common)
ERR_UNSUPPORT_CLIENT_KIND = EC(220000, "unsupport client kind")
// 221: command options (client/bs)
Expand Down
13 changes: 3 additions & 10 deletions internal/storage/sql.go
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,6 @@ type Cluster struct {
Topology string
Pool string
Current bool
Type string
}

var (
Expand All @@ -117,21 +116,15 @@ var (
topology TEXT NULL,
pool TEXT NULL,
create_time DATE NOT NULL,
current INTEGER DEFAULT 0,
type TEXT NOT NULL
current INTEGER DEFAULT 0
)
`

// insert cluster
InsertCluster = `
INSERT INTO clusters(uuid, name, description, topology, type, pool, create_time)
VALUES(?, ?, ?, ?, ?, "", datetime('now','localtime'))
INSERT INTO clusters(uuid, name, description, topology, pool, create_time)
VALUES(?, ?, ?, ?, "", datetime('now','localtime'))
`
// check new cluster column
GetTypeFiled = `SELECT COUNT(*) FROM pragma_table_info('clusters') WHERE name = 'type'`

// update new cluster column
UpdateCluster = `ALTER TABLE clusters ADD COLUMN type TEXT NOT NULL DEFAULT 'develop'`

// delete cluster
DeleteCluster = `DELETE from clusters WHERE name = ?`
Expand Down
32 changes: 3 additions & 29 deletions internal/storage/storage.go
Original file line number Diff line number Diff line change
Expand Up @@ -91,14 +91,7 @@ func (s *Storage) init() error {
}
}

flag, err := s.CheckTypeFiledExist()
if err != nil {
return err
}
if !flag {
_, err = s.db.Write(UpdateCluster)
}
return err
return nil
}

func (s *Storage) write(query string, args ...any) error {
Expand Down Expand Up @@ -167,26 +160,8 @@ func (s *Storage) GetHostses() ([]Hosts, error) {
}

// cluster
func (s *Storage) InsertCluster(name, uuid, description, topology, deployType string) error {
return s.write(InsertCluster, uuid, name, description, topology, deployType)
}

func (s *Storage) CheckTypeFiledExist() (bool, error) {
result, err := s.db.Query(GetTypeFiled)
if err != nil {
return false, err
}
defer result.Close()

var isFiledExist bool
for result.Next() {
err = result.Scan(&isFiledExist)
if err != nil {
return false, err
}
break
}
return isFiledExist, nil
func (s *Storage) InsertCluster(name, uuid, description, topology string) error {
return s.write(InsertCluster, uuid, name, description, topology)
}

func (s *Storage) DeleteCluster(name string) error {
Expand All @@ -212,7 +187,6 @@ func (s *Storage) getClusters(query string, args ...interface{}) ([]Cluster, err
&cluster.Pool,
&cluster.CreateTime,
&cluster.Current,
&cluster.Type,
)
if err != nil {
return nil, err
Expand Down