1
0
mirror of https://github.com/rancher/os.git synced 2025-09-02 23:34:57 +00:00

Remove DHCP override flag

This commit is contained in:
Josh Curl
2016-04-15 10:38:31 -07:00
parent 8b4e6cc502
commit 8862878337
8 changed files with 23 additions and 16 deletions

View File

@@ -46,7 +46,15 @@ func Main() {
log.Fatal(err)
}
if _, err := resolvconf.Build("/etc/resolv.conf", cfg.Rancher.Network.Dns.Nameservers, cfg.Rancher.Network.Dns.Search, nil); err != nil {
nameservers := cfg.Rancher.Network.Dns.Nameservers
search := cfg.Rancher.Network.Dns.Search
userSetDns := len(nameservers) > 0 || len(search) > 0
if !userSetDns {
nameservers = cfg.Rancher.DefaultNetwork.Dns.Nameservers
search = cfg.Rancher.DefaultNetwork.Dns.Search
}
if _, err := resolvconf.Build("/etc/resolv.conf", nameservers, search, nil); err != nil {
log.Error(err)
}
@@ -58,8 +66,8 @@ func Main() {
log.Error(err)
}
dhcpHostname := cfg.Hostname == ""
if err := netconf.RunDhcp(&cfg.Rancher.Network, dhcpHostname); err != nil {
userSetHostname := cfg.Hostname != ""
if err := netconf.RunDhcp(&cfg.Rancher.Network, !userSetHostname, !userSetDns); err != nil {
log.Error(err)
}

View File

@@ -90,6 +90,7 @@ type RancherConfig struct {
ServicesInclude map[string]bool `yaml:"services_include,omitempty"`
Modules []string `yaml:"modules,omitempty"`
Network netconf.NetworkConfig `yaml:"network,omitempty"`
DefaultNetwork netconf.NetworkConfig `yaml:"default_network,omitempty"`
Repositories Repositories `yaml:"repositories,omitempty"`
Ssh SshConfig `yaml:"ssh,omitempty"`
State StateConfig `yaml:"state,omitempty"`

View File

@@ -164,8 +164,8 @@ func getLaunchConfig(cfg *config.CloudConfig, dockerCfg *config.DockerConfig) (*
args := dockerlaunch.ParseConfig(&launchConfig, append(dockerCfg.Args, dockerCfg.ExtraArgs...)...)
launchConfig.DnsConfig.Nameservers = cfg.Rancher.Network.Dns.Nameservers
launchConfig.DnsConfig.Search = cfg.Rancher.Network.Dns.Search
launchConfig.DnsConfig.Nameservers = cfg.Rancher.DefaultNetwork.Dns.Nameservers
launchConfig.DnsConfig.Search = cfg.Rancher.DefaultNetwork.Dns.Search
launchConfig.Environment = dockerCfg.Environment
launchConfig.EmulateSystemd = true

View File

@@ -61,7 +61,7 @@ rancher:
cloud_init:
datasources:
- configdrive:/media/config-2
network:
default_network:
dns:
nameservers: [8.8.8.8, 8.8.4.4]
repositories:

View File

@@ -22,7 +22,6 @@ rancher:
mode: 1
address: 123.123.123.124/32
dns:
override: true
search:
- mydomain.com
- example.com

View File

@@ -70,7 +70,7 @@ import:
version: v1.10.3
- package: github.com/rancher/netconf
version: 6a771a0593c146f35634c405ab9ccfec50db65e1
version: 7880fdeac0923a05b86a0b5774b4dc96a5749d76
- package: github.com/ryanuber/go-glob
version: 0067a9abd927e50aed5190662702f81231413ae0

View File

@@ -182,7 +182,7 @@ func ApplyNetworkConfigs(netCfg *NetworkConfig) error {
return err
}
func RunDhcp(netCfg *NetworkConfig, dhcpHostname bool) error {
func RunDhcp(netCfg *NetworkConfig, setHostname, setDns bool) error {
links, err := netlink.LinkList()
if err != nil {
return err
@@ -200,7 +200,7 @@ func RunDhcp(netCfg *NetworkConfig, dhcpHostname bool) error {
for iface, args := range dhcpLinks {
wg.Add(1)
go func(iface, args string) {
runDhcp(netCfg, iface, args, dhcpHostname)
runDhcp(netCfg, iface, args, setHostname, setDns)
wg.Done()
}(iface, args)
}
@@ -209,7 +209,7 @@ func RunDhcp(netCfg *NetworkConfig, dhcpHostname bool) error {
return err
}
func runDhcp(netCfg *NetworkConfig, iface string, argstr string, dhcpHostname bool) {
func runDhcp(netCfg *NetworkConfig, iface string, argstr string, setHostname, setDns bool) {
log.Infof("Running DHCP on %s", iface)
args := []string{}
if argstr != "" {
@@ -223,12 +223,12 @@ func runDhcp(netCfg *NetworkConfig, iface string, argstr string, dhcpHostname bo
args = defaultDhcpArgs
}
if netCfg.Dns.Override {
args = append(args, "--nohook", "resolv.conf")
if setHostname {
args = append(args, "-e", "force_hostname=true")
}
if dhcpHostname {
args = append(args, "-e", "force_hostname=true")
if !setDns {
args = append(args, "--nohook", "resolv.conf")
}
args = append(args, iface)

View File

@@ -26,7 +26,6 @@ type InterfaceConfig struct {
}
type DnsConfig struct {
Override bool `yaml:"override"`
Nameservers []string `yaml:"nameservers,flow,omitempty"`
Search []string `yaml:"search,flow,omitempty"`
}