123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346 |
- # Copyright 2021 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.
- ---
- # Testacase OMNIA_1.1_EF_TC_007
- # Execute ethernet.yml with both valid Global and interface configs in ethernet_config.yml
- - name: OMNIA_1.1_EF_TC_007
- hosts: ethernet
- gather_facts: false
- tags: TC_007
- connection: local
- vars_files:
- - test_vars/test_ethernet_vars.yml
- - ../roles/webui_awx/vars/main.yml
- - ../input_params/base_vars.yml
- tasks:
- - name: Back up of ethernet_config.yml
- copy:
- src: "{{ ethernet_config_dir }}"
- dest: "{{ ethernet_config_backup_dir }}"
- mode: "{{ file_perm }}"
- tags: TC_007
- - name: Executing ethernet role with default ethernet_config
- vars:
- inventory_name: "{{ eth_inventory_name }}"
- host_name: "{{ eth_host_name }}"
- template_name: "{{ eth_template_value }}"
- job_template_name: "{{ eth_job_name }}"
- playbook_path: "{{ eth_playbook_path }}"
- delete_status: true
- include_tasks: "{{ awx_script_path }}"
- - block:
- - name: Validate default flow
- assert:
- that:
- - ethernet_success_msg in job_status.status
- success_msg: "{{ success_message }}"
- fail_msg: "{{ fail_case }}"
- changed_when: false
- - name: Set MTU of port {{ port_num }}
- lineinfile:
- dest: "{{ ethernet_config_dir }}"
- insertbefore: "{{ search_line }}"
- line: "{{ add_mtu_line }}"
-
- - name: Executing ethernet role with default ethernet_config
- vars:
- inventory_name: "{{ eth_inventory_name }}"
- host_name: "{{ eth_host_name }}"
- template_name: "{{ eth_template_value }}"
- job_template_name: "{{ eth_job_name }}"
- playbook_path: "{{ eth_playbook_path }}"
- delete_status: true
- include_tasks: "{{ awx_script_path }}"
-
- - name: Getting MTU of ethernet {{ validation_port }}
- command: ansible-playbook -i "{{ inventory_dir }}" "{{ get_mtu_dir }}" --tags 'mtu'
- changed_when: false
- register: mtu_out
- tags: TC_007,TC_002
-
- - name: Validate role exec output pre and post MTU addition
- assert:
- that:
- - validate_mtu_line in mtu_out.stdout
- success_msg: "{{ success_message }}"
- fail_msg: "{{ fail_case }}"
- changed_when: false
- failed_when: false
- tags: TC_007
- # Testacase OMNIA_1.1_EF_TC_005
- # Execute ethernet.yml with save_config set to False
- - name: OMNIA_1.1_EF_TC_005
- hosts: ethernet
- gather_facts: false
- tags: TC_005
- connection: local
- vars_files:
- - test_vars/test_ethernet_vars.yml
- - ../roles/webui_awx/vars/main.yml
- - ../input_params/base_vars.yml
- tasks:
- - name: Reload switch
- command: ansible-playbook -i "{{ inventory_dir }}" "{{ get_mtu_dir }}" --tags 'reload'
- changed_when: false
-
- - name: Pausing for switch to come up
- pause:
- minutes: "{{ time_to_pause }}"
-
- - name: Getting MTU of ethernet {{ validation_port }}
- command: ansible-playbook -i "{{ inventory_dir }}" "{{ get_mtu_dir }}" --tags 'mtu'
- changed_when: false
- register: mtu_out
-
- - block:
- - name: Validate that MTU is changed
- assert:
- that:
- - validate_mtu_line not in mtu_out.stdout
- success_msg: "{{ success_message }}"
- fail_msg: "{{ fail_case }}"
- changed_when: false
- failed_when: false
-
- # Testacase OMNIA_1.1_EF_TC_006
- # Execute ethernet.yml with save_config set to True
- - name: OMNIA_1.1_EF_TC_006
- hosts: ethernet
- gather_facts: false
- tags: TC_006
- connection: local
- vars_files:
- - test_vars/test_ethernet_vars.yml
- - ../roles/webui_awx/vars/main.yml
- - ../input_params/base_vars.yml
- tasks:
- - name: Set save_changes_to_startup to True in ethernet_vars
- ansible.builtin.replace:
- dest: "{{ ethernet_config_dir }}"
- regexp: 'save_changes_to_startup: false'
- replace: 'save_changes_to_startup: True'
-
- - name: Execute network_ethernet role as port 4 has mtu set in ethernet_vars
- vars:
- inventory_name: "{{ eth_inventory_name }}"
- host_name: "{{ eth_host_name }}"
- template_name: "{{ eth_template_value }}"
- job_template_name: "{{ eth_job_name }}"
- playbook_path: "{{ eth_playbook_path }}"
- delete_status: true
- include_tasks: "{{ awx_script_path }}"
-
- - name: Reload switch
- command: ansible-playbook -i "{{ inventory_dir }}" "{{ get_mtu_dir }}" --tags 'reload'
- changed_when: false
-
- - name: Pausing for switch to come up
- pause:
- minutes: "{{ time_to_pause }}"
-
- - name: Getting MTU of ethernet {{ validation_port }}
- command: ansible-playbook -i "{{ inventory_dir }}" "{{ get_mtu_dir }}" --tags 'mtu'
- changed_when: false
- register: mtu_out
-
- - block:
- - name: Validate that MTU is changed
- assert:
- that:
- - validate_mtu_line in mtu_out.stdout
- success_msg: "{{ success_message }}"
- fail_msg: "{{ fail_case }}"
- changed_when: false
- # Testcase OMNIA_1.1_EF_TC_010
- # Execute ethernet.yml with invalid Global and correct interface configs in ethernet_config.yml
- - name: OMNIA_1.1_EF_TC_010
- hosts: ethernet
- gather_facts: false
- tags: TC_010
- connection: local
- vars_files:
- - test_vars/test_ethernet_vars.yml
- - ../roles/webui_awx/vars/main.yml
- - ../input_params/base_vars.yml
- tasks:
- - name: Making interface config invalid
- lineinfile:
- path: "{{ ethernet_config_dir }}"
- insertafter: 'os10_config:'
- line: 'gibberish inserted'
- tags: TC_007
- - name: Executing ethernet role with invalid global config
- vars:
- inventory_name: "{{ eth_inventory_name }}"
- host_name: "{{ eth_host_name }}"
- template_name: "{{ eth_template_value }}"
- job_template_name: "{{ eth_job_name }}"
- playbook_path: "{{ eth_playbook_path }}"
- delete_status: true
- include_tasks: "{{ awx_script_path }}"
- - block:
- - name: Validate role exec output
- assert:
- that:
- - ethernet_fail_msg in job_status.status
- success_msg: "{{ success_message }}"
- fail_msg: "{{ fail_case }}"
- # Testcase OMNIA_1.1_EF_TC_009
- # Validation of ethernet default configuration
- - name: OMNIA_1.1_EF_TC_009
- hosts: ethernet
- gather_facts: false
- tags: VERIFY_OMNIA_01
- connection: local
- vars_files:
- - test_vars/test_ethernet_vars.yml
- - ../roles/webui_awx/vars/main.yml
- - ../input_params/base_vars.yml
- tasks:
- - name: Executing ethernet role
- vars:
- inventory_name: "{{ eth_inventory_name }}"
- host_name: "{{ eth_host_name }}"
- template_name: "{{ eth_template_value }}"
- job_template_name: "{{ eth_job_name }}"
- playbook_path: "{{ eth_playbook_path }}"
- delete_status: true
- include_tasks: "{{ awx_script_path }}"
-
- - block:
- - name: Validate default flow
- assert:
- that:
- - ethernet_success_msg in job_status.status
- success_msg: "{{ success_message }}"
- fail_msg: "{{ fail_case }}"
- changed_when: false
-
- # Testcase OMNIA_1.1_EF_TC_011
- # Execute ethernet.yml with valid Global and incorrect interface configs in ethernet_config.yml
- - name: OMNIA_1.1_EF_TC_011
- hosts: ethernet
- gather_facts: false
- connection: local
- vars_files:
- - test_vars/test_ethernet_vars.yml
- - ../roles/webui_awx/vars/main.yml
- - ../input_params/base_vars.yml
- tasks:
- - name: Making interface config invalid
- lineinfile:
- path: "{{ ethernet_config_dir }}"
- insertafter: 'os10_interface:'
- line: 'gibberish inserted'
-
- - name: Executing ethernet role with invalid interface config
- vars:
- inventory_name: "{{ eth_inventory_name }}"
- host_name: "{{ eth_host_name }}"
- template_name: "{{ eth_template_value }}"
- job_template_name: "{{ eth_job_name }}"
- playbook_path: "{{ eth_playbook_path }}"
- delete_status: true
- include_tasks: "{{ awx_script_path }}"
- - block:
- - name: Validate role exec output
- assert:
- that:
- - ethernet_fail_msg in job_status.status
- success_msg: "{{ success_message }}"
- fail_msg: "{{ fail_case }}"
- # Testcase OMNIA_1.1_EF_TC_008
- # Execute ethernet.yml with only Global and no interface configs in ethernet_config.yml
- - name: OMNIA_1.1_EF_TC_008
- hosts: ethernet
- gather_facts: false
- connection: local
- vars_files:
- - test_vars/test_ethernet_vars.yml
- - ../roles/webui_awx/vars/main.yml
- - ../input_params/base_vars.yml
- tasks:
- - name: Retrieving ethernet_config backup
- copy:
- src: "{{ ethernet_config_backup_dir }}"
- dest: "{{ ethernet_config_dir }}"
- mode: "{{ file_perm }}"
- tags: TC_008
-
- - name: Removing interface config from ethernet_config
- ansible.builtin.command: sed -i '22,117d' "{{ ethernet_config_dir }}"
- args:
- warn: no
- changed_when: false
- tags: TC_008
-
- - name: Executing ethernet role with no interface config
- vars:
- inventory_name: "{{ eth_inventory_name }}"
- host_name: "{{ eth_host_name }}"
- template_name: "{{ eth_template_value }}"
- job_template_name: "{{ eth_job_name }}"
- playbook_path: "{{ eth_playbook_path }}"
- delete_status: true
- include_tasks: "{{ awx_script_path }}"
-
- - block:
- - name: Validate default flow
- assert:
- that:
- - ethernet_success_msg in job_status.status
- success_msg: "{{ success_message }}"
- fail_msg: "{{ fail_case }}"
- changed_when: false
- - name: Restoring original ethernt_config
- copy:
- src: "{{ ethernet_config_backup_dir }}"
- dest: "{{ ethernet_config_dir }}"
- mode: "{{ file_perm }}"
- tags: TC_008
-
- - name: Set save_changes_to_startup to True in ethernet_vars
- ansible.builtin.replace:
- dest: "{{ ethernet_config_dir }}"
- regexp: 'save_changes_to_startup: false'
- replace: 'save_changes_to_startup: True'
-
- - name: Execute network_ethernet role as port 4 has mtu set in ethernet_vars
- vars:
- inventory_name: "{{ eth_inventory_name }}"
- host_name: "{{ eth_host_name }}"
- template_name: "{{ eth_template_value }}"
- job_template_name: "{{ eth_job_name }}"
- playbook_path: "{{ eth_playbook_path }}"
- delete_status: true
- include_tasks: "{{ awx_script_path }}"
-
- - name: Set save_changes_to_startup to False in ethernet_vars
- ansible.builtin.replace:
- dest: "{{ ethernet_config_dir }}"
- regexp: 'save_changes_to_startup: True'
- replace: 'save_changes_to_startup: False'
|