summaryrefslogtreecommitdiffstats
path: root/components/congress/ansible/roles/deploy/tasks/main.yml
blob: 956728b8e3694717b1aae4dabc2e959ba32d245b (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
---
- name: updating package cache
  apt: update_cache=yes

- name: installing dependancies 
  apt: pkg={{item}} state=present
  with_items:
     - python-pip
     - libmysqlclient-dev
     - python-mysqldb

- name: installing python dependancies 
  pip: name={{item}}
  with_items:
     - virtualenv
#     - MySQL-python

- name: creating congress group
  group: name=congress state=present 
  when: init == "True"

- name: creating congress user 
  user: name=congress group=congress state=present createhome=no
  when: init == "True"

- name: creating remote install directory
  file: path={{item}} state=directory owner=congress group=congress
  with_items:
     - /etc/congress
     - "{{installDir}}"
     - /var/log/congress

- name: copying congress build to prod host
  unarchive: src={{tempDir}}/congress-{{congressVersion}}.tgz dest={{installDir}} owner=congress group=congress

- name: activating virtualenv
  shell: virtualenv {{installDir}}/congress

- name: updating congress.conf
  template: src=congress.conf dest=/etc/congress/congress.conf owner=congress group=congress

- name: create congress service
  shell: >
     {{installDir}}/congress/bin/keystone \
     --os-auth-url={{keystoneAuthProto}}://{{keystoneAuthHost}}:35357/v2.0 \
     --os-username={{keystoneAdminUser}} \
     --os-tenant-name={{adminTenantName}} \
     --os-password={{keystoneAdminPassword}} \
     service-create --name congress --type "policy" --description "Congress Service"
  when: init == "True"

- name: creating keystone endpoint
  shell: >
     {{installDir}}/congress/bin/keystone \
     --os-auth-url={{keystoneAuthProto}}://{{keystoneAuthHost}}:35357/v2.0 \
     --os-username={{keystoneAdminUser}} \
     --os-tenant-name={{adminTenantName}} \
     --os-password={{keystoneAdminPassword}} \
     endpoint-create --service congress \
     --region {{authRegion}}  \
     --publicurl {{publicEndpoint}} \
     --adminurl {{adminEndpoint}} \
     --internalurl {{internalEndpoint}} 
  when: init == "True"

- name: creating congress database
  mysql_db: name=congress state=present login_host={{mysqlDBIP}} login_user={{mysqlDBUser}} login_password={{mysqlDBPassword}}
  when: init == "True"

- name: creating and granting congress user access to database
  mysql_user: name={{dbUser}} password={{dbPassword}} login_host={{mysqlDBIP}} login_user={{mysqlDBUser}} login_password={{mysqlDBPassword}} priv=congress.*:ALL host={{ item }}
  with_items:
    - "%"
    - "localhost"
  when: init == "True"

- name: creating congress database schema
  shell: >
      {{installDir}}/congress/bin/congress-db-manage --config-file /etc/congress/congress.conf upgrade head
  when: init == "True"

- name: copy init service
  template: src=congress-api.conf dest=/etc/init/congress-api.conf 
  when: init == "True"

- name: enabling init service for congress
  file: src=/lib/init/upstart-job dest=/etc/init.d/congress-api state=link
  when: init == "True"