Skip to content

Commit

Permalink
dont create the k8s client in a transaction.
Browse files Browse the repository at this point in the history
Signed-off-by: Jeff Ortel <jortel@redhat.com>
  • Loading branch information
jortel committed Jun 25, 2024
1 parent 175e781 commit 4047ffd
Show file tree
Hide file tree
Showing 6 changed files with 34 additions and 30 deletions.
16 changes: 12 additions & 4 deletions api/application.go
Original file line number Diff line number Diff line change
Expand Up @@ -249,9 +249,13 @@ func (h ApplicationHandler) Create(ctx *gin.Context) {
return
}

rtx := WithContext(ctx)
tr := trigger.Application{
TaskManager: WithContext(ctx).TaskManager,
DB: h.DB(ctx),
Trigger: trigger.Trigger{
TaskManager: rtx.TaskManager,
Client: rtx.Client,
DB: h.DB(ctx),
},
}
err = tr.Created(m)
if err != nil {
Expand Down Expand Up @@ -384,9 +388,13 @@ func (h ApplicationHandler) Update(ctx *gin.Context) {
}
}

rtx := WithContext(ctx)
tr := trigger.Application{
TaskManager: WithContext(ctx).TaskManager,
DB: h.DB(ctx),
Trigger: trigger.Trigger{
TaskManager: rtx.TaskManager,
Client: rtx.Client,
DB: h.DB(ctx),
},
}
err = tr.Updated(m)
if err != nil {
Expand Down
8 changes: 6 additions & 2 deletions api/identity.go
Original file line number Diff line number Diff line change
Expand Up @@ -208,9 +208,13 @@ func (h IdentityHandler) Update(ctx *gin.Context) {
return
}

rtx := WithContext(ctx)
tr := trigger.Identity{
TaskManager: WithContext(ctx).TaskManager,
DB: h.DB(ctx),
Trigger: trigger.Trigger{
TaskManager: rtx.TaskManager,
Client: rtx.Client,
DB: h.DB(ctx),
},
}
err = tr.Updated(m)
if err != nil {
Expand Down
7 changes: 5 additions & 2 deletions importer/manager.go
Original file line number Diff line number Diff line change
Expand Up @@ -346,8 +346,11 @@ func (m *Manager) createApplication(imp *model.Import) (ok bool) {
}
// best effort
tr := trigger.Application{
TaskManager: m.TaskManager,
DB: m.DB,
Trigger: trigger.Trigger{
TaskManager: m.TaskManager,
Client: m.Client,
DB: m.DB,
},
}
err := tr.Created(app)
if err != nil {
Expand Down
3 changes: 0 additions & 3 deletions trigger/application.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,11 @@ import (

"github.com/konveyor/tackle2-hub/model"
tasking "github.com/konveyor/tackle2-hub/task"
"gorm.io/gorm"
)

// Application trigger.
type Application struct {
Trigger
TaskManager *tasking.Manager
DB *gorm.DB
}

// Created trigger.
Expand Down
11 changes: 5 additions & 6 deletions trigger/identity.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,21 @@ package trigger

import (
"github.com/konveyor/tackle2-hub/model"
tasking "github.com/konveyor/tackle2-hub/task"
"gorm.io/gorm"
)

// Identity trigger.
type Identity struct {
Trigger
TaskManager *tasking.Manager
DB *gorm.DB
}

// Updated model created trigger.
func (r *Identity) Updated(m *model.Identity) (err error) {
tr := Application{
TaskManager: r.TaskManager,
DB: r.DB,
Trigger: Trigger{
TaskManager: r.TaskManager,
Client: r.Client,
DB: r.DB,
},
}
for i := range m.Applications {
err = tr.Updated(&m.Applications[i])
Expand Down
19 changes: 6 additions & 13 deletions trigger/pkg.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ import (
liberr "github.com/jortel/go-utils/error"
crd "github.com/konveyor/tackle2-hub/k8s/api/tackle/v1alpha2"
"github.com/konveyor/tackle2-hub/settings"
tasking "github.com/konveyor/tackle2-hub/task"
"gorm.io/gorm"
"k8s.io/apimachinery/pkg/labels"
"k8s.io/apimachinery/pkg/selection"
"k8s.io/client-go/kubernetes/scheme"
k8sclient "sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/controller-runtime/pkg/client/config"
)

var (
Expand All @@ -19,20 +19,13 @@ var (

// Trigger supports actions triggered by model changes.
type Trigger struct {
TaskManager *tasking.Manager
Client k8sclient.Client
DB *gorm.DB
}

// FindTasks returns tasks with the specified label.
func (r *Trigger) FindTasks(label string) (matched []*crd.Task, err error) {
cfg, _ := config.GetConfig()
client, err := k8sclient.New(
cfg,
k8sclient.Options{
Scheme: scheme.Scheme,
})
if err != nil {
err = liberr.Wrap(err)
return
}
selector := labels.NewSelector()
req, _ := labels.NewRequirement(
label,
Expand All @@ -44,7 +37,7 @@ func (r *Trigger) FindTasks(label string) (matched []*crd.Task, err error) {
LabelSelector: selector,
}
list := crd.TaskList{}
err = client.List(
err = r.Client.List(
context.TODO(),
&list,
options)
Expand Down

0 comments on commit 4047ffd

Please sign in to comment.