aboutsummaryrefslogtreecommitdiffstats
path: root/docs/testing/user/userguide/opnfv_yardstick_tc074.rst
AgeCommit message (Expand)AuthorFilesLines
2018-10-30[docs] Fix docs {un,}indent warnings in Testcase definitionsEmma Foley1-2/+8
2018-10-03Adds option parameters to TC074Ameed Ashour1-0/+11
2018-08-10Disk Initialization and Custom Workloadmbeierl1-19/+53
2017-03-08Yardstick Preliminary Documentationrexlee87761-0/+137
/a> 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 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267
##############################################################################
# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
---

- name: install controller  packages
  action: "{{ ansible_pkg_mgr }} name={{ item }} state=present"
  with_items: controller_packages | union(controller_packages_noarch)

- name: get image http server
  shell: awk -F'=' '/compass_server/ {print $2}' /etc/compass.conf
  register: http_server

- name: download oracle-jdk8 package file
  get_url: url="http://{{ http_server.stdout_lines[0] }}/packages/onos/{{ jdk8_pkg_name }}"  dest=/opt/{{ jdk8_pkg_name }}

#"

- name: upload install_jdk8 scripts
  unarchive: src=install_jdk8.tar dest=/opt/

- name: install install_jdk8 package
  command: su -s /bin/sh -c "/opt/install_jdk8/install_jdk8.sh"

#- name: install opendaylight packages
#  apt: name={{ item }} state=present
#  with_items:
#    - openjdk-8-jdk

#- name: create odl directories
#  file:
#    path: /opt/opendaylight-0.2.2
#    state: "directory"
#    group: root
#    owner: root
#    mode: 0755

- name: create odl group
  group: name=odl system=yes state=present

- name: create odl user
  user:
    name: odl
    group: odl
    home: "{{ odl_home }}"
    createhome: "yes"
    system: "yes"
    shell: "/bin/false"

#- name: get image http server
#  shell: awk -F'=' '/compass_server/ {print $2}' /etc/compass.conf
#  register: http_server

- name: download odl package
  get_url: url="http://{{ http_server.stdout_lines[0] }}/packages/odl/{{ odl_pkg_url }}"  dest=/opt/{{ odl_pkg_name }}

# "

#- name: download odl package
#  get_url: url={{ odl_pkg_url }} dest=/opt/{{ odl_pkg_name }}

# TODO: unarchive doesn't support strip-component at the moment
# TODO: switch to use untar after support is added.
- name: extract odl package
#  unarchive: src=/opt/{{ odl_pkg_name }} dest={{ odl_home }} group=odl owner=odl mode=0775 copy=no
  command: su -s /bin/sh -c "tar xzf /opt/{{ odl_pkg_name }} -C {{ odl_home }} --strip-components 1 --no-overwrite-dir -k --skip-old-files" odl
#  notify:
#    - restart odl service

- name: opendaylight system file
  template:
    src: "{{ service_file.src }}"
    dest: "{{ service_file.dst }}"
    mode: 0755

- name: set l3 fwd enable in custom.properties
  template:
    src: custom.properties
    dest: "{{ odl_home }}/etc/custom.properties"
    owner: odl
    group: odl
    mode: 0775
  when: odl_l3_agent == "Enable"

- name: create karaf config
  template:
    src: org.apache.karaf.features.cfg
    dest: "{{ odl_home }}/etc/org.apache.karaf.features.cfg"
    owner: odl
    group: odl
    mode: 0775

- name: create tomcat config
  template:
    src: tomcat-server.xml
    dest: "{{ odl_home }}/configuration/tomcat-server.xml"

- name: download odl pip package
  get_url: url="http://{{ http_server.stdout_lines[0] }}/pip/{{ networking_odl_pkg_name }}"  dest=/opt/{{ networking_odl_pkg_name }}

#"

- name: patch odl pip package
  shell: |
    cd /opt
    tar xf /opt/{{ networking_odl_pkg_name }}
    rm -rf /opt/{{ networking_odl_pkg_name }}
    sed -i 's/^neutron-lib.*/neutron-lib/' networking-odl-2.0.0/requirements.txt
    tar zcf /opt/{{ networking_odl_pkg_name }} networking-odl-2.0.0
    rm -rf networking-odl-2.0.0
    cd -

- name: odl pip package install
  shell: |
    cd /opt
    pip install {{ networking_odl_pkg_name }}
    rm -rf {{ networking_odl_pkg_name }}
    cd -

#- name: restart odl service
#  service: name=opendaylight state=started pattern="opendaylight"

##########################################################################################################
#################################   OpenDayLight Cluster Configuration   #################################
##########################################################################################################
#- name: create initial directory
#  shell: >
#    mkdir -p {{ odl_home }}/configuration/initial;

#- name: create akka config
#  template:
#    src: akka.conf
#    dest: "{{ odl_home }}/configuration/initial/akka.conf"
#  notify:
#    - restart odl service


#- name: create module-shards config
#  template:
#    src: module-shards.conf
#    dest: "{{ odl_home }}/configuration/initial/module-shards.conf"
#  notify:
#    - restart odl service

#- name: copy Jolokia-OSGi config
#  shell: >
#    cp -r jolokia {{ odl_home }}system/org/;

#- name: copy Jolokia-OSGi config
#  template:
#    src: jolokia
#    dest: "{{ odl_home }}/system/org/"
#  notify:
#    - restart odl service


#- name: mkdir Jolokia-OSGi directory
#  shell: >
#     mkdir -p {{ odl_home }}system/org/jolokia;
#     mkdir -p {{ odl_home }}system/org/jolokia/jolokia-osgi;
#     mkdir -p {{ odl_home }}system/org/jolokia/jolokia-osgi/1.1.5;


#- name: copy Jolokia-OSGi config
#  template: src={{ item.src }} dest={{ item.dest }}
#  with_items:
#      - src: "jolokia-osgi-1.1.5-features.xml"
#        dest: "{{ odl_home }}/system/org/jolokia/jolokia-osgi/1.1.5/jolokia-osgi-1.1.5-features.xml"
#      - src: "jolokia-osgi-1.1.5.jar.sha1"
#        dest: "{{ odl_home }}/system/org/jolokia/jolokia-osgi/1.1.5/jolokia-osgi-1.1.5.jar.sha1"
#      - src: "jolokia-osgi-1.1.5.jar"
#        dest: "{{ odl_home }}/system/org/jolokia/jolokia-osgi/1.1.5/jolokia-osgi-1.1.5.jar"

#- name: copy Jolokia-OSGi jar config
#  copy: src=roles/odl_cluster/templates/jolokia-osgi-1.1.5.jar  dest="{{ odl_home }}/system/org/jolokia/jolokia-osgi/1.1.5/"

- name: remove karaf data directory
  shell: rm -rf {{ odl_home }}/data/*;

#- name: chown OpenDaylight Directory and Files
#  shell: >
#    chown -R odl:odl "{{ odl_home }}";
#    chown odl:odl "{{ service_file.dst }}";


##########################################################################################################
################################    OpenDayLight connect with OpenStack   ################################
##########################################################################################################
- name: turn off neutron-server neutron-plugins-openvswitch-agent Daemon on control node
  shell: >
    sed -i '/{{ service_ovs_agent_name }}/d' /opt/service ;
    sed -i '/neutron-server/d' /opt/service;
    sed -i '/keepalived/d' /opt/service;

- name: turn off neutron-server on control node
  service: name=neutron-server state=stopped

- name: turn off keepalived on control node
  service: name=keepalived state=stopped
  when: ansible_os_family == "Debian"

- name: chown opendaylight directory and files
  shell: >
    chown -R odl:odl "{{ odl_home }}";
    chown odl:odl "{{ service_file.dst }}";

- name: start opendaylight
  service: name=opendaylight state=started
  when: ansible_os_family == "Debian"

- name: set opendaylight autostart
  shell: chkconfig opendaylight on
  when: ansible_os_family == "RedHat"

- name: start opendaylight
  shell: service opendaylight start
  when: ansible_os_family == "RedHat"

- name: check if opendaylight running
  shell: netstat -lpen --tcp | grep java |  grep 6653; while [ $? -ne 0 ]; do sleep 10; netstat -lpen --tcp | grep java |  grep 6653; done

- name: run openvswitch script
  include: openvswitch.yml

#- name: Configure Neutron1
#  shell: >
#    crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 mechanism_drivers opendaylight;
#    crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 tenant_network_types vxlan;

#- name: Create ML2 Configuration File
#  template:
#    src: ml2_conf.sh
#    dest: "/opt/ml2_conf.sh"
#    mode: 0777

#- name: Execute ML2 Configuration File
#  command: su -s /bin/sh -c "/opt/ml2_conf.sh;"


- name: configure l2 configuration
  shell: crudini --set /etc/neutron/l3_agent.ini DEFAULT external_network_bridge br-prv;
  when: odl_l3_agent == "Disable"

- name: configure l3 configuration
  shell: crudini --set /etc/neutron/l3_agent.ini DEFAULT external_network_bridge br-ex;
  when: odl_l3_agent == "Enable"

- name: configure odl l3 driver
  shell: crudini --set /etc/neutron/neutron.conf DEFAULT service_plugins networking_odl.l3.l3_odl.OpenDaylightL3RouterPlugin;
  when: odl_l3_agent == "Enable"



- name: drop and recreate neutron database
  shell: mysql -e "drop database if exists neutron;";
         mysql -e "create database neutron character set utf8;";
         mysql -e "grant all on neutron.* to 'neutron'@'%' identified by '{{ NEUTRON_DBPASS }}';";
         su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head" neutron;
  when: inventory_hostname == haproxy_hosts.keys()[0]
  tags:
    - test_odl