Test M-CORD service skeleton

Change-Id: I77642380ccd2b1123e88817f1f4ca6e6ca51d553
(cherry picked from commit a4cf1a7f1a695f657b83781ac7dfc094ece69dfd)
diff --git a/mcord-test-playbook.yml b/mcord-test-playbook.yml
new file mode 100644
index 0000000..0d58dcd
--- /dev/null
+++ b/mcord-test-playbook.yml
@@ -0,0 +1,34 @@
+
+# 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.
+
+
+---
+# mcord-test-playbook.yml
+# Tests CiaB cord-pod XOS configuration
+
+- name: Include vars
+  hosts: all
+  tasks:
+    - name: Include variables
+      include_vars: "{{ item }}"
+      with_items:
+        - "profile_manifests/{{ cord_profile }}.yml"
+        - profile_manifests/local_vars.yml
+
+- name: Run base M-CORD tests
+  hosts: head
+  become: no
+  roles:
+    - test-mcord-base
diff --git a/roles/test-mcord-base/defaults/main.yml b/roles/test-mcord-base/defaults/main.yml
new file mode 100644
index 0000000..5f58813
--- /dev/null
+++ b/roles/test-mcord-base/defaults/main.yml
@@ -0,0 +1,24 @@
+---
+# 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.
+
+# test-mcord-base/defaults/main.yml
+
+head_cord_profile_dir: "/opt/cord_profile"
+
+xos_ui_port: 9000
+
+xos_admin_user: "xosadmin@opencord.org"
+maas_xos_admin_pass: "{{ lookup('file', '/opt/credentials/xosadmin@opencord.org') }}"
+
diff --git a/roles/test-mcord-base/tasks/main.yml b/roles/test-mcord-base/tasks/main.yml
new file mode 100644
index 0000000..a2aec01
--- /dev/null
+++ b/roles/test-mcord-base/tasks/main.yml
@@ -0,0 +1,42 @@
+
+# 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.
+
+
+---
+# test-mcord-base/tasks/main.yml
+# Run tests to check that the base elements of M-CORD are present
+
+- name: Wait for networks to be synchronized
+  shell: bash -c "source /opt/cord_profile/admin-openrc.sh; neutron net-list|grep '{{ item }}' > /dev/null"
+  register: result
+  until: result | success
+  retries: 10
+  delay: 60
+  with_items:
+    - management
+    - sgi_network
+  tags:
+    - skip_ansible_lint # running a sub job
+
+- name: Wait for VMs to come up
+  shell: bash -c "source /opt/cord_profile/admin-openrc.sh; nova list --all-tenants|grep '{{ item }}.*ACTIVE' > /dev/null"
+  register: result
+  until: result | success
+  retries: 10
+  delay: 60
+  with_items:
+    - internetemulator
+  tags:
+    - skip_ansible_lint # running a sub job