From d433573b98d288feaff518dd3ac9a5b19e35f1e6 Mon Sep 17 00:00:00 2001 From: Michael Polenchuk Date: Fri, 2 Jun 2017 16:39:58 +0400 Subject: [PATCH] [mcp] Mend dpdk scenario Make a reboot of the compute nodes to activate hugepages support and re-apply required states then. Also align ovs lcore & pmd masks with two cpu nodes. Change-Id: I4a5defe6f08e912aba2d939ba5ba057af768a40c Signed-off-by: Michael Polenchuk --- ci/deploy.sh | 3 ++ .../virtual-mcp-ocata-ovs-dpdk/infra/config.yml | 8 ++--- .../openstack/compute.yml | 3 +- .../openstack/gateway.yml | 41 +++++++++++++--------- .../virtual-mcp-ocata-ovs-dpdk/openstack/init.yml | 4 +-- mcp/reclass/scripts/dpdk.sh | 16 +++++++++ 6 files changed, 51 insertions(+), 24 deletions(-) create mode 100755 mcp/reclass/scripts/dpdk.sh diff --git a/ci/deploy.sh b/ci/deploy.sh index fe40b07b8..500d26e41 100755 --- a/ci/deploy.sh +++ b/ci/deploy.sh @@ -255,6 +255,9 @@ export SSH_OPTS="-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -i ./salt.sh ./openstack.sh +# enable dpdk on computes +[[ $DEPLOY_SCENARIO =~ dpdk ]] && ./dpdk.sh + ## Disable Fuel deployment engine # # echo "python deploy-config.py -dha ${BASE_CONFIG_URI}/labs/${TARGET_LAB}/${TARGET_POD}/fuel/config/dha.yaml -deab file://${DEPLOY_DIR}/config/dea_base.yaml -deao ${BASE_CONFIG_URI}/labs/${TARGET_LAB}/${TARGET_POD}/fuel/config/dea-pod-override.yaml -scenario-base-uri file://${DEPLOY_DIR}/scenario -scenario ${DEPLOY_SCENARIO} -plugins file://${DEPLOY_DIR}/config/plugins -output ${SCRIPT_PATH}/config" diff --git a/mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/infra/config.yml b/mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/infra/config.yml index 331ab6e05..3add5a4c6 100644 --- a/mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/infra/config.yml +++ b/mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/infra/config.yml @@ -65,15 +65,15 @@ parameters: single_address: 172.16.10.105 tenant_address: 10.1.0.105 external_address: 10.16.0.105 - dpdk0_name: ens4 - dpdk0_pci: '"0000:00:04.0"' + dpdk0_name: ens5 + dpdk0_pci: '"0000:00:05.0"' openstack_compute_node02: params: single_address: 172.16.10.106 tenant_address: 10.1.0.106 external_address: 10.16.0.106 - dpdk0_name: ens4 - dpdk0_pci: '"0000:00:04.0"' + dpdk0_name: ens5 + dpdk0_pci: '"0000:00:05.0"' openstack_gateway_node01: params: tenant_address: 10.1.0.110 diff --git a/mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/openstack/compute.yml b/mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/openstack/compute.yml index 6a70421df..b8fadb932 100644 --- a/mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/openstack/compute.yml +++ b/mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/openstack/compute.yml @@ -58,10 +58,9 @@ parameters: pci: ${_param:dpdk0_pci} driver: igb_uio enabled: true + bridge: br-prv type: dpdk_ovs_port n_rxq: 2 br-prv: enabled: true type: dpdk_ovs_bridge - address: ${_param:tenant_address} - netmask: 255.255.255.0 diff --git a/mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/openstack/gateway.yml b/mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/openstack/gateway.yml index e9f09ca0b..64e2245cb 100644 --- a/mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/openstack/gateway.yml +++ b/mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/openstack/gateway.yml @@ -29,37 +29,46 @@ parameters: type: eth tenant_interface: enabled: true + ovs_bridge: br-prv name: ${_param:tenant_interface} mtu: ${_param:interface_mtu} proto: manual type: eth - br_ctl: + external_interface: enabled: true - type: ovs_port - bridge: br-floating + name: ${_param:external_interface} + mtu: ${_param:interface_mtu} + proto: manual + type: eth + br-floating: + enabled: true + type: ovs_bridge + mtu: ${_param:interface_mtu} + br-mgmt: + enabled: true + type: bridge proto: static address: ${_param:single_address} netmask: 255.255.255.0 mtu: ${_param:interface_mtu} use_interfaces: - ${_param:primary_interface} - br-floating: - enabled: true - type: ovs_bridge br-prv: enabled: true type: ovs_bridge - address: ${_param:tenant_address} - netmask: 255.255.255.0 - floating-to-prv: + mtu: ${_param:interface_mtu} + float-to-ex: enabled: true type: ovs_port - port_type: patch + mtu: ${_param:interface_mtu} bridge: br-floating - peer: prv-to-floating - prv-to-floating: + br-ex: enabled: true - type: ovs_port - port_type: patch - bridge: br-prv - peer: floating-to-prv + type: bridge + mtu: ${_param:interface_mtu} + address: ${_param:external_address} + netmask: 255.255.255.0 + use_interfaces: + - ${_param:external_interface} + use_ovs_ports: + - float-to-ex diff --git a/mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/openstack/init.yml b/mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/openstack/init.yml index 6c846d6cc..b56a5a2fb 100644 --- a/mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/openstack/init.yml +++ b/mcp/reclass/classes/cluster/virtual-mcp-ocata-ovs-dpdk/openstack/init.yml @@ -27,9 +27,9 @@ parameters: compute_hugepages_count: 1024 compute_hugepages_mount: /mnt/hugepages_2M compute_dpdk_driver: uio - compute_ovs_pmd_cpu_mask: "0x6" + compute_ovs_pmd_cpu_mask: "0x2" compute_ovs_dpdk_socket_mem: "1024" - compute_ovs_dpdk_lcore_mask: "0x400" + compute_ovs_dpdk_lcore_mask: "0x1" compute_ovs_memory_channels: "2" cluster_node01_hostname: ctl01 cluster_node01_address: 172.16.10.101 diff --git a/mcp/reclass/scripts/dpdk.sh b/mcp/reclass/scripts/dpdk.sh new file mode 100755 index 000000000..4e4cd0b2a --- /dev/null +++ b/mcp/reclass/scripts/dpdk.sh @@ -0,0 +1,16 @@ +#!/bin/bash +# +# Enable DPDK on compute nodes +# + +ssh $SSH_OPTS ubuntu@$SALT_MASTER bash -s << DPDK_INSTALL_END + sudo -i + + salt -C 'I@nova:compute' system.reboot + salt -C 'I@nova:compute' test.ping + + salt -C 'I@nova:compute' state.sls linux + salt -C 'I@nova:compute' state.sls nova,neutron + + salt -C 'I@keystone:server and *01*' cmd.run ". /root/keystonercv3; nova service-list; openstack network agent list" +DPDK_INSTALL_END -- 2.16.6