mirror of
https://github.com/goharbor/harbor.git
synced 2024-12-24 17:47:46 +01:00
Merge pull request #11309 from ywk253100/200326_error
Fix bugs of replication
This commit is contained in:
commit
e8cc84738a
@ -193,12 +193,11 @@ func (b *BaseAPI) ParseAndHandleError(text string, err error) {
|
||||
if err == nil {
|
||||
return
|
||||
}
|
||||
log.Errorf("%s: %v", text, err)
|
||||
if e, ok := err.(*commonhttp.Error); ok {
|
||||
b.RenderError(e.Code, e.Message)
|
||||
b.RenderError(e.Code, fmt.Sprintf("%s: %s", text, e.Message))
|
||||
return
|
||||
}
|
||||
b.SendInternalServerError(errors.New(""))
|
||||
b.SendInternalServerError(fmt.Errorf("%s: %v", text, err))
|
||||
}
|
||||
|
||||
// SendUnAuthorizedError sends unauthorized error to the client.
|
||||
@ -226,7 +225,7 @@ func (b *BaseAPI) SendBadRequestError(err error) {
|
||||
// When you send an internal server error to the client, you expect user to check the log
|
||||
// to find out the root cause.
|
||||
func (b *BaseAPI) SendInternalServerError(err error) {
|
||||
b.RenderError(http.StatusInternalServerError, http.StatusText(http.StatusInternalServerError))
|
||||
b.RenderError(http.StatusInternalServerError, err.Error())
|
||||
}
|
||||
|
||||
// SendForbiddenError sends forbidden error to the client.
|
||||
|
@ -416,7 +416,7 @@ func (t *RegistryAPI) GetInfo() {
|
||||
}
|
||||
info, err := adp.Info()
|
||||
if err != nil {
|
||||
t.SendInternalServerError(fmt.Errorf("failed to get registry info %d: %v", id, err))
|
||||
t.ParseAndHandleError(fmt.Sprintf("failed to get registry info %d", id), err)
|
||||
return
|
||||
}
|
||||
// currently, only the local Harbor registry supports the event based trigger, append it here
|
||||
|
@ -19,6 +19,7 @@ import (
|
||||
"net/http"
|
||||
"os"
|
||||
|
||||
"github.com/goharbor/harbor/src/common/api"
|
||||
common_http "github.com/goharbor/harbor/src/common/http"
|
||||
"github.com/goharbor/harbor/src/common/http/modifier/auth"
|
||||
"github.com/goharbor/harbor/src/jobservice/job"
|
||||
@ -56,7 +57,7 @@ func (s *Scheduler) Run(ctx job.Context, params job.Parameters) error {
|
||||
logger := ctx.GetLogger()
|
||||
|
||||
url := params["url"].(string)
|
||||
url = fmt.Sprintf("%s/api/replication/executions?trigger=%s", url, model.TriggerTypeScheduled)
|
||||
url = fmt.Sprintf("%s/api/%s/replication/executions?trigger=%s", url, api.APIVersion, model.TriggerTypeScheduled)
|
||||
policyID := (int64)(params["policy_id"].(float64))
|
||||
cred := auth.NewSecretAuthorizer(os.Getenv("JOBSERVICE_SECRET"))
|
||||
client := common_http.NewClient(&http.Client{
|
||||
|
@ -16,7 +16,7 @@ package scheduler
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"net/http"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
commonHttp "github.com/goharbor/harbor/src/common/http"
|
||||
@ -104,7 +104,8 @@ func (s *scheduler) Unschedule(policyID int64) error {
|
||||
if err = s.jobservice.PostAction(sj.JobID, job.JobActionStop); err != nil {
|
||||
// if the job specified by jobID is not found in jobservice, just delete
|
||||
// the record from database
|
||||
if e, ok := err.(*commonHttp.Error); !ok || e.Code != http.StatusNotFound {
|
||||
if e, ok := err.(*commonHttp.Error); !ok ||
|
||||
!strings.Contains(e.Message, "no valid periodic job policy found") {
|
||||
return err
|
||||
}
|
||||
log.Debugf("the stop action for schedule job %s submitted to the jobservice", sj.JobID)
|
||||
|
Loading…
Reference in New Issue
Block a user