Merge pull request #2473 from dotcloud/remove-panic-from-name

Assign id as name when all else fails
This commit is contained in:
Victor Vieux 2013-10-30 19:22:57 -07:00
commit 429c3108da
2 changed files with 10 additions and 8 deletions

View File

@ -265,7 +265,10 @@ func (runtime *Runtime) restore() error {
// Any containers that are left over do not exist in the graph // Any containers that are left over do not exist in the graph
for _, container := range containers { for _, container := range containers {
// Try to set the default name for a container if it exists prior to links // Try to set the default name for a container if it exists prior to links
name := generateRandomName(runtime) name, err := generateRandomName(runtime)
if err != nil {
container.Name = container.ShortID()
}
container.Name = name container.Name = name
if _, err := runtime.containerGraph.Set(name, container.ID); err != nil { if _, err := runtime.containerGraph.Set(name, container.ID); err != nil {
@ -356,7 +359,10 @@ func (runtime *Runtime) Create(config *Config, name string) (*Container, []strin
id := GenerateID() id := GenerateID()
if name == "" { if name == "" {
name = generateRandomName(runtime) name, err = generateRandomName(runtime)
if err != nil {
name = utils.TruncateID(id)
}
} }
if name[0] != '/' { if name[0] != '/' {
name = "/" + name name = "/" + name

View File

@ -304,10 +304,6 @@ func (c *checker) Exists(name string) bool {
} }
// Generate a random and unique name // Generate a random and unique name
func generateRandomName(runtime *Runtime) string { func generateRandomName(runtime *Runtime) (string, error) {
n, err := namesgenerator.GenerateRandomName(&checker{runtime}) return namesgenerator.GenerateRandomName(&checker{runtime})
if err != nil {
panic(err)
}
return n
} }