palmetto: remove frus

These are now provided in a json file.

Change-Id: Ib0491399df797a728c7a71118f7d54a07eb3a466
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/configs/Palmetto.py b/configs/Palmetto.py
index 76b8b31..d069de9 100644
--- a/configs/Palmetto.py
+++ b/configs/Palmetto.py
@@ -37,51 +37,6 @@
 	}
 INVENTORY_ROOT = '/org/openbmc/inventory'
 
-FRU_INSTANCES = {
-	'<inventory_root>/system' : { 'fru_type' : 'SYSTEM','is_fru' : True, },
-	'<inventory_root>/system/chassis' : { 'fru_type' : 'SYSTEM','is_fru' : True, },
-	'<inventory_root>/system/chassis/motherboard' : { 'fru_type' : 'MAIN_PLANAR','is_fru' : True, },
-
-	'<inventory_root>/system/chassis/fan0' : { 'fru_type' : 'FAN','is_fru' : True, },
-	'<inventory_root>/system/chassis/fan1' : { 'fru_type' : 'FAN','is_fru' : True, },
-	'<inventory_root>/system/chassis/fan2' : { 'fru_type' : 'FAN','is_fru' : True, },
-	'<inventory_root>/system/chassis/fan3' : { 'fru_type' : 'FAN','is_fru' : True, },
-	'<inventory_root>/system/chassis/fan4' : { 'fru_type' : 'FAN','is_fru' : True, },
-
-	'<inventory_root>/system/chassis/motherboard/bmc' : { 'fru_type' : 'BMC','is_fru' : False, 
-			'manufacturer' : 'ASPEED' },
-	'<inventory_root>/system/chassis/motherboard/cpu0' : { 'fru_type' : 'CPU', 'is_fru' : True, },
-	'<inventory_root>/system/chassis/motherboard/cpu0/core0' : { 'fru_type' : 'CORE', 'is_fru' : False, },
-	'<inventory_root>/system/chassis/motherboard/cpu0/core1' : { 'fru_type' : 'CORE', 'is_fru' : False, },
-	'<inventory_root>/system/chassis/motherboard/cpu0/core2' : { 'fru_type' : 'CORE', 'is_fru' : False, },
-	'<inventory_root>/system/chassis/motherboard/cpu0/core3' : { 'fru_type' : 'CORE', 'is_fru' : False, },
-	'<inventory_root>/system/chassis/motherboard/cpu0/core4' : { 'fru_type' : 'CORE', 'is_fru' : False, },
-	'<inventory_root>/system/chassis/motherboard/cpu0/core5' : { 'fru_type' : 'CORE', 'is_fru' : False, },
-	'<inventory_root>/system/chassis/motherboard/cpu0/core6' : { 'fru_type' : 'CORE', 'is_fru' : False, },
-	'<inventory_root>/system/chassis/motherboard/cpu0/core7' : { 'fru_type' : 'CORE', 'is_fru' : False, },
-	'<inventory_root>/system/chassis/motherboard/cpu0/core8' : { 'fru_type' : 'CORE', 'is_fru' : False, },
-	'<inventory_root>/system/chassis/motherboard/cpu0/core9' : { 'fru_type' : 'CORE', 'is_fru' : False, },
-	'<inventory_root>/system/chassis/motherboard/cpu0/core10' : { 'fru_type' : 'CORE', 'is_fru' : False, },
-	'<inventory_root>/system/chassis/motherboard/cpu0/core11' : { 'fru_type' : 'CORE', 'is_fru' : False, },
-
-	
-	'<inventory_root>/system/chassis/motherboard/membuf0' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, },
-
-	'<inventory_root>/system/chassis/motherboard/dimm0' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
-	'<inventory_root>/system/chassis/motherboard/dimm1' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
-	'<inventory_root>/system/chassis/motherboard/dimm2' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
-	'<inventory_root>/system/chassis/motherboard/dimm3' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
-
-	'<inventory_root>/system/chassis/io_board/pcie_slot0' : { 'fru_type' : 'PCIE_CARD', 'is_fru' : True,},
-	'<inventory_root>/system/chassis/io_board/pcie_slot1' : { 'fru_type' : 'PCIE_CARD', 'is_fru' : True,},
-
-	'<inventory_root>/system/systemevent'                  : { 'fru_type' : 'SYSTEM_EVENT', 'is_fru' : False, },
-	'<inventory_root>/system/chassis/motherboard/refclock' : { 'fru_type' : 'MAIN_PLANAR', 'is_fru' : False, },
-	'<inventory_root>/system/chassis/motherboard/pcieclock': { 'fru_type' : 'MAIN_PLANAR', 'is_fru' : False, },
-	'<inventory_root>/system/chassis/motherboard/todclock' : { 'fru_type' : 'MAIN_PLANAR', 'is_fru' : False, },
-	'<inventory_root>/system/chassis/motherboard/apss'     : { 'fru_type' : 'MAIN_PLANAR', 'is_fru' : False, },
-}
-
 ID_LOOKUP = {
 	'FRU' : {
 		0x0d : '<inventory_root>/system/chassis',
diff --git a/pyinventorymgr/inventory_items.py b/pyinventorymgr/inventory_items.py
index c815b37..82a1305 100644
--- a/pyinventorymgr/inventory_items.py
+++ b/pyinventorymgr/inventory_items.py
@@ -3,26 +3,17 @@
 import os
 import sys
 import gobject
-import json
 import dbus
 import dbus.service
 import dbus.mainloop.glib
 import obmc.dbuslib.propertycacher as PropertyCacher
 from obmc.dbuslib.bindings import get_dbus, DbusProperties, DbusObjectManager
 
-try:
-    import obmc_system_config as System
-    have_system = True
-except ImportError:
-    have_system = False
 
 INTF_NAME = 'org.openbmc.InventoryItem'
 DBUS_NAME = 'org.openbmc.Inventory'
 
-if have_system:
-    FRUS = System.FRU_INSTANCES
-else:
-    FRUS = {}
+FRUS = {}
 
 
 class Inventory(DbusProperties, DbusObjectManager):
@@ -92,6 +83,7 @@
                                   'inventory', 'inventory.json')
 
     if os.path.exists(INVENTORY_FILE):
+        import json
         with open(INVENTORY_FILE, 'r') as f:
             try:
                 inv = json.load(f)
@@ -99,6 +91,12 @@
                 print "Invalid JSON detected in " + INVENTORY_FILE
             else:
                 FRUS = inv
+    else:
+        try:
+            import obmc_system_config as System
+            FRUS = System.FRU_INSTANCES
+        except ImportError:
+            pass
 
     for f in FRUS.keys():
         obj_path = f.replace("<inventory_root>", System.INVENTORY_ROOT)
diff --git a/pyinventorymgr/sync_inventory_items.py b/pyinventorymgr/sync_inventory_items.py
index e11c2e6..6db69cc 100644
--- a/pyinventorymgr/sync_inventory_items.py
+++ b/pyinventorymgr/sync_inventory_items.py
@@ -20,7 +20,7 @@
 import dbus
 import argparse
 import subprocess
-import obmc_system_config as System
+
 
 INV_DBUS_NAME = 'org.openbmc.Inventory'
 INV_INTF_NAME = 'org.openbmc.InventoryItem'
@@ -30,7 +30,7 @@
 CHS_OBJ_NAME = '/org/openbmc/control/chassis0'
 PROP_INTF_NAME = 'org.freedesktop.DBus.Properties'
 
-FRUS = System.FRU_INSTANCES
+FRUS = {}
 
 # IEEE 802 MAC address mask for locally administered.
 # This means the admin has set the MAC and is no longer
@@ -111,6 +111,21 @@
     prop_name = opt.p
     sync_type = opt.s
 
+    inventory = os.path.join(
+        sys.prefix, 'share', 'inventory', 'inventory.json')
+    if os.path.exists(inventory):
+        import json
+        with open(inventory, 'r') as f:
+            try:
+                inv = json.load(f)
+            except ValueError:
+                print "Invalid JSON detected in " + inventory
+            else:
+                FRUS = inv
+    else:
+        import obmc_system_config as System
+        FRUS = System.FRU_INSTANCES
+
     bus = dbus.SystemBus()
     inv_obj_path = get_inv_obj_path(fru_type, fru_name)
     inv_obj = bus.get_object(INV_DBUS_NAME, inv_obj_path)