Browse code

Assign id as name when all else fails

Michael Crosby authored on 2013/10/31 10:26:01
Showing 2 changed files
... ...
@@ -265,7 +265,10 @@ func (runtime *Runtime) restore() error {
265 265
 	// Any containers that are left over do not exist in the graph
266 266
 	for _, container := range containers {
267 267
 		// Try to set the default name for a container if it exists prior to links
268
-		name := generateRandomName(runtime)
268
+		name, err := generateRandomName(runtime)
269
+		if err != nil {
270
+			container.Name = container.ShortID()
271
+		}
269 272
 		container.Name = name
270 273
 
271 274
 		if _, err := runtime.containerGraph.Set(name, container.ID); err != nil {
... ...
@@ -356,7 +359,10 @@ func (runtime *Runtime) Create(config *Config, name string) (*Container, []strin
356 356
 	id := GenerateID()
357 357
 
358 358
 	if name == "" {
359
-		name = generateRandomName(runtime)
359
+		name, err = generateRandomName(runtime)
360
+		if err != nil {
361
+			name = utils.TruncateID(id)
362
+		}
360 363
 	}
361 364
 	if name[0] != '/' {
362 365
 		name = "/" + name
... ...
@@ -304,10 +304,6 @@ func (c *checker) Exists(name string) bool {
304 304
 }
305 305
 
306 306
 // Generate a random and unique name
307
-func generateRandomName(runtime *Runtime) string {
308
-	n, err := namesgenerator.GenerateRandomName(&checker{runtime})
309
-	if err != nil {
310
-		panic(err)
311
-	}
312
-	return n
307
+func generateRandomName(runtime *Runtime) (string, error) {
308
+	return namesgenerator.GenerateRandomName(&checker{runtime})
313 309
 }