summaryrefslogtreecommitdiffstats
path: root/ansible/install.yaml
blob: fa8419b535fd85536165338104a307f2a4ce9b47 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
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
# 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:
    installation_mode: "{{ INSTALLATION_MODE | default('baremetal') }}"
    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, accesible to any user
      file:
        path: "{{ nsb_dir }}"
        state: directory
        owner: root
        mode: 0777

  roles:
    - add_repos_jumphost
    - install_dependencies_jumphost
    - install_yardstick
    - configure_uwsgi
    - configure_nginx
    - configure_gui
    - download_trex
    - install_trex
    - configure_rabbitmq

  post_tasks:

    - service:
        name: nginx
        state: restarted
      when: installation_mode != inst_mode_container

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


- 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_iommu_on_boot
    - enable_hugepages_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


- 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"


- hosts: jumphost
  become: yes

  tasks:
    - name: Include post-build
      include_role:
        name: build_yardstick_image
        tasks_from: post_build.yml