Fix daemonset dependency panic when POD_NAME is unset
Simple refactor
This commit is contained in:
parent
aa68192110
commit
e072c1d986
3
dependencies/daemonset/daemonset.go
vendored
3
dependencies/daemonset/daemonset.go
vendored
@ -23,6 +23,7 @@ func init() {
|
||||
daemonset, err := NewDaemonset(dep)
|
||||
if err != nil {
|
||||
logger.Error.Printf("Cannot initialize daemonset: %v", err)
|
||||
continue
|
||||
}
|
||||
entry.Register(daemonset)
|
||||
}
|
||||
@ -31,7 +32,7 @@ func init() {
|
||||
|
||||
func NewDaemonset(name string) (*Daemonset, error) {
|
||||
if os.Getenv("POD_NAME") == "" {
|
||||
return nil, fmt.Errorf("Env POD_NAME not set")
|
||||
return nil, fmt.Errorf("Env POD_NAME not set. Daemonset dependency %s will be ignored!", name)
|
||||
}
|
||||
return &Daemonset{
|
||||
name: name,
|
||||
|
@ -16,6 +16,12 @@ const (
|
||||
interval = 2
|
||||
)
|
||||
|
||||
//Resolver is an interface which all dependencies should implement
|
||||
type Resolver interface {
|
||||
IsResolved(entrypoint EntrypointInterface) (bool, error)
|
||||
GetName() string
|
||||
}
|
||||
|
||||
type EntrypointInterface interface {
|
||||
Resolve()
|
||||
Client() cli.ClientInterface
|
||||
@ -28,6 +34,14 @@ type Entrypoint struct {
|
||||
namespace string
|
||||
}
|
||||
|
||||
//Register is a function which registers new dependencies
|
||||
func Register(res Resolver) {
|
||||
if res == nil {
|
||||
panic("Entrypoint: could not register nil Resolver")
|
||||
}
|
||||
dependencies = append(dependencies, res)
|
||||
}
|
||||
|
||||
//New is a constructor for entrypoint
|
||||
func New(config *rest.Config) (entry *Entrypoint, err error) {
|
||||
entry = new(Entrypoint)
|
||||
@ -74,17 +88,3 @@ func (e Entrypoint) Resolve() {
|
||||
wg.Wait()
|
||||
|
||||
}
|
||||
|
||||
//Resolver is an interface which all dependencies should implement
|
||||
type Resolver interface {
|
||||
IsResolved(entrypoint EntrypointInterface) (bool, error)
|
||||
GetName() string
|
||||
}
|
||||
|
||||
//Register is a function which registers new dependencies
|
||||
func Register(res Resolver) {
|
||||
if res == nil {
|
||||
panic("Entrypoint: could not register nil Resolver")
|
||||
}
|
||||
dependencies = append(dependencies, res)
|
||||
}
|
||||
|
@ -17,5 +17,5 @@ var (
|
||||
func init() {
|
||||
Info = log.New(os.Stdout, "Entrypoint INFO: ", log.Ldate|log.Ltime|log.Lshortfile)
|
||||
Warning = log.New(os.Stdout, "Entrypoint WARNING: ", log.Ldate|log.Ltime|log.Lshortfile)
|
||||
Error = log.New(os.Stderr, "Entrypoint Error: ", log.Ldate|log.Ltime|log.Lshortfile)
|
||||
Error = log.New(os.Stderr, "Entrypoint ERROR: ", log.Ldate|log.Ltime|log.Lshortfile)
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user