Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
97aff6d
fix(deps): update kubernetes packages to v0.24.3
renovate[bot] Jul 31, 2022
3098674
simplify implementation
nakamasato Aug 1, 2022
abe2c4a
fix 'Stopping and waiting for non leader election runnables' error
nakamasato Aug 21, 2022
c160edb
fix Unit test 'Status.Phase should be NotReady'
nakamasato Aug 21, 2022
a5153e8
fix lint error: Update is not checked (errcheck)
nakamasato Aug 21, 2022
bb2315b
reduced the probability of failing e2e
nakamasato Aug 23, 2022
00a42b7
change timeout
nakamasato Aug 23, 2022
029af85
add debug tool to controller test
nakamasato Sep 25, 2022
353a73d
upgrade mysql to 5.7
nakamasato Mar 5, 2023
91e4230
comment out startDebugTool
nakamasato Mar 6, 2023
8cc375c
fix startDebugTool
nakamasato Mar 6, 2023
56df9ee
update tests
nakamasato Mar 9, 2023
07ceb2a
update
nakamasato Mar 10, 2023
a6436e8
fix skaffold
nakamasato Mar 11, 2023
13fefd8
fix
nakamasato Mar 11, 2023
d09189b
fix
nakamasato Mar 11, 2023
bf900a3
set timeout to 300
nakamasato Mar 11, 2023
32ff7d3
extend timeout
nakamasato Mar 11, 2023
0200c38
remove finalizers' test
nakamasato Mar 11, 2023
fed4177
remove unnecessary import
nakamasato Mar 11, 2023
b1b4700
remove recreation step
nakamasato Mar 11, 2023
11c2618
not delete mysql deployment just delete service
nakamasato Mar 11, 2023
8a69af3
extend timeout
nakamasato Mar 11, 2023
3e03245
fix
nakamasato Mar 11, 2023
3fef452
error
nakamasato Mar 11, 2023
37b979c
fix consistently timeout
nakamasato Mar 11, 2023
b017ea1
update
nakamasato Mar 12, 2023
13fc0eb
update
nakamasato Mar 12, 2023
45de41e
remove tail
nakamasato Mar 12, 2023
5506ddd
use PingContext for db
nakamasato Mar 12, 2023
c0b1048
set 100 millisecond
nakamasato Mar 12, 2023
765d9f7
set timeout to 1 sec
nakamasato Mar 12, 2023
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
Prev Previous commit
Next Next commit
fix
  • Loading branch information
nakamasato committed Mar 11, 2023
commit 13fefd8c014e8233f8cdd45c5a7cbddf4aeeb263
2 changes: 1 addition & 1 deletion controllers/suite_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ var _ = BeforeSuite(func() {
Expect(err).NotTo(HaveOccurred())
Expect(k8sClient).NotTo(BeNil())

startDebugTool(ctx, cfg, scheme)
StartDebugTool(ctx, cfg, scheme)
}, 60)

var _ = AfterSuite(func() {
Expand Down
4 changes: 1 addition & 3 deletions controllers/test_utils.go
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ func addOwnerReferenceToMySQL(mysqlUser *mysqlv1alpha1.MySQLUser, mysql *mysqlv1
return mysqlUser
}

func startDebugTool(ctx context.Context, cfg *rest.Config, scheme *runtime.Scheme) {
func StartDebugTool(ctx context.Context, cfg *rest.Config, scheme *runtime.Scheme) {
fmt.Println("startDebugTool")
// Set a mapper
mapper, err := func(c *rest.Config) (meta.RESTMapper, error) {
Expand All @@ -96,9 +96,7 @@ func startDebugTool(ctx context.Context, cfg *rest.Config, scheme *runtime.Schem
}

secret := &v1.Secret{}
cache.Get(ctx, client.ObjectKeyFromObject(secret), secret)
mysqluser := &mysqlv1alpha1.MySQLUser{}
cache.Get(ctx, client.ObjectKeyFromObject(mysqluser), mysqluser)

// Start Cache
go func() {
Expand Down
4 changes: 0 additions & 4 deletions e2e/skaffold.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,6 @@ func (s *Skaffold) run(ctx context.Context) error {
)
s.cmd.Stdout = os.Stdout
s.cmd.Stderr = os.Stderr
s.cmd.Cancel = func() error {
fmt.Println("cmd.Cancel is called") // not working
return nil
}
return s.cmd.Start() // Run in background
}

Expand Down
59 changes: 2 additions & 57 deletions e2e/suite_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,20 +14,14 @@ import (
"k8s.io/apimachinery/pkg/runtime"
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
clientgoscheme "k8s.io/client-go/kubernetes/scheme"
"k8s.io/client-go/rest"
"k8s.io/client-go/util/workqueue"
ctrl "sigs.k8s.io/controller-runtime"
"sigs.k8s.io/controller-runtime/pkg/cache"
"sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/controller-runtime/pkg/client/apiutil"
"sigs.k8s.io/controller-runtime/pkg/client/config"
"sigs.k8s.io/controller-runtime/pkg/event"
"sigs.k8s.io/controller-runtime/pkg/handler"
logf "sigs.k8s.io/controller-runtime/pkg/log"
"sigs.k8s.io/controller-runtime/pkg/log/zap"
"sigs.k8s.io/controller-runtime/pkg/source"

mysqlv1alpha1 "github.com/nakamasato/mysql-operator/api/v1alpha1"
"github.com/nakamasato/mysql-operator/controllers"
appsv1 "k8s.io/api/apps/v1"
)

Expand Down Expand Up @@ -111,7 +105,7 @@ var _ = BeforeSuite(func() {
checkMySQLOperator() // check if mysql-operator is running

// 9. Start debug tool
startDebugTool(ctx, cfg, scheme)
controllers.StartDebugTool(ctx, cfg, scheme)
fmt.Println("Setup completed")
}, 120)

Expand Down Expand Up @@ -187,52 +181,3 @@ func checkMySQLOperator() {
return deployment.Status.AvailableReplicas == *deployment.Spec.Replicas
}, timeout, interval).Should(BeTrue())
}

func startDebugTool(ctx context.Context, cfg *rest.Config, scheme *runtime.Scheme) {
fmt.Println("startDebugTool")
mapper, err := apiutil.NewDynamicRESTMapper(cfg)
if err != nil {
log.Error(err, "failed to create mapper")
}

cache, err := cache.New(cfg, cache.Options{Scheme: scheme, Mapper: mapper})
if err != nil {
log.Error(err, "failed to create cache")
}
mysqluser := &mysqlv1alpha1.MySQLUser{}
cache.Get(ctx, client.ObjectKeyFromObject(mysqluser), mysqluser)
// Start Cache
go func() {
if err := cache.Start(ctx); err != nil { // func (m *InformersMap) Start(ctx context.Context) error {
log.Error(err, "failed to start cache")
}
}()
log.Info("cache is started")

kindWithCacheMysqlUser := source.NewKindWithCache(mysqluser, cache)
queue := workqueue.NewNamedRateLimitingQueue(workqueue.DefaultControllerRateLimiter(), "test")
eventHandler := handler.Funcs{
CreateFunc: func(e event.CreateEvent, q workqueue.RateLimitingInterface) {
log.Info("CreateFunc is called", "Name", e.Object.GetName(), "finalizers", e.Object.GetFinalizers())
},
UpdateFunc: func(e event.UpdateEvent, q workqueue.RateLimitingInterface) {
log.Info("UpdateFunc is called", "Name", e.ObjectNew.GetName(), "finalizers", e.ObjectNew.GetFinalizers())
},
DeleteFunc: func(e event.DeleteEvent, q workqueue.RateLimitingInterface) {
log.Info("DeleteFunc is called", "Name", e.Object.GetName(), "finalizers", e.Object.GetFinalizers())
},
}
log.Info("kindWithCacheMysqlUser starting")
if err := kindWithCacheMysqlUser.Start(ctx, eventHandler, queue); err != nil {
log.Error(err, "failed to start kind")
}
log.Info("waiting for kindWithCacheMysqlUser to be synced")
if err := kindWithCacheMysqlUser.WaitForSync(ctx); err != nil {
log.Error(err, "failed to wait cache")
}
log.Info("kindWithCacheMysqlUser is synced")
go func() {
// run until ctx is done.
<-ctx.Done()
}()
}