-
Notifications
You must be signed in to change notification settings - Fork 508
Description
How to solve the problem after starting seesaw_watchdog.service on centos and reporting Failed to get network interface: route ip+net: no such network interface
Deployment steps:
yum install epel-release -y
yum -y erase git
yum -y install https://repo.ius.io/ius-release-el7.rpm
yum -y install git222 ipvsadm golang protobuf-compiler libnl3-devel
echo ip_vs > /etc/modules-load.d/ipvs.conf
echo ip_vs_wrr>/etc/modules-load.d/ipvs.conf
echo nf_conntrack_ipv4 > /etc/modules-load.d/nf_conntrack.conf
modprobe dummy numdummies=1
echo "options dummy numdummies=1" > /etc/modprobe.d/dummy.conf
systemctl restart systemd-modules-load.service
ip link add ip+net type dummy
cd /root && mkdir go && export GOPATH=/root/go
go get -u golang.org/x/crypto/ssh
go get -u github.com/dlintw/goconf
go get -u github.com/golang/glog
go get -u github.com/miekg/dns
go get -u github.com/kylelemons/godebug/pretty
go get -u github.com/golang/protobuf/proto
export PATH=$PATH:${GOPATH}/bin
go get -u github.com/google/seesaw
cd /root/go/src/github.com/google/seesaw/
make test
make install
cp -r /root/go/src/github.com/google/seesaw/etc /root/go/bin/
cd /root/go/bin && vi /root/go/bin/install.sh
SEESAW_BIN="/usr/local/seesaw"
SEESAW_ETC="/etc/seesaw"
SEESAW_LOG="/var/log/seesaw"
INIT=ps -p 1 -o comm=
install -d "${SEESAW_BIN}" "${SEESAW_ETC}" "${SEESAW_LOG}"
install "${GOPATH}/bin/seesaw_cli" /usr/bin/seesaw
for component in {ecu,engine,ha,healthcheck,ncc,watchdog}; do
install "${GOPATH}/bin/seesaw_${component}" "${SEESAW_BIN}"
done
if [ $INIT = "init" ]; then
install "etc/init/seesaw_watchdog.conf" "/etc/init"
elif [ $INIT = "systemd" ]; then
install "etc/systemd/system/seesaw_watchdog.service" "/etc/systemd/system"
systemctl --system daemon-reload
fi
install "etc/seesaw/watchdog.cfg" "${SEESAW_ETC}"
Enable CAP_NET_RAW for seesaw binaries that require raw sockets.
/sbin/setcap cap_net_raw+ep "${SEESAW_BIN}/seesaw_ha"
/sbin/setcap cap_net_raw+ep "${SEESAW_BIN}/seesaw_healthcheck"
chmod +x install.sh
./install.sh
systemctl status seesaw_watchdog
systemctl enable seesaw_watchdog
cd /root/go/bin/etc/seesaw
cp cluster.pb.example seesaw.cfg.example /etc/seesaw
cd /etc/seesaw
mv cluster.pb.example cluster.pb
mv seesaw.cfg.example seesaw.cfg
systemctl --system daemon-reload
systemctl --now enable seesaw_watchdog.service