CORD-3028 Example Tosca to create a SimpleExampleServiceInstance

Change-Id: Id2adba59c44ed4724b278417a0bef30cccb7355f
diff --git a/xos/examples/show-instances.py b/xos/examples/show-instances.py
new file mode 100755
index 0000000..65755b4
--- /dev/null
+++ b/xos/examples/show-instances.py
@@ -0,0 +1,66 @@
+#!/usr/bin/env python
+
+# Copyright 2017-present Open Networking Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# show-instances.py
+# Show the SimpleExampleServiceInstances and their ip addresses in a human-readable table.
+# Syntax: show-instances.py <base_url> <username> <password>
+#
+# Example: show-instances.py http://192.168.42.253:30006 admin@opencord.org letmein
+
+import sys
+import time
+import requests
+from requests.auth import HTTPBasicAuth
+
+DELAY=1
+
+def main():
+    if len(sys.argv)<4:
+        print "Syntax: xos-instances.py <base_url> <username> <password>"
+        sys.exit(-1)
+
+    base_url = sys.argv[1]
+    username = sys.argv[2]
+    password = sys.argv[3]
+
+    auth = HTTPBasicAuth(username, password)
+
+    r = requests.get(base_url + "/xosapi/v1/simpleexampleservice/simpleexampleserviceinstances", auth=auth)
+
+    if r.status_code != 200:
+        print "Received error response", r.status_code
+        print r.text
+        sys.exit(-1)
+
+
+    print "%-4s %-40s %-4s %-4s" % ("id", "Name", "Comp", "IP")
+    for item in r.json()["items"]:
+        name = item.get("name")
+        compute_id = item["compute_instance_id"]
+        if compute_id:
+            r_compute = requests.get(base_url + "/xosapi/v1/kubernetes/kubernetesserviceinstances/%s" % compute_id, auth=auth)
+            if r_compute.status_code != 200:
+                print "Received error response when fetching compute instance", r_compute.status_code
+                print r_compute.text
+                sys.exit(-1)
+            pod_ip = r_compute.json().get("pod_ip", "")
+        else:
+            pod_ip = ""
+        print "%4s %-40s %4s %s" % (item["id"], name, compute_id, pod_ip)
+
+
+if __name__=="__main__":
+    main()