|
...
|
...
|
@@ -153,6 +153,7 @@ Q_USE_NAMESPACE=${Q_USE_NAMESPACE:-True}
|
|
153
|
153
|
# RHEL's support for namespaces requires using veths with ovs
|
|
154
|
154
|
Q_OVS_USE_VETH=${Q_OVS_USE_VETH:-False}
|
|
155
|
155
|
Q_USE_ROOTWRAP=${Q_USE_ROOTWRAP:-True}
|
|
|
156
|
+Q_USE_ROOTWRAP_DAEMON=$(trueorfalse True Q_USE_ROOTWRAP_DAEMON)
|
|
156
|
157
|
# Meta data IP
|
|
157
|
158
|
Q_META_DATA_IP=${Q_META_DATA_IP:-$SERVICE_HOST}
|
|
158
|
159
|
# Allow Overlapping IP among subnets
|
|
...
|
...
|
@@ -226,6 +227,9 @@ if [[ "$Q_USE_ROOTWRAP" == "False" ]]; then
|
|
226
|
226
|
else
|
|
227
|
227
|
NEUTRON_ROOTWRAP=$(get_rootwrap_location neutron)
|
|
228
|
228
|
Q_RR_COMMAND="sudo $NEUTRON_ROOTWRAP $Q_RR_CONF_FILE"
|
|
|
229
|
+ if [[ "$Q_USE_ROOTWRAP_DAEMON" == "True" ]]; then
|
|
|
230
|
+ Q_RR_DAEMON_COMMAND="sudo $NEUTRON_ROOTWRAP-daemon $Q_RR_CONF_FILE"
|
|
|
231
|
+ fi
|
|
229
|
232
|
fi
|
|
230
|
233
|
|
|
231
|
234
|
|
|
...
|
...
|
@@ -896,6 +900,9 @@ function _configure_neutron_debug_command {
|
|
896
|
896
|
iniset $NEUTRON_TEST_CONFIG_FILE DEFAULT debug False
|
|
897
|
897
|
iniset $NEUTRON_TEST_CONFIG_FILE DEFAULT use_namespaces $Q_USE_NAMESPACE
|
|
898
|
898
|
iniset $NEUTRON_TEST_CONFIG_FILE agent root_helper "$Q_RR_COMMAND"
|
|
|
899
|
+ if [[ "$Q_USE_ROOTWRAP_DAEMON" == "True" ]]; then
|
|
|
900
|
+ iniset $NEUTRON_TEST_CONFIG_FILE agent root_helper_daemon "$Q_RR_DAEMON_COMMAND"
|
|
|
901
|
+ fi
|
|
899
|
902
|
|
|
900
|
903
|
_neutron_setup_interface_driver $NEUTRON_TEST_CONFIG_FILE
|
|
901
|
904
|
|
|
...
|
...
|
@@ -910,6 +917,9 @@ function _configure_neutron_dhcp_agent {
|
|
910
|
910
|
iniset $Q_DHCP_CONF_FILE DEFAULT debug $ENABLE_DEBUG_LOG_LEVEL
|
|
911
|
911
|
iniset $Q_DHCP_CONF_FILE DEFAULT use_namespaces $Q_USE_NAMESPACE
|
|
912
|
912
|
iniset $Q_DHCP_CONF_FILE DEFAULT root_helper "$Q_RR_COMMAND"
|
|
|
913
|
+ if [[ "$Q_USE_ROOTWRAP_DAEMON" == "True" ]]; then
|
|
|
914
|
+ iniset $NEUTRON_TEST_CONFIG_FILE agent root_helper_daemon "$Q_RR_DAEMON_COMMAND"
|
|
|
915
|
+ fi
|
|
913
|
916
|
|
|
914
|
917
|
if ! is_service_enabled q-l3; then
|
|
915
|
918
|
if [[ "$ENABLE_ISOLATED_METADATA" = "True" ]]; then
|
|
...
|
...
|
@@ -943,6 +953,9 @@ function _configure_neutron_l3_agent {
|
|
943
|
943
|
iniset $Q_L3_CONF_FILE DEFAULT debug $ENABLE_DEBUG_LOG_LEVEL
|
|
944
|
944
|
iniset $Q_L3_CONF_FILE DEFAULT use_namespaces $Q_USE_NAMESPACE
|
|
945
|
945
|
iniset $Q_L3_CONF_FILE DEFAULT root_helper "$Q_RR_COMMAND"
|
|
|
946
|
+ if [[ "$Q_USE_ROOTWRAP_DAEMON" == "True" ]]; then
|
|
|
947
|
+ iniset $Q_L3_CONF_FILE agent root_helper_daemon "$Q_RR_DAEMON_COMMAND"
|
|
|
948
|
+ fi
|
|
946
|
949
|
|
|
947
|
950
|
_neutron_setup_interface_driver $Q_L3_CONF_FILE
|
|
948
|
951
|
|
|
...
|
...
|
@@ -956,6 +969,9 @@ function _configure_neutron_metadata_agent {
|
|
956
|
956
|
iniset $Q_META_CONF_FILE DEFAULT debug $ENABLE_DEBUG_LOG_LEVEL
|
|
957
|
957
|
iniset $Q_META_CONF_FILE DEFAULT nova_metadata_ip $Q_META_DATA_IP
|
|
958
|
958
|
iniset $Q_META_CONF_FILE DEFAULT root_helper "$Q_RR_COMMAND"
|
|
|
959
|
+ if [[ "$Q_USE_ROOTWRAP_DAEMON" == "True" ]]; then
|
|
|
960
|
+ iniset $Q_META_CONF_FILE agent root_helper_daemon "$Q_RR_DAEMON_COMMAND"
|
|
|
961
|
+ fi
|
|
959
|
962
|
|
|
960
|
963
|
# Configures keystone for metadata_agent
|
|
961
|
964
|
# The third argument "True" sets auth_url needed to communicate with keystone
|
|
...
|
...
|
@@ -1008,6 +1024,9 @@ function _configure_neutron_plugin_agent {
|
|
1008
|
1008
|
# Specify the default root helper prior to agent configuration to
|
|
1009
|
1009
|
# ensure that an agent's configuration can override the default
|
|
1010
|
1010
|
iniset /$Q_PLUGIN_CONF_FILE agent root_helper "$Q_RR_COMMAND"
|
|
|
1011
|
+ if [[ "$Q_USE_ROOTWRAP_DAEMON" == "True" ]]; then
|
|
|
1012
|
+ iniset /$Q_PLUGIN_CONF_FILE agent root_helper_daemon "$Q_RR_DAEMON_COMMAND"
|
|
|
1013
|
+ fi
|
|
1011
|
1014
|
iniset $NEUTRON_CONF DEFAULT verbose True
|
|
1012
|
1015
|
iniset $NEUTRON_CONF DEFAULT debug $ENABLE_DEBUG_LOG_LEVEL
|
|
1013
|
1016
|
|
|
...
|
...
|
@@ -1106,16 +1125,21 @@ function _neutron_setup_rootwrap {
|
|
1106
|
1106
|
sudo chmod 0644 $Q_RR_CONF_FILE
|
|
1107
|
1107
|
# Specify ``rootwrap.conf`` as first parameter to neutron-rootwrap
|
|
1108
|
1108
|
ROOTWRAP_SUDOER_CMD="$NEUTRON_ROOTWRAP $Q_RR_CONF_FILE *"
|
|
|
1109
|
+ ROOTWRAP_DAEMON_SUDOER_CMD="$NEUTRON_ROOTWRAP-daemon $Q_RR_CONF_FILE"
|
|
1109
|
1110
|
|
|
1110
|
1111
|
# Set up the rootwrap sudoers for neutron
|
|
1111
|
1112
|
TEMPFILE=`mktemp`
|
|
1112
|
1113
|
echo "$STACK_USER ALL=(root) NOPASSWD: $ROOTWRAP_SUDOER_CMD" >$TEMPFILE
|
|
|
1114
|
+ echo "$STACK_USER ALL=(root) NOPASSWD: $ROOTWRAP_DAEMON_SUDOER_CMD" >>$TEMPFILE
|
|
1113
|
1115
|
chmod 0440 $TEMPFILE
|
|
1114
|
1116
|
sudo chown root:root $TEMPFILE
|
|
1115
|
1117
|
sudo mv $TEMPFILE /etc/sudoers.d/neutron-rootwrap
|
|
1116
|
1118
|
|
|
1117
|
1119
|
# Update the root_helper
|
|
1118
|
1120
|
iniset $NEUTRON_CONF agent root_helper "$Q_RR_COMMAND"
|
|
|
1121
|
+ if [[ "$Q_USE_ROOTWRAP_DAEMON" == "True" ]]; then
|
|
|
1122
|
+ iniset $NEUTRON_CONF agent root_helper_daemon "$Q_RR_DAEMON_COMMAND"
|
|
|
1123
|
+ fi
|
|
1119
|
1124
|
}
|
|
1120
|
1125
|
|
|
1121
|
1126
|
# Configures keystone integration for neutron service and agents
|