aboutsummaryrefslogtreecommitdiffstats
path: root/deploy/adapters/ansible/roles/open-contrail/tasks/provision/provision-toragent.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-toragent.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-toragent.yml')
-rwxr-xr-xdeploy/adapters/ansible/roles/open-contrail/tasks/provision/provision-toragent.yml77
1 files changed, 77 insertions, 0 deletions
diff --git a/deploy/adapters/ansible/roles/open-contrail/tasks/provision/provision-toragent.yml b/deploy/adapters/ansible/roles/open-contrail/tasks/provision/provision-toragent.yml
new file mode 100755
index 00000000..87810732
--- /dev/null
+++ b/deploy/adapters/ansible/roles/open-contrail/tasks/provision/provision-toragent.yml
@@ -0,0 +1,77 @@
+---
+#- hosts: tsn
+# sudo: yes
+# tasks:
+- name: "create temporary directory for ssl files"
+ local_action:
+ module: "file"
+ dest: "/tmp/tmp-toragent-{{ item }}"
+ state: "directory"
+ with_items:
+ - "certs"
+ - "private"
+ run_once: yes
+
+- name: "create ssl files"
+ local_action: "shell openssl req -new -x509 -days 3650 -text -sha256 -newkey rsa:4096 -nodes -subj \"/C=US/ST=Global/O={{ item.1.vendor_name }}/CN={{ ansible_fqdn }}\" -keyout /tmp/tmp-toragent-private/tor.{{ item.0 }}.privkey.pem -out /tmp/tmp-toragent-certs/tor.{{ item.0 }}.cert.pem"
+ with_indexed_items: contrail_tor_agents
+ run_once: yes
+
+- name: "set tor agent list"
+ set_fact:
+ toragent_index: "{{ item.0 }}"
+ toragent_params: "{{ item.1 }}"
+ register: contrail_toragent_list
+ with_indexed_items: contrail_tor_agents
+ when: inventory_hostname in item.1.tsn_names
+
+- name: "fix up tor agent conf"
+ template:
+ src: "templates/contrail-tor-agent-conf.j2"
+ dest: "/etc/contrail/contrail-tor-agent-{{ item.ansible_facts.toragent_index }}.conf"
+ with_items: contrail_toragent_list.results
+
+- name: "fix up tor agent ini"
+ template:
+ src: "provision/contrail-tor-agent-ini.j2"
+ dest: "/etc/contrail/supervisord_vrouter_files/contrail-tor-agent-{{ item.ansible_facts.toragent_index }}.ini"
+ with_items: contrail_toragent_list.results
+
+- name: "copy init script"
+ shell: "cp /etc/init.d/contrail-vrouter-agent /etc/init.d/contrail-tor-agent-{{ item.ansible_facts.toragent_index }}"
+ with_items: contrail_toragent_list.results
+
+- name: "copy ssl certs"
+ copy:
+ src: "/tmp/tmp-toragent-certs/tor.{{ item.ansible_facts.toragent_index }}.cert.pem"
+ dest: "/etc/contrail/ssl/certs/tor.{{ item.ansible_facts.toragent_index }}.cert.pem"
+ with_items: contrail_toragent_list.results
+
+- name: "copy ssl private"
+ copy:
+ src: "/tmp/tmp-toragent-private/tor.{{ item.ansible_facts.toragent_index }}.privkey.pem"
+ dest: "/etc/contrail/ssl/private/tor.{{ item.ansible_facts.toragent_index }}.privkey.pem"
+ with_items: contrail_toragent_list.results
+
+- name: "copy ca cert"
+ copy:
+ src: "files/cacert.pem"
+ dest: "/etc/contrail/ssl/certs/cacert.pem"
+
+- name: "delete temporary directory"
+ local_action:
+ module: "file"
+ dest: "/tmp/tmp-toragent-{{ item }}"
+ state: "absent"
+ with_items:
+ - "certs"
+ - "private"
+ run_once: yes
+
+- name: "add tor agent 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 }}-{{ item.ansible_facts.toragent_index }} --host_ip {{ contrail_address }} --router_type tor-agent"
+ with_items: contrail_toragent_list.results
+
+- name: "add device to contrail"
+ shell: "python /opt/contrail/utils/provision_physical_device.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 --device_name {{ item.ansible_facts.toragent_params.name }} --vendor_name {{ item.ansible_facts.toragent_params.vendor_name }} --product_name {{ item.ansible_facts.toragent_params.product_name }} --device_mgmt_ip {{ item.ansible_facts.toragent_params.address }} --device_tunnel_ip {{ item.ansible_facts.toragent_params.tunnel_address }} --device_tor_agent {{ ansible_hostname }}-{{ item.ansible_facts.toragent_index }} --device_tsn {{ ansible_hostname }}"
+ with_items: contrail_toragent_list.results