aboutsummaryrefslogtreecommitdiffstats
path: root/deploy/adapters/ansible/roles/open-contrail/tasks/provision/provision-tsn.yml
blob: 7c46f11ad25253a60889a022c8ef837fa7194f6d (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
---
#- hosts: tsn
#  sudo: yes
#  tasks:

- name: "enable supervisor vrouter"
  file:
    path: "/etc/init/supervisor-vrouter.override"
    state: "absent"

- include: -node-common.yml

- name: "fix up vrouter nodemgr param"
  template:
    src: "provision/vrouter-nodemgr-param.j2"
    dest: "/etc/contrail/vrouter_nodemgr_param"

- name: "set contrail device name for ansible"
  set_fact:
    contrail_ansible_device: "ansible_{{ contrail_vhost_device }}"

- name: "fix up default pmac"
  template:
    src: "provision/default-pmac.j2"
    dest: "/etc/contrail/default_pmac"

- name: "copy agent param config from template"
  shell: "cp /etc/contrail/agent_param.tmpl /etc/contrail/agent_param"

- name: "modify agent param config"
  lineinfile:
    dest: "/etc/contrail/agent_param"
    regexp: "dev=__DEVICE__"
    line: "dev={{ contrail_vhost_device }}"

- name: "set vrouter agent mode"
  set_fact:
    contrail_vrouter_mode: "tsn"

- name: "fix up contrail vrouter agent config"
  template:
    src: "../../templates/provision/contrail-vrouter-agent-conf.j2"
    dest: "/etc/contrail/contrail-vrouter-agent.conf"

- name: "delete lines for contrail interface"
  shell: "{{ item }}"
  with_items:
    - "sed -e '/auto {{ contrail_vhost_device }}/,$d' /etc/network/interfaces > /tmp/contrail-interfaces-top"
    - "sed -n -e '/auto {{ contrail_vhost_device }}/,$p' /etc/network/interfaces > /tmp/contrail-interfaces-bottom"
    - "sed -i -e '/auto {{ contrail_vhost_device }}/d' /tmp/contrail-interfaces-bottom"
    - "sed -i -n -e '/auto .*/,$p' /tmp/contrail-interfaces-bottom"
    - "cat /tmp/contrail-interfaces-top /tmp/contrail-interfaces-bottom > /etc/network/interfaces"

- name: "delete lines for vrouter interface"
  shell: "{{ item }}"
  with_items:
    - "sed -e '/auto vhost0/,$d' /etc/network/interfaces > /tmp/contrail-interfaces-top"
    - "sed -n -e '/auto vhost0/,$p' /etc/network/interfaces > /tmp/contrail-interfaces-bottom"
    - "sed -i -e '/auto vhost0/d' /tmp/contrail-interfaces-bottom"
    - "sed -i -n -e '/auto .*/,$p' /tmp/contrail-interfaces-bottom"
    - "cat /tmp/contrail-interfaces-top /tmp/contrail-interfaces-bottom > /etc/network/interfaces"

- name: "configure interface"
  lineinfile:
    dest: "/etc/network/interfaces"
    line: "{{ item }}"
    state: "present"
  with_items:
    - "auto {{ contrail_vhost_device }}"
    - "iface {{ contrail_vhost_device }} inet manual"
    - "\tpre-up ifconfig {{ contrail_vhost_device }} up"
    - "\tpost-down ifconfig {{ contrail_vhost_device }} down"
    - "auto vhost0"
    - "iface vhost0 inet static"
    - "\tpre-up /opt/contrail/bin/if-vhost0"
    - "\tnetwork_name application"
    - "\taddress {{ contrail_vhost_address }}"
    - "\tnetmask {{ contrail_vhost_netmask }}"

- name: "delete temporary files"
  file:
    dest: "{{ item }}"
    state: "absent"
  with_items:
    - "/tmp/contrail-interfaces-top"
    - "/tmp/contrail-interfaces-bottom"

- name: "fix up contrail vrouter nodemgr config"
  ini_file:
    dest: "/etc/contrail/contrail-vrouter-nodemgr.conf"
    section: "DISCOVERY"
    option: "server"
    value: "{{ contrail_haproxy_address }}"

- name: "add tsn to contrail"
  shell: "python /opt/contrail/utils/provision_vrouter.py --api_server_ip {{ contrail_haproxy_address }} --admin_user {{ contrail_admin_user }} --admin_password {{ contrail_admin_password }} --admin_tenant_name admin --openstack_ip {{ contrail_keystone_address }} --oper add --host_name {{ ansible_hostname }} --host_ip {{ contrail_address }} --router_type tor-service-node"