将tsg-env-mcn0,1,2,3 合并到tsg-env-mcn中去

This commit is contained in:
fumingwei
2020-01-20 14:13:37 +08:00
parent 67c9de56df
commit 9bc8f99138
17 changed files with 618 additions and 0 deletions

View File

@@ -0,0 +1,132 @@
#!/bin/bash
# set -x
CURRENT_PATH=`dirname $0`
TP_SVR=192.168.100.5
TP_PORT=10000
REMOTE_CONTROL_BIN=switch_control_client_non_block
function get_netdev_by_pci()
{
DEV_LIST=`ifconfig -a |grep flags |awk -F: '{print $1}'`
for i in ${DEV_LIST}
do
ethtool -i ${i} |grep bus-info |grep "$1" > /dev/null 2>&1
if [ $? -eq 0 ];then
TARGET=${i}
break
fi
done
echo ${TARGET}
}
function pf_setup()
{
ifconfig ens1 up
modprobe 8021q
vconfig add ens1 100
vconfig set_flag ens1.100 1 1
ifconfig ens1.100 192.168.100.1 netmask 255.255.255.0 up
sleep 1
}
function vf_setup()
{
echo 8 > /sys/class/net/ens1/device/sriov_numvfs
sleep 5
ifconfig ens1f3 up
ip link set ens1 vf 2 vlan 200
ifconfig ens1f3 192.168.200.1 netmask 255.255.255.0
ifconfig ens1f1 up
ifconfig ens1f2 up
ifconfig ens1f3 up
ifconfig ens1f4 up
ifconfig ens1f5 up
ifconfig ens1f6 up
ifconfig ens1f7 up
ifconfig enp1s1 up
sleep 5
}
function bring_down_pfvf()
{
echo 0 > /sys/class/net/ens1/device/sriov_numvfs
ifconfig ens1 down
sleep 3
}
# Main loop
while :
do
FAIL_FLAG=0
# Make sure PF is valid
ping ${TP_SVR} -c 1
if [ $? -ne 0 ];then
echo "Please make sure switch board is up."
bring_down_pfvf
pf_setup
continue
fi
# Make sure TestPoint is up.
${CURRENT_PATH}/${REMOTE_CONTROL_BIN} -s ${TP_SVR} -n ${TP_PORT} -c "show version"
if [ $? -ne 0 ];then
echo "Cannot reach TestPoint!"
echo "Please make sure TestPoint is up and in remote-listen mode."
sleep 5
continue
fi
# Create VFs and get MAC addresses
vf_setup
PF=`get_netdev_by_pci 01:00.0`
VF1=`get_netdev_by_pci 01:00.1`
VF2=`get_netdev_by_pci 01:00.2`
VF3=`get_netdev_by_pci 01:00.3`
VF4=`get_netdev_by_pci 01:00.4`
VF5=`get_netdev_by_pci 01:00.5`
VF6=`get_netdev_by_pci 01:00.6`
VF7=`get_netdev_by_pci 01:00.7`
VF8=`get_netdev_by_pci 01:01.0`
MAC1=`ifconfig ${VF1} |grep ether |awk -F' ' '{print $2}'`
MAC2=`ifconfig ${VF2} |grep ether |awk -F' ' '{print $2}'`
MAC3=`ifconfig ${VF3} |grep ether |awk -F' ' '{print $2}'`
MAC4=`ifconfig ${VF4} |grep ether |awk -F' ' '{print $2}'`
MAC5=`ifconfig ${VF5} |grep ether |awk -F' ' '{print $2}'`
MAC6=`ifconfig ${VF6} |grep ether |awk -F' ' '{print $2}'`
MAC7=`ifconfig ${VF7} |grep ether |awk -F' ' '{print $2}'`
MAC8=`ifconfig ${VF8} |grep ether |awk -F' ' '{print $2}'`
MAC9=`ifconfig ${PF} |grep ether |awk -F' ' '{print $2}'`
# Make sure VFs are valid
MAC_TABLE=`${CURRENT_PATH}/${REMOTE_CONTROL_BIN} -s ${TP_SVR} -n ${TP_PORT} -c "show mac table all"`
for i in ${MAC1} ${MAC2} ${MAC3} ${MAC4} ${MAC5} ${MAC6} ${MAC7} ${MAC8} ${MAC9}
do
echo ${MAC_TABLE} |grep ${i} > /dev/null 2>&1
if [ $? -ne 0 ];then
echo "MAC ${i} is not in table!"
FAIL_FLAG=1
break
fi
done
if [ ${FAIL_FLAG} -eq 1 ];then
bring_down_pfvf
continue
fi
echo "PF/VF setup successful."
exit 0
done

View File

@@ -0,0 +1,15 @@
[Unit]
Description=tsg sled-mcn0 env init
Requires=network.target
After=network.target
Before=mrenv.service
[Service]
ExecStart=/opt/tsg/env/setup
ExecStop=/opt/tsg/env/tsg-env_stop
Type=oneshot
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
RequiredBy=mrenv.service

View File

@@ -0,0 +1,6 @@
#!/bin/bash
#
echo 0 >/sys/class/net/ens1/device/sriov_numvfs
ifconfig ens1.100 down
vconfig rem ens1.100
ifconfig ens1 down

View File

@@ -0,0 +1,115 @@
#!/bin/bash
# set -x
CURRENT_PATH=`dirname $0`
TP_SVR=192.168.100.5
TP_PORT=10000
REMOTE_CONTROL_BIN=switch_control_client_non_block
modprobe 8021q
function get_netdev_by_pci()
{
DEV_LIST=`ifconfig -a |grep flags |awk -F: '{print $1}'`
for i in ${DEV_LIST}
do
ethtool -i ${i} |grep bus-info |grep "$1" > /dev/null 2>&1
if [ $? -eq 0 ];then
TARGET=${i}
break
fi
done
echo ${TARGET}
}
function pf_setup()
{
ifconfig ens1 up
vconfig add ens1 100
vconfig set_flag ens1.100 1 1
ifconfig ens1.100 192.168.100.2 netmask 255.255.255.0 up
sleep 1
}
function vf_setup()
{
echo 4 > /sys/class/net/ens1/device/sriov_numvfs
sleep 5
ifconfig ens1f3 up
ip link set ens1 vf 2 vlan 200
ifconfig ens1f3 192.168.200.2 netmask 255.255.255.0
ifconfig ens1f1 up
ifconfig ens1f2 up
ifconfig ens1f3 up
ifconfig ens1f4 up
sleep 5
}
function bring_down_pfvf()
{
echo 0 > /sys/class/net/ens1/device/sriov_numvfs
ifconfig ens1 down
sleep 3
}
# Main loop
while :
do
FAIL_FLAG=0
# Make sure PF is valid
ping ${TP_SVR} -c 1
if [ $? -ne 0 ];then
echo "Please make sure switch board is up."
bring_down_pfvf
pf_setup
continue
fi
# Make sure TestPoint is up.
${CURRENT_PATH}/${REMOTE_CONTROL_BIN} -s ${TP_SVR} -n ${TP_PORT} -c "show version"
if [ $? -ne 0 ];then
echo "Cannot reach TestPoint!"
echo "Please make sure TestPoint is up and in remote-listen mode."
sleep 5
continue
fi
# Create VFs and get MAC addresses
vf_setup
PF=`get_netdev_by_pci 01:00.0`
VF1=`get_netdev_by_pci 01:00.1`
VF2=`get_netdev_by_pci 01:00.2`
VF3=`get_netdev_by_pci 01:00.3`
VF4=`get_netdev_by_pci 01:00.4`
MAC0=`ifconfig ${PF} |grep ether |awk -F' ' '{print $2}'`
MAC1=`ifconfig ${VF1} |grep ether |awk -F' ' '{print $2}'`
MAC2=`ifconfig ${VF2} |grep ether |awk -F' ' '{print $2}'`
MAC3=`ifconfig ${VF3} |grep ether |awk -F' ' '{print $2}'`
MAC4=`ifconfig ${VF4} |grep ether |awk -F' ' '{print $2}'`
# Make sure VFs are valid
MAC_TABLE=`${CURRENT_PATH}/${REMOTE_CONTROL_BIN} -s ${TP_SVR} -n ${TP_PORT} -c "show mac table all"`
for i in ${MAC0} ${MAC1} ${MAC2} ${MAC3} ${MAC4}
do
echo ${MAC_TABLE} |grep ${i} > /dev/null 2>&1
if [ $? -ne 0 ];then
echo "MAC ${i} is not in table!"
FAIL_FLAG=1
break
fi
done
if [ ${FAIL_FLAG} -eq 1 ];then
bring_down_pfvf
continue
fi
echo "PF/VF setup successful."
exit 0
done

View File

@@ -0,0 +1,15 @@
[Unit]
Description=tsg sled-mcn1 env init
Requires=network.target
After=network.target
Before=tfe-env.service mrenv.service
[Service]
ExecStart=/opt/tsg/env/setup
ExecStop=/opt/tsg/env/tsg-env_stop
Type=oneshot
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
RequiredBy=tfe-env.service mrenv.service

View File

@@ -0,0 +1,6 @@
#!/bin/bash
#
echo 0 >/sys/class/net/ens1/device/sriov_numvfs
ifconfig ens1.100 down
vconfig rem ens1.100
ifconfig ens1 down

View File

@@ -0,0 +1,115 @@
#!/bin/bash
# set -x
CURRENT_PATH=`dirname $0`
TP_SVR=192.168.100.5
TP_PORT=10000
REMOTE_CONTROL_BIN=switch_control_client_non_block
modprobe 8021q
function get_netdev_by_pci()
{
DEV_LIST=`ifconfig -a |grep flags |awk -F: '{print $1}'`
for i in ${DEV_LIST}
do
ethtool -i ${i} |grep bus-info |grep "$1" > /dev/null 2>&1
if [ $? -eq 0 ];then
TARGET=${i}
break
fi
done
echo ${TARGET}
}
function pf_setup()
{
ifconfig ens8 up
vconfig add ens8 100
vconfig set_flag ens8.100 1 1
ifconfig ens8.100 192.168.100.3 netmask 255.255.255.0 up
sleep 1
}
function vf_setup()
{
echo 4 > /sys/class/net/ens8/device/sriov_numvfs
sleep 5
ifconfig ens8f3 up
ip link set ens8 vf 2 vlan 200
ifconfig ens8f3 192.168.200.3 netmask 255.255.255.0
ifconfig ens8f1 up
ifconfig ens8f2 up
ifconfig ens8f3 up
ifconfig ens8f4 up
sleep 5
}
function bring_down_pfvf()
{
echo 0 > /sys/class/net/ens8/device/sriov_numvfs
ifconfig ens8 down
sleep 3
}
# Main loop
while :
do
FAIL_FLAG=0
# Make sure PF is valid
ping ${TP_SVR} -c 1
if [ $? -ne 0 ];then
echo "Please make sure switch board is up."
bring_down_pfvf
pf_setup
continue
fi
# Make sure TestPoint is up.
${CURRENT_PATH}/${REMOTE_CONTROL_BIN} -s ${TP_SVR} -n ${TP_PORT} -c "show version"
if [ $? -ne 0 ];then
echo "Cannot reach TestPoint!"
echo "Please make sure TestPoint is up and in remote-listen mode."
sleep 5
continue
fi
# Create VFs and get MAC addresses
vf_setup
PF=`get_netdev_by_pci 85:00.0`
VF1=`get_netdev_by_pci 85:00.1`
VF2=`get_netdev_by_pci 85:00.2`
VF3=`get_netdev_by_pci 85:00.3`
VF4=`get_netdev_by_pci 85:00.4`
MAC0=`ifconfig ${PF} |grep ether |awk -F' ' '{print $2}'`
MAC1=`ifconfig ${VF1} |grep ether |awk -F' ' '{print $2}'`
MAC2=`ifconfig ${VF2} |grep ether |awk -F' ' '{print $2}'`
MAC3=`ifconfig ${VF3} |grep ether |awk -F' ' '{print $2}'`
MAC4=`ifconfig ${VF4} |grep ether |awk -F' ' '{print $2}'`
# Make sure VFs are valid
MAC_TABLE=`${CURRENT_PATH}/${REMOTE_CONTROL_BIN} -s ${TP_SVR} -n ${TP_PORT} -c "show mac table all"`
for i in ${MAC0} ${MAC1} ${MAC2} ${MAC3} ${MAC4}
do
echo ${MAC_TABLE} |grep ${i} > /dev/null 2>&1
if [ $? -ne 0 ];then
echo "MAC ${i} is not in table!"
FAIL_FLAG=1
break
fi
done
if [ ${FAIL_FLAG} -eq 1 ];then
bring_down_pfvf
continue
fi
echo "PF/VF setup successful."
exit 0
done

View File

@@ -0,0 +1,15 @@
[Unit]
Description=tsg sled-mcn3 env init
Requires=network.target
After=network.target
Before=tfe-env.service mrenv.service
[Service]
ExecStart=/opt/tsg/env/setup
ExecStop=/opt/tsg/env/tsg-env_stop
Type=oneshot
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
RequiredBy=tfe-env.service mrenv.service

View File

@@ -0,0 +1,6 @@
#!/bin/bash
#
echo 0 >/sys/class/net/ens8/device/sriov_numvfs
ifconfig ens8.100 down
vconfig rem ens8.100
ifconfig ens8 down

View File

@@ -0,0 +1,115 @@
#!/bin/bash
# set -x
CURRENT_PATH=`dirname $0`
TP_SVR=192.168.100.5
TP_PORT=10000
REMOTE_CONTROL_BIN=switch_control_client_non_block
modprobe 8021q
function get_netdev_by_pci()
{
DEV_LIST=`ifconfig -a |grep flags |awk -F: '{print $1}'`
for i in ${DEV_LIST}
do
ethtool -i ${i} |grep bus-info |grep "$1" > /dev/null 2>&1
if [ $? -eq 0 ];then
TARGET=${i}
break
fi
done
echo ${TARGET}
}
function pf_setup()
{
ifconfig ens8 up
vconfig add ens8 100
vconfig set_flag ens8.100 1 1
ifconfig ens8.100 192.168.100.4 netmask 255.255.255.0 up
sleep 1
}
function vf_setup()
{
echo 4 > /sys/class/net/ens8/device/sriov_numvfs
sleep 5
ifconfig ens8f3 up
ip link set ens8 vf 2 vlan 200
ifconfig ens8f3 192.168.200.4 netmask 255.255.255.0
ifconfig ens8f1 up
ifconfig ens8f2 up
ifconfig ens8f3 up
ifconfig ens8f4 up
sleep 5
}
function bring_down_pfvf()
{
echo 0 > /sys/class/net/ens8/device/sriov_numvfs
ifconfig ens8 down
sleep 3
}
# Main loop
while :
do
FAIL_FLAG=0
# Make sure PF is valid
ping ${TP_SVR} -c 1
if [ $? -ne 0 ];then
echo "Please make sure switch board is up."
bring_down_pfvf
pf_setup
continue
fi
# Make sure TestPoint is up.
${CURRENT_PATH}/${REMOTE_CONTROL_BIN} -s ${TP_SVR} -n ${TP_PORT} -c "show version"
if [ $? -ne 0 ];then
echo "Cannot reach TestPoint!"
echo "Please make sure TestPoint is up and in remote-listen mode."
sleep 5
continue
fi
# Create VFs and get MAC addresses
vf_setup
PF=`get_netdev_by_pci 85:00.0`
VF1=`get_netdev_by_pci 85:00.1`
VF2=`get_netdev_by_pci 85:00.2`
VF3=`get_netdev_by_pci 85:00.3`
VF4=`get_netdev_by_pci 85:00.4`
MAC0=`ifconfig ${PF} |grep ether |awk -F' ' '{print $2}'`
MAC1=`ifconfig ${VF1} |grep ether |awk -F' ' '{print $2}'`
MAC2=`ifconfig ${VF2} |grep ether |awk -F' ' '{print $2}'`
MAC3=`ifconfig ${VF3} |grep ether |awk -F' ' '{print $2}'`
MAC4=`ifconfig ${VF4} |grep ether |awk -F' ' '{print $2}'`
# Make sure VFs are valid
MAC_TABLE=`${CURRENT_PATH}/${REMOTE_CONTROL_BIN} -s ${TP_SVR} -n ${TP_PORT} -c "show mac table all"`
for i in ${MAC0} ${MAC1} ${MAC2} ${MAC3} ${MAC4}
do
echo ${MAC_TABLE} |grep ${i} > /dev/null 2>&1
if [ $? -ne 0 ];then
echo "MAC ${i} is not in table!"
FAIL_FLAG=1
break
fi
done
if [ ${FAIL_FLAG} -eq 1 ];then
bring_down_pfvf
continue
fi
echo "PF/VF setup successful."
exit 0
done

View File

@@ -0,0 +1,15 @@
[Unit]
Description=tsg sled-mcn3 env init
Requires=network.target
After=network.target
Before=tfe-env.service mrenv.service
[Service]
ExecStart=/opt/tsg/env/setup
ExecStop=/opt/tsg/env/tsg-env_stop
Type=oneshot
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
RequiredBy=tfe-env.service mrenv.service

View File

@@ -0,0 +1,6 @@
#!/bin/bash
#
echo 0 >/sys/class/net/ens8/device/sriov_numvfs
ifconfig ens8.100 down
vconfig rem ens8.100
ifconfig ens8 down

View File

@@ -0,0 +1,57 @@
---
- name: "copy setup script"
copy:
src: "{{ role_path }}/files/{{item.dict}}/setup"
dest: "/opt/tsg/env/"
mode: 0755
when: item.group_name in group_names
with_items:
- { group_name: 'blade-00', dict: 'env-mcn0' }
- { group_name: 'blade-01', dict: 'env-mcn1' }
- { group_name: 'blade-02', dict: 'env-mcn2' }
- { group_name: 'blade-03', dict: 'env-mcn3' }
- name: "copy switch_control_client_non_block"
copy:
src: "{{ role_path }}/files/{{item.dict}}/switch_control_client_non_block"
dest: "/opt/tsg/env/"
mode: 0755
when: item.group_name in group_names
with_items:
- { group_name: 'blade-00', dict: 'env-mcn0' }
- { group_name: 'blade-01', dict: 'env-mcn1' }
- { group_name: 'blade-02', dict: 'env-mcn2' }
- { group_name: 'blade-03', dict: 'env-mcn3' }
- name: "copy tsg-env.service"
copy:
src: "{{ role_path }}/files/{{item.dict}}/tsg-env.service"
dest: "/usr/lib/systemd/system/"
mode: 0644
when: item.group_name in group_names
with_items:
- { group_name: 'blade-00', dict: 'env-mcn0' }
- { group_name: 'blade-01', dict: 'env-mcn1' }
- { group_name: 'blade-02', dict: 'env-mcn2' }
- { group_name: 'blade-03', dict: 'env-mcn3' }
- name: "copy tsg-env_stop"
copy:
src: "{{ role_path }}/files/{{item.dict}}/tsg-env_stop"
dest: "/opt/tsg/env/"
mode: 0755
when: item.group_name in group_names
with_items:
- { group_name: 'blade-00', dict: 'env-mcn0' }
- { group_name: 'blade-01', dict: 'env-mcn1' }
- { group_name: 'blade-02', dict: 'env-mcn2' }
- { group_name: 'blade-03', dict: 'env-mcn3' }
- name: "enable tsg-env"
systemd:
name: tsg-env
enabled: yes
daemon_reload: yes