worker: add new error type for RepoError
dnf-json now returns a new error kind: RepoError Add it to the list of known error types and handle it in the worker.
This commit is contained in:
parent
d0da8fd122
commit
8a23a77c5b
2 changed files with 7 additions and 2 deletions
|
|
@ -62,13 +62,15 @@ func (impl *DepsolveJobImpl) Run(job worker.Job) error {
|
|||
result.PackageSpecs, err = impl.depsolve(args.PackageSetsChains, args.PackageSets, args.Repos, args.PackageSetsRepos, args.ModulePlatformID, args.Arch, args.Releasever)
|
||||
if err != nil {
|
||||
switch e := err.(type) {
|
||||
case *rpmmd.DNFError:
|
||||
// Error originates from dnf-json (the http call dnf-json wasn't StatusOK)
|
||||
case *dnfjson.Error:
|
||||
// Error originates from dnf-json
|
||||
switch e.Kind {
|
||||
case "DepsolveError":
|
||||
result.JobError = clienterrors.WorkerClientError(clienterrors.ErrorDNFDepsolveError, err.Error())
|
||||
case "MarkingErrors":
|
||||
result.JobError = clienterrors.WorkerClientError(clienterrors.ErrorDNFMarkingErrors, err.Error())
|
||||
case "RepoError":
|
||||
result.JobError = clienterrors.WorkerClientError(clienterrors.ErrorDNFRepoError, err.Error())
|
||||
default:
|
||||
// This still has the kind/reason format but a kind that's returned
|
||||
// by dnf-json and not explicitly handled here.
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ const (
|
|||
ErrorDNFOtherError ClientErrorCode = 22
|
||||
ErrorRPMMDError ClientErrorCode = 23
|
||||
ErrorEmptyPackageSpecs ClientErrorCode = 24
|
||||
ErrorDNFRepoError ClientErrorCode = 25
|
||||
)
|
||||
|
||||
type ClientErrorCode int
|
||||
|
|
@ -57,6 +58,8 @@ func GetStatusCode(err *Error) StatusCode {
|
|||
return JobStatusUserInputError
|
||||
case ErrorDNFMarkingErrors:
|
||||
return JobStatusUserInputError
|
||||
case ErrorDNFRepoError:
|
||||
return JobStatusInternalError
|
||||
case ErrorNoDynamicArgs:
|
||||
return JobStatusUserInputError
|
||||
case ErrorInvalidTargetConfig:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue