summaryrefslogtreecommitdiffstats
path: root/deploy/adapters/ansible/roles/heat/tasks/heat_install.yml
blob: ef50ec520127254dec64a8c7d6415dac3d314c0d (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
##############################################################################
# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
---
- include_vars: "{{ ansible_os_family }}.yml"

- name: install heat related packages
  action: "{{ ansible_pkg_mgr }} name={{ item }} state=present"
  with_items: "{{ packages | union(packages_noarch) }}"

- name: generate heat service list
  lineinfile: dest=/opt/service create=yes line='{{ item }}'
  with_items: "{{ services | union(services_noarch) }}"

- name: create heat domain
  os_keystone_domain:
    cloud: opnfv
    name: heat
    state: present
    description: "Stack projects and users"
  register: heat_domain
  when: inventory_hostname == groups['controller'][0]

- name: create heat user
  os_user:
    cloud: opnfv
    domain: heat
    name: heat_domain_admin
    password: "{{ HEAT_PASS }}"
  when: inventory_hostname == groups['controller'][0]

- name: grant heat admin role
  shell: |
    . /opt/admin-openrc.sh
    openstack role assignment list | grep "{{ heat_domain.id }}" \
        || openstack role add --domain heat --user-domain heat \
        --user heat_domain_admin admin;
  when: inventory_hostname == groups['controller'][0]

- name: create heat role
  os_keystone_role:
    cloud: opnfv
    name: heat_stack_owner
  when: inventory_hostname == groups['controller'][0]

- name: grant heat demo role
  os_user_role:
    cloud: opnfv
    user: demo
    project: demo
    role: heat_stack_owner
  when: inventory_hostname == groups['controller'][0]

- name: create member role
  os_keystone_role:
    cloud: opnfv
    name: _member_
  when: inventory_hostname == groups['controller'][0]

- name: update heat conf
  template: src=heat.j2
            dest=/etc/heat/heat.conf
            backup=yes
  notify:
    - restart heat service
    - remove heat-sqlite-db