diff options
Diffstat (limited to 'ansible')
12 files changed, 118 insertions, 74 deletions
diff --git a/ansible/install.yaml b/ansible/install.yaml index 084cdcef3..d181c5ffd 100644 --- a/ansible/install.yaml +++ b/ansible/install.yaml @@ -39,7 +39,7 @@ - { role: configure_gui, when: installation_mode != inst_mode_container_pull } - { role: download_trex, when: installation_mode != inst_mode_container_pull } - { role: install_trex, when: installation_mode != inst_mode_container_pull } - - { role: configure_rabbitmq, when: installation_mode != inst_mode_container_pull } + - { role: configure_rabbitmq, when: installation_mode == inst_mode_baremetal } post_tasks: @@ -56,6 +56,8 @@ - name: Prepare baremetal and standalone servers hosts: yardstick-baremetal,yardstick-standalone become: yes + vars_files: + - roles/download_dpdk/defaults/main.yml environment: "{{ proxy_env }}" roles: @@ -69,15 +71,18 @@ - increase_open_file_limits - install_image_dependencies - role: download_dpdk - # dpdk_version: "17.02" + dpdk_version: "{{ dpdk_version_for_PROX }}" + - role: install_dpdk + dpdk_version: "{{ dpdk_version_for_PROX }}" + - download_samplevnfs + - role: install_samplevnf + vnf_name: PROX + - download_dpdk - install_dpdk - download_trex - install_trex - download_civetweb - install_civetweb - - download_samplevnfs - - role: install_samplevnf - vnf_name: PROX - role: install_samplevnf vnf_name: UDP_Replay - role: install_samplevnf @@ -95,9 +100,12 @@ - install_pmu_tools - download_collectd - install_collectd + - docker + - barometer_collectd -- hosts: jumphost +- name: Prepare to build VM + hosts: jumphost become: yes vars: img_prop_item: "{{ IMG_PROPERTY }}" @@ -111,7 +119,8 @@ when: installation_mode != inst_mode_container -- hosts: chroot_image +- name: Build VM in chroot + hosts: chroot_image connection: chroot become: yes vars: @@ -126,7 +135,8 @@ when: installation_mode != inst_mode_container -- hosts: jumphost +- name: Clear up after VM is built + hosts: jumphost become: yes tasks: @@ -137,11 +147,33 @@ when: installation_mode != inst_mode_container -- name: start yardstick container on jumphost +- hosts: jumphost + vars_files: + - yardstick_config.yml + + roles: + - { role: convert_openrc, when: openrc_file is defined } + + +- name: Add OpenStack variables, image + hosts: jumphost + vars_files: + - yardstick_config.yml + environment: + "{{ openrc }}" + + roles: + - { role: clean_images, when: openrc_file is defined } + - { role: clean_flavors, when: openrc_file is defined } + - { role: create_samplevnfs_image, when: openrc_file is defined } + + +- name: Start yardstick container on jumphost hosts: jumphost tasks: - - include_role: + - name: Install docker needed to pull Yardstick container + include_role: name: docker when: installation_mode == inst_mode_container_pull diff --git a/ansible/roles/build_yardstick_image/tasks/cloudimg_modify_nsb.yml b/ansible/roles/build_yardstick_image/tasks/cloudimg_modify_nsb.yml index 9a70ff39a..c9e386346 100644 --- a/ansible/roles/build_yardstick_image/tasks/cloudimg_modify_nsb.yml +++ b/ansible/roles/build_yardstick_image/tasks/cloudimg_modify_nsb.yml @@ -52,14 +52,21 @@ - install_image_dependencies - enable_hugepages_on_boot # can't update grub in chroot/docker - increase_open_file_limits # needed for collectd plugins - - download_dpdk - - install_dpdk - download_trex - install_trex - - download_pktgen - - install_pktgen - download_civetweb - install_civetweb + loop_control: + loop_var: role_item + environment: "{{ proxy_env }}" + +- include_role: + name: "{{ role_item }}" + vars: + dpdk_version: "{{ dpdk_version_for_PROX }}" + with_items: + - download_dpdk + - install_dpdk - download_samplevnfs loop_control: loop_var: role_item @@ -68,6 +75,23 @@ - include_vars: roles/install_dpdk/defaults/main.yml when: INSTALL_BIN_PATH is undefined +- name: Install PROX + include_role: + name: install_samplevnf + vars: + vnf_name: PROX + +- include_role: + name: "{{ role_item }}" + with_items: + - download_dpdk + - install_dpdk + - download_pktgen + - install_pktgen + loop_control: + loop_var: role_item + environment: "{{ proxy_env }}" + - include_vars: roles/download_samplevnfs/defaults/main.yml when: samplevnf_dest is undefined - set_fact: @@ -75,7 +99,6 @@ - include_role: name: install_samplevnf with_items: - - PROX - UDP_Replay - ACL - FW diff --git a/ansible/roles/configure_rabbitmq/tasks/main.yml b/ansible/roles/configure_rabbitmq/tasks/main.yml index 4ff4222dc..3ad60c1ea 100644 --- a/ansible/roles/configure_rabbitmq/tasks/main.yml +++ b/ansible/roles/configure_rabbitmq/tasks/main.yml @@ -12,16 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. --- -- name: Create rabbitmq configuration - template: - src: rabbitmq.config.j2 - dest: /etc/rabbitmq/rabbitmq.config - -- name: Define user definitions file - template: - src: user_definitions.json.j2 - dest: /etc/rabbitmq/definitions.json - - name: Restart rabbitmq service: name: rabbitmq-server @@ -30,5 +20,11 @@ - name: rabbitmqctl start_app shell: rabbitmqctl start_app -- name: Enable management plugin - shell: rabbitmq-plugins enable rabbitmq_management +- name: Configure rabbitmq + rabbitmq_user: + user: yardstick + password: yardstick + configure_priv: .* + read_priv: .* + write_priv: .* + state: present diff --git a/ansible/roles/configure_rabbitmq/templates/rabbitmq.config.j2 b/ansible/roles/configure_rabbitmq/templates/rabbitmq.config.j2 deleted file mode 100644 index 8f07edf5c..000000000 --- a/ansible/roles/configure_rabbitmq/templates/rabbitmq.config.j2 +++ /dev/null @@ -1,5 +0,0 @@ - [
- {rabbitmq_management, [
- {load_definitions, "/etc/rabbitmq/definitions.json"}
- ]}
-].
\ No newline at end of file diff --git a/ansible/roles/configure_rabbitmq/templates/user_definitions.json.j2 b/ansible/roles/configure_rabbitmq/templates/user_definitions.json.j2 deleted file mode 100644 index 7c811f16d..000000000 --- a/ansible/roles/configure_rabbitmq/templates/user_definitions.json.j2 +++ /dev/null @@ -1,23 +0,0 @@ - {
- "users": [{
- "name": "yardstick",
- "password_hash": "XHp9fBOE3vjTEf7ktiUBHqefW2g=",
- "hashing_algorithm": "rabbit_password_hashing_sha256",
- "tags": ""
- }],
- "vhosts": [{
- "name": "/"
- }],
- "permissions": [{
- "user": "yardstick",
- "vhost": "/",
- "configure": ".*",
- "write": ".*",
- "read": ".*"
- }],
- "parameters": [],
- "policies": [],
- "queues": [],
- "exchanges": [],
- "bindings": []
-}
diff --git a/ansible/roles/download_dpdk/defaults/main.yml b/ansible/roles/download_dpdk/defaults/main.yml index 83711881b..b2d959eed 100644 --- a/ansible/roles/download_dpdk/defaults/main.yml +++ b/ansible/roles/download_dpdk/defaults/main.yml @@ -1,11 +1,11 @@ --- dpdk_version: "17.05" +dpdk_version_for_PROX: "18.11" dpdk_url: "http://fast.dpdk.org/rel/dpdk-{{ dpdk_version }}.tar.xz" dpdk_file: "{{ dpdk_url|basename }}" dpdk_unarchive: "{{ dpdk_file|regex_replace('[.]tar[.]xz$', '') }}" dpdk_dest: "{{ clone_dest }}/" -#NOTE(ralonsoh): DPDK > 17.02 are currently unsupported due to prox build issues dpdk_md5: "16.07.2": "md5:4922ea2ec935b64ff5c191fec53344a6" "16.11.7": "md5:c081d113dfd57633e3bc3ebc802691be" @@ -16,3 +16,4 @@ dpdk_md5: "17.11.3": "md5:68ca84ac878011acf44e75d33b46f55b" #unsupported "18.02.2": "md5:75ad6d39b513649744e49c9fcbbb9ca5" #unsupported "18.05": "md5:9fc86367cd9407ff6a8dfea56c4eddc4" #unsupported + "18.11": "md5:04b86f4a77f4f81a7fbd26467dd2ea9f" # Not supported by SampleVNFs except PROX diff --git a/ansible/roles/download_samplevnfs/defaults/main.yml b/ansible/roles/download_samplevnfs/defaults/main.yml index 104f594f5..5ddc9f0f9 100644 --- a/ansible/roles/download_samplevnfs/defaults/main.yml +++ b/ansible/roles/download_samplevnfs/defaults/main.yml @@ -13,4 +13,4 @@ samplevnf_url: "https://git.opnfv.org/samplevnf" samplevnf_dest: "{{ clone_dest }}/samplevnf" -samplevnf_version: "3afd384b7e68a3cd29f4d2cdf39785f8441d0b6f" +samplevnf_version: "47123bfc1b3c0d0b01884aebbce1a3e09ad7ddb0" diff --git a/ansible/roles/install_dependencies_jumphost/tasks/Debian.yml b/ansible/roles/install_dependencies_jumphost/tasks/Debian.yml index 6c3900d26..a229cc1a2 100755 --- a/ansible/roles/install_dependencies_jumphost/tasks/Debian.yml +++ b/ansible/roles/install_dependencies_jumphost/tasks/Debian.yml @@ -91,8 +91,16 @@ - ansible_distribution == 'Ubuntu' - ansible_distribution_major_version|int >= 17 +- name: Uninstall docker as it conflicts with docker-py + pip: + name: + - docker + state: absent + - name: Install required docker-py module pip: - name: docker-py + name: + - docker-py + - shade state: latest environment: "{{ proxy_env }}" diff --git a/ansible/roles/install_dpdk/tasks/main.yml b/ansible/roles/install_dpdk/tasks/main.yml index d1dc2900b..a1a377eb1 100644 --- a/ansible/roles/install_dpdk/tasks/main.yml +++ b/ansible/roles/install_dpdk/tasks/main.yml @@ -20,6 +20,10 @@ # with_fileglob: # - "{{ local_nsb_path }}/patches/dpdk_custom_patch/0*.patch" +- debug: + var: dpdk_version + verbosity: 2 + - name: find kernel for image, (including chroot) find_kernel: kernel: "{{ ansible_kernel }}" @@ -106,6 +110,7 @@ src: "{{ dpdk_path }}/{{ dpdk_make_arch }}/kmod/igb_uio.ko" dest: "{{ dpdk_module_dir }}/igb_uio.ko" remote_src: yes + when: dpdk_version is version(dpdk_version_for_PROX, '>=') - name: run depmod for dpdk_kernel command: depmod "{{ dpdk_kernel }}" @@ -114,20 +119,14 @@ path: "{{ INSTALL_BIN_PATH }}" state: directory -- set_fact: - major: "{{ dpdk_version.split('.')[0] }}" - minor: "{{ dpdk_version.split('.')[1] }}" - -- set_fact: - major_minor_version: "{{ major }}.{{ minor }}" - - name: copy dpdk-devbind.py to correct location copy: - src: "{{ dpdk_devbind_usertools if major_minor_version|float >= 17.02 else dpdk_devbind_tools }}" + src: "{{ dpdk_devbind_usertools if dpdk_version is version('17.02', '>=') else dpdk_devbind_tools }}" dest: "{{ INSTALL_BIN_PATH }}/dpdk-devbind.py" remote_src: yes force: yes mode: 0755 + when: dpdk_version is version(dpdk_version_for_PROX, '>=') - name: make vPE binary command: make -j {{ ansible_processor_vcpus }} @@ -135,6 +134,7 @@ chdir: "{{ dpdk_path }}/examples/ip_pipeline" environment: RTE_SDK: "{{ dpdk_path }}" + when: dpdk_version is version(dpdk_version_for_PROX, '!=') - name: Copy vPE to correct location copy: @@ -143,3 +143,4 @@ remote_src: yes force: yes mode: 0755 + when: dpdk_version is version(dpdk_version_for_PROX, '!=') diff --git a/ansible/roles/install_image_dependencies/defaults/main.yml b/ansible/roles/install_image_dependencies/defaults/main.yml index 7a3f5fa7e..42951bf6d 100644 --- a/ansible/roles/install_image_dependencies/defaults/main.yml +++ b/ansible/roles/install_image_dependencies/defaults/main.yml @@ -29,6 +29,7 @@ install_dependencies: - libxft-dev - libxss-dev - expect + - libnuma-dev RedHat: - bc - fio diff --git a/ansible/ubuntu_server_baremetal_deploy_samplevnfs.yml b/ansible/ubuntu_server_baremetal_deploy_samplevnfs.yml index 84e1f9adf..4f4d7d075 100644 --- a/ansible/ubuntu_server_baremetal_deploy_samplevnfs.yml +++ b/ansible/ubuntu_server_baremetal_deploy_samplevnfs.yml @@ -15,6 +15,8 @@ - hosts: yardstick-standalone:jumphost vars: clone_dir: /tmp/yardstick-clone + vars_files: + - roles/download_dpdk/defaults/main.yml environment: "{{ proxy_env }}" @@ -28,16 +30,19 @@ # needed for collectd plugins - increase_open_file_limits - install_image_dependencies - - role: download_dpdk -# dpdk_version: "17.02" - - install_dpdk - download_trex - install_trex - download_civetweb - install_civetweb + - role: download_dpdk + dpdk_version: "{{ dpdk_version_for_PROX }}" + - role: install_dpdk + dpdk_version: "{{ dpdk_version_for_PROX }}" - download_samplevnfs - role: install_samplevnf vnf_name: PROX + - download_dpdk + - install_dpdk - role: install_samplevnf vnf_name: UDP_Replay - role: install_samplevnf diff --git a/ansible/ubuntu_server_cloudimg_modify_samplevnfs.yml b/ansible/ubuntu_server_cloudimg_modify_samplevnfs.yml index b27933bd1..d894c3dc4 100644 --- a/ansible/ubuntu_server_cloudimg_modify_samplevnfs.yml +++ b/ansible/ubuntu_server_cloudimg_modify_samplevnfs.yml @@ -16,6 +16,8 @@ connection: chroot vars: clone_dir: /tmp/yardstick-clone + vars_files: + - roles/download_dpdk/defaults/main.yml pre_tasks: - debug: @@ -35,18 +37,21 @@ - increase_open_file_limits - modify_cloud_config - install_image_dependencies - - role: download_dpdk -# dpdk_version: "17.02" - - install_dpdk - download_trex - install_trex - - download_pktgen - - install_pktgen - download_civetweb - install_civetweb + - role: download_dpdk + dpdk_version: "{{ dpdk_version_for_PROX }}" + - role: install_dpdk + dpdk_version: "{{ dpdk_version_for_PROX }}" - download_samplevnfs - role: install_samplevnf vnf_name: PROX + - download_dpdk + - install_dpdk + - download_pktgen + - install_pktgen - role: install_samplevnf vnf_name: UDP_Replay - role: install_samplevnf |