summaryrefslogtreecommitdiffstats
path: root/meta-openstack/recipes-devtools/python/python-neutron/neutron-init
diff options
context:
space:
mode:
Diffstat (limited to 'meta-openstack/recipes-devtools/python/python-neutron/neutron-init')
-rw-r--r--meta-openstack/recipes-devtools/python/python-neutron/neutron-init51
1 files changed, 51 insertions, 0 deletions
diff --git a/meta-openstack/recipes-devtools/python/python-neutron/neutron-init b/meta-openstack/recipes-devtools/python/python-neutron/neutron-init
new file mode 100644
index 0000000..fe98dcb
--- /dev/null
+++ b/meta-openstack/recipes-devtools/python/python-neutron/neutron-init
@@ -0,0 +1,51 @@
1#!/bin/bash
2#
3# Basic neutron setup based on:
4# https://docs.openstack.org/neutron/pike/install/controller-install-ubuntu.html
5#
6# Prerequisites: keystone must be available and bootstrapped
7#
8
9# Substitutions setup at do_intall()
10DB_USER=%DB_USER%
11NEUTRON_USER=%NEUTRON_USER%
12NEUTRON_GROUP=%NEUTRON_GROUP%
13CONTROLLER_IP=%CONTROLLER_IP%
14ADMIN_USER=%ADMIN_USER%
15ADMIN_PASSWORD=%ADMIN_PASSWORD%
16ADMIN_ROLE=%ADMIN_ROLE%
17SYSCONFDIR=%SYSCONFDIR%
18ROOT_HOME=%ROOT_HOME%
19
20# Create the neutron DB and grant the necessary permissions
21sudo -u postgres psql -c "CREATE DATABASE neutron" 2> /dev/null
22sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE neutron TO ${DB_USER}" 2> /dev/null
23
24source ${SYSCONFDIR}/keystone/admin-openrc
25
26openstack user create --domain default --password ${ADMIN_PASSWORD} ${NEUTRON_USER}
27
28# Ensure the 'service' project exists
29openstack project show service > /dev/null 2>&1
30if [ $? -ne 0 ]; then
31 openstack project create service --domain default
32fi
33openstack role add --project service --user ${NEUTRON_USER} ${ADMIN_ROLE}
34
35openstack service create --name neutron --description "OpenStack Networking" network
36openstack endpoint create --region RegionOne network public http://${CONTROLLER_IP}:9696
37openstack endpoint create --region RegionOne network internal http://${CONTROLLER_IP}:9696
38openstack endpoint create --region RegionOne network admin http://${CONTROLLER_IP}:9696
39
40sudo -u ${NEUTRON_USER} neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head
41
42# Possibly move to rabbitmq-setup, for now we are the only service
43# that needs this so do it here.
44HOME=${ROOT_HOME} rabbitmqctl add_user openstack ${ADMIN_PASSWORD}
45HOME=${ROOT_HOME} rabbitmqctl set_permissions openstack ".*" ".*" ".*"
46
47#systemctl restart nova-api
48systemctl restart neutron-server
49systemctl restart neutron-linuxbridge-agent
50systemctl restart neutron-dhcp-agent
51systemctl restart neutron-metadata-agent