summaryrefslogtreecommitdiffstats
path: root/deploy/templates/ericsson/virtual_environment
ModeNameSize
d---------noha96logstatsplain
#n73'>73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163
# 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
#
#      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.
---
- hosts: jumphost
  become: yes
  vars:
    yardstick_dir: "{{ YARDSTICK_DIR | default('/home/opnfv/repos/yardstick') }}"
    virtual_environment: "{{ VIRTUAL_ENVIRONMENT | default(False) }}"
    nsb_dir: "{{ NSB_DIR | default('/opt/nsb_bin/') }}"

  pre_tasks:

    - name: Create NSB binaries directory, accessible to any user
      file:
        path: "{{ nsb_dir }}"
        state: directory
        owner: root
        mode: 0777
      when:
        - installation_mode != inst_mode_container_pull

  roles:
    - add_repos_jumphost
    - install_dependencies_jumphost
    - { role: install_yardstick, when: installation_mode != inst_mode_container_pull }
    - { role: configure_uwsgi, when: installation_mode != inst_mode_container_pull }
    - { role: configure_nginx, when: installation_mode != inst_mode_container_pull }
    - { 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_baremetal }


  post_tasks:

    - service:
        name: nginx
        state: restarted
      when: installation_mode == inst_mode_baremetal

    - shell: uwsgi -i /etc/yardstick/yardstick.ini
      when: installation_mode == inst_mode_baremetal


- name: Prepare baremetal and standalone servers
  hosts: yardstick-baremetal,yardstick-standalone
  become: yes
  environment: "{{ proxy_env }}"

  roles:
    - add_custom_repos
    - role: set_package_installer_proxy
      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
    - role: download_dpdk
    # dpdk_version: "17.02"
    - 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
      vnf_name: ACL
    - role: install_samplevnf
      vnf_name: FW
    - role: install_samplevnf
      vnf_name: CGNAPT
    # build shared DPDK for collectd only, required DPDK downloaded already
    - install_dpdk_shared
    - install_rabbitmq
    - download_intel_cmt_cat
    - install_intel_cmt_cat
    - download_pmu_tools
    - install_pmu_tools
    - download_collectd
    - install_collectd


- hosts: jumphost
  become: yes
  vars:
    img_prop_item: "{{ IMG_PROPERTY }}"
    img_arch: "{{ YARD_IMG_ARCH }}"

  tasks:
    - name: Include pre-build
      include_role:
        name: build_yardstick_image
        tasks_from: pre_build.yml
      when: installation_mode != inst_mode_container


- hosts: chroot_image
  connection: chroot
  become: yes
  vars:
    img_property: "{{ IMG_PROPERTY }}"
  environment: "{{ proxy_env }}"

  tasks:
    - name: Include image build
      include_role:
        name: build_yardstick_image
        tasks_from: "cloudimg_modify_{{ img_property }}.yml"
      when: installation_mode != inst_mode_container


- hosts: jumphost
  become: yes

  tasks:
    - name: Include post-build
      include_role:
        name: build_yardstick_image
        tasks_from: post_build.yml
      when: installation_mode != inst_mode_container


- name: start yardstick container on jumphost
  hosts: jumphost

  tasks:
    - include_role:
        name: docker
      when: installation_mode == inst_mode_container_pull

    - name: Start yardstick container
      docker_container:
        name: yardstick
        pull: yes
        recreate: yes
        image: "{{ yardstick_docker_image|default('opnfv/yardstick:latest') }}"
        state: started
        restart_policy: always
        privileged: yes
        interactive: yes
        volumes:
          - "{{ openrc_file|default('/dev/null') }}:/etc/yardstick/openstack.creds:ro"
          - /var/run/docker.sock:/var/run/docker.sock
          - /opt:/opt
          - /etc/localtime:/etc/localtime:ro
      when: installation_mode == inst_mode_container_pull