blob: 7529a656e163c5908215c28c96a2804304ad8102 (
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
101
102
103
104
105
106
107
108
109
|
---
- hosts: localhost
vars_files:
- "/etc/openstack/neutron.conf"
tasks:
- name: Create the neutron user.
user:
name: neutron
comment: Openstack Neutron Daemons
shell: /sbin/nologin
home: /var/lib/neutron
- name: Create the /var folders for neutron
file:
path: "{{ item }}"
state: directory
owner: neutron
group: neutron
with_items:
- /var/run/neutron
- /var/lock/neutron
- /var/log/neutron
- name: Get service tenant id needed in neutron.conf
shell: |
keystone \
--os-endpoint http://{{ CONTROLLER_HOST_ADDRESS|quote }}:35357/v2.0 \
--os-token {{ KEYSTONE_TEMPORARY_ADMIN_TOKEN|quote }} \
tenant-get service | grep id | tr -d " " | cut -d"|" -f3
register: tenant_service_id
- set_fact:
SERVICE_TENANT_ID: "{{ tenant_service_id.stdout }}"
- name: Create the directories needed for Neutron configuration files.
file:
path: /etc/{{ item }}
state: directory
with_lines:
- cd /usr/share/openstack && find neutron -type d
- name: Add configuration needed for neutron using templates
template:
src: /usr/share/openstack/{{ item }}
dest: /etc/{{ item }}
with_lines:
- cd /usr/share/openstack && find neutron -type f
- name: Create neutron service user in service tenatnt
keystone_user:
user: "{{ NEUTRON_SERVICE_USER }}"
password: "{{ NEUTRON_SERVICE_PASSWORD }}"
tenant: service
token: "{{ KEYSTONE_TEMPORARY_ADMIN_TOKEN }}"
- name: Add admin role to neutron service user in service tenant
keystone_user:
role: admin
user: "{{ NEUTRON_SERVICE_USER }}"
tenant: service
token: "{{ KEYSTONE_TEMPORARY_ADMIN_TOKEN }}"
- keystone_service:
name: neutron
type: network
description: Openstack Compute Networking
publicurl: http://{{ CONTROLLER_HOST_ADDRESS }}:9696
internalurl: http://{{ CONTROLLER_HOST_ADDRESS }}:9696
adminurl: http://{{ CONTROLLER_HOST_ADDRESS }}:9696
region: regionOne
token: "{{ KEYSTONE_TEMPORARY_ADMIN_TOKEN }}"
- name: Create postgresql user for neutron
postgresql_user:
name: "{{ NEUTRON_DB_USER }}"
password: "{{ NEUTRON_DB_PASSWORD }}"
sudo: yes
sudo_user: neutron
- name: Create database for neutron services
postgresql_db:
name: neutron
owner: "{{ NEUTRON_DB_USER }}"
sudo: yes
sudo_user: neutron
- name: Initiate neutron database
shell: |
neutron-db-manage \
--config-file /etc/neutron/neutron.conf \
--config-file /etc/neutron/plugins/ml2/ml2_conf.ini \
upgrade juno
sudo: yes
sudo_user: neutron
- name: Enable and start openstack-neutron services
service:
name: "{{ item }}"
enabled: yes
state: started
with_items:
- openstack-neutron-ovs-cleanup.service
- openstack-neutron-server.service
- openstack-neutron-dhcp-agent.service
- openstack-neutron-l3-agent.service
- openstack-neutron-metadata-agent.service
- openstack-neutron-plugin-openvswitch-agent.service
|