Skip to content

Commit a48b541

Browse files
author
Puneet Pruthi
committed
libnetwork support for Solaris
Signed-off-by: Puneet Pruthi <puneetpruthi@gmail.com>
1 parent 3d08c30 commit a48b541

27 files changed

+4030
-1096
lines changed

libnetwork/Makefile

Lines changed: 43 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,14 @@ ciargs = -e CIRCLECI -e "COVERALLS_TOKEN=$$COVERALLS_TOKEN" -e "INSIDECONTAINER=
88
cidocker = docker run ${dockerargs} ${ciargs} $$EXTRA_ARGS ${container_env} ${build_image}
99
CROSS_PLATFORMS = linux/amd64 linux/386 linux/arm windows/amd64
1010
export PATH := $(CURDIR)/bin:$(PATH)
11+
hostOS = ${shell go env GOHOSTOS}
12+
ifeq (${hostOS}, solaris)
13+
gnufind=gfind
14+
gnutail=gtail
15+
else
16+
gnufind=find
17+
gnutail=tail
18+
endif
1119

1220
all: ${build_image}.created build check integration-tests clean
1321

@@ -62,7 +70,40 @@ check-format:
6270
run-tests:
6371
@echo "Running tests... "
6472
@echo "mode: count" > coverage.coverprofile
65-
@for dir in $$(find . -maxdepth 10 -not -path './.git*' -not -path '*/_*' -type d); do \
73+
@for dir in $$( ${gnufind} . -maxdepth 10 -not -path './.git*' -not -path '*/_*' -type d); do \
74+
if [ ${hostOS} == solaris ]; then \
75+
case "$$dir" in \
76+
"./cmd/dnet" ) \
77+
;& \
78+
"./cmd/ovrouter" ) \
79+
;& \
80+
"./ns" ) \
81+
;& \
82+
"./iptables" ) \
83+
;& \
84+
"./ipvs" ) \
85+
;& \
86+
"./drivers/bridge" ) \
87+
;& \
88+
"./drivers/host" ) \
89+
;& \
90+
"./drivers/ipvlan" ) \
91+
;& \
92+
"./drivers/macvlan" ) \
93+
;& \
94+
"./drivers/overlay" ) \
95+
;& \
96+
"./drivers/remote" ) \
97+
;& \
98+
"./drivers/windows" ) \
99+
echo "Skipping $$dir on solaris host... "; \
100+
continue; \
101+
;; \
102+
* )\
103+
echo "Entering $$dir ... "; \
104+
;; \
105+
esac; \
106+
fi; \
66107
if ls $$dir/*.go &> /dev/null; then \
67108
pushd . &> /dev/null ; \
68109
cd $$dir ; \
@@ -71,7 +112,7 @@ run-tests:
71112
if [ $$ret -ne 0 ]; then exit $$ret; fi ;\
72113
popd &> /dev/null; \
73114
if [ -f $$dir/profile.tmp ]; then \
74-
cat $$dir/profile.tmp | tail -n +2 >> coverage.coverprofile ; \
115+
cat $$dir/profile.tmp | ${gnutail} -n +2 >> coverage.coverprofile ; \
75116
rm $$dir/profile.tmp ; \
76117
fi ; \
77118
fi ; \

libnetwork/api/api_linux_test.go

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package api
2+
3+
import (
4+
"github.com/docker/libnetwork/drivers/bridge"
5+
"github.com/docker/libnetwork/netlabel"
6+
)
7+
8+
func GetOpsMap(bridgeName, defaultMTU string) map[string]string {
9+
if defaultMTU == "" {
10+
return map[string]string{
11+
bridge.BridgeName: bridgeName,
12+
}
13+
}
14+
return map[string]string{
15+
bridge.BridgeName: bridgeName,
16+
netlabel.DriverMTU: defaultMTU,
17+
}
18+
}

libnetwork/api/api_solaris_test.go

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package api
2+
3+
import (
4+
"github.com/docker/libnetwork/drivers/solaris/bridge"
5+
"github.com/docker/libnetwork/netlabel"
6+
)
7+
8+
func GetOpsMap(bridgeName, defaultMTU string) map[string]string {
9+
if defaultMTU == "" {
10+
return map[string]string{
11+
bridge.BridgeName: bridgeName,
12+
}
13+
}
14+
return map[string]string{
15+
bridge.BridgeName: bridgeName,
16+
netlabel.DriverMTU: defaultMTU,
17+
}
18+
}

libnetwork/api/api_test.go

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ import (
1515
"github.com/docker/docker/pkg/reexec"
1616
"github.com/docker/libnetwork"
1717
"github.com/docker/libnetwork/datastore"
18-
"github.com/docker/libnetwork/drivers/bridge"
1918
"github.com/docker/libnetwork/netlabel"
2019
"github.com/docker/libnetwork/options"
2120
"github.com/docker/libnetwork/testutils"
@@ -225,9 +224,7 @@ func TestCreateDeleteNetwork(t *testing.T) {
225224
t.Fatalf("Expected StatusBadRequest status code, got: %v", errRsp)
226225
}
227226

228-
dops := map[string]string{
229-
bridge.BridgeName: "abc",
230-
}
227+
dops := GetOpsMap("abc", "")
231228
nops := map[string]string{
232229
netlabel.EnableIPv6: "true",
233230
}
@@ -273,9 +270,7 @@ func TestGetNetworksAndEndpoints(t *testing.T) {
273270
}
274271
defer c.Stop()
275272

276-
ops := map[string]string{
277-
bridge.BridgeName: "api_test_nw",
278-
}
273+
ops := GetOpsMap("api_test_nw", "")
279274
nc := networkCreate{Name: "sh", NetworkType: bridgeNetType, DriverOpts: ops}
280275
body, err := json.Marshal(nc)
281276
if err != nil {
@@ -544,7 +539,7 @@ func TestProcGetServices(t *testing.T) {
544539
t.Fatal(err)
545540
}
546541

547-
netName2 := "work-dev"
542+
netName2 := "workdev"
548543
netOption = options.Generic{
549544
netlabel.GenericData: options.Generic{
550545
"BridgeName": netName2,
@@ -1811,10 +1806,7 @@ func TestEndToEnd(t *testing.T) {
18111806

18121807
handleRequest := NewHTTPHandler(c)
18131808

1814-
dops := map[string]string{
1815-
bridge.BridgeName: "cdef",
1816-
netlabel.DriverMTU: "1460",
1817-
}
1809+
dops := GetOpsMap("cdef", "1460")
18181810
nops := map[string]string{
18191811
netlabel.EnableIPv6: "true",
18201812
}

0 commit comments

Comments
 (0)