summaryrefslogtreecommitdiff
path: root/docker/neutron/neutron-server/start.sh
blob: ffa90a2181faa8a105929530f57d1354bbf3d723 (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
#!/bin/bash

set -e

. /opt/kolla/kolla-common.sh
. /opt/kolla/config-neutron.sh

check_required_vars KEYSTONE_ADMIN_TOKEN KEYSTONE_ADMIN_SERVICE_HOST \
                    NEUTRON_KEYSTONE_USER NEUTRON_KEYSTONE_PASSWORD \
                    ADMIN_TENANT_NAME NEUTRON_SERVER_SERVICE_HOST \
                    PUBLIC_IP
check_for_keystone
check_for_db

mysql -h ${MARIADB_SERVICE_HOST} -u root -p${DB_ROOT_PASSWORD} mysql <<EOF
CREATE DATABASE IF NOT EXISTS ${NEUTRON_DB_NAME} DEFAULT CHARACTER SET utf8;
GRANT ALL PRIVILEGES ON ${NEUTRON_DB_NAME}.* TO
       '${NEUTRON_DB_USER}'@'%' IDENTIFIED BY '${NEUTRON_DB_PASSWORD}'

EOF

export SERVICE_TOKEN="${KEYSTONE_ADMIN_TOKEN}"
export SERVICE_ENDPOINT="${KEYSTONE_AUTH_PROTOCOL}://${KEYSTONE_ADMIN_SERVICE_HOST}:35357/v2.0"

# Configure Keystone Service Catalog
crux user-create -n "${NEUTRON_KEYSTONE_USER}" \
    -p "${NEUTRON_KEYSTONE_PASSWORD}" \
    -t "${ADMIN_TENANT_NAME}" \
    -r admin

crux endpoint-create -n neutron -t network \
    -I "${KEYSTONE_AUTH_PROTOCOL}://${NEUTRON_SERVER_SERVICE_HOST}:9696" \
    -P "${KEYSTONE_AUTH_PROTOCOL}://${PUBLIC_IP}:9696" \
    -A "${KEYSTONE_AUTH_PROTOCOL}://${NEUTRON_SERVER_SERVICE_HOST}:9696"

# Database
crudini --set /etc/neutron/neutron.conf \
        database \
        connection \
        "mysql://${NEUTRON_DB_USER}:${NEUTRON_DB_PASSWORD}@${MARIADB_SERVICE_HOST}/${NEUTRON_DB_NAME}"

# Nova
crudini --set /etc/neutron/neutron.conf \
        DEFAULT \
        notify_nova_on_port_status_changes \
        "True"
crudini --set /etc/neutron/neutron.conf \
        DEFAULT \
        notify_nova_on_port_data_changes \
        "True"
crudini --set /etc/neutron/neutron.conf \
        DEFAULT \
        nova_url \
        "http://${NOVA_API_SERVICE_HOST}:8774/v2"
crudini --set /etc/neutron/neutron.conf \
        DEFAULT \
        nova_admin_auth_url \
        "http://${KEYSTONE_ADMIN_SERVICE_HOST}:35357/v2.0"
crudini --set /etc/neutron/neutron.conf \
        DEFAULT \
        nova_region_name \
        "RegionOne"
crudini --set /etc/neutron/neutron.conf \
        DEFAULT \
        nova_admin_username \
        "nova"
crudini --set /etc/neutron/neutron.conf \
        DEFAULT \
        nova_admin_tenant_id \
        "$(keystone tenant-list | grep $ADMIN_TENANT_NAME | awk '{print $2;}')"
crudini --set /etc/neutron/neutron.conf \
        DEFAULT \
        nova_admin_password \
        "${NOVA_ADMIN_PASSWORD}"

/usr/bin/ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini

exec /usr/bin/neutron-server