Skip to content

Commit

Permalink
Deploy contrail-vcenter-manager.
Browse files Browse the repository at this point in the history
Change-Id: Ibbf2c2092a8d62110519db5c54be9a75daa2d086
Depends-On: I370b4843977a04a90afd0aceee2476f6fcb25594
Partial-Bug: #1773813
  • Loading branch information
wurbanski committed May 30, 2018
1 parent 68549ff commit 25f2985
Show file tree
Hide file tree
Showing 5 changed files with 125 additions and 2 deletions.
11 changes: 11 additions & 0 deletions playbooks/roles/build_node_lists/tasks/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,17 @@
- item.value.roles.vcenter_plugin is defined
with_dict: "{{ hostvars['localhost']['instances'] }}"

- set_fact:
vcenter_manager_nodes_list: []

- name: add vcenter_manager nodes to the list
set_fact:
vcenter_manager_nodes_list: "{{ vcenter_manager_nodes_list + [ item.value.private_ip | default(item.value.ip) ] }}"
when:
- item.value.roles is defined
- item.value.roles.vcenter_manager is defined
with_dict: "{{ hostvars['localhost']['instances'] }}"

- set_fact:
tsn_nodes_list: []

Expand Down
81 changes: 81 additions & 0 deletions playbooks/roles/install_contrail/tasks/create_vcenter_manager.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
---
- name: create /etc/contrail/vcenter_manager
file:
path: /etc/contrail/vcenter_manager
state: directory
recurse: yes

- name: set vcenter url if defined
set_fact:
vcenter_server: "{{ contrail_configuration.VCENTER_SERVER }}"
when: contrail_configuration.VCENTER_SERVER is defined

- name: set vcenter port if defined
set_fact:
vcenter_server: "{{ contrail_configuration.VCENTER_SERVER }}"
when: contrail_configuration.VCENTER_PORT is defined

- name: set vcenter username if defined
set_fact:
vcenter_username: "{{ contrail_configuration.VCENTER_USERNAME }}"
when: contrail_configuration.VCENTER_USERNAME is defined

- name: set vcenter password if defined
set_fact:
vcenter_password: "{{ contrail_configuration.VCENTER_PASSWORD }}"
when: contrail_configuration.VCENTER_PASSWORD is defined

- name: set vcenter datacenter if defined
set_fact:
vcenter_datacenter: "{{ contrail_configuration.VCENTER_DATACENTER }}"
when: contrail_configuration.VCENTER_DATACENTER is defined

- name: set esxi datacenter if defined
set_fact:
vcenter_datacenter: "{{ contrail_configuration.VCENTER_DATACENTER }}"
when: contrail_configuration.ESXI is defined


- name: "get /etc/contrail/common_vcmanager.env stat"
stat:
path: "/etc/contrail/common_vcmanager.env"
register: st

- name: "delete /etc/contrail/common_vcmanager.env if exists"
file:
path: "/etc/contrail/common_vcmanager.env"
state: absent
when: st.stat.exists is defined and st.stat.exists

- name: "create /etc/contrail/common_vcmanager.env"
file:
path: "/etc/contrail/common_vcmanager.env"
state: touch

- name: "populate cluster wide common_vcmanager.env"
lineinfile: dest=/etc/contrail/common_vcmanager.env regexp='.*{{ item.key }}$' line="{{ item.key }}={{ item.value }}" state=present
with_dict: "{{ contrail_configuration }}"
no_log: True

- name: "populate pod specific common_vcmanager.env"
lineinfile: dest=/etc/contrail/common_vcmanager.env regexp='.*{{ item.key }}$' line="{{ item.key }}={{ item.value }}" state=present
with_dict: "{{ roles[inventory_hostname].vcenter_manager }} | default ({})"
when: roles[inventory_hostname].vcenter_manager.key is defined
ignore_errors: yes
no_log: True

- name: update image
shell: "docker pull {{ container_registry }}/{{ item }}:{{ contrail_version_tag }}"
with_items:
- contrail-vcenter-manager
when: UPDATE_IMAGES is undefined or UPDATE_IMAGES != false

- name: create contrail vcenter-manager file
template:
src: contrail-vcenter-manager.yaml.j2
dest: /etc/contrail/vcenter_manager/docker-compose.yaml

- name: start contrail vcenter-manager
docker_service:
project_src: /etc/contrail/vcenter_manager

2 changes: 1 addition & 1 deletion playbooks/roles/install_contrail/tasks/eval_node_roles.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
- set_fact:
default_roles: "{{ default_roles|default({})|combine({item.0: item.1}) }}"
with_together:
- ['analytics', 'analytics_database', 'config', 'config_database', 'control', 'vrouter', 'webui', 'vcenter_plugin']
- ['analytics', 'analytics_database', 'config', 'config_database', 'control', 'vrouter', 'webui', 'vcenter_plugin', 'vcenter_manager']
- []
when:
- contrail_configuration.CLOUD_ORCHESTRATOR is defined
Expand Down
10 changes: 9 additions & 1 deletion playbooks/roles/install_contrail/tasks/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -308,7 +308,15 @@
- contrail_configuration.CLOUD_ORCHESTRATOR == 'vcenter'
- roles[instance_name].vcenter_plugin is defined
tags:
- vcenter_plugin
- vcenter

- name: create contrail vcenter-manager
include: create_vcenter_manager.yml
when:
- contrail_configuration.CLOUD_ORCHESTRATOR == 'vcenter'
- roles[instance_name].vcenter_manager is defined
tags:
- vcenter

- name: untaint node
shell: "kubectl taint nodes {{ hostvars[instance.value.ip]['ansible_fqdn'] }} node-role.kubernetes.io/master-"
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
version: '2'
services:
vcenter-manager:
image: "{{ container_registry }}/contrail-vcenter-manager:{{ contrail_version_tag }}"
network_mode: "host"
env_file: /etc/contrail/common_vcmanager.env
environment:
- VCENTER_SERVER={{ vcenter_server }}
- VCENTER_USERNAME={{ vcenter_username }}
- VCENTER_PASSWORD={{ vcenter_password }}
- VCENTER_DATACENTER={{ vcenter_datacenter }}
- ESXI_HOST={{ esxi_host }}
- ESXI_USERNAME={{ esxi_username }}
- ESXI_PASSWORD={{ esxi_password }}
- ESXI_DATACENTER={{ esxi_datacenter }}

volumes:
- /var/log/contrail:/var/log/contrail
restart: on-failure
stdin_open: {{ stdin_open }}
tty: {{ tty }}


0 comments on commit 25f2985

Please sign in to comment.