summaryrefslogtreecommitdiffstats
path: root/meta-openstack/recipes-devtools/python/python-neutron_git.bb
diff options
context:
space:
mode:
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"