
* phase related errors were moved to separate package to prevent cycling import error; * error duplicates were removed; * non-related to package errors were moved to appropriate ones. Change-Id: If6cfb08c48d356c1517a13157a5fe740dc1635a4 Signed-off-by: Ruslan Aliev <raliev@mirantis.com> Relates-To: #485
94 lines
2.7 KiB
Go
Executable File
94 lines
2.7 KiB
Go
Executable File
/*
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
https://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
*/
|
|
|
|
package errors
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
|
)
|
|
|
|
// ErrUnknownExecutorAction is returned when unknown action or operation is requested
|
|
// from one of the executors.
|
|
type ErrUnknownExecutorAction struct {
|
|
Action string
|
|
ExecutorName string
|
|
}
|
|
|
|
func (e ErrUnknownExecutorAction) Error() string {
|
|
return fmt.Sprintf("unknown action type '%s' was requested from executor '%s'",
|
|
e.Action, e.ExecutorName)
|
|
}
|
|
|
|
// ErrUnknownExecutorName is returned for unknown executor name parameter
|
|
// received by RegisterExecutor function
|
|
type ErrUnknownExecutorName struct {
|
|
ExecutorName string
|
|
}
|
|
|
|
func (e ErrUnknownExecutorName) Error() string {
|
|
return fmt.Sprintf("unknown executor name '%s'", e.ExecutorName)
|
|
}
|
|
|
|
// ErrUnableParseProvider is returned when it's impossible to parse provider's name and version
|
|
type ErrUnableParseProvider struct {
|
|
Provider string
|
|
ProviderType string
|
|
}
|
|
|
|
func (e ErrUnableParseProvider) Error() string {
|
|
return fmt.Sprintf("unable to parse name and version of '%s' type, '%s' provider", e.ProviderType, e.Provider)
|
|
}
|
|
|
|
// ErrNilExecutorDoc returned when the executor document is nil
|
|
type ErrNilExecutorDoc struct {
|
|
}
|
|
|
|
func (e ErrNilExecutorDoc) Error() string {
|
|
return "executor document is nil"
|
|
}
|
|
|
|
// ErrExecutorRefNotDefined returned when phase has no entrypoint defined and phase needs it
|
|
type ErrExecutorRefNotDefined struct {
|
|
PhaseName string
|
|
PhaseNamespace string
|
|
}
|
|
|
|
func (e ErrExecutorRefNotDefined) Error() string {
|
|
return fmt.Sprintf("Phase name '%s', namespace '%s' must have executorRef field defined in config",
|
|
e.PhaseName,
|
|
e.PhaseNamespace)
|
|
}
|
|
|
|
// ErrExecutorNotFound is returned if phase executor was not found in executor
|
|
// registry map
|
|
type ErrExecutorNotFound struct {
|
|
GVK schema.GroupVersionKind
|
|
}
|
|
|
|
func (e ErrExecutorNotFound) Error() string {
|
|
return fmt.Sprintf("executor identified by '%s' is not found", e.GVK)
|
|
}
|
|
|
|
// ErrExecutorRegistration is a wrapper for executor registration errors
|
|
type ErrExecutorRegistration struct {
|
|
ExecutorName string
|
|
Err error
|
|
}
|
|
|
|
func (e ErrExecutorRegistration) Error() string {
|
|
return fmt.Sprintf("failed to register executor %s, registration function returned %s", e.ExecutorName, e.Err.Error())
|
|
}
|