Support pulling from docker daemon

This commit is contained in:
Ian Kaneshiro
2020-11-11 10:25:39 -08:00
parent 0c3a58e47a
commit fff79227d8
5 changed files with 45 additions and 33 deletions

View File

@@ -1,15 +1,16 @@
package vnfs
import (
"strings"
"github.com/hpcng/warewulf/internal/pkg/assets"
"github.com/hpcng/warewulf/internal/pkg/vnfs"
"github.com/hpcng/warewulf/internal/pkg/wwlog"
"strings"
)
var buildForce bool
func Build(nodeList []assets.NodeInfo, force bool) (error) {
func Build(nodeList []assets.NodeInfo, force bool) error {
set := make(map[string]int)
wwlog.Printf(wwlog.INFO, "Building and Importing VNFS Images:\n")
@@ -19,7 +20,7 @@ func Build(nodeList []assets.NodeInfo, force bool) (error) {
for _, node := range nodeList {
if node.Vnfs != "" {
set[node.Vnfs] ++
set[node.Vnfs]++
wwlog.Printf(wwlog.DEBUG, "Node '%s' has VNFS '%s'\n", node.Fqdn, node.Vnfs)
}
}
@@ -27,14 +28,7 @@ func Build(nodeList []assets.NodeInfo, force bool) (error) {
for uri := range set {
v := vnfs.New(uri)
wwlog.Printf(wwlog.VERBOSE, "VNFS found: %s (nodes: %d)\n", uri, set[uri])
if strings.HasPrefix(uri, "docker://") {
BuildDocker(v)
} else if strings.HasPrefix(uri, "docker-daemon://") {
//wwlog.Printf(wwlog.INFO, "Building VNFS from Docker service: %s\n", uri)
wwlog.Printf(wwlog.INFO, "Building VNFS from Docker service is not supported yet: %s\n", uri)
} else if strings.HasPrefix(uri, "/") {
if strings.HasPrefix(uri, "/") {
if strings.HasSuffix(uri, "tar.gz") {
//wwlog.Printf(wwlog.WARN, "Building VNFS from local tarball: %s\n", uri)
wwlog.Printf(wwlog.WARN, "Building VNFS from local tarball is not supported yet: %s\n", uri)
@@ -42,10 +36,12 @@ func Build(nodeList []assets.NodeInfo, force bool) (error) {
} else {
BuildContainerdir(v)
}
} else {
BuildDocker(v)
}
}
wwlog.SetIndent(0)
return nil
}
}