create new project.
This commit is contained in:
28
hosts.huayan
Normal file
28
hosts.huayan
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
[all:vars]
|
||||||
|
ansible_user=root
|
||||||
|
rpm_file_name=tsg-cli-1.0.6-1.el7.x86_64.rpm
|
||||||
|
|
||||||
|
[sled-mxn]
|
||||||
|
192.168.10.45 SN=CBT2201925000001
|
||||||
|
|
||||||
|
[sled-mcn0]
|
||||||
|
192.168.10.41 SN=CBT2201925000001
|
||||||
|
|
||||||
|
[sled-mcn1]
|
||||||
|
192.168.10.42 SN=CBT2201925000001
|
||||||
|
|
||||||
|
[sled-mcn2]
|
||||||
|
192.168.10.43 SN=CBT2201925000001
|
||||||
|
|
||||||
|
[sled-mcn3]
|
||||||
|
192.168.10.44 SN=CBT2201925000001
|
||||||
|
|
||||||
|
[tsg-all:children]
|
||||||
|
sled-mxn
|
||||||
|
sled-mcn0
|
||||||
|
sled-mcn1
|
||||||
|
sled-mcn2
|
||||||
|
sled-mcn3
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
16
roles/tsg-cli-mcn0/files/tsg-monitor.service
Normal file
16
roles/tsg-cli-mcn0/files/tsg-monitor.service
Normal file
@@ -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
|
||||||
87
roles/tsg-cli-mcn0/files/tsg-monitor.sh
Normal file
87
roles/tsg-cli-mcn0/files/tsg-monitor.sh
Normal file
@@ -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
|
||||||
16
roles/tsg-cli-mcn0/files/tsg_chassis_interface.json
Normal file
16
roles/tsg-cli-mcn0/files/tsg_chassis_interface.json
Normal file
@@ -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"
|
||||||
|
}
|
||||||
|
|
||||||
|
]
|
||||||
|
}
|
||||||
45
roles/tsg-cli-mcn0/tasks/main.yml
Normal file
45
roles/tsg-cli-mcn0/tasks/main.yml
Normal file
@@ -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
|
||||||
3
roles/tsg-cli-mcn0/templates/tsg_sn.json.j2
Normal file
3
roles/tsg-cli-mcn0/templates/tsg_sn.json.j2
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"sn": "{{ SN }}"
|
||||||
|
}
|
||||||
15
roles/tsg-cli-mcn1-3/files/tsg-monitor.service
Normal file
15
roles/tsg-cli-mcn1-3/files/tsg-monitor.service
Normal file
@@ -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
|
||||||
75
roles/tsg-cli-mcn1-3/files/tsg-monitor.sh
Normal file
75
roles/tsg-cli-mcn1-3/files/tsg-monitor.sh
Normal file
@@ -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
|
||||||
13
roles/tsg-cli-mcn1-3/files/tsg_chassis_interface.json
Normal file
13
roles/tsg-cli-mcn1-3/files/tsg_chassis_interface.json
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"interface_list": [{
|
||||||
|
"dev_name": "ens1f1",
|
||||||
|
"dev_type": "pcap",
|
||||||
|
"flow_type": "intercomm"
|
||||||
|
},{
|
||||||
|
"dev_name": "ens1f2",
|
||||||
|
"dev_type": "marsio",
|
||||||
|
"flow_type": "mirror"
|
||||||
|
}
|
||||||
|
|
||||||
|
]
|
||||||
|
}
|
||||||
45
roles/tsg-cli-mcn1-3/tasks/main.yml
Normal file
45
roles/tsg-cli-mcn1-3/tasks/main.yml
Normal file
@@ -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
|
||||||
3
roles/tsg-cli-mcn1-3/templates/tsg_sn.json.j2
Normal file
3
roles/tsg-cli-mcn1-3/templates/tsg_sn.json.j2
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"sn": "{{ SN }}"
|
||||||
|
}
|
||||||
15
roles/tsg-cli-mxn/files/tsg-monitor.service
Normal file
15
roles/tsg-cli-mxn/files/tsg-monitor.service
Normal file
@@ -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
|
||||||
72
roles/tsg-cli-mxn/files/tsg-monitor.sh
Normal file
72
roles/tsg-cli-mxn/files/tsg-monitor.sh
Normal file
@@ -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
|
||||||
40
roles/tsg-cli-mxn/tasks/main.yml
Normal file
40
roles/tsg-cli-mxn/tasks/main.yml
Normal file
@@ -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
|
||||||
3
roles/tsg-cli-mxn/templates/tsg_sn.json.j2
Normal file
3
roles/tsg-cli-mxn/templates/tsg_sn.json.j2
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"sn": "{{ SN }}"
|
||||||
|
}
|
||||||
28
roles/tsg-env-mcn0/files/setup
Normal file
28
roles/tsg-env-mcn0/files/setup
Normal file
@@ -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
|
||||||
18
roles/tsg-env-mcn0/files/tsg-env.service
Normal file
18
roles/tsg-env-mcn0/files/tsg-env.service
Normal file
@@ -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
|
||||||
19
roles/tsg-env-mcn0/tasks/main.yml
Normal file
19
roles/tsg-env-mcn0/tasks/main.yml
Normal file
@@ -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
|
||||||
|
|
||||||
25
roles/tsg-env-mcn1/files/setup
Normal file
25
roles/tsg-env-mcn1/files/setup
Normal file
@@ -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
|
||||||
|
|
||||||
18
roles/tsg-env-mcn1/files/tsg-env.service
Normal file
18
roles/tsg-env-mcn1/files/tsg-env.service
Normal file
@@ -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
|
||||||
18
roles/tsg-env-mcn1/tasks/main.yml
Normal file
18
roles/tsg-env-mcn1/tasks/main.yml
Normal file
@@ -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
|
||||||
23
roles/tsg-env-mcn2/files/setup
Normal file
23
roles/tsg-env-mcn2/files/setup
Normal file
@@ -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
|
||||||
18
roles/tsg-env-mcn2/files/tsg-env.service
Normal file
18
roles/tsg-env-mcn2/files/tsg-env.service
Normal file
@@ -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
|
||||||
18
roles/tsg-env-mcn2/tasks/main.yml
Normal file
18
roles/tsg-env-mcn2/tasks/main.yml
Normal file
@@ -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
|
||||||
21
roles/tsg-env-mcn3/files/setup
Normal file
21
roles/tsg-env-mcn3/files/setup
Normal file
@@ -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
|
||||||
18
roles/tsg-env-mcn3/files/tsg-env.service
Normal file
18
roles/tsg-env-mcn3/files/tsg-env.service
Normal file
@@ -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
|
||||||
18
roles/tsg-env-mcn3/tasks/main.yml
Normal file
18
roles/tsg-env-mcn3/tasks/main.yml
Normal file
@@ -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
|
||||||
24
tsg-cli-playbook.yml
Normal file
24
tsg-cli-playbook.yml
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
---
|
||||||
|
- hosts: sled-mxn
|
||||||
|
roles:
|
||||||
|
- tsg-cli-mxn
|
||||||
|
|
||||||
|
- hosts: sled-mcn0
|
||||||
|
roles:
|
||||||
|
- tsg-cli-mcn0
|
||||||
|
- tsg-env-mcn0
|
||||||
|
|
||||||
|
- hosts: sled-mcn1
|
||||||
|
roles:
|
||||||
|
- tsg-cli-mcn1-3
|
||||||
|
- tsg-env-mcn1
|
||||||
|
|
||||||
|
- hosts: sled-mcn2
|
||||||
|
roles:
|
||||||
|
- tsg-cli-mcn1-3
|
||||||
|
- tsg-env-mcn2
|
||||||
|
|
||||||
|
- hosts: sled-mcn3
|
||||||
|
roles:
|
||||||
|
- tsg-cli-mcn1-3
|
||||||
|
- tsg-env-mcn3
|
||||||
Reference in New Issue
Block a user