|
@@ -0,0 +1,608 @@
|
|
|
+# Copyright 2020 Dell Inc. or its subsidiaries. All Rights Reserved.
|
|
|
+#
|
|
|
+# 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.
|
|
|
+---
|
|
|
+
|
|
|
+# Testcase OMNIA_DIO_US_CC_TC_004
|
|
|
+# Execute provision role in management station and verify cobbler configuration
|
|
|
+- name: OMNIA_DIO_US_CC_TC_004
|
|
|
+ hosts: localhost
|
|
|
+ connection: local
|
|
|
+ vars_files:
|
|
|
+ - test_vars/test_provision_vars.yml
|
|
|
+ - ../roles/provision/vars/main.yml
|
|
|
+ - "{{ test_input_config_filename }}"
|
|
|
+ tasks:
|
|
|
+ - name: Check the iso file is present
|
|
|
+ stat:
|
|
|
+ path: "{{ iso_file_path }}"
|
|
|
+ register: iso_status
|
|
|
+ tags: TC_004
|
|
|
+
|
|
|
+ - name: Fail if iso file is missing
|
|
|
+ fail:
|
|
|
+ msg: "{{ iso_fail }}"
|
|
|
+ when: iso_status.stat.exists == false
|
|
|
+ tags: TC_004
|
|
|
+
|
|
|
+ - name: Delete the cobbler container if exits
|
|
|
+ docker_container:
|
|
|
+ name: "{{ docker_container_name }}"
|
|
|
+ state: absent
|
|
|
+ tags: TC_004
|
|
|
+
|
|
|
+ - name: Delete docker image if exists
|
|
|
+ docker_image:
|
|
|
+ name: "{{ docker_image_name }}"
|
|
|
+ tag: "{{ docker_image_tag }}"
|
|
|
+ state: absent
|
|
|
+ tags: TC_004
|
|
|
+
|
|
|
+ - block:
|
|
|
+ - name: Call common role
|
|
|
+ include_role:
|
|
|
+ name: ../roles/common
|
|
|
+ vars:
|
|
|
+ input_config_filename: "{{ test_input_config_filename }}"
|
|
|
+
|
|
|
+ - name: Call provision role
|
|
|
+ include_role:
|
|
|
+ name: ../roles/provision
|
|
|
+ tags: TC_004
|
|
|
+
|
|
|
+ - name: Check the connection to cobbler UI and it returns a status 200
|
|
|
+ uri:
|
|
|
+ url: https://localhost/cobbler_web
|
|
|
+ status_code: 200
|
|
|
+ return_content: yes
|
|
|
+ validate_certs: no
|
|
|
+ tags: TC_004,VERIFY_004
|
|
|
+
|
|
|
+ - name: Fetch cobbler version in cobbler container
|
|
|
+ command: docker exec {{ docker_container_name }} cobbler version
|
|
|
+ changed_when: false
|
|
|
+ register: cobbler_version
|
|
|
+ tags: TC_004,VERIFY_004
|
|
|
+
|
|
|
+ - name: Verify cobbler version
|
|
|
+ assert:
|
|
|
+ that:
|
|
|
+ - "'Cobbler' in cobbler_version.stdout"
|
|
|
+ - "'Error' not in cobbler_version.stdout"
|
|
|
+ fail_msg: "{{ cobbler_version_fail_msg }}"
|
|
|
+ success_msg: "{{ cobbler_version_success_msg }}"
|
|
|
+ tags: TC_004,VERIFY_004
|
|
|
+
|
|
|
+ - name: Run cobbler check command in cobbler container
|
|
|
+ command: docker exec {{ docker_container_name }} cobbler check
|
|
|
+ changed_when: false
|
|
|
+ register: cobbler_check
|
|
|
+ tags: TC_004,VERIFY_004
|
|
|
+
|
|
|
+ - name: Verify cobbler check command output
|
|
|
+ assert:
|
|
|
+ that:
|
|
|
+ - "'The following are potential configuration items that you may want to fix' not in cobbler_check.stdout"
|
|
|
+ - "'Error' not in cobbler_check.stdout"
|
|
|
+ fail_msg: "{{ cobbler_check_fail_msg }}"
|
|
|
+ success_msg: "{{ cobbler_check_success_msg }}"
|
|
|
+ ignore_errors: yes
|
|
|
+ tags: TC_004,VERIFY_004
|
|
|
+
|
|
|
+ - name: Run cobbler sync command in cobbler container
|
|
|
+ command: docker exec {{ docker_container_name }} cobbler sync
|
|
|
+ changed_when: false
|
|
|
+ register: cobbler_sync
|
|
|
+ tags: TC_004,VERIFY_004
|
|
|
+
|
|
|
+ - name: Verify cobbler sync command output
|
|
|
+ assert:
|
|
|
+ that:
|
|
|
+ - "'TASK COMPLETE' in cobbler_sync.stdout"
|
|
|
+ - "'Fail' not in cobbler_sync.stdout"
|
|
|
+ - "'Error' not in cobbler_sync.stdout"
|
|
|
+ fail_msg: "{{ cobbler_sync_fail_msg }}"
|
|
|
+ success_msg: "{{ cobbler_sync_success_msg }}"
|
|
|
+ tags: TC_004,VERIFY_004
|
|
|
+
|
|
|
+ - name: Fetch cobbler distro list
|
|
|
+ command: docker exec {{ docker_container_name }} cobbler distro list
|
|
|
+ changed_when: false
|
|
|
+ register: cobbler_distro_list
|
|
|
+ tags: TC_004,VERIFY_004
|
|
|
+
|
|
|
+ - name: Verify cobbler distro list
|
|
|
+ assert:
|
|
|
+ that:
|
|
|
+ - "'CentOS' in cobbler_distro_list.stdout"
|
|
|
+ fail_msg: "{{ cobbler_distro_list_fail_msg }}"
|
|
|
+ success_msg: "{{ cobbler_distro_list_success_msg }}"
|
|
|
+ tags: TC_004,VERIFY_004
|
|
|
+
|
|
|
+ - name: Fetch cobbler profile list
|
|
|
+ command: docker exec cobbler cobbler profile list
|
|
|
+ changed_when: false
|
|
|
+ register: cobbler_profile_list
|
|
|
+ tags: TC_004,VERIFY_004
|
|
|
+
|
|
|
+ - name: Verify cobbler profile list
|
|
|
+ assert:
|
|
|
+ that:
|
|
|
+ - "'CentOS' in cobbler_profile_list.stdout"
|
|
|
+ fail_msg: "{{ cobbler_profile_list_fail_msg }}"
|
|
|
+ success_msg: "{{ cobbler_profile_list_success_msg }}"
|
|
|
+ tags: TC_004,VERIFY_004
|
|
|
+
|
|
|
+ - name: Check kickstart file
|
|
|
+ shell: |
|
|
|
+ docker exec {{ docker_container_name }} [ -f /var/lib/cobbler/kickstarts/{{ kickstart_filename }} ] && echo "File exist" || echo "File does not exist"
|
|
|
+ changed_when: false
|
|
|
+ register: kickstart_file_status
|
|
|
+ tags: TC_004,VERIFY_004
|
|
|
+
|
|
|
+ - name: Verify kickstart file present
|
|
|
+ assert:
|
|
|
+ that:
|
|
|
+ - "'File exist' in kickstart_file_status.stdout"
|
|
|
+ fail_msg: "{{ kickstart_file_fail_msg }}"
|
|
|
+ success_msg: "{{ kickstart_file_success_msg }}"
|
|
|
+ tags: TC_004,VERIFY_004
|
|
|
+
|
|
|
+ - name: Check crontab list
|
|
|
+ command: docker exec cobbler crontab -l
|
|
|
+ changed_when: false
|
|
|
+ register: crontab_list
|
|
|
+ tags: TC_004,VERIFY_004
|
|
|
+
|
|
|
+ - name: Verify crontab list
|
|
|
+ assert:
|
|
|
+ that:
|
|
|
+ - "'* * * * * ansible-playbook /root/tftp.yml' in crontab_list.stdout"
|
|
|
+ - "'5 * * * * ansible-playbook /root/inventory_creation.yml' in crontab_list.stdout"
|
|
|
+ fail_msg: "{{ crontab_list_fail_msg }}"
|
|
|
+ success_msg: "{{ crontab_list_success_msg }}"
|
|
|
+ tags: TC_004,VERIFY_004
|
|
|
+
|
|
|
+ - name: Check tftp,dhcpd,xinetd,cobblerd service is running
|
|
|
+ command: docker exec cobbler systemctl is-active {{ item }}
|
|
|
+ changed_when: false
|
|
|
+ ignore_errors: yes
|
|
|
+ register: cobbler_service_check
|
|
|
+ with_items: "{{ cobbler_services }}"
|
|
|
+ tags: TC_004,VERIFY_004
|
|
|
+
|
|
|
+ - name: Verify tftp,dhcpd,xinetd,cobblerd service is running
|
|
|
+ assert:
|
|
|
+ that:
|
|
|
+ - "'active' in cobbler_service_check.results[{{ item }}].stdout"
|
|
|
+ - "'inactive' not in cobbler_service_check.results[{{ item }}].stdout"
|
|
|
+ - "'unknown' not in cobbler_service_check.results[{{ item }}].stdout"
|
|
|
+ fail_msg: "{{ cobbler_service_check_fail_msg }}"
|
|
|
+ success_msg: "{{ cobbler_service_check_success_msg }}"
|
|
|
+ with_sequence: start=0 end=3
|
|
|
+ tags: TC_004,VERIFY_004
|
|
|
+
|
|
|
+# Testcase OMNIA_DIO_US_CDIP_TC_005
|
|
|
+# Execute provison role in management station where cobbler container is configured
|
|
|
+- name: OMNIA_DIO_US_CDIP_TC_005
|
|
|
+ hosts: localhost
|
|
|
+ connection: local
|
|
|
+ vars_files:
|
|
|
+ - test_vars/test_provision_vars.yml
|
|
|
+ - ../roles/provision/vars/main.yml
|
|
|
+ tasks:
|
|
|
+ - block:
|
|
|
+ - name: Call common role
|
|
|
+ include_role:
|
|
|
+ name: ../roles/common
|
|
|
+ vars:
|
|
|
+ input_config_filename: "{{ test_input_config_filename }}"
|
|
|
+
|
|
|
+ - name: Call provision role
|
|
|
+ include_role:
|
|
|
+ name: ../roles/provision
|
|
|
+ tags: TC_005
|
|
|
+
|
|
|
+ - name: Check the connection to cobbler UI and it returns a status 200
|
|
|
+ uri:
|
|
|
+ url: https://localhost/cobbler_web
|
|
|
+ status_code: 200
|
|
|
+ return_content: yes
|
|
|
+ validate_certs: no
|
|
|
+ tags: TC_005,VERIFY_005
|
|
|
+
|
|
|
+ - name: Fetch cobbler version in cobbler container
|
|
|
+ command: docker exec {{ docker_container_name }} cobbler version
|
|
|
+ changed_when: false
|
|
|
+ register: cobbler_version
|
|
|
+ tags: TC_005,VERIFY_005
|
|
|
+
|
|
|
+ - name: Verify cobbler version
|
|
|
+ assert:
|
|
|
+ that:
|
|
|
+ - "'Cobbler' in cobbler_version.stdout"
|
|
|
+ - "'Error' not in cobbler_version.stdout"
|
|
|
+ fail_msg: "{{ cobbler_version_fail_msg }}"
|
|
|
+ success_msg: "{{ cobbler_version_success_msg }}"
|
|
|
+ tags: TC_005,VERIFY_005
|
|
|
+
|
|
|
+ - name: Run cobbler check command in cobbler container
|
|
|
+ command: docker exec {{ docker_container_name }} cobbler check
|
|
|
+ changed_when: false
|
|
|
+ register: cobbler_check
|
|
|
+ tags: TC_005,VERIFY_005
|
|
|
+
|
|
|
+ - name: Verify cobbler check command output
|
|
|
+ assert:
|
|
|
+ that:
|
|
|
+ - "'The following are potential configuration items that you may want to fix' not in cobbler_check.stdout"
|
|
|
+ - "'Error' not in cobbler_check.stdout"
|
|
|
+ fail_msg: "{{ cobbler_check_fail_msg }}"
|
|
|
+ success_msg: "{{ cobbler_check_success_msg }}"
|
|
|
+ ignore_errors: yes
|
|
|
+ tags: TC_005,VERIFY_005
|
|
|
+
|
|
|
+ - name: Run cobbler sync command in cobbler container
|
|
|
+ command: docker exec {{ docker_container_name }} cobbler sync
|
|
|
+ changed_when: false
|
|
|
+ register: cobbler_sync
|
|
|
+ tags: TC_005,VERIFY_005
|
|
|
+
|
|
|
+ - name: Verify cobbler sync command output
|
|
|
+ assert:
|
|
|
+ that:
|
|
|
+ - "'TASK COMPLETE' in cobbler_sync.stdout"
|
|
|
+ - "'Fail' not in cobbler_sync.stdout"
|
|
|
+ - "'Error' not in cobbler_sync.stdout"
|
|
|
+ fail_msg: "{{ cobbler_sync_fail_msg }}"
|
|
|
+ success_msg: "{{ cobbler_sync_success_msg }}"
|
|
|
+ tags: TC_005,VERIFY_005
|
|
|
+
|
|
|
+ - name: Fetch cobbler distro list
|
|
|
+ command: docker exec {{ docker_container_name }} cobbler distro list
|
|
|
+ changed_when: false
|
|
|
+ register: cobbler_distro_list
|
|
|
+ tags: TC_005,VERIFY_005
|
|
|
+
|
|
|
+ - name: Verify cobbler distro list
|
|
|
+ assert:
|
|
|
+ that:
|
|
|
+ - "'CentOS' in cobbler_distro_list.stdout"
|
|
|
+ fail_msg: "{{ cobbler_distro_list_fail_msg }}"
|
|
|
+ success_msg: "{{ cobbler_distro_list_success_msg }}"
|
|
|
+ tags: TC_005,VERIFY_005
|
|
|
+
|
|
|
+ - name: Fetch cobbler profile list
|
|
|
+ command: docker exec cobbler cobbler profile list
|
|
|
+ changed_when: false
|
|
|
+ register: cobbler_profile_list
|
|
|
+ tags: TC_005,VERIFY_005
|
|
|
+
|
|
|
+ - name: Verify cobbler profile list
|
|
|
+ assert:
|
|
|
+ that:
|
|
|
+ - "'CentOS' in cobbler_profile_list.stdout"
|
|
|
+ fail_msg: "{{ cobbler_profile_list_fail_msg }}"
|
|
|
+ success_msg: "{{ cobbler_profile_list_success_msg }}"
|
|
|
+ tags: TC_005,VERIFY_005
|
|
|
+
|
|
|
+ - name: Check kickstart file
|
|
|
+ shell: |
|
|
|
+ docker exec {{ docker_container_name }} [ -f /var/lib/cobbler/kickstarts/{{ kickstart_filename }} ] && echo "File exist" || echo "File does not exist"
|
|
|
+ changed_when: false
|
|
|
+ register: kickstart_file_status
|
|
|
+ tags: TC_005,VERIFY_005
|
|
|
+
|
|
|
+ - name: Verify kickstart file present
|
|
|
+ assert:
|
|
|
+ that:
|
|
|
+ - "'File exist' in kickstart_file_status.stdout"
|
|
|
+ fail_msg: "{{ kickstart_file_fail_msg }}"
|
|
|
+ success_msg: "{{ kickstart_file_success_msg }}"
|
|
|
+ tags: TC_005,VERIFY_005
|
|
|
+
|
|
|
+ - name: Check crontab list
|
|
|
+ command: docker exec cobbler crontab -l
|
|
|
+ changed_when: false
|
|
|
+ register: crontab_list
|
|
|
+ tags: TC_005,VERIFY_005
|
|
|
+
|
|
|
+ - name: Verify crontab list
|
|
|
+ assert:
|
|
|
+ that:
|
|
|
+ - "'* * * * * ansible-playbook /root/tftp.yml' in crontab_list.stdout"
|
|
|
+ - "'5 * * * * ansible-playbook /root/inventory_creation.yml' in crontab_list.stdout"
|
|
|
+ fail_msg: "{{ crontab_list_fail_msg }}"
|
|
|
+ success_msg: "{{ crontab_list_success_msg }}"
|
|
|
+ tags: TC_005,VERIFY_005
|
|
|
+
|
|
|
+ - name: Check tftp,dhcpd,xinetd,cobblerd service is running
|
|
|
+ command: docker exec cobbler systemctl is-active {{ item }}
|
|
|
+ changed_when: false
|
|
|
+ ignore_errors: yes
|
|
|
+ register: cobbler_service_check
|
|
|
+ with_items: "{{ cobbler_services }}"
|
|
|
+ tags: TC_005,VERIFY_005
|
|
|
+
|
|
|
+ - name: Verify tftp,dhcpd,xinetd,cobblerd service is running
|
|
|
+ assert:
|
|
|
+ that:
|
|
|
+ - "'active' in cobbler_service_check.results[{{ item }}].stdout"
|
|
|
+ - "'inactive' not in cobbler_service_check.results[{{ item }}].stdout"
|
|
|
+ - "'unknown' not in cobbler_service_check.results[{{ item }}].stdout"
|
|
|
+ fail_msg: "{{ cobbler_service_check_fail_msg }}"
|
|
|
+ success_msg: "{{ cobbler_service_check_success_msg }}"
|
|
|
+ with_sequence: start=0 end=3
|
|
|
+ tags: TC_005,VERIFY_005
|
|
|
+
|
|
|
+# Testcase OMNIA_DIO_US_CC_TC_006
|
|
|
+# Execute provision role in management station where already one container present
|
|
|
+- name: OMNIA_DIO_US_CC_TC_006
|
|
|
+ hosts: localhost
|
|
|
+ connection: local
|
|
|
+ vars_files:
|
|
|
+ - test_vars/test_provision_vars.yml
|
|
|
+ - ../roles/provision/vars/main.yml
|
|
|
+ tasks:
|
|
|
+ - name: Delete the cobbler container if exits
|
|
|
+ docker_container:
|
|
|
+ name: "{{ docker_container_name }}"
|
|
|
+ state: absent
|
|
|
+ tags: TC_006
|
|
|
+
|
|
|
+ - name: Delete docker image if exists
|
|
|
+ docker_image:
|
|
|
+ name: "{{ docker_image_name }}"
|
|
|
+ tag: "{{ docker_image_tag }}"
|
|
|
+ state: absent
|
|
|
+ tags: TC_006
|
|
|
+
|
|
|
+ - name: Create docker image
|
|
|
+ docker_image:
|
|
|
+ name: ubuntu
|
|
|
+ tag: latest
|
|
|
+ source: pull
|
|
|
+ tags: TC_006
|
|
|
+
|
|
|
+ - name: Create docker container
|
|
|
+ command: docker run -dit ubuntu
|
|
|
+ register: create_docker_container
|
|
|
+ changed_when: true
|
|
|
+ args:
|
|
|
+ warn: false
|
|
|
+ tags: TC_006
|
|
|
+
|
|
|
+ - block:
|
|
|
+ - name: Call common role
|
|
|
+ include_role:
|
|
|
+ name: ../roles/common
|
|
|
+ vars:
|
|
|
+ input_config_filename: "{{ test_input_config_filename }}"
|
|
|
+
|
|
|
+ - name: Call provision role
|
|
|
+ include_role:
|
|
|
+ name: ../roles/provision
|
|
|
+ tags: TC_006
|
|
|
+
|
|
|
+ - name: Check the connection to cobbler UI and it returns a status 200
|
|
|
+ uri:
|
|
|
+ url: https://localhost/cobbler_web
|
|
|
+ status_code: 200
|
|
|
+ return_content: yes
|
|
|
+ validate_certs: no
|
|
|
+ tags: TC_006,VERIFY_006
|
|
|
+
|
|
|
+ - name: Fetch cobbler version in cobbler container
|
|
|
+ command: docker exec {{ docker_container_name }} cobbler version
|
|
|
+ changed_when: false
|
|
|
+ register: cobbler_version
|
|
|
+ tags: TC_006,VERIFY_006
|
|
|
+
|
|
|
+ - name: Verify cobbler version
|
|
|
+ assert:
|
|
|
+ that:
|
|
|
+ - "'Cobbler' in cobbler_version.stdout"
|
|
|
+ - "'Error' not in cobbler_version.stdout"
|
|
|
+ fail_msg: "{{ cobbler_version_fail_msg }}"
|
|
|
+ success_msg: "{{ cobbler_version_success_msg }}"
|
|
|
+ tags: TC_006,VERIFY_006
|
|
|
+
|
|
|
+ - name: Run cobbler check command in cobbler container
|
|
|
+ command: docker exec {{ docker_container_name }} cobbler check
|
|
|
+ changed_when: false
|
|
|
+ register: cobbler_check
|
|
|
+ tags: TC_006,VERIFY_006
|
|
|
+
|
|
|
+ - name: Verify cobbler check command output
|
|
|
+ assert:
|
|
|
+ that:
|
|
|
+ - "'The following are potential configuration items that you may want to fix' not in cobbler_check.stdout"
|
|
|
+ - "'Error' not in cobbler_check.stdout"
|
|
|
+ fail_msg: "{{ cobbler_check_fail_msg }}"
|
|
|
+ success_msg: "{{ cobbler_check_success_msg }}"
|
|
|
+ ignore_errors: yes
|
|
|
+ tags: TC_006,VERIFY_006
|
|
|
+
|
|
|
+ - name: Run cobbler sync command in cobbler container
|
|
|
+ command: docker exec {{ docker_container_name }} cobbler sync
|
|
|
+ changed_when: false
|
|
|
+ register: cobbler_sync
|
|
|
+ tags: TC_006,VERIFY_006
|
|
|
+
|
|
|
+ - name: Verify cobbler sync command output
|
|
|
+ assert:
|
|
|
+ that:
|
|
|
+ - "'TASK COMPLETE' in cobbler_sync.stdout"
|
|
|
+ - "'Fail' not in cobbler_sync.stdout"
|
|
|
+ - "'Error' not in cobbler_sync.stdout"
|
|
|
+ fail_msg: "{{ cobbler_sync_fail_msg }}"
|
|
|
+ success_msg: "{{ cobbler_sync_success_msg }}"
|
|
|
+ tags: TC_006,VERIFY_006
|
|
|
+
|
|
|
+ - name: Fetch cobbler distro list
|
|
|
+ command: docker exec {{ docker_container_name }} cobbler distro list
|
|
|
+ changed_when: false
|
|
|
+ register: cobbler_distro_list
|
|
|
+ tags: TC_006,VERIFY_006
|
|
|
+
|
|
|
+ - name: Verify cobbler distro list
|
|
|
+ assert:
|
|
|
+ that:
|
|
|
+ - "'CentOS' in cobbler_distro_list.stdout"
|
|
|
+ fail_msg: "{{ cobbler_distro_list_fail_msg }}"
|
|
|
+ success_msg: "{{ cobbler_distro_list_success_msg }}"
|
|
|
+ tags: TC_006,VERIFY_006
|
|
|
+
|
|
|
+ - name: Fetch cobbler profile list
|
|
|
+ command: docker exec cobbler cobbler profile list
|
|
|
+ changed_when: false
|
|
|
+ register: cobbler_profile_list
|
|
|
+ tags: TC_006,VERIFY_006
|
|
|
+
|
|
|
+ - name: Verify cobbler profile list
|
|
|
+ assert:
|
|
|
+ that:
|
|
|
+ - "'CentOS' in cobbler_profile_list.stdout"
|
|
|
+ fail_msg: "{{ cobbler_profile_list_fail_msg }}"
|
|
|
+ success_msg: "{{ cobbler_profile_list_success_msg }}"
|
|
|
+ tags: TC_006,VERIFY_006
|
|
|
+
|
|
|
+ - name: Check kickstart file
|
|
|
+ shell: |
|
|
|
+ docker exec {{ docker_container_name }} [ -f /var/lib/cobbler/kickstarts/{{ kickstart_filename }} ] && echo "File exist" || echo "File does not exist"
|
|
|
+ changed_when: false
|
|
|
+ register: kickstart_file_status
|
|
|
+ tags: TC_006,VERIFY_006
|
|
|
+
|
|
|
+ - name: Verify kickstart file present
|
|
|
+ assert:
|
|
|
+ that:
|
|
|
+ - "'File exist' in kickstart_file_status.stdout"
|
|
|
+ fail_msg: "{{ kickstart_file_fail_msg }}"
|
|
|
+ success_msg: "{{ kickstart_file_success_msg }}"
|
|
|
+ tags: TC_006,VERIFY_006
|
|
|
+
|
|
|
+ - name: Check crontab list
|
|
|
+ command: docker exec cobbler crontab -l
|
|
|
+ changed_when: false
|
|
|
+ register: crontab_list
|
|
|
+ tags: TC_006,VERIFY_006
|
|
|
+
|
|
|
+ - name: Verify crontab list
|
|
|
+ assert:
|
|
|
+ that:
|
|
|
+ - "'* * * * * ansible-playbook /root/tftp.yml' in crontab_list.stdout"
|
|
|
+ - "'5 * * * * ansible-playbook /root/inventory_creation.yml' in crontab_list.stdout"
|
|
|
+ fail_msg: "{{ crontab_list_fail_msg }}"
|
|
|
+ success_msg: "{{ crontab_list_success_msg }}"
|
|
|
+ tags: TC_006,VERIFY_006
|
|
|
+
|
|
|
+ - name: Check tftp,dhcpd,xinetd,cobblerd service is running
|
|
|
+ command: docker exec cobbler systemctl is-active {{ item }}
|
|
|
+ changed_when: false
|
|
|
+ ignore_errors: yes
|
|
|
+ register: cobbler_service_check
|
|
|
+ with_items: "{{ cobbler_services }}"
|
|
|
+ tags: TC_006,VERIFY_006
|
|
|
+
|
|
|
+ - name: Verify tftp,dhcpd,xinetd,cobblerd service is running
|
|
|
+ assert:
|
|
|
+ that:
|
|
|
+ - "'active' in cobbler_service_check.results[{{ item }}].stdout"
|
|
|
+ - "'inactive' not in cobbler_service_check.results[{{ item }}].stdout"
|
|
|
+ - "'unknown' not in cobbler_service_check.results[{{ item }}].stdout"
|
|
|
+ fail_msg: "{{ cobbler_service_check_fail_msg }}"
|
|
|
+ success_msg: "{{ cobbler_service_check_success_msg }}"
|
|
|
+ with_sequence: start=0 end=3
|
|
|
+ tags: TC_006,VERIFY_006
|
|
|
+
|
|
|
+ - name: Delete the ubuntu container
|
|
|
+ docker_container:
|
|
|
+ name: "{{ create_docker_container.stdout }}"
|
|
|
+ state: absent
|
|
|
+ tags: TC_006
|
|
|
+
|
|
|
+ - name: Delete the ubuntu umage
|
|
|
+ docker_image:
|
|
|
+ name: ubuntu
|
|
|
+ state: absent
|
|
|
+ tags: TC_006
|
|
|
+
|
|
|
+# Testcase OMNIA_DIO_US_CC_TC_007
|
|
|
+# Execute provision role in management station and reboot management station
|
|
|
+- name: OMNIA_DIO_US_CC_TC_007
|
|
|
+ hosts: localhost
|
|
|
+ connection: local
|
|
|
+ vars_files:
|
|
|
+ - test_vars/test_provision_vars.yml
|
|
|
+ - ../roles/provision/vars/main.yml
|
|
|
+ tasks:
|
|
|
+ - name: Check last uptime of the server
|
|
|
+ command: uptime -s
|
|
|
+ register: uptime_status
|
|
|
+ changed_when: false
|
|
|
+ ignore_errors: yes
|
|
|
+ tags: TC_007
|
|
|
+
|
|
|
+ - name: Check current date
|
|
|
+ command: date +"%Y-%m-%d %H"
|
|
|
+ register: current_time
|
|
|
+ changed_when: false
|
|
|
+ ignore_errors: yes
|
|
|
+ tags: TC_007
|
|
|
+
|
|
|
+ - name: Delete the cobbler container if exits
|
|
|
+ docker_container:
|
|
|
+ name: "{{ docker_container_name }}"
|
|
|
+ state: absent
|
|
|
+ when: current_time.stdout not in uptime_status.stdout
|
|
|
+ tags: TC_007
|
|
|
+
|
|
|
+ - name: Delete docker image if exists
|
|
|
+ docker_image:
|
|
|
+ name: "{{ docker_image_name }}"
|
|
|
+ tag: "{{ docker_image_tag }}"
|
|
|
+ state: absent
|
|
|
+ when: current_time.stdout not in uptime_status.stdout
|
|
|
+ tags: TC_007
|
|
|
+
|
|
|
+ - block:
|
|
|
+ - name: Call common role
|
|
|
+ include_role:
|
|
|
+ name: ../roles/common
|
|
|
+ vars:
|
|
|
+ input_config_filename: "{{ test_input_config_filename }}"
|
|
|
+
|
|
|
+ - name: Call provision role
|
|
|
+ include_role:
|
|
|
+ name: ../roles/provision
|
|
|
+ when: current_time.stdout not in uptime_status.stdout
|
|
|
+ tags: TC_007
|
|
|
+
|
|
|
+ - name: Reboot localhost
|
|
|
+ command: reboot
|
|
|
+ when: current_time.stdout not in uptime_status.stdout
|
|
|
+ tags: TC_007
|
|
|
+
|
|
|
+ - name: Inspect cobbler container
|
|
|
+ docker_container_info:
|
|
|
+ name: "{{ docker_container_name }}"
|
|
|
+ register: cobbler_cnt_status
|
|
|
+ tags: TC_007,VERIFY_007
|
|
|
+
|
|
|
+ - name: Verify cobbler container is running after reboot
|
|
|
+ assert:
|
|
|
+ that: "'running' in cobbler_cnt_status.container.State.Status"
|
|
|
+ fail_msg: "{{ cobbler_reboot_fail_msg }}"
|
|
|
+ success_msg: "{{ cobbler_reboot_success_msg }}"
|
|
|
+ tags: TC_007,VERIFY_007
|