8e5623d624
Macvtap agent can now be configured via this devstack. Note that it is only supported in multinode environments as compute node. The controller node still needs to run linuxbridge or ovs. Documentation will be added in devstack via [1] [1] https://review.openstack.org/292778 Example: OVS Controller -------------- Make sure that the controller - loads the macvtap ml2 driver - uses vlan or flat networking Macvtap Compute Node local.conf ------------------------------- [[local|localrc]] SERVICE_HOST=1.2.3.4 MYSQL_HOST=$SERVICE_HOST RABBIT_HOST=$SERVICE_HOST disable_all_services enable_plugin neutron git://git.openstack.org/openstack/neutron enable_service n-cpu enable_service q-agt Q_AGENT=macvtap PHYSICAL_NETWORK=default [[post-config|/$Q_PLUGIN_CONF_FILE]] [macvtap] physical_interface_mappings = $PHYSICAL_NETWORK:eth1 Closes-Bug: #1557407 Change-Id: I0dd4c0d34d5f1c35b397e5e392ce107fb984b0ba
58 lines
1.7 KiB
Bash
58 lines
1.7 KiB
Bash
LIBDIR=$DEST/neutron/devstack/lib
|
|
|
|
source $LIBDIR/flavors
|
|
source $LIBDIR/l2_agent
|
|
source $LIBDIR/l2_agent_sriovnicswitch
|
|
source $LIBDIR/ml2
|
|
source $LIBDIR/qos
|
|
source $LIBDIR/ovs
|
|
|
|
Q_BUILD_OVS_FROM_GIT=$(trueorfalse False Q_BUILD_OVS_FROM_GIT)
|
|
|
|
if [ -f $LIBDIR/${Q_AGENT}_agent ]; then
|
|
source $LIBDIR/${Q_AGENT}_agent
|
|
fi
|
|
|
|
if [[ "$1" == "stack" ]]; then
|
|
case "$2" in
|
|
install)
|
|
if is_service_enabled q-flavors; then
|
|
configure_flavors
|
|
fi
|
|
if is_service_enabled q-qos; then
|
|
configure_qos
|
|
fi
|
|
if [[ "$Q_AGENT" == "openvswitch" ]] && \
|
|
[[ "$Q_BUILD_OVS_FROM_GIT" == "True" ]]; then
|
|
remove_ovs_packages
|
|
compile_ovs True /usr /var
|
|
start_new_ovs
|
|
fi
|
|
;;
|
|
post-config)
|
|
if is_service_enabled q-agt; then
|
|
configure_l2_agent
|
|
fi
|
|
#Note: sriov agent should run with OVS or linux bridge agent
|
|
#because they are the mechanisms that bind the DHCP and router ports.
|
|
#Currently devstack lacks the option to run two agents on the same node.
|
|
#Therefore we create new service, q-sriov-agt, and the q-agt should be OVS
|
|
#or linux bridge.
|
|
if is_service_enabled q-sriov-agt; then
|
|
configure_$Q_PLUGIN
|
|
configure_l2_agent
|
|
configure_l2_agent_sriovnicswitch
|
|
fi
|
|
;;
|
|
extra)
|
|
if is_service_enabled q-sriov-agt; then
|
|
start_l2_agent_sriov
|
|
fi
|
|
;;
|
|
esac
|
|
elif [[ "$1" == "unstack" ]]; then
|
|
if is_service_enabled q-sriov-agt; then
|
|
stop_l2_agent_sriov
|
|
fi
|
|
fi
|