Add Redfish interoperability validator

This change is a proposal to add Redfish interop validator
which is also a DMTF tool to validate the Redfish service's
conformance. This validator validate the Redfish service
based on an interoperability profile given to it. I've also
added a profile for validating the minimal requirements now,
we could populate more requirements based on this profile.
The benefit of bringing this tool is the user could use
this tool to validate their own implementation with their
own interoperability profile.

Signed-off-by: Jordan Chen <jordanchen@google.com>
Change-Id: Ic00738c349276c6874a4f850cad71b56f9aa8582
diff --git a/data/openbmc_redfish_interop_profile.json b/data/openbmc_redfish_interop_profile.json
new file mode 100644
index 0000000..22e4951
--- /dev/null
+++ b/data/openbmc_redfish_interop_profile.json
@@ -0,0 +1,34 @@
+{
+    "SchemaDefinition": "RedfishInteroperabilityProfile.v1_0_0",
+    "ProfileName": "OpenBMC_Redfish_interop_profile",
+    "ProfileVersion": "0.0.1",
+    "Purpose": "A minimally viable profile describes the requirements for openBMC.",
+    "OwningEntity": "OpenBMC",
+    "ContactInfo": "openbmc@lists.ozlabs.org",
+    "Resources": {
+        "ChassisCollection": {
+            "Purpose": "Every implementation must have at least 1 chassis.",
+            "PropertyRequirements": {
+                "Members": {
+                    "MinCount": 1
+                }
+            }
+        },
+        "ComputerSystemCollection": {
+            "Purpose": "Every implementation must have at least 1 computer system.",
+            "PropertyRequirements": {
+                "Members": {
+                    "MinCount": 1
+                }
+            }
+        },
+        "ComputerSystem": {
+            "MinVersion": "1.1.0",
+            "Purpose": "Computer system with basic properties.",
+            "PropertyRequirements": {
+                "Memory": {},
+                "Processors": {}
+            }
+        }
+    }
+}