summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authordavidjchou <david.j.chou@intel.com>2017-03-05 17:39:24 -0900
committerDan Radez <dradez@redhat.com>2017-03-09 17:54:20 +0000
commitfb8c23c5413ee7c820f7c947fb1bb007d5d4cf95 (patch)
tree334bec4406bb7b503556911974db8150d23ae876 /lib
parent8b2ca87007c2cb477765c183325e5af03bf9f80d (diff)
Adding "Real Time KVM" support
Adding the support to run the "Real Time KVM" kernel in the compute node(s) to reduce the network latency caused by the virtualization of the network functions. Since the current "Real Time KVM" kernel doesn't support physical to logical network interface mapping yet, we need to use the real physical interface name rather than the logical interface name for all compute interfaces in network_settings.yaml. Also updates tests for the network settings changes and fixes a bug where interface was being queried on the controller nics before it interfaces were validated. JIRA: APEX-128 Change-Id: Iccb6c9fbdcf7e3b482f4283039ef17c38e0a6df7 Signed-off-by: davidjchou <david.j.chou@intel.com> Signed-off-by: Tim Rozet <trozet@redhat.com> Signed-off-by: Dan Radez <dradez@redhat.com>
Diffstat (limited to 'lib')
-rwxr-xr-xlib/overcloud-deploy-functions.sh16
-rw-r--r--lib/python/apex/deploy_settings.py3
-rw-r--r--lib/python/apex/network_settings.py2
3 files changed, 13 insertions, 8 deletions
diff --git a/lib/overcloud-deploy-functions.sh b/lib/overcloud-deploy-functions.sh
index f05e611f..d7e9b7e0 100755
--- a/lib/overcloud-deploy-functions.sh
+++ b/lib/overcloud-deploy-functions.sh
@@ -14,6 +14,11 @@ function overcloud_deploy {
local num_compute_nodes
local num_control_nodes
+ # OPNFV Default Environment and Network settings
+ DEPLOY_OPTIONS+=" -e ${ENV_FILE}"
+ DEPLOY_OPTIONS+=" -e network-environment.yaml"
+
+ # Custom Deploy Environment Templates
if [[ "${#deploy_options_array[@]}" -eq 0 || "${deploy_options_array['sdn_controller']}" == 'opendaylight' ]]; then
if [ "${deploy_options_array['sfc']}" == 'True' ]; then
DEPLOY_OPTIONS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/opendaylight_sfc.yaml"
@@ -65,6 +70,11 @@ function overcloud_deploy {
DEPLOY_OPTIONS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/enable_congress.yaml"
fi
+ # Enable Real Time Kernel (kvm4nfv)
+ if [ "${deploy_options_array['rt_kvm']}" == 'True' ]; then
+ DEPLOY_OPTIONS+=" -e /home/stack/enable_rt_kvm.yaml"
+ fi
+
# Make sure the correct overcloud image is available
if [ ! -f $IMAGES/overcloud-full-${SDN_IMAGE}.qcow2 ]; then
echo "${red} $IMAGES/overcloud-full-${SDN_IMAGE}.qcow2 is required to execute your deployment."
@@ -185,10 +195,6 @@ EOI
DEPLOY_OPTIONS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/storage-environment.yaml"
fi
- #DEPLOY_OPTIONS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml"
- DEPLOY_OPTIONS+=" -e network-environment.yaml"
-
-
# get number of nodes available in inventory
num_control_nodes=$(ssh -T ${SSH_OPTIONS[@]} "root@$UNDERCLOUD" "grep -c profile:control /home/stack/instackenv.json")
num_compute_nodes=$(ssh -T ${SSH_OPTIONS[@]} "root@$UNDERCLOUD" "grep -c profile:compute /home/stack/instackenv.json")
@@ -225,8 +231,6 @@ EOI
DEPLOY_OPTIONS+=" -e virtual-environment.yaml"
fi
- DEPLOY_OPTIONS+=" -e ${ENV_FILE}"
-
echo -e "${blue}INFO: Deploy options set:\n${DEPLOY_OPTIONS}${reset}"
ssh -T ${SSH_OPTIONS[@]} "stack@$UNDERCLOUD" <<EOI
diff --git a/lib/python/apex/deploy_settings.py b/lib/python/apex/deploy_settings.py
index 0d1939a4..566e8bea 100644
--- a/lib/python/apex/deploy_settings.py
+++ b/lib/python/apex/deploy_settings.py
@@ -23,7 +23,8 @@ REQ_DEPLOY_SETTINGS = ['sdn_controller',
'vpn',
'vpp',
'ceph',
- 'gluon']
+ 'gluon',
+ 'rt_kvm']
OPT_DEPLOY_SETTINGS = ['performance',
'vsperf',
diff --git a/lib/python/apex/network_settings.py b/lib/python/apex/network_settings.py
index b04f141a..79b0a9d1 100644
--- a/lib/python/apex/network_settings.py
+++ b/lib/python/apex/network_settings.py
@@ -99,13 +99,13 @@ class NetworkSettings(dict):
logging.info("{} enabled".format(network))
self._config_required_settings(network)
nicmap = _network['nic_mapping']
+ self._validate_overcloud_nic_order(network)
iface = nicmap[CONTROLLER]['members'][0]
self._config_ip_range(network=network,
interface=iface,
ip_range='overcloud_ip_range',
start_offset=21, end_offset=21)
self.enabled_network_list.append(network)
- self._validate_overcloud_nic_order(network)
# TODO self._config_optional_settings(network)
else:
logging.info("{} disabled, will collapse with "