func (u *UniqueScheduler) Schedule(c *citadel.Image, e *citadel.Engine) (bool, error) {
	containers, err := e.ListContainers(false, false, "")
	if err != nil {
		return false, err
	}

	if u.hasImage(c, containers) {
		return false, nil
	}

	return true, nil
}
Beispiel #2
0
func (s *PortScheduler) Schedule(i *citadel.Image, e *citadel.Engine) (bool, error) {
	containers, err := e.ListContainers(false, false, "")
	if err != nil {
		return false, err
	}

	if s.hasConflictingPorts(i.BindPorts, containers) {
		return false, nil
	}

	return true, nil
}