diff --git a/src/common/dao/dao_test.go b/src/common/dao/dao_test.go index 03252787e..c169f11ba 100644 --- a/src/common/dao/dao_test.go +++ b/src/common/dao/dao_test.go @@ -941,7 +941,6 @@ func TestFilterRepTargets(t *testing.T) { func TestAddRepPolicy(t *testing.T) { policy := models.RepPolicy{ ProjectID: 1, - Enabled: 1, TargetID: targetID, Description: "whatever", Name: "mypolicy", @@ -961,15 +960,10 @@ func TestAddRepPolicy(t *testing.T) { t.Errorf("Unable to find a policy with id: %d", id) } - if p.Name != "mypolicy" || p.TargetID != targetID || p.Enabled != 1 || p.Description != "whatever" { - t.Errorf("The data does not match, expected: Name: mypolicy, TargetID: %d, Enabled: 1, Description: whatever;\n result: Name: %s, TargetID: %d, Enabled: %d, Description: %s", - targetID, p.Name, p.TargetID, p.Enabled, p.Description) + if p.Name != "mypolicy" || p.TargetID != targetID || p.Description != "whatever" { + t.Errorf("The data does not match, expected: Name: mypolicy, TargetID: %d, Description: whatever;\n result: Name: %s, TargetID: %d, Description: %s", + targetID, p.Name, p.TargetID, p.Description) } - var tm = time.Now().AddDate(0, 0, -1) - if !p.StartTime.After(tm) { - t.Errorf("Unexpected start_time: %v", p.StartTime) - } - } func TestGetRepPolicyByTarget(t *testing.T) { @@ -1019,44 +1013,9 @@ func TestGetRepPolicyByName(t *testing.T) { } -func TestDisableRepPolicy(t *testing.T) { - err := DisableRepPolicy(policyID) - if err != nil { - t.Errorf("Failed to disable policy, id: %d", policyID) - } - p, err := GetRepPolicy(policyID) - if err != nil { - t.Errorf("Error occurred in GetPolicy: %v, id: %d", err, policyID) - } - if p == nil { - t.Errorf("Unable to find a policy with id: %d", policyID) - } - if p.Enabled == 1 { - t.Errorf("The Enabled value of replication policy is still 1 after disabled, id: %d", policyID) - } -} - -func TestEnableRepPolicy(t *testing.T) { - err := EnableRepPolicy(policyID) - if err != nil { - t.Errorf("Failed to disable policy, id: %d", policyID) - } - p, err := GetRepPolicy(policyID) - if err != nil { - t.Errorf("Error occurred in GetPolicy: %v, id: %d", err, policyID) - } - if p == nil { - t.Errorf("Unable to find a policy with id: %d", policyID) - } - if p.Enabled == 0 { - t.Errorf("The Enabled value of replication policy is still 0 after disabled, id: %d", policyID) - } -} - func TestAddRepPolicy2(t *testing.T) { policy2 := models.RepPolicy{ ProjectID: 3, - Enabled: 0, TargetID: 3, Description: "whatever", Name: "mypolicy", @@ -1073,10 +1032,6 @@ func TestAddRepPolicy2(t *testing.T) { if p == nil { t.Errorf("Unable to find a policy with id: %d", policyID2) } - var tm time.Time - if p.StartTime.After(tm) { - t.Errorf("Unexpected start_time: %v", p.StartTime) - } } func TestAddRepJob(t *testing.T) { diff --git a/src/common/dao/replication_job.go b/src/common/dao/replication_job.go index 4087e3d13..cfdadc3eb 100644 --- a/src/common/dao/replication_job.go +++ b/src/common/dao/replication_job.go @@ -106,17 +106,13 @@ func FilterRepTargets(name string) ([]*models.RepTarget, error) { // AddRepPolicy ... func AddRepPolicy(policy models.RepPolicy) (int64, error) { o := GetOrmer() - sql := `insert into replication_policy (name, project_id, target_id, enabled, description, cron_str, start_time, creation_time, update_time, filters, replicate_deletion) - values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)` + sql := `insert into replication_policy (name, project_id, target_id, enabled, description, cron_str, creation_time, update_time, filters, replicate_deletion) + values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)` params := []interface{}{} - params = append(params, policy.Name, policy.ProjectID, policy.TargetID, policy.Enabled, policy.Description, policy.Trigger) now := time.Now() - if policy.Enabled == 1 { - params = append(params, now) - } else { - params = append(params, nil) - } - params = append(params, now, now, policy.Filters, policy.ReplicateDeletion) + params = append(params, policy.Name, policy.ProjectID, policy.TargetID, 1, + policy.Description, policy.Trigger, now, now, policy.Filters, + policy.ReplicateDeletion) result, err := o.Raw(sql, params...).Exec() if err != nil { @@ -150,8 +146,8 @@ func FilterRepPolicies(name string, projectID int64) ([]*models.RepPolicy, error var args []interface{} sql := `select rp.id, rp.project_id, rp.target_id, - rt.name as target_name, rp.name, rp.enabled, rp.description, - rp.cron_str, rp.filters, rp.replicate_deletion,rp.start_time, + rt.name as target_name, rp.name, rp.description, + rp.cron_str, rp.filters, rp.replicate_deletion, rp.creation_time, rp.update_time, count(rj.status) as error_job_count from replication_policy rp @@ -245,7 +241,7 @@ func GetRepPolicyByProjectAndTarget(projectID, targetID int64) ([]*models.RepPol func UpdateRepPolicy(policy *models.RepPolicy) error { o := GetOrmer() policy.UpdateTime = time.Now() - _, err := o.Update(policy, "TargetID", "Name", "Enabled", "Description", + _, err := o.Update(policy, "TargetID", "Name", "Description", "Trigger", "Filters", "ReplicateDeletion", "UpdateTime") return err } @@ -262,36 +258,6 @@ func DeleteRepPolicy(id int64) error { return err } -// UpdateRepPolicyEnablement ... -func UpdateRepPolicyEnablement(id int64, enabled int) error { - o := GetOrmer() - p := models.RepPolicy{ - ID: id, - Enabled: enabled, - UpdateTime: time.Now(), - } - - var err error - if enabled == 1 { - p.StartTime = time.Now() - _, err = o.Update(&p, "Enabled", "StartTime") - } else { - _, err = o.Update(&p, "Enabled") - } - - return err -} - -// EnableRepPolicy ... -func EnableRepPolicy(id int64) error { - return UpdateRepPolicyEnablement(id, 1) -} - -// DisableRepPolicy ... -func DisableRepPolicy(id int64) error { - return UpdateRepPolicyEnablement(id, 0) -} - // AddRepJob ... func AddRepJob(job models.RepJob) (int64, error) { o := GetOrmer() diff --git a/src/common/models/replication_job.go b/src/common/models/replication_job.go index abf011a34..8c5744800 100644 --- a/src/common/models/replication_job.go +++ b/src/common/models/replication_job.go @@ -42,12 +42,10 @@ type RepPolicy struct { ProjectID int64 `orm:"column(project_id)" ` TargetID int64 `orm:"column(target_id)"` Name string `orm:"column(name)"` - Enabled int `orm:"column(enabled)"` Description string `orm:"column(description)"` Trigger string `orm:"column(cron_str)"` Filters string `orm:"column(filters)"` ReplicateDeletion bool `orm:"column(replicate_deletion)"` - StartTime time.Time `orm:"column(start_time)"` CreationTime time.Time `orm:"column(creation_time);auto_now_add"` UpdateTime time.Time `orm:"column(update_time);auto_now"` Deleted int `orm:"column(deleted)"` diff --git a/src/jobservice/job/job_test.go b/src/jobservice/job/job_test.go index ab52c9487..eb29c93cc 100644 --- a/src/jobservice/job/job_test.go +++ b/src/jobservice/job/job_test.go @@ -105,7 +105,6 @@ func TestRepJob(t *testing.T) { assert.Nil(err) j, err := dao.GetRepJob(repJobID) assert.Equal(models.JobRetrying, j.Status) - assert.Equal(1, rj.parm.Enabled) assert.False(rj.parm.Insecure) rj2 := NewRepJob(99999) err = rj2.Init() @@ -163,7 +162,6 @@ func prepareRepJobData() error { } policy := models.RepPolicy{ ProjectID: 1, - Enabled: 1, TargetID: targetID, Description: "whatever", Name: "mypolicy", diff --git a/src/jobservice/job/jobs.go b/src/jobservice/job/jobs.go index 96a3bc821..1752f9164 100644 --- a/src/jobservice/job/jobs.go +++ b/src/jobservice/job/jobs.go @@ -62,7 +62,6 @@ type RepJobParm struct { TargetPassword string Repository string Tags []string - Enabled int Operation string Insecure bool } @@ -124,13 +123,8 @@ func (rj *RepJob) Init() error { LocalRegURL: regURL, Repository: job.Repository, Tags: job.TagList, - Enabled: policy.Enabled, Operation: job.Operation, } - if policy.Enabled == 0 { - //worker will cancel this job - return nil - } target, err := dao.GetRepTarget(policy.TargetID) if err != nil { return fmt.Errorf("Failed to get target, error: %v", err) diff --git a/src/jobservice/job/statemachine.go b/src/jobservice/job/statemachine.go index 3db88a78f..8b41ebdf7 100644 --- a/src/jobservice/job/statemachine.go +++ b/src/jobservice/job/statemachine.go @@ -208,16 +208,6 @@ func (sm *SM) Reset(j Job) error { } func (sm *SM) kickOff() error { - if repJob, ok := sm.CurrentJob.(*RepJob); ok { - if repJob.parm.Enabled == 0 { - log.Debugf("The policy of job:%v is disabled, will cancel the job", repJob) - _, err := sm.EnterState(models.JobCanceled) - if err != nil { - log.Warningf("For job: %v, failed to update state to 'canceled', error: %v", repJob, err) - } - return err - } - } log.Debugf("In kickOff: will start job: %v", sm.CurrentJob) sm.Start(models.JobRunning) return nil diff --git a/src/replication/event/on_push_handler.go b/src/replication/event/on_push_handler.go index 30ae3447a..f00468ca2 100644 --- a/src/replication/event/on_push_handler.go +++ b/src/replication/event/on_push_handler.go @@ -70,11 +70,9 @@ func checkAndTriggerReplication(image, operation string) error { for _, watchItem := range watchItems { item := models.FilterItem{ - Kind: replication.FilterItemKindTag, - Value: image, - Metadata: map[string]interface{}{ - "operation": operation, - }, + Kind: replication.FilterItemKindTag, + Value: image, + Operation: operation, } if err := notifier.Publish(topic.StartReplicationTopic, notification.StartReplicationNotification{ diff --git a/src/ui/api/dataprepare_test.go b/src/ui/api/dataprepare_test.go index 67e41c9c9..711a74bed 100644 --- a/src/ui/api/dataprepare_test.go +++ b/src/ui/api/dataprepare_test.go @@ -118,10 +118,6 @@ func CommonDelTarget() { _ = dao.DeleteRepTarget(target.ID) } -func CommonPolicyEabled(policyID int, enabled int) { - _ = dao.UpdateRepPolicyEnablement(int64(policyID), enabled) -} - func CommonAddRepository() { commonRepository := &models.RepoRecord{ RepositoryID: 1, diff --git a/src/ui/api/target.go b/src/ui/api/target.go index 68c3c2689..61f8939eb 100644 --- a/src/ui/api/target.go +++ b/src/ui/api/target.go @@ -231,23 +231,6 @@ func (t *TargetAPI) Put() { t.CustomAbort(http.StatusNotFound, http.StatusText(http.StatusNotFound)) } - policies, err := dao.GetRepPolicyByTarget(id) - if err != nil { - log.Errorf("failed to get policies according target %d: %v", id, err) - t.CustomAbort(http.StatusInternalServerError, http.StatusText(http.StatusInternalServerError)) - } - - hasEnabledPolicy := false - for _, policy := range policies { - if policy.Enabled == 1 { - hasEnabledPolicy = true - break - } - } - - if hasEnabledPolicy { - t.CustomAbort(http.StatusBadRequest, "the target is associated with policy which is enabled") - } if len(target.Password) != 0 { target.Password, err = utils.ReversibleDecrypt(target.Password, t.secretKey) if err != nil {