diff options
author | davidjchou <david.j.chou@intel.com> | 2017-03-05 17:39:24 -0900 |
---|---|---|
committer | Dan Radez <dradez@redhat.com> | 2017-03-09 17:54:20 +0000 |
commit | fb8c23c5413ee7c820f7c947fb1bb007d5d4cf95 (patch) | |
tree | 334bec4406bb7b503556911974db8150d23ae876 /lib | |
parent | 8b2ca87007c2cb477765c183325e5af03bf9f80d (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-x | lib/overcloud-deploy-functions.sh | 16 | ||||
-rw-r--r-- | lib/python/apex/deploy_settings.py | 3 | ||||
-rw-r--r-- | lib/python/apex/network_settings.py | 2 |
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 " |