Test M-CORD service skeleton
Change-Id: I77642380ccd2b1123e88817f1f4ca6e6ca51d553
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