1
0
mirror of https://github.com/rancher/os.git synced 2025-09-01 06:40:31 +00:00

Recreate create-only containers and force rename after recreate

This commit is contained in:
Ivan Mikushin
2015-12-03 17:38:59 +05:00
parent 5a363ab97d
commit 07fdba4642

View File

@@ -113,9 +113,6 @@ func (s *Service) Up() error {
if err := s.Service.Create(); err != nil { if err := s.Service.Create(); err != nil {
return err return err
} }
if labels[config.CREATE_ONLY] == "true" {
return s.checkReload(labels)
}
shouldRebuild, err := s.shouldRebuild() shouldRebuild, err := s.shouldRebuild()
if err != nil { if err != nil {
return err return err
@@ -130,6 +127,10 @@ func (s *Service) Up() error {
return err return err
} }
} }
s.rename()
}
if labels[config.CREATE_ONLY] == "true" {
return s.checkReload(labels)
} }
if err := s.Service.Up(); err != nil { if err := s.Service.Up(); err != nil {
return err return err
@@ -186,3 +187,17 @@ func (s *Service) wait() error {
return nil return nil
} }
func (s *Service) rename() error {
client, info, err := s.getContainer()
if err != nil || info == nil {
return err
}
if len(info.Name) > 0 && info.Name[1:] != s.Name() {
logrus.Debugf("Renaming container %s => %s", info.Name[1:], s.Name())
return client.RenameContainer(dockerclient.RenameContainerOptions{ID: info.ID, Name: s.Name()})
} else {
return nil
}
}