diff options
| author | lijia <[email protected]> | 2019-09-17 18:18:25 +0800 |
|---|---|---|
| committer | lijia <[email protected]> | 2019-09-17 18:18:25 +0800 |
| commit | 0064af7061f90071b98f7249560e29f47ac96830 (patch) | |
| tree | 5f28238101bac67ae6fc59a5e4b84b7253fdfc1c /roles | |
create new project.
Diffstat (limited to 'roles')
26 files changed, 690 insertions, 0 deletions
diff --git a/roles/tsg-cli-mcn0/files/tsg-monitor.service b/roles/tsg-cli-mcn0/files/tsg-monitor.service new file mode 100644 index 0000000..9e193df --- /dev/null +++ b/roles/tsg-cli-mcn0/files/tsg-monitor.service @@ -0,0 +1,16 @@ +[Unit] +Description=tsg monitor service +Requires=network.target +After=network.target + +[Service] +#WorkingDirectory=/opt/tsg/tsg-monitor/ +ExecStart=/opt/tsg/tsg-monitor/tsg-monitor.sh +#ExecStop=/home/tsg/kni/kni_service_scipt stop +#ExecStop=/bin/kill -9 $MAINPID +Type=simple +Restart=always +RestartSec=5s + +[Install] +WantedBy=multi-user.target diff --git a/roles/tsg-cli-mcn0/files/tsg-monitor.sh b/roles/tsg-cli-mcn0/files/tsg-monitor.sh new file mode 100644 index 0000000..ff78351 --- /dev/null +++ b/roles/tsg-cli-mcn0/files/tsg-monitor.sh @@ -0,0 +1,87 @@ +#!/bin/sh + +#mcn0 + +#防止因上一次的命令阻塞或长时间未返回, +#导致10秒内还不结束, 强行杀掉, +#否则长时间运行后, 会有大量后台进程运行 +killall_uncompleted_cmd(){ + #killall -9 tsg_cluster_register + killall -9 tsg_diagnose_background + killall -9 tsg_update_tags + + killall -9 tsg_monit_app + killall -9 tsg_monit_intercept + killall -9 tsg_monit_interface + killall -9 tsg_monit_protocol_v3 + killall -9 tsg_monit_protocol_v4 + killall -9 tsg_monit_stream_v3 + killall -9 tsg_monit_stream_v4 +} + +start_background_cmd(){ + #后台并发运行, 保证所有命令的开始运行时间基本一样, + #且不会因某个命令网络拥塞、执行时间长等问题,阻塞while(1)主循环 + /opt/tsg/tsg-monitor/tsg_diagnose_background > /dev/null & + /opt/tsg/tsg-monitor/tsg_update_tags > /dev/null & + + /opt/tsg/tsg-monitor/tsg_monit_app > /dev/null & + /opt/tsg/tsg-monitor/tsg_monit_intercept > /dev/null & + /opt/tsg/tsg-monitor/tsg_monit_interface > /dev/null & + /opt/tsg/tsg-monitor/tsg_monit_protocol_v3 > /dev/null & + /opt/tsg/tsg-monitor/tsg_monit_protocol_v4 > /dev/null & + /opt/tsg/tsg-monitor/tsg_monit_stream_v3 > /dev/null & + /opt/tsg/tsg-monitor/tsg_monit_stream_v4 > /dev/null & +} + +#return value: current time in ms +get_current_time_in_ms(){ + time_sec=`date +"%s"` + time_nsec=`date +"%N"` + #echo $time_sec + #echo $time_nsec + + time_epoch_ms=`echo | awk -v a=$time_sec -v b=$time_nsec '{printf("%.f"), a*1000+b/1000/1000}'` + + echo $time_epoch_ms +} + +#args: +#begin from time, in ms +#wait for n ms +sleep_for_time_ms(){ + last_time=$1 + wait_sec=$2 + #break_time=`echo | awk -v a=$last_time -v b=$wait_sec '{printf("%.f"), a+b}'` + break_time=`expr $last_time + $wait_sec` + break_time_int=`expr $break_time` + #echo "start: last_time is:$last_time, expect break timeis:$break_time!" + + current_time=0 + break_time=0 + #break_time=`expr $last_time + 1000*$1` + while [ 1 ]; do + current_time=`get_current_time_in_ms` + current_time_int=`expr $current_time` + if [ $current_time_int -ge $break_time_int ]; then + #echo "current is: $current_time_int, break_time is:$break_time_int, break!" + break + else + #echo "break is: $current_time_int, last_time is:$break_time_int, continue!" + # usleep is us + usleep 1000 + fi + done + +} + +while [ 1 ]; do + start_time=`get_current_time_in_ms` + echo tsg-monitor start at `date +"%Y/%m/%d, %H:%M:%S.%N"` >> /tmp/tsg-monitor.log + + start_background_cmd + sleep 10 + killall_uncompleted_cmd + + sleep_for_time_ms $start_time 15000 +done diff --git a/roles/tsg-cli-mcn0/files/tsg_chassis_interface.json b/roles/tsg-cli-mcn0/files/tsg_chassis_interface.json new file mode 100644 index 0000000..be40ac9 --- /dev/null +++ b/roles/tsg-cli-mcn0/files/tsg_chassis_interface.json @@ -0,0 +1,16 @@ +{ + "local_chassis_node": "mcn0", + "interface_list": [ + { + "dev_name": "ens1f4", + "dev_type": "marsio", + "flow_type": "inline" + }, + { + "dev_name": "ens1f5", + "dev_type": "marsio", + "flow_type": "inline" + } + + ] +} diff --git a/roles/tsg-cli-mcn0/tasks/main.yml b/roles/tsg-cli-mcn0/tasks/main.yml new file mode 100644 index 0000000..a15b827 --- /dev/null +++ b/roles/tsg-cli-mcn0/tasks/main.yml @@ -0,0 +1,45 @@ +--- +- name: "copy tsg-cli rmp to destination server" + synchronize: + src: "{{ role_path }}/../tsg-common-files/{{ rpm_file_name }}" + dest: "/tmp/tsg-cli-deploy/" + +- name: "install tsg-cli" + yum: + name: "{{ packages }}" + state: present + vars: + packages: + - /tmp/tsg-cli-deploy/{{ rpm_file_name }} + +- name: Template the main.conf + template: + src: "{{ role_path }}/templates/tsg_sn.json.j2" + dest: /opt/tsg/etc/tsg_sn.json + tags: template + +- name: "copy tsg-monitor.service to destination server" + synchronize: + src: "{{ role_path }}/files/tsg-monitor.service" + dest: "/usr/lib/systemd/system" + +- name: "copy tsg_chassis_interface.json to destination server" + synchronize: + src: "{{ role_path }}/files/tsg_chassis_interface.json" + dest: "/opt/tsg/etc/" + +- name: "copy tsg-monitor.sh to destination server" + #synchronize: + copy: + src: "{{ role_path }}/files/tsg-monitor.sh" + dest: "/opt/tsg/tsg-monitor/" + mode: 0755 + +- name: "reload systemd config" + command: systemctl daemon-reload + +- name: "enable tsg-monitor service" + command: systemctl enable tsg-monitor.service + +#- name: "start tsg-monitor service" +# command: systemctl start tsg-monitor.service diff --git a/roles/tsg-cli-mcn0/templates/tsg_sn.json.j2 b/roles/tsg-cli-mcn0/templates/tsg_sn.json.j2 new file mode 100644 index 0000000..bceeb99 --- /dev/null +++ b/roles/tsg-cli-mcn0/templates/tsg_sn.json.j2 @@ -0,0 +1,3 @@ +{ + "sn": "{{ SN }}" +}
\ No newline at end of file diff --git a/roles/tsg-cli-mcn1-3/files/tsg-monitor.service b/roles/tsg-cli-mcn1-3/files/tsg-monitor.service new file mode 100644 index 0000000..f61aded --- /dev/null +++ b/roles/tsg-cli-mcn1-3/files/tsg-monitor.service @@ -0,0 +1,15 @@ +[Unit] +Description=tsg monitor service +Requires=network.target +After=network.target + +[Service] +#WorkingDirectory=/opt/tsg/tsg-monitor/ +ExecStart=/opt/tsg/tsg-monitor/tsg-monitor.sh +#ExecStop=/bin/kill -9 $MAINPID +Type=simple +Restart=always +RestartSec=5s + +[Install] +WantedBy=multi-user.target diff --git a/roles/tsg-cli-mcn1-3/files/tsg-monitor.sh b/roles/tsg-cli-mcn1-3/files/tsg-monitor.sh new file mode 100644 index 0000000..3b15808 --- /dev/null +++ b/roles/tsg-cli-mcn1-3/files/tsg-monitor.sh @@ -0,0 +1,75 @@ +#!/bin/sh + +#mcn1-3 + +#防止因上一次的命令阻塞或长时间未返回, +#导致10秒内还不结束, 强行杀掉, +#否则长时间运行后, 会有大量后台进程运行 +killall_uncompleted_cmd(){ + #killall -9 tsg_cluster_register + killall -9 tsg_diagnose_background + killall -9 tsg_update_tags + + killall -9 tsg_monit_interface + +} + +start_background_cmd(){ + #后台并发运行, 保证所有命令的开始运行时间基本一样, + #且不会因某个命令网络拥塞、执行时间长等问题,阻塞while(1)主循环 + /opt/tsg/tsg-monitor/tsg_diagnose_background > /dev/null & + /opt/tsg/tsg-monitor/tsg_update_tags > /dev/null & + /opt/tsg/tsg-monitor/tsg_monit_interface > /dev/null & +} + +#return value: current time in ms +get_current_time_in_ms(){ + time_sec=`date +"%s"` + time_nsec=`date +"%N"` + #echo $time_sec + #echo $time_nsec + + time_epoch_ms=`echo | awk -v a=$time_sec -v b=$time_nsec '{printf("%.f"), a*1000+b/1000/1000}'` + + echo $time_epoch_ms +} + +#args: +#begin from time, in ms +#wait for n ms +sleep_for_time_ms(){ + last_time=$1 + wait_sec=$2 + #break_time=`echo | awk -v a=$last_time -v b=$wait_sec '{printf("%.f"), a+b}'` + break_time=`expr $last_time + $wait_sec` + break_time_int=`expr $break_time` + #echo "start: last_time is:$last_time, expect break timeis:$break_time!" + + current_time=0 + break_time=0 + #break_time=`expr $last_time + 1000*$1` + while [ 1 ]; do + current_time=`get_current_time_in_ms` + current_time_int=`expr $current_time` + if [ $current_time_int -ge $break_time_int ]; then + #echo "current is: $current_time_int, break_time is:$break_time_int, break!" + break + else + #echo "break is: $current_time_int, last_time is:$break_time_int, continue!" + # usleep is us + usleep 1000 + fi + done + +} + +while [ 1 ]; do + start_time=`get_current_time_in_ms` + echo tsg-monitor start at `date +"%Y/%m/%d, %H:%M:%S.%N"` >> /tmp/tsg-monitor.log + + start_background_cmd + sleep 10 + killall_uncompleted_cmd + + sleep_for_time_ms $start_time 15000 +done diff --git a/roles/tsg-cli-mcn1-3/files/tsg_chassis_interface.json b/roles/tsg-cli-mcn1-3/files/tsg_chassis_interface.json new file mode 100644 index 0000000..9f84b50 --- /dev/null +++ b/roles/tsg-cli-mcn1-3/files/tsg_chassis_interface.json @@ -0,0 +1,13 @@ +{ + "interface_list": [{ + "dev_name": "ens1f1", + "dev_type": "pcap", + "flow_type": "intercomm" + },{ + "dev_name": "ens1f2", + "dev_type": "marsio", + "flow_type": "mirror" + } + + ] +} diff --git a/roles/tsg-cli-mcn1-3/tasks/main.yml b/roles/tsg-cli-mcn1-3/tasks/main.yml new file mode 100644 index 0000000..dff0f21 --- /dev/null +++ b/roles/tsg-cli-mcn1-3/tasks/main.yml @@ -0,0 +1,45 @@ +--- +- name: "copy tsg-cli rmp to destination server" + synchronize: + src: "{{ role_path }}/../tsg-common-files/{{ rpm_file_name }}" + dest: "/tmp/tsg-cli-deploy/" + +- name: "install tsg-cli" + yum: + name: "{{ packages }}" + state: present + vars: + packages: + - /tmp/tsg-cli-deploy/{{ rpm_file_name }} + +- name: Template the tsg_sn.json + template: + src: "{{ role_path }}/templates/tsg_sn.json.j2" + dest: /opt/tsg/etc/tsg_sn.json + tags: template + +- name: "copy tsg-monitor.service to destination server" + synchronize: + src: "{{ role_path }}/files/tsg-monitor.service" + dest: "/usr/lib/systemd/system" + +- name: "copy tsg_chassis_interface.json to destination server" + synchronize: + src: "{{ role_path }}/files/tsg_chassis_interface.json" + dest: "/opt/tsg/etc/" + +- name: "copy tsg-monitor.sh to destination server" + #synchronize: + copy: + src: "{{ role_path }}/files/tsg-monitor.sh" + dest: "/opt/tsg/tsg-monitor/" + mode: 0755 + +- name: "reload systemd config" + command: systemctl daemon-reload + +- name: "enable tsg-monitor service" + command: systemctl enable tsg-monitor.service + +#- name: "start tsg-monitor service" +# command: systemctl start tsg-monitor.service diff --git a/roles/tsg-cli-mcn1-3/templates/tsg_sn.json.j2 b/roles/tsg-cli-mcn1-3/templates/tsg_sn.json.j2 new file mode 100644 index 0000000..bceeb99 --- /dev/null +++ b/roles/tsg-cli-mcn1-3/templates/tsg_sn.json.j2 @@ -0,0 +1,3 @@ +{ + "sn": "{{ SN }}" +}
\ No newline at end of file diff --git a/roles/tsg-cli-mxn/files/tsg-monitor.service b/roles/tsg-cli-mxn/files/tsg-monitor.service new file mode 100644 index 0000000..f7f29a5 --- /dev/null +++ b/roles/tsg-cli-mxn/files/tsg-monitor.service @@ -0,0 +1,15 @@ +[Unit] +Description=tsg monitor service +Requires=network.target +After=network.target + +[Service] +#WorkingDirectory=/opt/tsg/tsg-monitor/ +ExecStart=/opt/tsg/tsg-monitor/tsg-monitor.sh +#ExecStop=/bin/kill $MAINPID +Type=simple +Restart=always +RestartSec=5s + +[Install] +WantedBy=multi-user.target diff --git a/roles/tsg-cli-mxn/files/tsg-monitor.sh b/roles/tsg-cli-mxn/files/tsg-monitor.sh new file mode 100644 index 0000000..c93efa6 --- /dev/null +++ b/roles/tsg-cli-mxn/files/tsg-monitor.sh @@ -0,0 +1,72 @@ +#!/bin/sh + +#mxn + +#防止因上一次的命令阻塞或长时间未返回, +#导致10秒内还不结束, 要强行杀掉, +#否则长时间运行后, 会有大量后台进程运行! +killall_uncompleted_cmd(){ + killall -9 tsg_cluster_register + #killall -9 tsg_diagnose_background + killall -9 tsg_update_tags +} + +start_background_cmd(){ + #后台并发运行, 保证所有命令的开始运行时间基本一样, + #且不会因某个命令网络拥塞、执行时间长等问题,阻塞while(1)主循环 + /opt/tsg/tsg-monitor/tsg_cluster_register > /dev/null & + #nohup /opt/tsg/tsg-monitor/tsg_diagnose_background & + /opt/tsg/tsg-monitor/tsg_update_tags > /dev/null & +} + +#return value: current time in ms +get_current_time_in_ms(){ + time_sec=`date +"%s"` + time_nsec=`date +"%N"` + #echo $time_sec + #echo $time_nsec + + time_epoch_ms=`echo | awk -v a=$time_sec -v b=$time_nsec '{printf("%.f"), a*1000+b/1000/1000}'` + + echo $time_epoch_ms +} + +#args: +#begin from time, in ms +#wait for n ms +sleep_for_time_ms(){ + last_time=$1 + wait_sec=$2 + #break_time=`echo | awk -v a=$last_time -v b=$wait_sec '{printf("%.f"), a+b}'` + break_time=`expr $last_time + $wait_sec` + break_time_int=`expr $break_time` + #echo "start: last_time is:$last_time, expect break timeis:$break_time!" + + current_time=0 + break_time=0 + #break_time=`expr $last_time + 1000*$1` + while [ 1 ]; do + current_time=`get_current_time_in_ms` + current_time_int=`expr $current_time` + if [ $current_time_int -ge $break_time_int ]; then + #echo "current is: $current_time_int, break_time is:$break_time_int, break!" + break + else + #echo "break is: $current_time_int, last_time is:$break_time_int, continue!" + # usleep is us + usleep 1000 + fi + done + +} + +while [ 1 ]; do + start_time=`get_current_time_in_ms` + echo tsg-monitor start at `date +"%Y/%m/%d, %H:%M:%S.%N"` >> /tmp/tsg-monitor.log + + start_background_cmd + sleep 10 + killall_uncompleted_cmd + + sleep_for_time_ms $start_time 15000 +done diff --git a/roles/tsg-cli-mxn/tasks/main.yml b/roles/tsg-cli-mxn/tasks/main.yml new file mode 100644 index 0000000..581d5b5 --- /dev/null +++ b/roles/tsg-cli-mxn/tasks/main.yml @@ -0,0 +1,40 @@ +--- +- name: "copy tsg-cli rmp to destination server" + synchronize: + src: "{{ role_path }}/../tsg-common-files/{{ rpm_file_name }}" + dest: "/tmp/tsg-cli-deploy/" + +- name: "install tsg-cli" + yum: + name: "{{ packages }}" + state: present + vars: + packages: + - /tmp/tsg-cli-deploy/{{ rpm_file_name }} + +- name: Template the tsg_sn.json + template: + src: "{{ role_path }}/templates/tsg_sn.json.j2" + dest: /opt/tsg/etc/tsg_sn.json + tags: template + +- name: "copy tsg-monitor.service to destination server" + synchronize: + src: "{{ role_path }}/files/tsg-monitor.service" + dest: "/usr/lib/systemd/system" + +- name: "copy tsg-monitor.sh to destination server" + #synchronize: + copy: + src: "{{ role_path }}/files/tsg-monitor.sh" + dest: "/opt/tsg/tsg-monitor/" + mode: 0755 + +- name: "reload systemd config" + command: systemctl daemon-reload + +- name: "enable tsg-monitor service" + command: systemctl enable tsg-monitor.service + +- name: "start tsg-monitor service" + command: systemctl start tsg-monitor.service
\ No newline at end of file diff --git a/roles/tsg-cli-mxn/templates/tsg_sn.json.j2 b/roles/tsg-cli-mxn/templates/tsg_sn.json.j2 new file mode 100644 index 0000000..bceeb99 --- /dev/null +++ b/roles/tsg-cli-mxn/templates/tsg_sn.json.j2 @@ -0,0 +1,3 @@ +{ + "sn": "{{ SN }}" +}
\ No newline at end of file diff --git a/roles/tsg-env-mcn0/files/setup b/roles/tsg-env-mcn0/files/setup new file mode 100644 index 0000000..1229381 --- /dev/null +++ b/roles/tsg-env-mcn0/files/setup @@ -0,0 +1,28 @@ +#!/bin/bash + + 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 + + echo 0 > /sys/class/net/ens1/device/sriov_numvfs + sleep 1 + echo 8 > /sys/class/net/ens1/device/sriov_numvfs + sleep 1 + + ifconfig ens1f3 up + ip link set ens1 vf 2 vlan 200 + ifconfig ens1f3 192.168.200.1 netmask 255.255.255.0 + +ifconfig enp7s0 up +ifconfig enp8s0 up +ifconfig ens1f1 up +ifconfig ens1f2 up +ifconfig ens1f3 up +ifconfig ens1f4 up +ifconfig ens1f5 up +ifconfig ens1f6 up +ifconfig ens1f7 up +ifconfig enp1s1 up diff --git a/roles/tsg-env-mcn0/files/tsg-env.service b/roles/tsg-env-mcn0/files/tsg-env.service new file mode 100644 index 0000000..8c49bce --- /dev/null +++ b/roles/tsg-env-mcn0/files/tsg-env.service @@ -0,0 +1,18 @@ +[Unit] +Description=tsg env init +Requires=network.target +After=network.target +Before=mrenv.service + +[Service] +#WorkingDirectory=/opt/tsg/env +ExecStart=/opt/tsg/env/setup +#ExecStop=/home/tsg/kni/kni_service_scipt stop +#ExecStop=/bin/kill -9 $MAINPID +Type=oneshot +RemainAfterExit=yes +#Restart=always +#RestartSec=5s + +[Install] +WantedBy=multi-user.target diff --git a/roles/tsg-env-mcn0/tasks/main.yml b/roles/tsg-env-mcn0/tasks/main.yml new file mode 100644 index 0000000..7f54bd3 --- /dev/null +++ b/roles/tsg-env-mcn0/tasks/main.yml @@ -0,0 +1,19 @@ +--- +- name: "copy setup.sh" + copy: + src: "{{ role_path }}/files/setup" + dest: "/opt/tsg/env/" + mode: 0755 + +- name: "copy tsg-env.service" + copy: + src: "{{ role_path }}/files/tsg-env.service" + dest: "/usr/lib/systemd/system/" + mode: 0644 + +- name: "enable tsg-env" + systemd: + name: tsg-env + enabled: yes + daemon_reload: yes + diff --git a/roles/tsg-env-mcn1/files/setup b/roles/tsg-env-mcn1/files/setup new file mode 100644 index 0000000..f86bcfa --- /dev/null +++ b/roles/tsg-env-mcn1/files/setup @@ -0,0 +1,25 @@ +#!/bin/bash + + ifconfig ens1 up + + + modprobe 8021q + vconfig add ens1 100 + vconfig set_flag ens1.100 1 1 + ifconfig ens1.100 192.168.100.2 netmask 255.255.255.0 up + + echo 0 > /sys/class/net/ens1/device/sriov_numvfs + sleep 1 + echo 3 > /sys/class/net/ens1/device/sriov_numvfs + sleep 1 + + ifconfig ens1f3 up + ip link set ens1 vf 2 vlan 200 + ifconfig ens1f3 192.168.200.2 netmask 255.255.255.0 + +ifconfig enp7s0 up +ifconfig enp8s0 up +ifconfig ens1f1 up +ifconfig ens1f2 up +ifconfig ens1f3 up + diff --git a/roles/tsg-env-mcn1/files/tsg-env.service b/roles/tsg-env-mcn1/files/tsg-env.service new file mode 100644 index 0000000..8c49bce --- /dev/null +++ b/roles/tsg-env-mcn1/files/tsg-env.service @@ -0,0 +1,18 @@ +[Unit] +Description=tsg env init +Requires=network.target +After=network.target +Before=mrenv.service + +[Service] +#WorkingDirectory=/opt/tsg/env +ExecStart=/opt/tsg/env/setup +#ExecStop=/home/tsg/kni/kni_service_scipt stop +#ExecStop=/bin/kill -9 $MAINPID +Type=oneshot +RemainAfterExit=yes +#Restart=always +#RestartSec=5s + +[Install] +WantedBy=multi-user.target diff --git a/roles/tsg-env-mcn1/tasks/main.yml b/roles/tsg-env-mcn1/tasks/main.yml new file mode 100644 index 0000000..bcaf226 --- /dev/null +++ b/roles/tsg-env-mcn1/tasks/main.yml @@ -0,0 +1,18 @@ +--- +- name: "copy setup.sh" + copy: + src: "{{ role_path }}/files/setup" + dest: "/opt/tsg/env/" + mode: 0755 + +- name: "copy tsg-env.service" + copy: + src: "{{ role_path }}/files/tsg-env.service" + dest: "/usr/lib/systemd/system/" + mode: 0644 + +- name: "enable tsg-env" + systemd: + name: tsg-env + enabled: yes + daemon_reload: yes diff --git a/roles/tsg-env-mcn2/files/setup b/roles/tsg-env-mcn2/files/setup new file mode 100644 index 0000000..a09b140 --- /dev/null +++ b/roles/tsg-env-mcn2/files/setup @@ -0,0 +1,23 @@ +#!/bin/bash + ifconfig ens8 up + + modprobe 8021q + vconfig add ens8 100 + vconfig set_flag ens8.100 1 1 + ifconfig ens8.100 192.168.100.3 netmask 255.255.255.0 up + + echo 0 > /sys/class/net/ens8/device/sriov_numvfs + sleep 1 + echo 3 > /sys/class/net/ens8/device/sriov_numvfs + sleep 1 + + ifconfig ens8f3 up + ip link set ens8 vf 2 vlan 200 + ifconfig ens8f3 192.168.200.3 netmask 255.255.255.0 + +ifconfig enp7s0 up +ifconfig enp8s0 up +ifconfig ens8f1 up +ifconfig ens8f2 up +ifconfig ens8f3 up +ifconfig ens8f4 up
\ No newline at end of file diff --git a/roles/tsg-env-mcn2/files/tsg-env.service b/roles/tsg-env-mcn2/files/tsg-env.service new file mode 100644 index 0000000..8c49bce --- /dev/null +++ b/roles/tsg-env-mcn2/files/tsg-env.service @@ -0,0 +1,18 @@ +[Unit] +Description=tsg env init +Requires=network.target +After=network.target +Before=mrenv.service + +[Service] +#WorkingDirectory=/opt/tsg/env +ExecStart=/opt/tsg/env/setup +#ExecStop=/home/tsg/kni/kni_service_scipt stop +#ExecStop=/bin/kill -9 $MAINPID +Type=oneshot +RemainAfterExit=yes +#Restart=always +#RestartSec=5s + +[Install] +WantedBy=multi-user.target diff --git a/roles/tsg-env-mcn2/tasks/main.yml b/roles/tsg-env-mcn2/tasks/main.yml new file mode 100644 index 0000000..bcaf226 --- /dev/null +++ b/roles/tsg-env-mcn2/tasks/main.yml @@ -0,0 +1,18 @@ +--- +- name: "copy setup.sh" + copy: + src: "{{ role_path }}/files/setup" + dest: "/opt/tsg/env/" + mode: 0755 + +- name: "copy tsg-env.service" + copy: + src: "{{ role_path }}/files/tsg-env.service" + dest: "/usr/lib/systemd/system/" + mode: 0644 + +- name: "enable tsg-env" + systemd: + name: tsg-env + enabled: yes + daemon_reload: yes diff --git a/roles/tsg-env-mcn3/files/setup b/roles/tsg-env-mcn3/files/setup new file mode 100644 index 0000000..3c46a51 --- /dev/null +++ b/roles/tsg-env-mcn3/files/setup @@ -0,0 +1,21 @@ +#!/bin/bash + ifconfig ens8 up + + modprobe 8021q + vconfig add ens8 100 + vconfig set_flag ens8.100 1 1 + ifconfig ens8.100 192.168.100.4 netmask 255.255.255.0 up + + echo 0 > /sys/class/net/ens8/device/sriov_numvfs + sleep 1 + echo 3 > /sys/class/net/ens8/device/sriov_numvfs + sleep 1 + + ifconfig ens8f3 up + ip link set ens8 vf 2 vlan 200 + ifconfig ens8f3 192.168.200.4 netmask 255.255.255.0 +ifconfig enp7s0 up +ifconfig enp8s0 up +ifconfig ens8f1 up +ifconfig ens8f2 up +ifconfig ens8f3 up
\ No newline at end of file diff --git a/roles/tsg-env-mcn3/files/tsg-env.service b/roles/tsg-env-mcn3/files/tsg-env.service new file mode 100644 index 0000000..8c49bce --- /dev/null +++ b/roles/tsg-env-mcn3/files/tsg-env.service @@ -0,0 +1,18 @@ +[Unit] +Description=tsg env init +Requires=network.target +After=network.target +Before=mrenv.service + +[Service] +#WorkingDirectory=/opt/tsg/env +ExecStart=/opt/tsg/env/setup +#ExecStop=/home/tsg/kni/kni_service_scipt stop +#ExecStop=/bin/kill -9 $MAINPID +Type=oneshot +RemainAfterExit=yes +#Restart=always +#RestartSec=5s + +[Install] +WantedBy=multi-user.target diff --git a/roles/tsg-env-mcn3/tasks/main.yml b/roles/tsg-env-mcn3/tasks/main.yml new file mode 100644 index 0000000..bcaf226 --- /dev/null +++ b/roles/tsg-env-mcn3/tasks/main.yml @@ -0,0 +1,18 @@ +--- +- name: "copy setup.sh" + copy: + src: "{{ role_path }}/files/setup" + dest: "/opt/tsg/env/" + mode: 0755 + +- name: "copy tsg-env.service" + copy: + src: "{{ role_path }}/files/tsg-env.service" + dest: "/usr/lib/systemd/system/" + mode: 0644 + +- name: "enable tsg-env" + systemd: + name: tsg-env + enabled: yes + daemon_reload: yes |
