summaryrefslogtreecommitdiffstats
path: root/meta-openstack/recipes-devtools/python/python-neutron_git.bb
diff options
context:
space:
mode:
authorMark Asselstine <mark.asselstine@windriver.com>2018-01-17 10:12:28 -0500
committerBruce Ashfield <bruce.ashfield@windriver.com>2018-01-18 10:47:31 -0500
commit992463503e844fe40f3bb2a56df5db0cb715942e (patch)
tree725e632d5155ac9a79a25cae4781eb9742176b4a /meta-openstack/recipes-devtools/python/python-neutron_git.bb
parenta49d21ce53618b12ae0b03806fd56f1a8949f243 (diff)
downloadmeta-cloud-services-992463503e844fe40f3bb2a56df5db0cb715942e.tar.gz
python-neutron: uprev to latest stable/pike
Following along with other recent openstack component uprevs the configuration has been changed to match the installation/setup configuration documented by the openstack community. We have also made the switch to using systemd. The initial configuration file (neutron.conf) was generated by getting things mostly updated and running, then copying/cloning the source repo on the target and running the setup scripts (see ./tools/generate_config_file_samples.sh) With these updates neutron is running and available but is yet to be fully tested, this must be done once we have a running compute node and guests. Required updates/uprevs/introduction to: python-ryu, python-neutron-lib, python-os-xenapi, python-oslo.privsep, python-ovs, python-weakrefmethod, and more Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Diffstat (limited to 'meta-openstack/recipes-devtools/python/python-neutron_git.bb')
-rw-r--r--meta-openstack/recipes-devtools/python/python-neutron_git.bb349
1 files changed, 233 insertions, 116 deletions
diff --git a/meta-openstack/recipes-devtools/python/python-neutron_git.bb b/meta-openstack/recipes-devtools/python/python-neutron_git.bb
index f2a4baa..edf9096 100644
--- a/meta-openstack/recipes-devtools/python/python-neutron_git.bb
+++ b/meta-openstack/recipes-devtools/python/python-neutron_git.bb
@@ -6,25 +6,40 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
6 6
7SRCNAME = "neutron" 7SRCNAME = "neutron"
8 8
9SRC_URI = "git://github.com/openstack/${SRCNAME}.git;branch=master \ 9SRC_URI = "git://github.com/openstack/${SRCNAME}.git;branch=stable/pike \
10 file://neutron-server.init \ 10 file://neutron-server.service \
11 file://neutron-agent.init \ 11 file://neutron.conf \
12 file://l3_agent.ini \ 12 file://l3_agent.ini \
13 file://dhcp_agent.ini \ 13 file://dhcp_agent.ini \
14 file://metadata_agent.ini \ 14 file://metadata_agent.ini \
15 file://metering_agent.ini \
16 file://ml2/linuxbridge_agent.ini.sample \
17 file://ml2/macvtap_agent.ini.sample \
18 file://ml2/ml2_conf.ini.sample \
19 file://ml2/openvswitch_agent.ini.sample \
20 file://ml2/sriov_agent.ini.sample \
21 file://neutron-dhcp-agent.service \
22 file://neutron-linuxbridge-agent.service \
23 file://neutron-metadata-agent.service \
24 file://neutron-init.service \
25 file://neutron-init \
26 file://neutron_sudoers \
15 file://neutron-dhcp-agent-netns-cleanup.cron \ 27 file://neutron-dhcp-agent-netns-cleanup.cron \
16 file://0001-neutron.conf-jumpstart-nova-state-reporting-configur.patch \
17 " 28 "
18 29
19# TBD: update or drop 30SRCREV = "7fd30cb652fb5d516b4c1f5415f18f54d7a40c2a"
20# file://uuid_wscheck.patch 31PV = "11.0.2+git${SRCPV}"
21
22SRCREV = "6dcfe3a9362ae5fcf18e5cfb59663e43446cd59c"
23PV = "7.0.0+git${SRCPV}"
24 32
25S = "${WORKDIR}/git" 33S = "${WORKDIR}/git"
26 34
27inherit setuptools update-rc.d identity hosts default_configs monitor 35inherit setuptools systemd useradd identity hosts default_configs monitor
36
37USER = "neutron"
38GROUP = "neutron"
39
40USERADD_PACKAGES = "${PN}"
41GROUPADD_PARAM_${PN} = "--system ${GROUP}"
42USERADD_PARAM_${PN} = "--system -m -d ${localstatedir}/lib/neutron -s /bin/false -g ${GROUP} ${USER}"
28 43
29SERVICECREATE_PACKAGES = "${SRCNAME}-setup" 44SERVICECREATE_PACKAGES = "${SRCNAME}-setup"
30KEYSTONE_HOST="${CONTROLLER_IP}" 45KEYSTONE_HOST="${CONTROLLER_IP}"
@@ -49,93 +64,154 @@ do_install_append() {
49 TEMPLATE_CONF_DIR=${S}${sysconfdir}/ 64 TEMPLATE_CONF_DIR=${S}${sysconfdir}/
50 NEUTRON_CONF_DIR=${D}${sysconfdir}/neutron 65 NEUTRON_CONF_DIR=${D}${sysconfdir}/neutron
51 66
52 install -d ${NEUTRON_CONF_DIR} 67 install -d -g ${GROUP} -m 750 ${NEUTRON_CONF_DIR}
53 install -d ${NEUTRON_CONF_DIR}/plugins/ml2 68 install -d -g ${GROUP} -m 750 ${NEUTRON_CONF_DIR}/plugins
69 install -d -g ${GROUP} -m 750 ${NEUTRON_CONF_DIR}/plugins/ml2
54 70
55 install -m 600 ${TEMPLATE_CONF_DIR}/neutron.conf ${NEUTRON_CONF_DIR}/ 71 # Available directly from source
56 install -m 600 ${S}/etc/api-paste.ini ${NEUTRON_CONF_DIR}/ 72 install -m 640 -g ${GROUP} ${S}/etc/api-paste.ini ${NEUTRON_CONF_DIR}/
57 install -m 600 ${S}/etc/policy.json ${NEUTRON_CONF_DIR}/ 73 install -m 640 -g ${GROUP} ${S}/etc/policy.json ${NEUTRON_CONF_DIR}/
58 install -m 600 ${TEMPLATE_CONF_DIR}/neutron/plugins/ml2/* ${NEUTRON_CONF_DIR}/plugins/ml2
59 install -m 600 ${WORKDIR}/metadata_agent.ini ${NEUTRON_CONF_DIR}/
60 74
61 # Neutron.conf config changes (replace with .ini file editing) 75 # Generated using ./tools/generate_config_file_samples.sh
62 sed -e "s:^# core_plugin.*:core_plugin = ml2:g" -i ${NEUTRON_CONF_DIR}/neutron.conf 76 install -m 640 -g ${GROUP} ${WORKDIR}/neutron.conf ${NEUTRON_CONF_DIR}/
63 sed -e "s:^# service_plugins =.*:service_plugins = router:g" -i ${NEUTRON_CONF_DIR}/neutron.conf 77 install -m 640 -g ${GROUP} ${WORKDIR}/dhcp_agent.ini ${NEUTRON_CONF_DIR}/
64 sed -e "s:^# allow_overlapping_ips = False:allow_overlapping_ips = True:g" -i ${NEUTRON_CONF_DIR}/neutron.conf 78 install -m 640 -g ${GROUP} ${WORKDIR}/metadata_agent.ini ${NEUTRON_CONF_DIR}/
79 install -m 640 -g ${GROUP} ${WORKDIR}/metering_agent.ini ${NEUTRON_CONF_DIR}/
65 80
66 # disable reporting of state changes to nova 81 # install ml2 plugin ini files (also generated using ./tools/generate_config_file_samples.sh)
67 sed -e "s:^# notify_nova_on_port_status_changes.*:notify_nova_on_port_status_changes = False:g" -i ${NEUTRON_CONF_DIR}/neutron.conf 82 for j in linuxbridge_agent macvtap_agent ml2_conf openvswitch_agent sriov_agent
68 sed -e "s:^# notify_nova_on_port_data_changes.*:notify_nova_on_port_data_changes = False:g" -i ${NEUTRON_CONF_DIR}/neutron.conf 83 do
69 84 install -m 640 -g ${GROUP} ${WORKDIR}/ml2/$j.ini.sample ${NEUTRON_CONF_DIR}/plugins/ml2/$j.ini
70 sed -e "s:^# connection = sq.*:connection = postgresql\://${ADMIN_USER}\:${ADMIN_PASSWORD}@localhost/neutron:g" -i ${NEUTRON_CONF_DIR}/neutron.conf 85 done
71 sed -e "s:^#.*rabbit_host=.*:rabbit_host = %CONTROLLER_IP%:" -i ${NEUTRON_CONF_DIR}/neutron.conf
72
73 # ml2_conf.ini changes (replace with .ini file editing)
74 sed -e "s:^# type_drivers = .*:type_drivers = gre:g" -i ${NEUTRON_CONF_DIR}/plugins/ml2/ml2_conf.ini
75 sed -e "s:^# tenant_network_types = .*:tenant_network_types = gre:g" -i ${NEUTRON_CONF_DIR}/plugins/ml2/ml2_conf.ini
76 sed -e "s:^# mechanism_drivers =.*:mechanism_drivers = openvswitch:g" -i ${NEUTRON_CONF_DIR}/plugins/ml2/ml2_conf.ini
77 sed -e "s:^# tunnel_id_ranges =.*:tunnel_id_ranges = 1\:1000:g" -i ${NEUTRON_CONF_DIR}/plugins/ml2/ml2_conf.ini
78
79 echo "[ovs]" >> ${NEUTRON_CONF_DIR}/plugins/ml2/ml2_conf.ini
80 echo "local_ip = ${MY_IP}" >> ${NEUTRON_CONF_DIR}/plugins/ml2/ml2_conf.ini
81 echo "tunnel_type = gre" >> ${NEUTRON_CONF_DIR}/plugins/ml2/ml2_conf.ini
82 echo "enable_tunneling = True" >> ${NEUTRON_CONF_DIR}/plugins/ml2/ml2_conf.ini
83
84 PLUGIN=openvswitch
85 ARGS="--config-file=${sysconfdir}/${SRCNAME}/neutron.conf --config-file=${sysconfdir}/${SRCNAME}/plugins/ml2/ml2_conf.ini"
86 if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
87 install -d ${D}${sysconfdir}/init.d
88 sed "s:@plugin@:/etc/neutron/plugins/ml2/ml2_conf.ini:" \
89 < ${WORKDIR}/neutron-server.init >${WORKDIR}/neutron-server.init.sh
90 install -m 0755 ${WORKDIR}/neutron-server.init.sh ${D}${sysconfdir}/init.d/neutron-server
91 sed "s:@suffix@:$PLUGIN:;s:@args@:$ARGS:" < ${WORKDIR}/neutron-agent.init >${WORKDIR}/neutron-$PLUGIN.init.sh
92 install -m 0755 ${WORKDIR}/neutron-$PLUGIN.init.sh ${D}${sysconfdir}/init.d/neutron-$PLUGIN-agent
93 fi
94
95 AGENT=dhcp
96 ARGS="--config-file=${sysconfdir}/${SRCNAME}/neutron.conf --config-file=${sysconfdir}/${SRCNAME}/dhcp_agent.ini"
97 if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
98 sed "s:@suffix@:$AGENT:;s:@args@:$ARGS:" < ${WORKDIR}/neutron-agent.init >${WORKDIR}/neutron-$AGENT.init.sh
99 install -m 0755 ${WORKDIR}/neutron-$AGENT.init.sh ${D}${sysconfdir}/init.d/neutron-$AGENT-agent
100 install -m 600 ${WORKDIR}/${AGENT}_agent.ini ${NEUTRON_CONF_DIR}/
101 sed "s:@bindir@:${bindir}:g;s:@confdir@:${sysconfdir}:g" < ${WORKDIR}/neutron-dhcp-agent-netns-cleanup.cron >${WORKDIR}/neutron-dhcp-agent-netns-cleanup
102 install -d ${D}${sysconfdir}/cron.d
103 install -m 644 ${WORKDIR}/neutron-dhcp-agent-netns-cleanup ${D}${sysconfdir}/cron.d/
104 fi
105 86
106 AGENT=l3 87 # Neutron.conf config changes (replace with .ini file editing)
107 ARGS="--config-file=${sysconfdir}/${SRCNAME}/neutron.conf --config-file=${sysconfdir}/${SRCNAME}/l3_agent.ini" 88 CONF_FILE=${NEUTRON_CONF_DIR}/neutron.conf
108 if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then 89 sed -e "/#core_plugin =/acore_plugin = ml2" -i ${CONF_FILE}
109 sed "s:@suffix@:$AGENT:;s:@args@:$ARGS:" < ${WORKDIR}/neutron-agent.init >${WORKDIR}/neutron-$AGENT.init.sh 90 sed -e "/#service_plugins =/aservice_plugins =" -i ${CONF_FILE}
110 install -m 0755 ${WORKDIR}/neutron-$AGENT.init.sh ${D}${sysconfdir}/init.d/neutron-$AGENT-agent 91 sed -e "/#transport_url =/atransport_url = rabbit://openstack:${ADMIN_PASSWORD}@${CONTROLLER_IP}" -i ${CONF_FILE}
111 install -m 600 ${WORKDIR}/${AGENT}_agent.ini ${NEUTRON_CONF_DIR}/ 92 sed -e "/#auth_strategy =/aauth_strategy = keystone" -i ${CONF_FILE}
112 fi 93 sed -e "/#root_helper =/aroot_helper = sudo ${bindir}/neutron-rootwrap ${sysconfdir}/neutron/rootwrap.conf" -i ${CONF_FILE}
94
95 str="auth_uri = http://${CONTROLLER_IP}:5000"
96 str="$str\nauth_url = http://${CONTROLLER_IP}:35357"
97 str="$str\nmemcached_servers = ${CONTROLLER_IP}:11211"
98 str="$str\nauth_type = password"
99 str="$str\nproject_domain_name = Default"
100 str="$str\nuser_domain_name = Default"
101 str="$str\nproject_name = service"
102 str="$str\nusername = ${USER}"
103 str="$str\npassword = ${ADMIN_PASSWORD}"
104 sed -e "/^\[keystone_authtoken\].*/a$str" -i ${CONF_FILE}
105
106 sed -e "/^#connection = .*/aconnection = postgresql+psycopg2://${DB_USER}:${DB_PASSWORD}@localhost/neutron" \
107 -i ${CONF_FILE}
113 108
114 AGENT=metadata
115 ARGS="--config-file=${sysconfdir}/${SRCNAME}/neutron.conf --config-file=${sysconfdir}/${SRCNAME}/metadata_agent.ini"
116 if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
117 sed "s:@suffix@:$AGENT:;s:@args@:$ARGS:" < ${WORKDIR}/neutron-agent.init >${WORKDIR}/neutron-$AGENT.init.sh
118 install -m 0755 ${WORKDIR}/neutron-$AGENT.init.sh ${D}${sysconfdir}/init.d/neutron-$AGENT-agent
119 install -m 600 ${WORKDIR}/${AGENT}_agent.ini ${NEUTRON_CONF_DIR}/
120 fi
121 109
122 for file in plugins/ml2/ml2_conf.ini neutron.conf metadata_agent.ini; do 110 # ml2_conf.ini changes (replace with .ini file editing)
123 sed -e "s:%SERVICE_TENANT_NAME%:${SERVICE_TENANT_NAME}:g" -i ${NEUTRON_CONF_DIR}/$file 111 CONF_FILE=${NEUTRON_CONF_DIR}/plugins/ml2/ml2_conf.ini
124 sed -e "s:%SERVICE_USER%:${SRCNAME}:g" -i ${NEUTRON_CONF_DIR}/$file 112 sed -e "/#type_drivers =/atype_drivers = flat,vlan" -i ${CONF_FILE}
125 sed -e "s:%SERVICE_PASSWORD%:${SERVICE_PASSWORD}:g" -i ${NEUTRON_CONF_DIR}/$file 113 sed -e "/#tenant_network_types =/atenant_network_types =" -i ${CONF_FILE}
126 sed -e "s:%METADATA_SHARED_SECRET%:${METADATA_SHARED_SECRET}:g" -i ${NEUTRON_CONF_DIR}/$file 114 sed -e "/#mechanism_drivers =/amechanism_drivers = linuxbridge" -i ${CONF_FILE}
127 sed -e "s:%DB_USER%:${DB_USER}:g" -i ${NEUTRON_CONF_DIR}/$file 115 sed -e "/#extension_drivers =/aextension_drivers = port_security" -i ${CONF_FILE}
128 sed -e "s:%DB_PASSWORD%:${DB_PASSWORD}:g" -i ${NEUTRON_CONF_DIR}/$file 116 sed -e "/#flat_networks =/aflat_networks = provider" -i ${CONF_FILE}
129 sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${NEUTRON_CONF_DIR}/$file 117 sed -e "/#enable_ipset =/aenable_ipset = true" -i ${CONF_FILE}
130 sed -e "s:%CONTROLLER_HOST%:${CONTROLLER_HOST}:g" -i ${NEUTRON_CONF_DIR}/$file 118
119 # dhcp-agent
120 CONF_FILE=${NEUTRON_CONF_DIR}/dhcp_agent.ini
121 sed -e "/#interface_driver =/ainterface_driver = linuxbridge" -i ${CONF_FILE}
122 sed -e "/#dhcp_driver =/adhcp_driver = neutron.agent.linux.dhcp.Dnsmasq" -i ${CONF_FILE}
123 sed -e "/#enable_isolated_metadata =/aenable_isolated_metadata = true" -i ${CONF_FILE}
124
125 install -d ${D}${sysconfdir}/cron.d
126 CRON_FILE=${D}${sysconfdir}/cron.d/neutron-dhcp-agent-netns-cleanup
127 install -m 644 ${WORKDIR}/neutron-dhcp-agent-netns-cleanup.cron ${CRON_FILE}
128 sed "s:@bindir@:${bindir}:g;s:@confdir@:${sysconfdir}:g" -i ${CRON_FILE}
129
130 # linuxbridge
131 CONF_FILE=${NEUTRON_CONF_DIR}/plugins/ml2/linuxbridge_agent.ini
132 sed -e "/#physical_interface_mappings =/aphysical_interface_mappings = provider:eth0" -i ${CONF_FILE}
133 sed -e "/#enable_vxlan/aenable_vxlan = false" -i ${CONF_FILE}
134 sed -e "/#enable_security_group =/aenable_security_group = true" -i ${CONF_FILE}
135 sed -e "/#firewall_driver =/afirewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver" -i ${CONF_FILE}
136
137 #PLUGIN=openvswitch
138 #ARGS="--config-file=${sysconfdir}/${SRCNAME}/neutron.conf --config-file=${sysconfdir}/${SRCNAME}/plugins/ml2/ml2_conf.ini"
139 #if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
140 # install -d ${D}${sysconfdir}/init.d
141 # sed "s:@plugin@:/etc/neutron/plugins/ml2/ml2_conf.ini:" \
142 # < ${WORKDIR}/neutron-server.init >${WORKDIR}/neutron-server.init.sh
143 # install -m 0755 ${WORKDIR}/neutron-server.init.sh ${D}${sysconfdir}/init.d/neutron-server
144 # sed "s:@suffix@:$PLUGIN:;s:@args@:$ARGS:" < ${WORKDIR}/neutron-agent.init >${WORKDIR}/neutron-$PLUGIN.init.sh
145 # install -m 0755 ${WORKDIR}/neutron-$PLUGIN.init.sh ${D}${sysconfdir}/init.d/neutron-$PLUGIN-agent
146 #fi
147 #
148
149 #AGENT=l3
150 #ARGS="--config-file=${sysconfdir}/${SRCNAME}/neutron.conf --config-file=${sysconfdir}/${SRCNAME}/l3_agent.ini"
151 #if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
152 # sed "s:@suffix@:$AGENT:;s:@args@:$ARGS:" < ${WORKDIR}/neutron-agent.init >${WORKDIR}/neutron-$AGENT.init.sh
153 # install -m 0755 ${WORKDIR}/neutron-$AGENT.init.sh ${D}${sysconfdir}/init.d/neutron-$AGENT-agent
154 # install -m 600 ${WORKDIR}/${AGENT}_agent.ini ${NEUTRON_CONF_DIR}/
155 #fi
156 #
157 #AGENT=metadata
158 #ARGS="--config-file=${sysconfdir}/${SRCNAME}/neutron.conf --config-file=${sysconfdir}/${SRCNAME}/metadata_agent.ini"
159 #if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
160 # sed "s:@suffix@:$AGENT:;s:@args@:$ARGS:" < ${WORKDIR}/neutron-agent.init >${WORKDIR}/neutron-$AGENT.init.sh
161 # install -m 0755 ${WORKDIR}/neutron-$AGENT.init.sh ${D}${sysconfdir}/init.d/neutron-$AGENT-agent
162 # install -m 600 ${WORKDIR}/${AGENT}_agent.ini ${NEUTRON_CONF_DIR}/
163 #fi
164 #
165 #for file in plugins/ml2/ml2_conf.ini neutron.conf metadata_agent.ini; do
166 # sed -e "s:%SERVICE_TENANT_NAME%:${SERVICE_TENANT_NAME}:g" -i ${NEUTRON_CONF_DIR}/$file
167 # sed -e "s:%SERVICE_USER%:${SRCNAME}:g" -i ${NEUTRON_CONF_DIR}/$file
168 # sed -e "s:%SERVICE_PASSWORD%:${SERVICE_PASSWORD}:g" -i ${NEUTRON_CONF_DIR}/$file
169 # sed -e "s:%METADATA_SHARED_SECRET%:${METADATA_SHARED_SECRET}:g" -i ${NEUTRON_CONF_DIR}/$file
170 # sed -e "s:%DB_USER%:${DB_USER}:g" -i ${NEUTRON_CONF_DIR}/$file
171 # sed -e "s:%DB_PASSWORD%:${DB_PASSWORD}:g" -i ${NEUTRON_CONF_DIR}/$file
172 # sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${NEUTRON_CONF_DIR}/$file
173 # sed -e "s:%CONTROLLER_HOST%:${CONTROLLER_HOST}:g" -i ${NEUTRON_CONF_DIR}/$file
174 #done
175 #
176 #sed -e "s:^auth_host.*:#auth_host:g" -i ${NEUTRON_CONF_DIR}/neutron.conf
177 #sed -e "s:^auth_port.*:#auth_port:g" -i ${NEUTRON_CONF_DIR}/neutron.conf
178 #sed -e "s:^auth_protocol.*:#auth_protocol:g" -i ${NEUTRON_CONF_DIR}/neutron.conf
179 #sed -i '/\[keystone_authtoken\]/aidentity_uri=http://127.0.0.1:8081/keystone/admin/' ${NEUTRON_CONF_DIR}/neutron.conf
180 #
181 #cp run_tests.sh ${NEUTRON_CONF_DIR}
182
183 # install systemd service files
184 install -d ${D}${systemd_system_unitdir}/
185 for j in neutron-server neutron-init neutron-dhcp-agent neutron-linuxbridge-agent neutron-metadata-agent
186 do
187 SERVICE_FILE=${D}${systemd_system_unitdir}/$j.service
188 install -m 644 ${WORKDIR}/$j.service ${SERVICE_FILE}
189 sed -e "s#%LOCALSTATEDIR%#${localstatedir}#g" -i ${SERVICE_FILE}
190 sed -e "s#%SYSCONFDIR%#${sysconfdir}#g" -i ${SERVICE_FILE}
131 done 191 done
132 192
133 sed -e "s:^auth_host.*:#auth_host:g" -i ${NEUTRON_CONF_DIR}/neutron.conf 193 # Setup the neutron initialization script
134 sed -e "s:^auth_port.*:#auth_port:g" -i ${NEUTRON_CONF_DIR}/neutron.conf 194 INIT_FILE=${NEUTRON_CONF_DIR}/neutron-init
135 sed -e "s:^auth_protocol.*:#auth_protocol:g" -i ${NEUTRON_CONF_DIR}/neutron.conf 195 install -g ${USER} -m 750 ${WORKDIR}/neutron-init ${INIT_FILE}
136 sed -i '/\[keystone_authtoken\]/aidentity_uri=http://127.0.0.1:8081/keystone/admin/' ${NEUTRON_CONF_DIR}/neutron.conf 196 sed -e "s:%DB_USER%:${DB_USER}:g" -i ${INIT_FILE}
137 197 sed -e "s:%NEUTRON_USER%:${USER}:g" -i ${INIT_FILE}
138 cp run_tests.sh ${NEUTRON_CONF_DIR} 198 sed -e "s:%NEUTRON_GROUP%:${GROUP}:g" -i ${INIT_FILE}
199 sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${INIT_FILE}
200 sed -e "s:%ADMIN_USER%:${ADMIN_USER}:g" -i ${INIT_FILE}
201 sed -e "s:%ADMIN_PASSWORD%:${ADMIN_PASSWORD}:g" -i ${INIT_FILE}
202 sed -e "s:%ADMIN_ROLE%:${ADMIN_ROLE}:g" -i ${INIT_FILE}
203 sed -e "s:%SYSCONFDIR%:${sysconfdir}:g" -i ${INIT_FILE}
204 sed -e "s:%ROOT_HOME%:${ROOT_HOME}:g" -i ${INIT_FILE}
205
206 # setup sudo
207 SUDOERS_FILE=${D}${sysconfdir}/sudoers.d/neutron_sudoers
208 install -m 750 -d ${D}${sysconfdir}/sudoers.d
209 install ${WORKDIR}/neutron_sudoers ${SUDOERS_FILE}
210 sed -e "s:%USER%:${USER}:g" -i ${SUDOERS_FILE}
211
212 install -m 600 ${S}/etc/rootwrap.conf ${NEUTRON_CONF_DIR}/
213 install -m 750 -d ${NEUTRON_CONF_DIR}/rootwrap.d
214 install -m 600 ${S}/etc/neutron/rootwrap.d/* ${NEUTRON_CONF_DIR}/rootwrap.d/
139} 215}
140 216
141pkg_postinst_${SRCNAME}-setup () { 217pkg_postinst_${SRCNAME}-setup () {
@@ -172,8 +248,10 @@ PACKAGES += " \
172 ${SRCNAME}-plugin-ml2 \ 248 ${SRCNAME}-plugin-ml2 \
173 ${SRCNAME}-ml2 \ 249 ${SRCNAME}-ml2 \
174 ${SRCNAME}-dhcp-agent \ 250 ${SRCNAME}-dhcp-agent \
251 ${SRCNAME}-linuxbridge-agent \
175 ${SRCNAME}-l3-agent \ 252 ${SRCNAME}-l3-agent \
176 ${SRCNAME}-metadata-agent \ 253 ${SRCNAME}-metadata-agent \
254 ${SRCNAME}-metering-agent \
177 ${SRCNAME}-extra-agents \ 255 ${SRCNAME}-extra-agents \
178 ${SRCNAME}-setup \ 256 ${SRCNAME}-setup \
179 ${SRCNAME}-plugin-openvswitch-setup \ 257 ${SRCNAME}-plugin-openvswitch-setup \
@@ -194,11 +272,15 @@ FILES_${SRCNAME} = " \
194 ${sysconfdir}/${SRCNAME}/policy.json \ 272 ${sysconfdir}/${SRCNAME}/policy.json \
195 ${sysconfdir}/${SRCNAME}/neutron.conf \ 273 ${sysconfdir}/${SRCNAME}/neutron.conf \
196 ${sysconfdir}/${SRCNAME}/api-paste.ini \ 274 ${sysconfdir}/${SRCNAME}/api-paste.ini \
275 ${sysconfdir}/sudoers.d/neutron_sudoers \
276 ${sysconfdir}/${SRCNAME}/rootwrap.d \
277 ${sysconfdir}/${SRCNAME}/rootwrap.conf \
197 ${localstatedir}/* \ 278 ${localstatedir}/* \
198 " 279 "
199 280
200FILES_${SRCNAME}-server = "${bindir}/neutron-server \ 281FILES_${SRCNAME}-server = " \
201 ${sysconfdir}/init.d/neutron-server \ 282 ${bindir}/neutron-server \
283 ${sysconfdir}/neutron/plugin.ini \
202 " 284 "
203 285
204FILES_${SRCNAME}-plugin-ml2 = " \ 286FILES_${SRCNAME}-plugin-ml2 = " \
@@ -210,28 +292,42 @@ FILES_${SRCNAME}-plugin-openvswitch = " \
210 ${sysconfdir}/init.d/neutron-openvswitch-agent \ 292 ${sysconfdir}/init.d/neutron-openvswitch-agent \
211 " 293 "
212 294
213FILES_${SRCNAME}-dhcp-agent = "${bindir}/neutron-dhcp-agent \ 295FILES_${SRCNAME}-dhcp-agent = " \
296 ${bindir}/neutron-dhcp-agent \
214 ${bindir}/neutron-dhcp-agent-dnsmasq-lease-update \ 297 ${bindir}/neutron-dhcp-agent-dnsmasq-lease-update \
215 ${sysconfdir}/${SRCNAME}/dhcp_agent.ini \ 298 ${sysconfdir}/${SRCNAME}/dhcp_agent.ini \
216 ${sysconfdir}/init.d/neutron-dhcp-agent \
217 ${sysconfdir}/cron.d/neutron-dhcp-agent-netns-cleanup \ 299 ${sysconfdir}/cron.d/neutron-dhcp-agent-netns-cleanup \
218 " 300 "
219 301
220FILES_${SRCNAME}-l3-agent = "${bindir}/neutron-l3-agent \ 302FILES_${SRCNAME}-linuxbridge-agent = " \
303 ${bindir}/neutron-linuxbridge-agent \
304 ${sysconfdir}/${SRCNAME}/plugins/ml2/linuxbridge_agent.ini \
305 "
306
307FILES_${SRCNAME}-l3-agent = " \
308 ${bindir}/neutron-l3-agent \
221 ${sysconfdir}/${SRCNAME}/l3_agent.ini \ 309 ${sysconfdir}/${SRCNAME}/l3_agent.ini \
222 ${sysconfdir}/init.d/neutron-l3-agent \
223 " 310 "
224 311
225FILES_${SRCNAME}-metadata-agent = "${bindir}/neutron-metadata-agent \ 312FILES_${SRCNAME}-metadata-agent = " \
313 ${bindir}/neutron-metadata-agent \
226 ${bindir}/neutron-ns-metadata-proxy \ 314 ${bindir}/neutron-ns-metadata-proxy \
227 ${sysconfdir}/${SRCNAME}/metadata_agent.ini \ 315 ${sysconfdir}/${SRCNAME}/metadata_agent.ini \
228 ${sysconfdir}/init.d/neutron-metadata-agent \ 316 "
317
318FILES_${SRCNAME}-metering-agent = " \
319 ${bindir}/neutron-metering-agent \
320 ${sysconfdir}/${SRCNAME}/metering_agent.ini \
229 " 321 "
230 322
231FILES_${SRCNAME}-extra-agents = "${bindir}/*" 323FILES_${SRCNAME}-extra-agents = "${bindir}/*"
232 324
233FILES_${SRCNAME}-doc = "${datadir}/*" 325FILES_${SRCNAME}-doc = "${datadir}/*"
234 326
327FILES_${SRCNAME}-setup = " \
328 ${sysconfdir}/neutron/neutron-init \
329 "
330
235DEPENDS += " \ 331DEPENDS += " \
236 python-pip \ 332 python-pip \
237 python-pbr \ 333 python-pbr \
@@ -241,24 +337,26 @@ RDEPENDS_${PN} += " \
241 python-pbr \ 337 python-pbr \
242 python-paste \ 338 python-paste \
243 python-pastedeploy \ 339 python-pastedeploy \
340 python-routes \
244 python-debtcollector \ 341 python-debtcollector \
245 python-eventlet \ 342 python-eventlet \
246 python-pecan \ 343 python-pecan \
247 python-greenlet \
248 python-httplib2 \ 344 python-httplib2 \
249 python-requests \
250 python-jinja2 \ 345 python-jinja2 \
251 python-keystonemiddleware \ 346 python-keystonemiddleware \
252 python-netaddr \ 347 python-netaddr \
348 python-netifaces \
349 python-neutron-lib \
253 python-neutronclient \ 350 python-neutronclient \
254 python-retrying \ 351 python-tenacity \
255 python-ryu \ 352 python-ryu \
256 python-sqlalchemy \ 353 python-sqlalchemy \
257 python-webob \ 354 python-webob \
258 python-keystoneclient \ 355 python-keystoneauth1 \
259 python-alembic \ 356 python-alembic \
260 python-six \ 357 python-six \
261 python-stevedore \ 358 python-stevedore \
359 python-oslo.cache \
262 python-oslo.concurrency \ 360 python-oslo.concurrency \
263 python-oslo.config \ 361 python-oslo.config \
264 python-oslo.context \ 362 python-oslo.context \
@@ -268,38 +366,57 @@ RDEPENDS_${PN} += " \
268 python-oslo.messaging \ 366 python-oslo.messaging \
269 python-oslo.middleware \ 367 python-oslo.middleware \
270 python-oslo.policy \ 368 python-oslo.policy \
369 python-oslo.privsep \
370 python-oslo.reports \
271 python-oslo.rootwrap \ 371 python-oslo.rootwrap \
272 python-oslo.serialization \ 372 python-oslo.serialization \
273 python-oslo.service \ 373 python-oslo.service \
274 python-oslo.utils \ 374 python-oslo.utils \
275 python-oslo.versionedobjects \ 375 python-oslo.versionedobjects \
376 python-osprofiler \
377 python-ovs \
378 python-ovsdbapp \
379 python-psutil \
380 python-pyroute2 \
381 python-weakrefmethod \
276 python-novaclient \ 382 python-novaclient \
277 python-routes \ 383 python-designateclient \
278 " 384 python-os-xenapi \
385 "
279 386
280RDEPENDS_${SRCNAME} = "${PN} \ 387RDEPENDS_${SRCNAME} = "${PN} \
281 postgresql postgresql-client python-psycopg2" 388 postgresql postgresql-client python-psycopg2"
282 389
283RDEPENDS_${SRCNAME}-server = "${SRCNAME}" 390RDEPENDS_${SRCNAME}-server = "${SRCNAME} ${SRCNAME}-plugin-ml2 ${SRCNAME}-dhcp-agent ${SRCNAME}-linuxbridge-agent ${SRCNAME}-metadata-agent"
284RDEPENDS_${SRCNAME}-plugin-openvswitch = "${SRCNAME} ${SRCNAME}-plugin-ml2 ${SRCNAME}-plugin-openvswitch-setup openvswitch-switch iproute2 bridge-utils" 391RDEPENDS_${SRCNAME}-plugin-openvswitch = "${SRCNAME} ${SRCNAME}-plugin-ml2 ${SRCNAME}-plugin-openvswitch-setup openvswitch-switch iproute2 bridge-utils"
285RDEPENDS_${SRCNAME}-plugin-openvswitch-setup = "openvswitch-switch " 392RDEPENDS_${SRCNAME}-plugin-openvswitch-setup = "openvswitch-switch "
286RDEPENDS_${SRCNAME}-dhcp-agent = "${SRCNAME} dnsmasq dhcp-server dhcp-server-config" 393RDEPENDS_${SRCNAME}-dhcp-agent = "${SRCNAME} dnsmasq dhcp-server dhcp-server-config"
394RDEPENDS_${SRCNAME}-linuxbridge-agent = "${SRCNAME}"
287RDEPENDS_${SRCNAME}-l3-agent = "${SRCNAME} ${SRCNAME}-metadata-agent iputils" 395RDEPENDS_${SRCNAME}-l3-agent = "${SRCNAME} ${SRCNAME}-metadata-agent iputils"
288RDEPENDS_${SRCNAME}-setup = "postgresql sudo" 396RDEPENDS_${SRCNAME}-metadata-agent = "${SRCNAME}"
397RDEPENDS_${SRCNAME}-plugin-ml2 = "${SRCNAME}"
398RDEPENDS_${SRCNAME}-setup = "postgresql sudo bash"
289 399
290RRECOMMENDS_${SRCNAME}-server = "${SRCNAME}-plugin-openvswitch" 400RRECOMMENDS_${SRCNAME}-server = "${SRCNAME}-plugin-openvswitch"
291 401
292INITSCRIPT_PACKAGES = "${SRCNAME}-server ${SRCNAME}-plugin-openvswitch ${SRCNAME}-dhcp-agent ${SRCNAME}-l3-agent ${SRCNAME}-metadata-agent" 402#INITSCRIPT_PACKAGES = "${SRCNAME}-plugin-openvswitch ${SRCNAME}-l3-agent"
293INITSCRIPT_NAME_${SRCNAME}-server = "neutron-server" 403#INITSCRIPT_NAME_${SRCNAME}-plugin-openvswitch = "neutron-openvswitch-agent"
294INITSCRIPT_PARAMS_${SRCNAME}-server = "${OS_DEFAULT_INITSCRIPT_PARAMS}" 404#INITSCRIPT_PARAMS_${SRCNAME}-plugin-openvswitch = "${OS_DEFAULT_INITSCRIPT_PARAMS}"
295INITSCRIPT_NAME_${SRCNAME}-plugin-openvswitch = "neutron-openvswitch-agent" 405#INITSCRIPT_NAME_${SRCNAME}-l3-agent = "neutron-l3-agent"
296INITSCRIPT_PARAMS_${SRCNAME}-plugin-openvswitch = "${OS_DEFAULT_INITSCRIPT_PARAMS}" 406#INITSCRIPT_PARAMS_${SRCNAME}-l3-agent = "${OS_DEFAULT_INITSCRIPT_PARAMS}"
297INITSCRIPT_NAME_${SRCNAME}-dhcp-agent = "neutron-dhcp-agent" 407
298INITSCRIPT_PARAMS_${SRCNAME}-dhcp-agent = "${OS_DEFAULT_INITSCRIPT_PARAMS}" 408SYSTEMD_PACKAGES = " \
299INITSCRIPT_NAME_${SRCNAME}-l3-agent = "neutron-l3-agent" 409 ${SRCNAME}-server \
300INITSCRIPT_PARAMS_${SRCNAME}-l3-agent = "${OS_DEFAULT_INITSCRIPT_PARAMS}" 410 ${SRCNAME}-setup \
301INITSCRIPT_NAME_${SRCNAME}-metadata-agent = "neutron-metadata-agent" 411 ${SRCNAME}-dhcp-agent \
302INITSCRIPT_PARAMS_${SRCNAME}-metadata-agent = "${OS_DEFAULT_INITSCRIPT_PARAMS}" 412 ${SRCNAME}-linuxbridge-agent \
413 ${SRCNAME}-metadata-agent \
414 "
415SYSTEMD_SERVICE_${SRCNAME}-server = "neutron-server.service"
416SYSTEMD_SERVICE_${SRCNAME}-dhcp-agent = "neutron-dhcp-agent.service"
417SYSTEMD_SERVICE_${SRCNAME}-linuxbridge-agent = "neutron-linuxbridge-agent.service"
418SYSTEMD_SERVICE_${SRCNAME}-metadata-agent = "neutron-metadata-agent.service"
419SYSTEMD_SERVICE_${SRCNAME}-setup = "neutron-init.service"
303 420
304MONITOR_SERVICE_PACKAGES = "${SRCNAME}" 421MONITOR_SERVICE_PACKAGES = "${SRCNAME}"
305MONITOR_SERVICE_${SRCNAME} = "neutron" 422MONITOR_SERVICE_${SRCNAME} = "neutron"