aboutsummaryrefslogtreecommitdiffstats
path: root/deploy/adapters/ansible/roles/open-contrail/tasks/provision/provision-compute.yml
diff options
context:
space:
mode:
authorchenshuai@huawei.com <chenshuai@huawei.com>2015-11-26 19:39:56 +0800
committerchenshuai@huawei.com <chenshuai@huawei.com>2015-12-02 10:05:25 +0800
commitfd5db7e03c9595c14df71a49e778a3bdda89e344 (patch)
treeb4534b95f5739f49a7238703d4f82f497854af6a /deploy/adapters/ansible/roles/open-contrail/tasks/provision/provision-compute.yml
parent3c48d787b3caa3a12153257abf66e3211109b8f5 (diff)
OpenContrail intergration
JIRA: COMPASS-168 Change-Id: I0fe22568fb28019a0085e8bbf9b600acfa9e8f45 Signed-off-by: chenshuai@huawei.com <chenshuai@huawei.com>
Diffstat (limited to 'deploy/adapters/ansible/roles/open-contrail/tasks/provision/provision-compute.yml')
-rwxr-xr-xdeploy/adapters/ansible/roles/open-contrail/tasks/provision/provision-compute.yml175
1 files changed, 175 insertions, 0 deletions
diff --git a/deploy/adapters/ansible/roles/open-contrail/tasks/provision/provision-compute.yml b/deploy/adapters/ansible/roles/open-contrail/tasks/provision/provision-compute.yml
new file mode 100755
index 00000000..41ea5c25
--- /dev/null
+++ b/deploy/adapters/ansible/roles/open-contrail/tasks/provision/provision-compute.yml
@@ -0,0 +1,175 @@
+---
+#- hosts: compute
+# sudo: yes
+# tasks:
+- name: "enable supervisor vrouter"
+ file:
+ path: "/etc/init/supervisor-vrouter.override"
+ state: "absent"
+
+- include: -node-common.yml
+
+- name: "check cgroup device acl in qemu conf"
+ shell: "grep -q '^\\s*cgroup_device_acl' /etc/libvirt/qemu.conf"
+ register: deviceacl
+ ignore_errors: yes
+ changed_when: no
+
+- name: "create cgroup device acl for qemu conf"
+ template:
+ src: "provision/qemu-device-acl-conf.j2"
+ dest: "/tmp/qemu-device-acl.conf"
+ when: deviceacl | failed
+
+- name: "combination of the qemu configuration"
+ shell: "cat /tmp/qemu-device-acl.conf >> /etc/libvirt/qemu.conf"
+ when: deviceacl | failed
+
+- name: "delete temporary configuration file"
+ file:
+ dest: "/tmp/qemu-device-acl.conf"
+ state: "absent"
+ when: deviceacl | failed
+
+- 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_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_device }}"
+
+- name: "fix up contrail vrouter agent config"
+ template:
+ src: "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_device }}/,$d' /etc/network/interfaces > /tmp/contrail-interfaces-top"
+ - "sed -n -e '/auto {{ contrail_device }}/,$p' /etc/network/interfaces > /tmp/contrail-interfaces-bottom"
+ - "sed -i -e '/auto {{ contrail_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_device }}"
+ - "iface {{ contrail_device }} inet manual"
+ - "\tpre-up ifconfig {{ contrail_device }} up"
+ - "\tpost-down ifconfig {{ contrail_device }} down"
+ - "auto vhost0"
+ - "iface vhost0 inet static"
+ - "\tpre-up /opt/contrail/bin/if-vhost0"
+ - "\tnetwork_name application"
+ - "\taddress {{ contrail_address }}"
+ - "\tnetmask {{ contrail_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: "restart libvirt bin"
+ service:
+ name: "libvirt-bin"
+ state: "restarted"
+
+#- name: "set value of nova to nova config"
+# template:
+# src: "provision/nova.j2"
+# dest: "/etc/nova/nova.conf"
+# when: install_nova
+
+#- name: "delete values from nova config"
+# ini_file:
+# dest: "/etc/nova/nova.conf"
+# section: "{{ item.section }}"
+# option: "{{ item.option }}"
+# with_items:
+# - { section: "DEFAULT", option: "quantum_auth_strategy" }
+# - { section: "DEFAULT", option: "quantum_admin_auth_url" }
+# - { section: "DEFAULT", option: "quantum_admin_tenant_name" }
+# - { section: "DEFAULT", option: "quantum_admin_username" }
+# - { section: "DEFAULT", option: "quantum_admin_password" }
+# - { section: "DEFAULT", option: "quantum_url" }
+
+#- name: "set values of neutron to nova config"
+# ini_file:
+# dest: "/etc/nova/nova.conf"
+# section: "{{ item.section }}"
+# option: "{{ item.option }}"
+# value: "{{ item.value }}"
+# state: "present"
+# with_items:
+# - { section: "DEFAULT", option: "neutron_admin_auth_url", value: "http://{{ contrail_keystone_address }}:5000/v2.0" }
+# - { section: "DEFAULT", option: "neutron_admin_username", value: "neutron" }
+# - { section: "DEFAULT", option: "neutron_admin_password", value: "{{ contrail_admin_password }}" }
+# - { section: "DEFAULT", option: "neutron_admin_tenant_name", value: "service" }
+# - { section: "DEFAULT", option: "neutron_url", value: "http://{{ contrail_haproxy_address }}:9696/" }
+# - { section: "DEFAULT", option: "neutron_url_timeout", value: "300" }
+# - { section: "DEFAULT", option: "network_api_class", value: "nova.network.neutronv2.api.API" }
+# - { section: "DEFAULT", option: "libvirt_vif_driver", value: "nova_contrail_vif.contrailvif.VRouterVIFDriver" }
+
+#- name: "restart nova compute"
+# service:
+# name: "nova-compute"
+# state: "restarted"
+
+#- name: "add vrouter 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 }}"
+#
+#- name: "reboot Server"
+# shell: "shutdown -r now"
+# async: 0
+# poll: 0
+# ignore_errors: true
+# notify: Wait for server to come back
+#
+#handlers:
+#- name: "Wait for server to come back"
+# local_action:
+# module: wait_for
+# host={{ inventory_hostname }}
+# port=22
+# delay=30
+# timeout=600