Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 0 additions & 5 deletions Dockerfile.dapper
Original file line number Diff line number Diff line change
Expand Up @@ -87,9 +87,6 @@ ARG SYSTEM_DOCKER_VERSION=17.06.107
ARG SYSTEM_DOCKER_URL_amd64=https://github.com/burmilla/os-system-docker/releases/download/${SYSTEM_DOCKER_VERSION}/docker-amd64-${SYSTEM_DOCKER_VERSION}.tgz
ARG SYSTEM_DOCKER_URL_arm64=https://github.com/burmilla/os-system-docker/releases/download/${SYSTEM_DOCKER_VERSION}/docker-arm64-${SYSTEM_DOCKER_VERSION}.tgz

ARG USER_DOCKER_VERSION=latest
ARG USER_DOCKER_ENGINE_VERSION=docker-${USER_DOCKER_VERSION}

ARG AZURE_SERVICE=false
ARG PROXMOXVE_SERVICE=false
ARG SKIP_BUILD=false
Expand Down Expand Up @@ -132,8 +129,6 @@ ENV BUILD_DOCKER_URL=BUILD_DOCKER_URL_${ARCH} \
SYSTEM_DOCKER_URL=SYSTEM_DOCKER_URL_${ARCH} \
SYSTEM_DOCKER_URL_amd64=${SYSTEM_DOCKER_URL_amd64} \
SYSTEM_DOCKER_URL_arm64=${SYSTEM_DOCKER_URL_arm64} \
USER_DOCKER_VERSION=${USER_DOCKER_VERSION} \
USER_DOCKER_ENGINE_VERSION=${USER_DOCKER_ENGINE_VERSION} \
AZURE_SERVICE=${AZURE_SERVICE} \
PROXMOXVE_SERVICE=${PROXMOXVE_SERVICE} \
SKIP_BUILD=${SKIP_BUILD}
Expand Down
10 changes: 7 additions & 3 deletions cmd/control/console_init.go
Original file line number Diff line number Diff line change
Expand Up @@ -290,10 +290,14 @@ $(tput sgr0)
log.Error(err)
}

// Check if user Docker has ever run in this installation yet and switch to latest version if not
// Check if user Docker has ever run in this installation yet and switch to latest/user defined version if not
if _, err := os.Stat("/var/lib/docker/engine-id"); os.IsNotExist(err) {
log.Warn("User Docker does not exist, switching to latest version")
cmd := exec.Command("/usr/bin/ros", "engine", "switch", "latest")
dockerVersion := "latest"
if cfg.Rancher.Docker.Engine != dockerVersion {
dockerVersion = cfg.Rancher.Docker.Engine
}
log.Warn("User Docker does not exist, switching to " + dockerVersion)
cmd := exec.Command("/usr/bin/ros", "engine", "switch", dockerVersion)
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
if err := cmd.Run(); err != nil {
Expand Down
17 changes: 4 additions & 13 deletions os-config.tpl.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,8 @@ rancher:
REGISTRY_DOMAIN: "docker.io"
defaults:
hostname: {{.HOSTNAME_DEFAULT}}
{{if eq "amd64" .ARCH -}}
docker:
engine: {{.USER_DOCKER_ENGINE_VERSION}}
{{else -}}
docker:
engine: {{.USER_DOCKER_ENGINE_VERSION}}
{{end -}}
engine: latest
network:
dhcp_timeout: 10
dns:
Expand Down Expand Up @@ -371,9 +366,9 @@ rancher:
- system-volumes
docker:
{{if eq "amd64" .ARCH -}}
image: {{.OS_REPO}}/os-docker:{{.USER_DOCKER_VERSION}}{{.SUFFIX}}
image: {{.OS_REPO}}/os-docker:latest
{{else -}}
image: {{.OS_REPO}}/os-docker:{{.USER_DOCKER_VERSION}}{{.SUFFIX}}
image: {{.OS_REPO}}/os-docker:latest
{{end -}}
command: ros user-docker
environment:
Expand Down Expand Up @@ -414,11 +409,7 @@ rancher:
image: {{.OS_REPO}}/os
policy: download
docker:
{{if eq "amd64" .ARCH -}}
engine: {{.USER_DOCKER_ENGINE_VERSION}}
{{else -}}
engine: {{.USER_DOCKER_ENGINE_VERSION}}
{{end -}}
engine: latest
group: docker
host: ["unix:///var/run/docker.sock"]
log_opts:
Expand Down
31 changes: 11 additions & 20 deletions pkg/netconf/netconf_linux.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import (
"os/exec"
"strconv"
"strings"
"sync"
"syscall"

"github.com/burmilla/os/pkg/log"
Expand Down Expand Up @@ -185,23 +184,19 @@ func ApplyNetworkConfigs(netCfg *NetworkConfig, userSetHostname, userSetDNS bool
return false, err
}

wg := sync.WaitGroup{}

//apply network config
for _, link := range links {
if !strings.Contains(link.Attrs().Name, "wlan") {
applyOuter(link, netCfg, &wg, userSetHostname, userSetDNS)
applyOuter(link, netCfg, userSetHostname, userSetDNS)
}
}
wg.Wait()

// apply wifi network config
for _, link := range links {
if strings.Contains(link.Attrs().Name, "wlan") {
applyOuter(link, netCfg, &wg, userSetHostname, userSetDNS)
applyOuter(link, netCfg, userSetHostname, userSetDNS)
}
}
wg.Wait()

// make sure there was a DHCP set dns - or tell ros to write 8.8.8.8,8.8.8.4
log.Infof("Checking to see if DNS was set by DHCP")
Expand All @@ -219,7 +214,7 @@ func ApplyNetworkConfigs(netCfg *NetworkConfig, userSetHostname, userSetDNS bool
return dnsSet, nil
}

func applyOuter(link netlink.Link, netCfg *NetworkConfig, wg *sync.WaitGroup, userSetHostname, userSetDNS bool) {
func applyOuter(link netlink.Link, netCfg *NetworkConfig, userSetHostname, userSetDNS bool) {
linkName := link.Attrs().Name
log.Debugf("applyOuter(%v, %v), link: %s", userSetHostname, userSetDNS, linkName)
match, ok := findMatch(link, netCfg)
Expand Down Expand Up @@ -249,20 +244,16 @@ func applyOuter(link netlink.Link, netCfg *NetworkConfig, wg *sync.WaitGroup, us
return
}

wg.Add(1)
go func(link netlink.Link, match InterfaceConfig) {
if match.DHCP {
if match.WifiNetwork != "" {
runWifiDhcp(netCfg, link, match.WifiNetwork, !userSetHostname, !userSetDNS)
} else {
runDhcp(netCfg, link.Attrs().Name, match.DHCPArgs, !userSetHostname, !userSetDNS)
}
if match.DHCP {
if match.WifiNetwork != "" {
runWifiDhcp(netCfg, link, match.WifiNetwork, !userSetHostname, !userSetDNS)
} else {
log.Infof("dhcp release %s", link.Attrs().Name)
runDhcp(netCfg, link.Attrs().Name, dhcpReleaseCmd, false, true)
runDhcp(netCfg, link.Attrs().Name, match.DHCPArgs, !userSetHostname, !userSetDNS)
}
wg.Done()
}(link, match)
} else {
log.Infof("dhcp release %s", link.Attrs().Name)
runDhcp(netCfg, link.Attrs().Name, dhcpReleaseCmd, false, true)
}
}

func GetDhcpLease(iface string) (lease map[string]string) {
Expand Down
Loading