mirror of
https://github.com/rancher/os.git
synced 2025-07-06 19:38:37 +00:00
Merge pull request #535 from ibuildthecloud/godep
Godep bump for libcompose
This commit is contained in:
commit
eed4057f5f
18
Godeps/Godeps.json
generated
18
Godeps/Godeps.json
generated
@ -250,33 +250,27 @@
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/docker/libcompose/cli/logger",
|
||||
"Comment": "v0.0.2-ros-1-g6815465",
|
||||
"Rev": "68154659ac7ebd81f0e61b14750393f2fbc0eca4"
|
||||
"Rev": "a8ac0a68c0552afe4ddb01c4ba3184e574ac416e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/docker/libcompose/docker",
|
||||
"Comment": "v0.0.2-ros-1-g6815465",
|
||||
"Rev": "68154659ac7ebd81f0e61b14750393f2fbc0eca4"
|
||||
"Rev": "a8ac0a68c0552afe4ddb01c4ba3184e574ac416e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/docker/libcompose/logger",
|
||||
"Comment": "v0.0.2-ros-1-g6815465",
|
||||
"Rev": "68154659ac7ebd81f0e61b14750393f2fbc0eca4"
|
||||
"Rev": "a8ac0a68c0552afe4ddb01c4ba3184e574ac416e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/docker/libcompose/lookup",
|
||||
"Comment": "v0.0.2-ros-1-g6815465",
|
||||
"Rev": "68154659ac7ebd81f0e61b14750393f2fbc0eca4"
|
||||
"Rev": "a8ac0a68c0552afe4ddb01c4ba3184e574ac416e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/docker/libcompose/project",
|
||||
"Comment": "v0.0.2-ros-1-g6815465",
|
||||
"Rev": "68154659ac7ebd81f0e61b14750393f2fbc0eca4"
|
||||
"Rev": "a8ac0a68c0552afe4ddb01c4ba3184e574ac416e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/docker/libcompose/utils",
|
||||
"Comment": "v0.0.2-ros-1-g6815465",
|
||||
"Rev": "68154659ac7ebd81f0e61b14750393f2fbc0eca4"
|
||||
"Rev": "a8ac0a68c0552afe4ddb01c4ba3184e574ac416e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/docker/libcontainer/netlink",
|
||||
|
30
Godeps/_workspace/src/github.com/docker/libcompose/docker/container.go
generated
vendored
30
Godeps/_workspace/src/github.com/docker/libcompose/docker/container.go
generated
vendored
@ -106,9 +106,14 @@ func (c *Container) Rebuild(imageName string) (*dockerclient.Container, error) {
|
||||
|
||||
name := info.Name[1:]
|
||||
new_name := fmt.Sprintf("%s_%s", name, info.Id[:12])
|
||||
deleted := false
|
||||
logrus.Debugf("Renaming %s => %s", name, new_name)
|
||||
if err := c.client.RenameContainer(name, new_name); err != nil {
|
||||
return nil, err
|
||||
logrus.Errorf("Rename failed, deleting %s", name)
|
||||
if err := c.client.RemoveContainer(info.Id, true, false); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
deleted = true
|
||||
}
|
||||
|
||||
newContainer, err := c.createContainer(imageName, info.Id)
|
||||
@ -117,13 +122,14 @@ func (c *Container) Rebuild(imageName string) (*dockerclient.Container, error) {
|
||||
}
|
||||
logrus.Debugf("Created replacement container %s", newContainer.Id)
|
||||
|
||||
if err := c.client.RemoveContainer(info.Id, true, false); err != nil {
|
||||
logrus.Errorf("Failed to remove old container %s", c.name)
|
||||
return nil, err
|
||||
if !deleted {
|
||||
if err := c.client.RemoveContainer(info.Id, true, false); err != nil {
|
||||
logrus.Errorf("Failed to remove old container %s", c.name)
|
||||
return nil, err
|
||||
}
|
||||
logrus.Debugf("Removed old container %s %s", c.name, info.Id)
|
||||
}
|
||||
|
||||
logrus.Debugf("Removed old container %s %s", c.name, info.Id)
|
||||
|
||||
return newContainer, nil
|
||||
}
|
||||
|
||||
@ -199,15 +205,9 @@ func (c *Container) Up(imageName string) error {
|
||||
}
|
||||
|
||||
if !info.State.Running {
|
||||
logrus.Debugf("Starting container: %s: %#v", container.Id, info.HostConfig)
|
||||
err = c.populateAdditionalHostConfig(info.HostConfig)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := c.client.StartContainer(container.Id, nil); err != nil {
|
||||
return err
|
||||
}
|
||||
logrus.Debugf("Starting container: %s", container.Id)
|
||||
err := c.client.StartContainer(container.Id, nil)
|
||||
return err
|
||||
|
||||
c.service.context.Project.Notify(project.CONTAINER_STARTED, c.service.Name(), map[string]string{
|
||||
"name": c.Name(),
|
||||
|
73
Godeps/_workspace/src/github.com/docker/libcompose/docker/service.go
generated
vendored
73
Godeps/_workspace/src/github.com/docker/libcompose/docker/service.go
generated
vendored
@ -51,37 +51,9 @@ func (s *Service) collectContainers() ([]*Container, error) {
|
||||
return result, nil
|
||||
}
|
||||
|
||||
imageName, err := s.build()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
for _, container := range containers {
|
||||
name := container.Labels[NAME.Str()]
|
||||
c := NewContainer(client, name, s)
|
||||
if s.context.Rebuild {
|
||||
outOfSync, err := c.OutOfSync(imageName)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
origRebuildLabel := container.Labels[REBUILD.Str()]
|
||||
newRebuildLabel := s.Config().Labels.MapParts()[REBUILD.Str()]
|
||||
rebuildLabelChanged := newRebuildLabel != origRebuildLabel
|
||||
logrus.WithFields(logrus.Fields{
|
||||
"origRebuildLabel": origRebuildLabel,
|
||||
"newRebuildLabel": newRebuildLabel,
|
||||
"rebuildLabelChanged": rebuildLabelChanged}).Debug("Rebuild values")
|
||||
if origRebuildLabel == "always" || rebuildLabelChanged || origRebuildLabel != "false" && outOfSync {
|
||||
logrus.Infof("Rebuilding %s", name)
|
||||
if _, err := c.Rebuild(imageName); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
} else if outOfSync {
|
||||
logrus.Warnf("%s needs rebuilding", name)
|
||||
}
|
||||
}
|
||||
|
||||
result = append(result, c)
|
||||
result = append(result, NewContainer(client, name, s))
|
||||
}
|
||||
|
||||
return result, nil
|
||||
@ -203,10 +175,53 @@ func (s *Service) up(imageName string, create bool) error {
|
||||
}
|
||||
|
||||
return s.eachContainer(func(c *Container) error {
|
||||
if s.context.Rebuild && create {
|
||||
if err := s.rebuildIfNeeded(c); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return c.Up(imageName)
|
||||
})
|
||||
}
|
||||
|
||||
func (s *Service) rebuildIfNeeded(c *Container) error {
|
||||
imageName, err := s.build()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
outOfSync, err := c.OutOfSync(imageName)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
containerInfo, err := c.findInfo()
|
||||
if containerInfo == nil || err != nil {
|
||||
return err
|
||||
}
|
||||
name := containerInfo.Name[1:]
|
||||
|
||||
origRebuildLabel := containerInfo.Config.Labels[REBUILD.Str()]
|
||||
newRebuildLabel := s.Config().Labels.MapParts()[REBUILD.Str()]
|
||||
rebuildLabelChanged := newRebuildLabel != origRebuildLabel
|
||||
logrus.WithFields(logrus.Fields{
|
||||
"origRebuildLabel": origRebuildLabel,
|
||||
"newRebuildLabel": newRebuildLabel,
|
||||
"rebuildLabelChanged": rebuildLabelChanged}).Debug("Rebuild values")
|
||||
|
||||
if origRebuildLabel == "always" || rebuildLabelChanged || origRebuildLabel != "false" && outOfSync {
|
||||
logrus.Infof("Rebuilding %s", name)
|
||||
if _, err := c.Rebuild(imageName); err != nil {
|
||||
return err
|
||||
}
|
||||
} else if outOfSync {
|
||||
logrus.Warnf("%s needs rebuilding", name)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (s *Service) eachContainer(action func(*Container) error) error {
|
||||
containers, err := s.collectContainers()
|
||||
if err != nil {
|
||||
|
Loading…
Reference in New Issue
Block a user