1
0
mirror of https://github.com/rancher/os.git synced 2025-09-14 14:11:18 +00:00

Fix dhcpcd zoombie issue

This commit is contained in:
niusmallnan
2018-11-01 16:06:06 +08:00
committed by niusmallnan
parent 716597f41a
commit bb5ce7ac23
3 changed files with 21 additions and 2 deletions

View File

@@ -65,6 +65,9 @@ func Main() {
if err := saveCloudConfig(); err != nil { if err := saveCloudConfig(); err != nil {
log.Errorf("Failed to save cloud-config: %v", err) log.Errorf("Failed to save cloud-config: %v", err)
} }
// exit dhcpcd
netconf.StopDhcpcd()
} }
func saveCloudConfig() error { func saveCloudConfig() error {

View File

@@ -2,6 +2,9 @@ package network
import ( import (
"io/ioutil" "io/ioutil"
"os"
"os/signal"
"syscall"
"github.com/rancher/os/config" "github.com/rancher/os/config"
"github.com/rancher/os/pkg/docker" "github.com/rancher/os/pkg/docker"
@@ -29,7 +32,11 @@ func Main() {
log.Error(err) log.Error(err)
} }
select {} signalChan := make(chan os.Signal, 1)
signal.Notify(signalChan, syscall.SIGTERM)
<-signalChan
log.Info("Received SIGTERM, shutting down")
netconf.StopDhcpcd()
} }
func ApplyNetworkConfig(cfg *config.CloudConfig) { func ApplyNetworkConfig(cfg *config.CloudConfig) {

View File

@@ -25,6 +25,7 @@ const (
var ( var (
defaultDhcpArgs = []string{"dhcpcd", "-MA4"} defaultDhcpArgs = []string{"dhcpcd", "-MA4"}
exitDhcpArgs = []string{"dhcpcd", "-x"}
dhcpReleaseCmd = "dhcpcd --release" dhcpReleaseCmd = "dhcpcd --release"
) )
@@ -527,5 +528,13 @@ func GetValidLinkList() ([]netlink.Link, error) {
} }
return validLinkList, nil return validLinkList, nil
}
func StopDhcpcd() {
cmd := exec.Command(exitDhcpArgs[0], exitDhcpArgs[1:]...)
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
if err := cmd.Run(); err != nil {
log.Errorf("Failed to run command [%v]: %v", cmd, err)
}
} }