summaryrefslogtreecommitdiffstats
path: root/deploy/adapters/ansible/roles/nova-compute/tasks/main.yml
blob: 7842a73c2cfdf3cc3e7f7de9e04cc508cb90a8b9 (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
90
91
92
93
94
95
96
97
98
99
100
##############################################################################
# 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: disable auto start
  copy:
    content: "#!/bin/sh\nexit 101"
    dest: "/usr/sbin/policy-rc.d"
    mode: 0755
  when: ansible_os_family == "Debian"

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

- name: restart virtlogd
  service: name=virtlogd state=started enabled=yes
  when: ansible_os_family == "Debian"

- name: enable auto start
  file:
    path=/usr/sbin/policy-rc.d
    state=absent
  when: ansible_os_family == "Debian"

- name: get number of cpu support virtualization
  shell: egrep -c '(vmx|svm)' /proc/cpuinfo || echo 0
  register: kvm_cpu_num

- name: update libvirt-bin conf
  lineinfile:
    dest: /etc/default/libvirt-bin
    regexp: '^libvirtd_opts=.*'
    insertafter: '^#libvirtd_opts=.*'
    line: 'libvirtd_opts="-d -l"'
  when: ansible_os_family == "Debian"
  notify:
    - restart nova-compute services

- name: update libvirt-bin.conf
  lineinfile:
    dest: /etc/init/libvirt-bin.conf
    regexp: '^env libvirtd_opts=.*'
    line: 'env libvirtd_opts="-d -l"'
  when: ansible_os_family == "Debian"
  notify:
    - restart nova-compute services

- name: update libvirtd.conf
  lineinfile:
    dest: /etc/libvirt/libvirtd.conf
    regexp: '{{ item.regexp }}'
    insertafter: '{{ item.insertafter }}'
    line: '{{ item.line }}'
  with_items:
    - regexp: '^listen_tls.*'
      insertafter: '^#listen_tls.*'
      line: 'listen_tls = 0'
    - regexp: '^listen_tcp.*'
      insertafter: '^#listen_tcp.*'
      line: 'listen_tcp = 1'
    - regexp: '^auth_tcp.*'
      insertafter: '^#auth_tcp.*'
      line: 'auth_tcp = "none"'
  notify:
    - restart nova-compute services

- name: update sysconfig libvirtd
  lineinfile:
    dest: /etc/sysconfig/libvirtd
    regexp: '^LIBVIRTD_ARGS.*'
    insertafter: '^#LIBVIRTD_ARGS.*'
    line: 'LIBVIRTD_ARGS="--listen"'
  when: ansible_os_family == "RedHat"
  notify:
    - restart nova-compute services

- name: update nova-compute conf
  template: src={{ item }} dest=/etc/nova/{{ item }}
  with_items:
    - nova.conf
    - nova-compute.conf
  notify:
    - restart nova-compute services

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

- name: remove nova sqlite db
  shell: rm /var/lib/nova/nova.sqlite || touch nova.sqlite.removed

- meta: flush_handlers