diff options
Diffstat (limited to 'ansible')
-rw-r--r-- | ansible/baremetal_scale_out_ixia_correlated_test.yaml (renamed from ansible/multi_port_baremetal_ixia_correlated_test.yaml) | 5 | ||||
-rw-r--r-- | ansible/baremetal_scale_out_ixia_correlated_test_templates.yml (renamed from ansible/multi_port_baremetal_ixia_correlated_test_templates.yml) | 36 | ||||
-rw-r--r-- | ansible/install.yaml | 2 | ||||
-rw-r--r-- | ansible/library/fetch_url_and_verify.py | 7 | ||||
-rw-r--r-- | ansible/multi_port_baremetal_ixia_test_templates.yml | 12 | ||||
-rw-r--r-- | ansible/multi_port_baremetal_test_templates.yml | 12 | ||||
-rw-r--r-- | ansible/roles/barometer_collectd/tasks/main.yaml | 40 | ||||
-rw-r--r-- | ansible/roles/docker/tasks/Debian.yml | 16 | ||||
-rw-r--r-- | ansible/roles/enable_iommu_on_boot/tasks/main.yml | 54 | ||||
-rw-r--r-- | ansible/roles/enable_iommu_on_boot/tasks/manual_modify_grub.yml | 12 | ||||
-rw-r--r-- | ansible/roles/enable_iommu_on_boot/vars/main.yml | 4 | ||||
-rw-r--r-- | ansible/ubuntu_server_baremetal_deploy_samplevnfs.yml | 3 |
12 files changed, 141 insertions, 62 deletions
diff --git a/ansible/multi_port_baremetal_ixia_correlated_test.yaml b/ansible/baremetal_scale_out_ixia_correlated_test.yaml index 0d223181d..13f6fef15 100644 --- a/ansible/multi_port_baremetal_ixia_correlated_test.yaml +++ b/ansible/baremetal_scale_out_ixia_correlated_test.yaml @@ -1,4 +1,4 @@ -# Copyright (c) 2017 Intel Corporation. # +# Copyright (c) 2018 Intel Corporation. # # 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 @@ -112,6 +112,7 @@ ip: mgmt: - '1.2.1.6/24' + - '1.2.1.7/24' uplink: - '152.16.100.10/24' - '172.16.100.10/24' @@ -127,6 +128,6 @@ - '00:00:00:9e:00:fb' tasks: - - include: multi_port_baremetal_ixia_correlated_test_templates.yml + - include: baremetal_scale_out_ixia_correlated_test_templates.yml with_items: "{{ scale_out }}" diff --git a/ansible/multi_port_baremetal_ixia_correlated_test_templates.yml b/ansible/baremetal_scale_out_ixia_correlated_test_templates.yml index 6f73d8c01..11d3d4674 100644 --- a/ansible/multi_port_baremetal_ixia_correlated_test_templates.yml +++ b/ansible/baremetal_scale_out_ixia_correlated_test_templates.yml @@ -1,4 +1,4 @@ -# Copyright (c) 2017 Intel Corporation. # +# Copyright (c) 2018 Intel Corporation. # # 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 @@ -15,6 +15,10 @@ - set_fact: num_vnfs: "{{ item }}" +- file: + path: /etc/yardstick/nodes + state: directory + - debug: var: num_vnfs verbosity: 2 @@ -24,33 +28,33 @@ dest: ../samples/vnf_samples/traffic_profiles/ipv4_throughput-ixia-{{ num_vnfs }}.yaml - template: - src: ../etc/yardstick/nodes/standalone/ixia_template.yaml - dest: /etc/yardstick/nodes/ixia_{{ num_vnfs }}.yaml + src: ../etc/yardstick/nodes/standalone/ixia_correlated_template.yaml + dest: /etc/yardstick/nodes/ixia_correlated_{{ num_vnfs }}.yaml - template: - src: ../etc/yardstick/nodes/standalone/pod_bm_vnf.yaml + src: ../etc/yardstick/nodes/standalone/pod_bm_vnf_scale_out.yaml dest: /etc/yardstick/nodes/pod_bm_vnf_{{num_vnfs}}.yaml - template: - src: ../samples/vnf_samples/nsut/vfw/tc_baremetal_vfw_udp_ixia_correlated_multi_port_template.yaml - dest: ../samples/vnf_samples/nsut/vfw/tc_baremetal_vfw_udp_ixia_correlated_multi_port_{{ num_vnfs }}.yaml + src: ../samples/vnf_samples/nsut/vfw/tc_baremetal_vfw_udp_ixia_correlated_scale_out_template.yaml + dest: ../samples/vnf_samples/nsut/vfw/tc_baremetal_vfw_udp_ixia_correlated_scale_out_{{ num_vnfs }}.yaml - template: - src: ../samples/vnf_samples/nsut/vfw/vfw-tg-topology-ixia-correlated-multi-port.yaml - dest: ../samples/vnf_samples/nsut/vfw/vfw-tg-topology-ixia-correlated-multi-port-{{ num_vnfs }}.yaml + src: ../samples/vnf_samples/nsut/vfw/vfw-tg-topology-ixia-correlated-scale-out.yaml + dest: ../samples/vnf_samples/nsut/vfw/vfw-tg-topology-ixia-correlated-scale-out-{{ num_vnfs }}.yaml - template: - src: ../samples/vnf_samples/nsut/acl/tc_baremetal_acl_udp_ixia_correlated_multi_port_template.yaml - dest: ../samples/vnf_samples/nsut/acl/tc_baremetal_acl_udp_ixia_correlated_multi_port_{{num_vnfs}}.yaml + src: ../samples/vnf_samples/nsut/acl/tc_baremetal_acl_udp_ixia_correlated_scale_out_template.yaml + dest: ../samples/vnf_samples/nsut/acl/tc_baremetal_acl_udp_ixia_correlated_scale_out_{{num_vnfs}}.yaml - template: - src: ../samples/vnf_samples/nsut/acl/acl-tg-topology-ixia-correlated-multi-port.yaml - dest: ../samples/vnf_samples/nsut/acl/acl-tg-topology-ixia-correlated-multi-port-{{ num_vnfs }}.yaml + src: ../samples/vnf_samples/nsut/acl/acl-tg-topology-ixia-correlated-scale-out.yaml + dest: ../samples/vnf_samples/nsut/acl/acl-tg-topology-ixia-correlated-scale-out-{{ num_vnfs }}.yaml - template: - src: ../samples/vnf_samples/nsut/cgnapt/tc_baremetal_cgnapt_udp_ixia_correlated_multi_port_template.yaml - dest: ../samples/vnf_samples/nsut/cgnapt/tc_baremetal_cgnapt_udp_ixia_correlated_multi_port_{{num_vnfs}}.yaml + src: ../samples/vnf_samples/nsut/cgnapt/tc_baremetal_cgnapt_udp_ixia_correlated_scale_out_template.yaml + dest: ../samples/vnf_samples/nsut/cgnapt/tc_baremetal_cgnapt_udp_ixia_correlated_scale_out_{{num_vnfs}}.yaml - template: - src: ../samples/vnf_samples/nsut/cgnapt/cgnapt-tg-topology-ixia-correlated-multi-port.yaml - dest: ../samples/vnf_samples/nsut/cgnapt/cgnapt-tg-topology-ixia-correlated-multi-port-{{ num_vnfs }}.yaml + src: ../samples/vnf_samples/nsut/cgnapt/cgnapt-tg-topology-ixia-correlated-scale-out.yaml + dest: ../samples/vnf_samples/nsut/cgnapt/cgnapt-tg-topology-ixia-correlated-scale-out-{{ num_vnfs }}.yaml diff --git a/ansible/install.yaml b/ansible/install.yaml index 079c65d31..084cdcef3 100644 --- a/ansible/install.yaml +++ b/ansible/install.yaml @@ -63,8 +63,8 @@ - role: set_package_installer_proxy when: proxy_env is defined and proxy_env # can't update grub in chroot/docker - # ?? - enable_iommu_on_boot - enable_hugepages_on_boot + - enable_iommu_on_boot # needed for collectd plugins - increase_open_file_limits - install_image_dependencies diff --git a/ansible/library/fetch_url_and_verify.py b/ansible/library/fetch_url_and_verify.py index 6c5c0a8c2..13e8608b2 100644 --- a/ansible/library/fetch_url_and_verify.py +++ b/ansible/library/fetch_url_and_verify.py @@ -13,6 +13,8 @@ # See the License for the specific language governing permissions and # limitations under the License. +# pylint: disable-all + DOCUMENTATION = ''' --- module: fetch_url_and_verify @@ -42,6 +44,7 @@ def main(): dest = params['dest'] sha256url = params['sha256url'] retries = params['retries'] + sha256line = '' image_dir, image_filename = os.path.split(dest) rc, stdout, stderr = module.run_command(['curl', '-sS', sha256url]) @@ -59,7 +62,7 @@ def main(): module.exit_json(changed=False, dest=dest, url=url, sha256sum=sha256sum) - for retry in range(retries): + for _ in range(retries): curl_rc, stdout, stderr = module.run_command( ['curl', '-sS', '-o', dest, url], cwd=image_dir) if curl_rc == 0: @@ -74,7 +77,7 @@ def main(): # <<INCLUDE_ANSIBLE_MODULE_COMMON>> -from ansible.module_utils.basic import * # noqa +from ansible.module_utils.basic import * if __name__ == '__main__': main() diff --git a/ansible/multi_port_baremetal_ixia_test_templates.yml b/ansible/multi_port_baremetal_ixia_test_templates.yml index f2e04a2d1..832f025a1 100644 --- a/ansible/multi_port_baremetal_ixia_test_templates.yml +++ b/ansible/multi_port_baremetal_ixia_test_templates.yml @@ -15,6 +15,10 @@ - set_fact: num_vnfs: "{{ item }}" +- file: + path: /etc/yardstick/nodes + state: directory + - debug: var: num_vnfs verbosity: 2 @@ -25,15 +29,15 @@ - template: src: ../etc/yardstick/nodes/standalone/ixia_template.yaml - dest: /etc/yardstick/nodes/ixia_{{ num_vnfs }}.yaml + dest: /etc/yardstick/nodes/baremetal_ixia_{{ num_vnfs }}.yaml - template: src: ../etc/yardstick/nodes/standalone/pod_bm_vnf.yaml dest: /etc/yardstick/nodes/pod_bm_vnf_{{num_vnfs}}.yaml - template: - src: ../samples/vnf_samples/nsut/vfw/tc_baremetal_vfw_rfc2544_template.yaml - dest: ../samples/vnf_samples/nsut/vfw/tc_baremetal_vfw_rfc2544_{{ num_vnfs }}.yaml + src: ../samples/vnf_samples/nsut/vfw/tc_baremetal_vfw_rfc2544_ixia_template.yaml + dest: ../samples/vnf_samples/nsut/vfw/tc_baremetal_vfw_rfc2544_ixia_{{ num_vnfs }}.yaml - template: src: ../samples/vnf_samples/nsut/vfw/vfw-tg-topology-ixia-multi-port.yaml @@ -45,7 +49,7 @@ - template: src: ../samples/vnf_samples/nsut/acl/acl-tg-topology-ixia-multi-port.yaml - dest: ../samples/vnf_samples/nsut/acl/acl-tg-topology-multi-port-ixia-{{ num_vnfs }}.yaml + dest: ../samples/vnf_samples/nsut/acl/acl-tg-topology-ixia-multi-port-{{ num_vnfs }}.yaml - template: src: ../samples/vnf_samples/traffic_profiles/ipv4_throughput-cgnapt-scale-out.yaml diff --git a/ansible/multi_port_baremetal_test_templates.yml b/ansible/multi_port_baremetal_test_templates.yml index 4b905f8c7..2d0259364 100644 --- a/ansible/multi_port_baremetal_test_templates.yml +++ b/ansible/multi_port_baremetal_test_templates.yml @@ -15,6 +15,10 @@ - set_fact: num_vnfs: "{{ item }}" +- file: + path: /etc/yardstick/nodes + state: directory + - debug: var: num_vnfs verbosity: 2 @@ -40,8 +44,8 @@ dest: ../samples/vnf_samples/nsut/vfw/vfw-tg-topology-multi-port-{{ num_vnfs }}.yaml - template: - src: ../samples/vnf_samples/nsut/acl/tc_baremetal_vfw_rfc2544_template.yaml - dest: ../samples/vnf_samples/nsut/acl/tc_baremetal_vfw_rfc2544_{{ num_vnfs }}.yaml + src: ../samples/vnf_samples/nsut/acl/tc_baremetal_acl_rfc2544_template.yaml + dest: ../samples/vnf_samples/nsut/acl/tc_baremetal_acl_rfc2544_{{ num_vnfs }}.yaml - template: src: ../samples/vnf_samples/nsut/acl/acl-tg-topology-multi-port.yaml @@ -52,8 +56,8 @@ dest: ../samples/vnf_samples/traffic_profiles/ipv4_throughput-cgnapt-{{ num_vnfs }}.yaml - template: - src: ../samples/vnf_samples/nsut/cgnapt/tc_baremetal_vfw_rfc2544_template.yaml - dest: ../samples/vnf_samples/nsut/cgnapt/tc_baremetal_vfw_rfc2544_{{ num_vnfs }}.yaml + src: ../samples/vnf_samples/nsut/cgnapt/tc_baremetal_cgnapt_rfc2544_template.yaml + dest: ../samples/vnf_samples/nsut/cgnapt/tc_baremetal_cgnapt_rfc2544_{{ num_vnfs }}.yaml - template: src: ../samples/vnf_samples/nsut/cgnapt/cgnapt-tg-topology-multi-port.yaml diff --git a/ansible/roles/barometer_collectd/tasks/main.yaml b/ansible/roles/barometer_collectd/tasks/main.yaml new file mode 100644 index 000000000..c06540c3f --- /dev/null +++ b/ansible/roles/barometer_collectd/tasks/main.yaml @@ -0,0 +1,40 @@ +#Copyright 2018 OPNFV and Intel Corporation +# +# 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. +--- + +- name: Remove barometer-collectd container + docker_container: + name: barometer-collectd + state: absent + +- name: Remove barometer-collectd image + docker_image: + name: opnfv/barometer-collectd + state: absent + +- name: Prepare collectd container + docker_container: + name: barometer-collectd + image: opnfv/barometer-collectd + volumes: + - /opt/collectd/etc/collectd.conf.d/:/opt/collectd/etc/collectd.conf.d + - /var/run:/var/run + - /tmp:/tmp + - /var/lib/collectd:/var/lib/collectd + command: "/run_collectd.sh" + detach: yes + state: present + restart: no + privileged: yes + network_mode: host diff --git a/ansible/roles/docker/tasks/Debian.yml b/ansible/roles/docker/tasks/Debian.yml index 7f998de45..a03040d88 100644 --- a/ansible/roles/docker/tasks/Debian.yml +++ b/ansible/roles/docker/tasks/Debian.yml @@ -14,3 +14,19 @@ --- - name: Install docker.io action: "{{ ansible_pkg_mgr }} name=docker.io state=present force=yes" + + - name: Update package manager cache + tags: + - cache_update + package: + update_cache: yes + + - name: Install python-pip + package: + name: python-pip + state: present + + - name: Install docker-py + pip: + name: docker-py + state: present diff --git a/ansible/roles/enable_iommu_on_boot/tasks/main.yml b/ansible/roles/enable_iommu_on_boot/tasks/main.yml index 1b98a50b1..e406fcc1e 100644 --- a/ansible/roles/enable_iommu_on_boot/tasks/main.yml +++ b/ansible/roles/enable_iommu_on_boot/tasks/main.yml @@ -1,4 +1,4 @@ -# Copyright (c) 2017 Intel Corporation +# Copyright (c) 2017-2018 Intel Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -22,41 +22,45 @@ iommu_boot_params: ' amd_iommu=on iommu=pt' when: hostvars[inventory_hostname]['ansible_system_vendor'] == "AuthenticAMD" -- name: Set facts for this role +- name: Define grub string for IOMMU set_fact: - hugepages_help_string: ' # added by hugepages role' - iommu_help_string: ', added by iommu role' - hugepages_params: " default_hugepagesz=1G hugepagesz=1G hugepages=8" - iommu_original_kernel_params: 'GRUB_CMDLINE_LINUX="\$GRUB_CMDLINE_LINUX{{ hugepages_params }}' - iommu_enabled_kernel_params: '{{ iommu_original_kernel_params }}{{ iommu_boot_params }}"' - iommu_enabled_kernel_params_with_help: '{{ iommu_original_kernel_params }}{{ iommu_boot_params }}"{{ hugepages_help_string }}{{ iommu_help_string }}' + enable_iommu: 'GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX{{ iommu_boot_params }}' -- name: check if iommu is set by this role in /etc/default/grub +- name: check if iommu is set by this role in {{ grub_file}} lineinfile: - path: /etc/default/grub - line: '{{ iommu_enabled_kernel_params_with_help }}' - #changed_when: no + path: "{{ grub_file}}" + regexp: '{{ iommu_help_string }}' + line: '{{ iommu_help_string }}' + state: absent check_mode: yes - register: is_mine_iommu_etc_grub + register: is_nsb_iommu_role ignore_errors: True -- name: check if iommu is set by someone else - command: "grep -o 'iommu' /etc/default/grub" +- name: Check if IOMMU is set by someone else + lineinfile: + path: "{{ grub_file}}" + regexp: "_iommu=" + line: '{{ iommu_help_string }}' + state: absent + check_mode: yes register: is_iommu ignore_errors: True -- fail: - msg: "Iommu already set by someone else" - when: is_mine_iommu_etc_grub.changed == false and is_iommu.stdout != "" +- name: Send info that IOMMU is configured by someone else + debug: + msg: "INFO: NOT modified, IOMMU is already configured by someone." + when: + - not is_nsb_iommu_role.changed + - is_iommu.changed -- name: 'Configure iommu in /etc/default/grub' -# and /boot/grub/grub.cfg(when: ansible_distribution == "Ubuntu")' +- name: Add IOMMU when it is not set lineinfile: - path: /etc/default/grub - regexp: '({{ iommu_original_kernel_params }})"{{ hugepages_help_string }}' - line: '\1{{ iommu_boot_params }}"{{ hugepages_help_string }}{{ iommu_help_string }}' - backrefs: yes - when: is_mine_iommu_etc_grub.changed == true + path: "{{ grub_file }}" + regexp: "{{ iommu_help_string }}" + line: '{{ enable_iommu }}" {{ iommu_help_string }}' + when: + - not is_nsb_iommu_role.changed + - not is_iommu.changed - name: find boot grub.cfg find: diff --git a/ansible/roles/enable_iommu_on_boot/tasks/manual_modify_grub.yml b/ansible/roles/enable_iommu_on_boot/tasks/manual_modify_grub.yml index 6760c3f9d..e0c880912 100644 --- a/ansible/roles/enable_iommu_on_boot/tasks/manual_modify_grub.yml +++ b/ansible/roles/enable_iommu_on_boot/tasks/manual_modify_grub.yml @@ -1,4 +1,4 @@ -# Copyright (c) 2017 Intel Corporation +# Copyright (c) 2017-2018 Intel Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -12,14 +12,12 @@ # See the License for the specific language governing permissions and # limitations under the License. --- - - - name: check if iommu is set by this role in /boot grub.cfg files lineinfile: path: "{{ item.path }}" - regexp: '{{ hugepages_params }}{{ iommu_boot_params }}' - line: '' - #changed_when: no + regexp: '{{ iommu_boot_params }}' + line: '{{ iommu_boot_params }}' + state: absent check_mode: yes register: is_mine_iommu_boot_grub ignore_errors: True @@ -29,6 +27,6 @@ path: "{{ item.path }}" regexp: '(.*linux\s+/boot/vmlinuz.*)$' replace: '\1{{ iommu_boot_params }}' - when: is_mine_iommu_boot_grub.msg != "line replaced" + when: not is_mine_iommu_boot_grub.changed - debug: var=ansible_kernel diff --git a/ansible/roles/enable_iommu_on_boot/vars/main.yml b/ansible/roles/enable_iommu_on_boot/vars/main.yml index 1b642dcb5..d2575ffd6 100644 --- a/ansible/roles/enable_iommu_on_boot/vars/main.yml +++ b/ansible/roles/enable_iommu_on_boot/vars/main.yml @@ -1,4 +1,4 @@ -# Copyright (c) 2017 Intel Corporation +# Copyright (c) 2017-2018 Intel Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -12,6 +12,8 @@ # See the License for the specific language governing permissions and # limitations under the License. --- +grub_file: "/etc/default/grub" +iommu_help_string: ' # added by Yardstick ansible iommu role' update_grub: Debian: "update-grub2" RedHat: "grub2-mkconfig -o /boot/grub2/grub.cfg" diff --git a/ansible/ubuntu_server_baremetal_deploy_samplevnfs.yml b/ansible/ubuntu_server_baremetal_deploy_samplevnfs.yml index 3a29a8a90..84e1f9adf 100644 --- a/ansible/ubuntu_server_baremetal_deploy_samplevnfs.yml +++ b/ansible/ubuntu_server_baremetal_deploy_samplevnfs.yml @@ -24,6 +24,7 @@ when: proxy_env is defined and proxy_env # can't update grub in chroot/docker - enable_hugepages_on_boot + - enable_iommu_on_boot # needed for collectd plugins - increase_open_file_limits - install_image_dependencies @@ -54,3 +55,5 @@ - install_pmu_tools - download_collectd - install_collectd + - docker + - barometer_collectd |