Allow associating a background map/sprite with the root layout.

Change-Id: I9216846e01d7126ffaad9125790f413d8ea8c496
diff --git a/cli/src/main/java/org/onosproject/cli/net/LayoutAddCommand.java b/cli/src/main/java/org/onosproject/cli/net/LayoutAddCommand.java
index 942fe39..dd47e01 100644
--- a/cli/src/main/java/org/onosproject/cli/net/LayoutAddCommand.java
+++ b/cli/src/main/java/org/onosproject/cli/net/LayoutAddCommand.java
@@ -36,6 +36,7 @@
 
     private static final char CODE_GEO = '@';
     private static final char CODE_GRID = '+';
+    private static final String ROOT = "root";
 
     @Argument(index = 0, name = "id", description = "Layout ID",
             required = true, multiValued = false)
@@ -60,6 +61,12 @@
         UiTopoLayoutService service = get(UiTopoLayoutService.class);
         RegionService regionService = get(RegionService.class);
 
+        if (ROOT.equals(id)) {
+            // set the background for the root layout
+            setAppropriateBackground(service.getRootLayout(), backgroundRef);
+            return;
+        }
+
         Region region = regionId == null ? null : regionService.getRegion(regionId(regionId));
         UiTopoLayoutId pid = parentId == null ? UiTopoLayoutId.DEFAULT_ID : layoutId(parentId);
 
diff --git a/tools/test/topos/regions-bayarea-grid.sh b/tools/test/topos/regions-bayarea-grid.sh
index 923b7d5..c7b4de1 100755
--- a/tools/test/topos/regions-bayarea-grid.sh
+++ b/tools/test/topos/regions-bayarea-grid.sh
@@ -266,10 +266,12 @@
 
 onos ${host} <<-EOF
 
+layout-add root @bayareaGEO
+
 layout-add lC01 +segmentRouting c01
-layout-add lC02 @bayareaGEO c02
-layout-add lC03 . c03
-layout-add lC04 . c04
+layout-add lC02 +segmentRouting c02
+layout-add lC03 +segmentRouting c03
+layout-add lC04 . c04         # testing no-background
 
 layouts