mirror of
https://github.com/rancher/rke.git
synced 2025-09-24 12:58:56 +00:00
Fix timing issue with etcd snapshot
This commit is contained in:
committed by
Alena Prokharchyk
parent
8a52e0d8dc
commit
a67b5e1d84
@@ -10,6 +10,7 @@ import (
|
|||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"os"
|
"os"
|
||||||
"strings"
|
"strings"
|
||||||
|
"time"
|
||||||
|
|
||||||
"github.com/coreos/go-semver/semver"
|
"github.com/coreos/go-semver/semver"
|
||||||
ref "github.com/docker/distribution/reference"
|
ref "github.com/docker/distribution/reference"
|
||||||
@@ -24,6 +25,7 @@ import (
|
|||||||
|
|
||||||
const (
|
const (
|
||||||
DockerRegistryURL = "docker.io"
|
DockerRegistryURL = "docker.io"
|
||||||
|
RestartTimeout = 30
|
||||||
)
|
)
|
||||||
|
|
||||||
var K8sDockerVersions = map[string][]string{
|
var K8sDockerVersions = map[string][]string{
|
||||||
@@ -53,6 +55,14 @@ func DoRunContainer(ctx context.Context, dClient *client.Client, imageCfg *conta
|
|||||||
}
|
}
|
||||||
// Check for upgrades
|
// Check for upgrades
|
||||||
if container.State.Running {
|
if container.State.Running {
|
||||||
|
// check if container is in a restarting loop
|
||||||
|
if container.State.Restarting {
|
||||||
|
logrus.Debugf("[%s] Container [%s] is in a restarting loop [%s]", plane, containerName, hostname)
|
||||||
|
restartTimeoutDuration := RestartTimeout * time.Second
|
||||||
|
if err := dClient.ContainerRestart(ctx, container.ID, &restartTimeoutDuration); err != nil {
|
||||||
|
return fmt.Errorf("Failed to start [%s] container on host [%s]: %v", containerName, hostname, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
logrus.Debugf("[%s] Container [%s] is already running on host [%s]", plane, containerName, hostname)
|
logrus.Debugf("[%s] Container [%s] is already running on host [%s]", plane, containerName, hostname)
|
||||||
isUpgradable, err := IsContainerUpgradable(ctx, dClient, imageCfg, containerName, hostname, plane)
|
isUpgradable, err := IsContainerUpgradable(ctx, dClient, imageCfg, containerName, hostname, plane)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
Reference in New Issue
Block a user