mirror of https://github.com/kubernetes/kops.git
nodeup: make sure tasks implement HasDependencies
This commit is contained in:
parent
c774777160
commit
82f373cba0
|
|
@ -58,6 +58,8 @@ func NewFileTask(name string, src fi.Resource, destPath string, meta string) (*F
|
|||
return f, nil
|
||||
}
|
||||
|
||||
var _ fi.HasDependencies = &File{}
|
||||
|
||||
func (f *File) GetDependencies(tasks map[string]fi.Task) []fi.Task {
|
||||
var deps []fi.Task
|
||||
if f.Owner != nil {
|
||||
|
|
|
|||
|
|
@ -26,11 +26,13 @@ const (
|
|||
localPackageDir = "/var/cache/nodeup/packages/"
|
||||
)
|
||||
|
||||
func (p *Package) GetDependencies(tasks map[string]fi.Task) []string {
|
||||
var deps []string
|
||||
for k, v := range tasks {
|
||||
var _ fi.HasDependencies = &Package{}
|
||||
|
||||
func (p *Package) GetDependencies(tasks map[string]fi.Task) []fi.Task {
|
||||
var deps []fi.Task
|
||||
for _, v := range tasks {
|
||||
if _, ok := v.(*UpdatePackages); ok {
|
||||
deps = append(deps, k)
|
||||
deps = append(deps, v)
|
||||
}
|
||||
}
|
||||
return deps
|
||||
|
|
|
|||
|
|
@ -30,19 +30,21 @@ type Service struct {
|
|||
SmartRestart *bool `json:"smartRestart"`
|
||||
}
|
||||
|
||||
func (p *Service) GetDependencies(tasks map[string]fi.Task) []string {
|
||||
var deps []string
|
||||
for k, v := range tasks {
|
||||
var _ fi.HasDependencies = &Service{}
|
||||
|
||||
func (p *Service) GetDependencies(tasks map[string]fi.Task) []fi.Task {
|
||||
var deps []fi.Task
|
||||
for _, v := range tasks {
|
||||
// We assume that services depend on basically everything
|
||||
typeName := utils.BuildTypeName(reflect.TypeOf(v))
|
||||
switch typeName {
|
||||
case "*CopyAssetTask", "*File", "*Package", "*Sysctl", "*UpdatePackages", "*User", "*Disk":
|
||||
deps = append(deps, k)
|
||||
deps = append(deps, v)
|
||||
case "*Service":
|
||||
// ignore
|
||||
default:
|
||||
glog.Warningf("Unhandled type name in Service::GetDependencies: %q", typeName)
|
||||
deps = append(deps, k)
|
||||
deps = append(deps, v)
|
||||
}
|
||||
}
|
||||
return deps
|
||||
|
|
|
|||
|
|
@ -13,8 +13,10 @@ import (
|
|||
type UpdatePackages struct {
|
||||
}
|
||||
|
||||
func (p *UpdatePackages) GetDependencies(tasks map[string]fi.Task) []string {
|
||||
return []string{}
|
||||
var _ fi.HasDependencies = &UpdatePackages{}
|
||||
|
||||
func (p *UpdatePackages) GetDependencies(tasks map[string]fi.Task) []fi.Task {
|
||||
return []fi.Task{}
|
||||
}
|
||||
|
||||
func (p *UpdatePackages) String() string {
|
||||
|
|
|
|||
Loading…
Reference in New Issue