From 09b3b07a9e87cbaf5b9ebb3d689fe020d0d1d52f Mon Sep 17 00:00:00 2001 From: Kartikay <120778728+kartikaysaxena@users.noreply.github.com> Date: Fri, 5 Jul 2024 05:55:11 +0000 Subject: [PATCH] dummy versions and log Signed-off-by: Kartikay <120778728+kartikaysaxena@users.noreply.github.com> --- .../upgrade-agents/control-plane/go.mod | 7 +-- .../upgrade-agents/control-plane/go.sum | 29 ------------ .../upgrade-agents/control-plane/main.go | 38 ++++++++------- .../control-plane/versions/upgrade-manager.go | 15 ++++-- .../control-plane/versions/v2.4.0/manager.go | 6 +-- .../control-plane/versions/v2.4.0/upgrade.go | 4 +- .../control-plane/versions/v2.6.0/manager.go | 6 +-- .../control-plane/versions/v2.6.0/upgrade.go | 4 +- .../control-plane/versions/v3.4.0/manager.go | 39 +++++++-------- .../control-plane/versions/v3.4.0/upgrade.go | 47 ++++++++++++------- .../control-plane/versions/v3.8.0/manager.go | 26 ++++++++++ .../control-plane/versions/v3.8.0/upgrade.go | 22 +++++++++ .../control-plane/versions/v3.9.0/manager.go | 26 ++++++++++ .../control-plane/versions/v3.9.0/upgrade.go | 23 +++++++++ 14 files changed, 187 insertions(+), 105 deletions(-) create mode 100644 chaoscenter/upgrade-agents/control-plane/versions/v3.9.0/manager.go create mode 100644 chaoscenter/upgrade-agents/control-plane/versions/v3.9.0/upgrade.go diff --git a/chaoscenter/upgrade-agents/control-plane/go.mod b/chaoscenter/upgrade-agents/control-plane/go.mod index a4636d6df4a..f498cd76f83 100644 --- a/chaoscenter/upgrade-agents/control-plane/go.mod +++ b/chaoscenter/upgrade-agents/control-plane/go.mod @@ -6,7 +6,6 @@ require ( github.com/kelseyhightower/envconfig v1.4.0 github.com/sirupsen/logrus v1.4.2 go.mongodb.org/mongo-driver v1.7.1 - go.uber.org/zap v1.18.1 ) require ( @@ -16,17 +15,15 @@ require ( github.com/klauspost/compress v1.9.5 // indirect github.com/konsorten/go-windows-terminal-sequences v1.0.2 // indirect github.com/pkg/errors v0.9.1 // indirect + github.com/stretchr/testify v1.7.0 // indirect github.com/xdg-go/pbkdf2 v1.0.0 // indirect github.com/xdg-go/scram v1.0.2 // indirect github.com/xdg-go/stringprep v1.0.2 // indirect github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d // indirect - go.uber.org/atomic v1.9.0 // indirect - go.uber.org/multierr v1.7.0 // indirect golang.org/x/crypto v0.17.0 // indirect - golang.org/x/lint v0.0.0-20200302205851-738671d3881b // indirect golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e // indirect golang.org/x/sys v0.15.0 // indirect golang.org/x/text v0.14.0 // indirect golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect + gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect ) diff --git a/chaoscenter/upgrade-agents/control-plane/go.sum b/chaoscenter/upgrade-agents/control-plane/go.sum index ad626b96572..7d9797de5b0 100644 --- a/chaoscenter/upgrade-agents/control-plane/go.sum +++ b/chaoscenter/upgrade-agents/control-plane/go.sum @@ -1,6 +1,4 @@ github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= -github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -72,7 +70,6 @@ github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+ github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= @@ -88,30 +85,14 @@ github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d h1:splanxYIlg+5LfHAM github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA= go.mongodb.org/mongo-driver v1.7.1 h1:jwqTeEM3x6L9xDXrCxN0Hbg7vdGfPBOTIkr0+/LYZDA= go.mongodb.org/mongo-driver v1.7.1/go.mod h1:Q4oFMbo1+MSNqICAdYMlC/zSTrwCogR4R8NzkI+yfU8= -go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= -go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= -go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= -go.uber.org/goleak v1.1.10 h1:z+mqJhf6ss6BSfSM671tgKyZBFPTTJM+HLxnhPC3wu0= -go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= -go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= -go.uber.org/multierr v1.7.0 h1:zaiO/rmgFjbmCXdSYJWQcdvOCsthmdaHfr3Gm2Kx4Ec= -go.uber.org/multierr v1.7.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak= -go.uber.org/zap v1.18.1 h1:CSUJ2mjFszzEWt4CdKISEuChVIXGBn3lAPwkRGyVrc4= -go.uber.org/zap v1.18.1/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k= golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= -golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20200302205851-738671d3881b h1:Wh+f8QHJXR411sJR8/vRBTZ7YapZaRvUcLFFJhusH0k= -golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -131,27 +112,17 @@ golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190329151228-23e29df326fe/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190416151739-9c9e1878f421/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190420181800-aa740d480789/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190531172133-b3315ee88b7d/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.6.0 h1:BOw41kyTf3PuCW1pVQf8+Cyg8pMlkYB1oo9iJ6D/lKM= -golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/chaoscenter/upgrade-agents/control-plane/main.go b/chaoscenter/upgrade-agents/control-plane/main.go index 4c0bba6f09c..de9a6bff14e 100644 --- a/chaoscenter/upgrade-agents/control-plane/main.go +++ b/chaoscenter/upgrade-agents/control-plane/main.go @@ -2,13 +2,13 @@ package main import ( "log" - "os" - "strings" + // "os" + // "strings" "github.com/kelseyhightower/envconfig" "github.com/litmuschaos/litmus/chaoscenter/upgrader-agents/control-plane/pkg/database" "github.com/litmuschaos/litmus/chaoscenter/upgrader-agents/control-plane/versions" - "go.uber.org/zap" + logger "github.com/sirupsen/logrus" ) type Config struct { @@ -29,34 +29,36 @@ func init() { func main() { // logging level, dev mode enables debug logs - dev := os.Getenv("DEV_MODE") - var logger *zap.Logger - var err error + // dev := os.Getenv("DEV_MODE") + // var logger *logger.Logger + // var err error - // set log level - if strings.ToLower(dev) == "true" { - logger, err = zap.NewDevelopment() - } else { - logger, err = zap.NewProduction() - } - if err != nil { - log.Fatal("failed to create logger") - } + // // set log level + // if strings.ToLower(dev) == "true" { + // logger, err = logger. + // } else { + // logger, err = logger.NewProduction() + // } + // if err != nil { + // log.Fatal("failed to create logger") + // } // create database connection + var err error + logger := logger.New() dbClient, err := database.Connect() if err != nil { - logger.Fatal("failed to get db client", zap.Error(err)) + logger.WithError(err).Fatal("failed to get db client") } // create new upgrade manager mg, err := versions.NewUpgradeManager(logger, dbClient) if err != nil { - logger.Fatal("failed to create upgrade manager", zap.Error(err)) + logger.WithError(err).Fatal("failed to create upgrade manager") } if mg != nil { // execute upgrade manager if err = mg.Run(); err != nil { - logger.Fatal("failed to run upgrade manager", zap.Error(err)) + logger.WithError(err).Fatal("failed to run upgrade manager") } } diff --git a/chaoscenter/upgrade-agents/control-plane/versions/upgrade-manager.go b/chaoscenter/upgrade-agents/control-plane/versions/upgrade-manager.go index 3caec017978..698d81ed028 100644 --- a/chaoscenter/upgrade-agents/control-plane/versions/upgrade-manager.go +++ b/chaoscenter/upgrade-agents/control-plane/versions/upgrade-manager.go @@ -13,10 +13,13 @@ import ( v3_4_0 "github.com/litmuschaos/litmus/chaoscenter/upgrader-agents/control-plane/versions/v3.4.0" + v3_8_0 "github.com/litmuschaos/litmus/chaoscenter/upgrader-agents/control-plane/versions/v3.8.0" + + v3_9_0 "github.com/litmuschaos/litmus/chaoscenter/upgrader-agents/control-plane/versions/v3.9.0" + "github.com/litmuschaos/litmus/chaoscenter/upgrader-agents/control-plane/pkg/database" log "github.com/sirupsen/logrus" "go.mongodb.org/mongo-driver/mongo" - "go.uber.org/zap" ) // UpgradeExecutor holds the details regarding the version and IVersionManager for a particular version @@ -27,7 +30,7 @@ type UpgradeExecutor struct { // UpgradeManager provides the functionality required to upgrade from the PreviousVersion to the TargetVersion type UpgradeManager struct { - Logger *zap.Logger + Logger *log.Logger DBClient *mongo.Client PreviousVersion *Version TargetVersion *Version @@ -80,7 +83,7 @@ func ParseVersion(version string) *Version { } // NewUpgradeManager creates an instance of a upgrade manager with the proper configurations -func NewUpgradeManager(logger *zap.Logger, dbClient *mongo.Client) (*UpgradeManager, error) { +func NewUpgradeManager(logger *log.Logger, dbClient *mongo.Client) (*UpgradeManager, error) { database.UpdateVersion(dbClient, "3.3.0") currentVersion := os.Getenv("VERSION") log.WithFields(log.Fields{ @@ -233,7 +236,11 @@ func (m *UpgradeManager) getVersionMap() map[string]UpgradeExecutor { }, "3.8.0": { NextVersion: "", - VersionManager: nil, + VersionManager: v3_8_0.NewVersionManger(m.Logger, m.DBClient), + }, + "3.9.0": { + NextVersion: "", + VersionManager: v3_9_0.NewVersionManger(m.Logger, m.DBClient), }, "4.0.0-beta8": { NextVersion: "", diff --git a/chaoscenter/upgrade-agents/control-plane/versions/v2.4.0/manager.go b/chaoscenter/upgrade-agents/control-plane/versions/v2.4.0/manager.go index 9794896f752..3fef3e8ba2b 100644 --- a/chaoscenter/upgrade-agents/control-plane/versions/v2.4.0/manager.go +++ b/chaoscenter/upgrade-agents/control-plane/versions/v2.4.0/manager.go @@ -1,18 +1,18 @@ package v2_4_0 import ( + log "github.com/sirupsen/logrus" "go.mongodb.org/mongo-driver/mongo" - "go.uber.org/zap" ) // VersionManager implements IVersionManger type VersionManager struct { - Logger *zap.Logger + Logger *log.Logger DBClient *mongo.Client } // NewVersionManger provides a new instance of a new VersionManager -func NewVersionManger(logger *zap.Logger, dbClient *mongo.Client) *VersionManager { +func NewVersionManger(logger *log.Logger, dbClient *mongo.Client) *VersionManager { return &VersionManager{Logger: logger, DBClient: dbClient} } diff --git a/chaoscenter/upgrade-agents/control-plane/versions/v2.4.0/upgrade.go b/chaoscenter/upgrade-agents/control-plane/versions/v2.4.0/upgrade.go index df30b0a8bb8..3267d2f1bb0 100644 --- a/chaoscenter/upgrade-agents/control-plane/versions/v2.4.0/upgrade.go +++ b/chaoscenter/upgrade-agents/control-plane/versions/v2.4.0/upgrade.go @@ -4,13 +4,13 @@ import ( "context" "fmt" + log "github.com/sirupsen/logrus" "go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/mongo" - "go.uber.org/zap" ) // upgradeAuthDb: migrates project collection from litmus-db to auth-db, renames usercredentials collection to users" -func upgradeAuthDb(logger *zap.Logger, dbClient *mongo.Client) error { +func upgradeAuthDb(logger *log.Logger, dbClient *mongo.Client) error { // migration of project collection to auth DB projectLitmusCollection := dbClient.Database("litmus").Collection("project") //project collection from litmus DB diff --git a/chaoscenter/upgrade-agents/control-plane/versions/v2.6.0/manager.go b/chaoscenter/upgrade-agents/control-plane/versions/v2.6.0/manager.go index 3db30f689af..3e0f1b21d62 100644 --- a/chaoscenter/upgrade-agents/control-plane/versions/v2.6.0/manager.go +++ b/chaoscenter/upgrade-agents/control-plane/versions/v2.6.0/manager.go @@ -1,18 +1,18 @@ package v2_6_0 import ( + log "github.com/sirupsen/logrus" "go.mongodb.org/mongo-driver/mongo" - "go.uber.org/zap" ) // VersionManager implements IVersionManger type VersionManager struct { - Logger *zap.Logger + Logger *log.Logger DBClient *mongo.Client } // NewVersionManger provides a new instance of a new VersionManager -func NewVersionManger(logger *zap.Logger, dbClient *mongo.Client) *VersionManager { +func NewVersionManger(logger *log.Logger, dbClient *mongo.Client) *VersionManager { return &VersionManager{Logger: logger, DBClient: dbClient} } diff --git a/chaoscenter/upgrade-agents/control-plane/versions/v2.6.0/upgrade.go b/chaoscenter/upgrade-agents/control-plane/versions/v2.6.0/upgrade.go index 20ac2ae396e..ab6037e0417 100644 --- a/chaoscenter/upgrade-agents/control-plane/versions/v2.6.0/upgrade.go +++ b/chaoscenter/upgrade-agents/control-plane/versions/v2.6.0/upgrade.go @@ -4,14 +4,14 @@ import ( "context" "fmt" + log "github.com/sirupsen/logrus" "go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/mongo" "go.mongodb.org/mongo-driver/mongo/options" - "go.uber.org/zap" ) // upgradeWorkflowCollection updated the index related changes in workflow-collection -func upgradeWorkflowCollection(logger *zap.Logger, dbClient *mongo.Client) error { +func upgradeWorkflowCollection(logger *log.Logger, dbClient *mongo.Client) error { workflowCollection := dbClient.Database("litmus").Collection("workflow-collection") //delete the existing workflow_name index diff --git a/chaoscenter/upgrade-agents/control-plane/versions/v3.4.0/manager.go b/chaoscenter/upgrade-agents/control-plane/versions/v3.4.0/manager.go index 30485ff14d3..916b24c76ee 100644 --- a/chaoscenter/upgrade-agents/control-plane/versions/v3.4.0/manager.go +++ b/chaoscenter/upgrade-agents/control-plane/versions/v3.4.0/manager.go @@ -1,31 +1,26 @@ package v3_4_0 import ( - "context" - "fmt" - - "go.mongodb.org/mongo-driver/bson" + log "github.com/sirupsen/logrus" "go.mongodb.org/mongo-driver/mongo" - "go.mongodb.org/mongo-driver/mongo/options" - "go.uber.org/zap" ) -// upgradeWorkflowCollection updated the index related changes in workflow-collection -func upgradeWorkflowCollection(logger *zap.Logger, dbClient *mongo.Client) error { - workflowCollection := dbClient.Database("litmus").Collection("environment") - - //delete the existing workflow_name index - _, err := workflowCollection.Indexes().DropOne(context.Background(), "environment_id") - if err != nil { - fmt.Errorf("error: %w", err) - } +// VersionManager implements IVersionManger +type VersionManager struct { + Logger *log.Logger + DBClient *mongo.Client +} - //create a new workflow index with partial filter expression - _, err = workflowCollection.Indexes().CreateOne(context.Background(), - mongo.IndexModel{Keys: bson.M{"environment_id": 1}, - Options: options.Index().SetUnique(true).SetPartialFilterExpression(bson.D{{ - "isRemoved", false, - }})}) +// NewVersionManger provides a new instance of a new VersionManager +func NewVersionManger(logger *log.Logger, dbClient *mongo.Client) *VersionManager { + return &VersionManager{Logger: logger, DBClient: dbClient} +} - return err +// Run executes all the steps required for the Version Manger +// to upgrade from the previous version to `this` version +func (vm VersionManager) Run() error { + if err := upgradeExecutor(vm.Logger, vm.DBClient); err != nil { + return nil + } + return nil } diff --git a/chaoscenter/upgrade-agents/control-plane/versions/v3.4.0/upgrade.go b/chaoscenter/upgrade-agents/control-plane/versions/v3.4.0/upgrade.go index dc660444fa5..912fe0cd6d6 100644 --- a/chaoscenter/upgrade-agents/control-plane/versions/v3.4.0/upgrade.go +++ b/chaoscenter/upgrade-agents/control-plane/versions/v3.4.0/upgrade.go @@ -1,26 +1,39 @@ package v3_4_0 import ( + "context" + "fmt" + + "go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/mongo" - "go.uber.org/zap" -) + "go.mongodb.org/mongo-driver/mongo/options" -// VersionManager implements IVersionManger -type VersionManager struct { - Logger *zap.Logger - DBClient *mongo.Client -} + log "github.com/sirupsen/logrus" +) -// NewVersionManger provides a new instance of a new VersionManager -func NewVersionManger(logger *zap.Logger, dbClient *mongo.Client) *VersionManager { - return &VersionManager{Logger: logger, DBClient: dbClient} -} +func upgradeExecutor(logger *log.Logger, dbClient *mongo.Client) error { + workflowCollection := dbClient.Database("litmus").Collection("environment") -// Run executes all the steps required for the Version Manger -// to upgrade from the previous version to `this` version -func (vm VersionManager) Run() error { - if err := upgradeWorkflowCollection(vm.Logger, vm.DBClient); err != nil { - return nil + //delete the existing workflow_name index + _, err := workflowCollection.Indexes().DropOne(context.Background(), "environment_id") + if err != nil { + fmt.Errorf("error: %w", err) } - return nil + + logger.WithFields(log.Fields{ + "version": "3.4.0", + }).Info("Deleted an existing index environment while upgrading to intermediate v3.4.0") + + //create a new workflow index with partial filter expression + _, err = workflowCollection.Indexes().CreateOne(context.Background(), + mongo.IndexModel{Keys: bson.M{"environment_id": 1}, + Options: options.Index().SetUnique(true).SetPartialFilterExpression(bson.D{{ + "isRemoved", false, + }})}) + + log.WithFields(log.Fields{ + "version": "3.4.0", + }).Info("Created a new index with partial filter expresion environment_id while upgrading to intermediate v3.4.0") + + return err } diff --git a/chaoscenter/upgrade-agents/control-plane/versions/v3.8.0/manager.go b/chaoscenter/upgrade-agents/control-plane/versions/v3.8.0/manager.go index e69de29bb2d..5ea2f0772aa 100644 --- a/chaoscenter/upgrade-agents/control-plane/versions/v3.8.0/manager.go +++ b/chaoscenter/upgrade-agents/control-plane/versions/v3.8.0/manager.go @@ -0,0 +1,26 @@ +package v3_8_0 + +import ( + log "github.com/sirupsen/logrus" + "go.mongodb.org/mongo-driver/mongo" +) + +// VersionManager implements IVersionManger +type VersionManager struct { + Logger *log.Logger + DBClient *mongo.Client +} + +// NewVersionManger provides a new instance of a new VersionManager +func NewVersionManger(logger *log.Logger, dbClient *mongo.Client) *VersionManager { + return &VersionManager{Logger: logger, DBClient: dbClient} +} + +// Run executes all the steps required for the Version Manger +// to upgrade from the previous version to `this` version +func (vm VersionManager) Run() error { + if err := upgradeExecutor(vm.Logger, vm.DBClient); err != nil { + return nil + } + return nil +} diff --git a/chaoscenter/upgrade-agents/control-plane/versions/v3.8.0/upgrade.go b/chaoscenter/upgrade-agents/control-plane/versions/v3.8.0/upgrade.go index e69de29bb2d..532e9b5903c 100644 --- a/chaoscenter/upgrade-agents/control-plane/versions/v3.8.0/upgrade.go +++ b/chaoscenter/upgrade-agents/control-plane/versions/v3.8.0/upgrade.go @@ -0,0 +1,22 @@ +package v3_8_0 + +import ( + "context" + + "go.mongodb.org/mongo-driver/bson" + "go.mongodb.org/mongo-driver/mongo" + + log "github.com/sirupsen/logrus" +) + +// upgradeWorkflowCollection updated the index related changes in workflow-collection +func upgradeExecutor(logger *log.Logger, dbClient *mongo.Client) error { + res := dbClient.Database("litmus").RunCommand(context.Background(), bson.D{{"renameCollection", "user"}, {"to", "admin"}}) + logger.WithFields(log.Fields{ + "version": "3.8.0", + }).Info("user collection renamed to admin while upgrading to intermediate version v3.8.0") + if res.Err() != nil { + return res.Err() + } + return nil +} diff --git a/chaoscenter/upgrade-agents/control-plane/versions/v3.9.0/manager.go b/chaoscenter/upgrade-agents/control-plane/versions/v3.9.0/manager.go new file mode 100644 index 00000000000..fe32cff01a1 --- /dev/null +++ b/chaoscenter/upgrade-agents/control-plane/versions/v3.9.0/manager.go @@ -0,0 +1,26 @@ +package v3_9_0 + +import ( + log "github.com/sirupsen/logrus" + "go.mongodb.org/mongo-driver/mongo" +) + +// VersionManager implements IVersionManger +type VersionManager struct { + Logger *log.Logger + DBClient *mongo.Client +} + +// NewVersionManger provides a new instance of a new VersionManager +func NewVersionManger(logger *log.Logger, dbClient *mongo.Client) *VersionManager { + return &VersionManager{Logger: logger, DBClient: dbClient} +} + +// Run executes all the steps required for the Version Manger +// to upgrade from the previous version to `this` version +func (vm VersionManager) Run() error { + if err := upgradeExecutor(vm.Logger, vm.DBClient); err != nil { + return nil + } + return nil +} diff --git a/chaoscenter/upgrade-agents/control-plane/versions/v3.9.0/upgrade.go b/chaoscenter/upgrade-agents/control-plane/versions/v3.9.0/upgrade.go new file mode 100644 index 00000000000..c22ca6a4df0 --- /dev/null +++ b/chaoscenter/upgrade-agents/control-plane/versions/v3.9.0/upgrade.go @@ -0,0 +1,23 @@ +package v3_9_0 + +import ( + "context" + "fmt" + + "go.mongodb.org/mongo-driver/mongo" + + log "github.com/sirupsen/logrus" +) + +// upgradeWorkflowCollection updated the index related changes in workflow-collection +func upgradeExecutor(logger *log.Logger, dbClient *mongo.Client) error { + projectLitmusCollection := dbClient.Database("litmus").Collection("project") + err := projectLitmusCollection.Drop(context.Background()) + if err != nil { + fmt.Errorf("Error: %w", err) + } + log.WithFields(log.Fields{ + "version": "3.9.0", + }).Info("Deleted project collection while upgrading to intermediate version v3.9.0") + return nil +}