1
0
mirror of https://github.com/rancher/rke.git synced 2025-09-15 22:49:13 +00:00

restart related k8s services when cloud provider config is updated

This commit is contained in:
moelsayed
2018-06-13 04:10:48 +02:00
committed by Alena Prokharchyk
parent f8bb7c1510
commit 4c30f1a28d
2 changed files with 57 additions and 6 deletions

View File

@@ -299,7 +299,8 @@ func IsContainerUpgradable(ctx context.Context, dClient *client.Client, imageCfg
}
if containerInspect.Config.Image != imageCfg.Image ||
!sliceEqualsIgnoreOrder(containerInspect.Config.Entrypoint, imageCfg.Entrypoint) ||
!sliceEqualsIgnoreOrder(containerInspect.Config.Cmd, imageCfg.Cmd) {
!sliceEqualsIgnoreOrder(containerInspect.Config.Cmd, imageCfg.Cmd) ||
!isContainerRKEEnvChanged(containerInspect.Config.Env, imageCfg.Env) {
logrus.Debugf("[%s] Container [%s] is eligible for upgrade on host [%s]", plane, containerName, hostname)
return true, nil
}
@@ -390,3 +391,21 @@ func convertToSemver(version string) (*semver.Version, error) {
compVersion[2] = "0"
return semver.NewVersion(strings.Join(compVersion, "."))
}
func isContainerRKEEnvChanged(containerEnv, imageConfigEnv []string) bool {
// remove PATH env from the container env
cleanedContainerEnv := getRKEEnvVars(containerEnv)
cleanedImageConfigEnv := getRKEEnvVars(imageConfigEnv)
return sliceEqualsIgnoreOrder(cleanedContainerEnv, cleanedImageConfigEnv)
}
func getRKEEnvVars(env []string) []string {
tmp := []string{}
for _, e := range env {
if strings.HasPrefix("RKE_", e) {
tmp = append(tmp, e)
}
}
return tmp
}