wspoon: Only create/monitor fan1 on air cooled

Add a condition check for fan1 that will only create fan1 associated
functional properties and actively monitor fan1 if the condition passes.
The condition checks the CoolingType is not WaterCooled.

Tested:
    Fan1 functional properties are created when condition passes
    Fan1 is monitored when condition passes

Change-Id: I0d9a91ceea500f82e4ccad2dbdc887a14286cf95
Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-monitor-config-native/monitor.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-monitor-config-native/monitor.yaml
index feda646..5db7966 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-monitor-config-native/monitor.yaml
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-monitor-config-native/monitor.yaml
@@ -20,6 +20,16 @@
         has_target: true
       - name: fan1_1
         has_target: false
+    # Create fan1 inventory & sensors on air cooled only
+    condition:
+      name: propertiesMatch
+      properties:
+        - object: /xyz/openbmc_project/inventory/system/chassis
+          interface: xyz.openbmc_project.Inventory.Decorator.CoolingType
+          property:
+              name: WaterCooled
+              type: bool
+              value: false
 
   - inventory: /system/chassis/motherboard/fan2
     functional_delay: 5
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/inventory/inventory-cleanup/inventory-cleanup.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/inventory/inventory-cleanup/inventory-cleanup.yaml
index 0d179ef..01632e6 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/inventory/inventory-cleanup/inventory-cleanup.yaml
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/inventory/inventory-cleanup/inventory-cleanup.yaml
@@ -13,3 +13,15 @@
                 - /system/chassis/power_supply1
                 - /system/chassis/powersupply0
                 - /system/chassis/powersupply1
+
+    - name: Remove fan1
+      description: >
+          Remove all fan1 associated objects and have fan presence and
+          fan monitor create it based on cooling type.
+      type: startup
+      actions:
+          - name: destroyObjects
+            paths:
+                - /system/chassis/motherboard/fan1/fan1_0
+                - /system/chassis/motherboard/fan1/fan1_1
+                - /system/chassis/motherboard/fan1