summaryrefslogtreecommitdiffstats
path: root/deploy/adapters/ansible/roles/config-osa/files/setup-ovs.yml
blob: 9f65cd5dc281c0b5f2f2daf028f3f07e5b90b834 (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
# #############################################################################
# Copyright (c) 2017 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: Installation and setup of Neutron
  hosts: neutron_openvswitch_agent
  gather_facts: "{{ gather_facts | default(True) }}"
  max_fail_percentage: 20
  user: root
  tasks:
    - name: stop neutron-openvswitch-agent
      service:
        name: neutron-openvswitch-agent
        state: stopped

    # yamllint disable rule:line-length
    - name: change the openvswitch_agent.ini
      lineinfile:
        dest: /etc/neutron/plugins/ml2/openvswitch_agent.ini
        insertafter: '^bridge_mappings'
        line: "local_ip = {{ hostvars[inventory_hostname]['container_networks']['tunnel_address']['address'] }}"
      when:
        - inventory_hostname not in groups['nova_compute']

    - name: change the openvswitch_agent.ini
      lineinfile:
        dest: /etc/neutron/plugins/ml2/openvswitch_agent.ini
        regexp: '^bridge_mappings'
        insertafter: '^bridge_mappings'
        line: "local_ip = {{hostvars[inventory_hostname]['ansible_br_vxlan']['ipv4']['address']}}"
      notify:
        - Restart neutron-openvswitch-agent
      when:
        - inventory_hostname in groups['nova_compute']
    # yamllint enable rule:line-length

    - name: Setup br-provider
      openvswitch_bridge:
        bridge: br-provider
        state: present
      notify:
        - Restart neutron-openvswitch-agent
      when:
        - inventory_hostname not in groups['nova_compute']

    - name: Add port to br-provider
      openvswitch_port:
        bridge: br-provider
        port: "eth12"
        state: present
      notify:
        - Restart neutron-openvswitch-agent
      when:
        - inventory_hostname not in groups['nova_compute']

  handlers:
    - name: Restart neutron-openvswitch-agent
      service:
        name: neutron-openvswitch-agent
        state: restarted