mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
Update Godeps docker/pkg/common => /stringid
- pkg/common was renamed to pkg/stringid - removed stale dep on libcontainer/utils Signed-off-by: Alessandro Boch <aboch@docker.com>
This commit is contained in:
parent
91eef607d0
commit
88eb07fb8d
8 changed files with 20 additions and 140 deletions
11
libnetwork/Godeps/Godeps.json
generated
11
libnetwork/Godeps/Godeps.json
generated
|
@ -10,11 +10,6 @@
|
|||
"Comment": "v0.6.4-12-g467d9d5",
|
||||
"Rev": "467d9d55c2d2c17248441a8fc661561161f40d5e"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/docker/docker/pkg/common",
|
||||
"Comment": "v1.4.1-1379-g8e107a9",
|
||||
"Rev": "8e107a93210c54f22ec1354d969c771b1abfbe05"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/docker/docker/pkg/iptables",
|
||||
"Comment": "v1.4.1-2492-ge690ad9",
|
||||
|
@ -36,9 +31,9 @@
|
|||
"Rev": "e690ad92925a045344bde8d2d59d7a7f602dded6"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/docker/libcontainer/utils",
|
||||
"Comment": "v1.4.0-324-g88989e6",
|
||||
"Rev": "88989e66d3a1ab960deb37f3dd7f824d85e1b9bc"
|
||||
"ImportPath": "github.com/docker/docker/pkg/stringid",
|
||||
"Comment": "v1.4.1-2492-ge690ad9",
|
||||
"Rev": "e690ad92925a045344bde8d2d59d7a7f602dded6"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/vishvananda/netlink",
|
||||
|
|
1
libnetwork/Godeps/_workspace/src/github.com/docker/docker/pkg/stringid/README.md
generated
vendored
Normal file
1
libnetwork/Godeps/_workspace/src/github.com/docker/docker/pkg/stringid/README.md
generated
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
This package provides helper functions for dealing with string identifiers
|
|
@ -1,4 +1,4 @@
|
|||
package common
|
||||
package stringid
|
||||
|
||||
import (
|
||||
"crypto/rand"
|
||||
|
@ -36,12 +36,3 @@ func GenerateRandomID() string {
|
|||
return value
|
||||
}
|
||||
}
|
||||
|
||||
func RandomString() string {
|
||||
id := make([]byte, 32)
|
||||
|
||||
if _, err := io.ReadFull(rand.Reader, id); err != nil {
|
||||
panic(err) // This shouldn't happen
|
||||
}
|
||||
return hex.EncodeToString(id)
|
||||
}
|
|
@ -1,8 +1,14 @@
|
|||
package common
|
||||
package stringid
|
||||
|
||||
import (
|
||||
"testing"
|
||||
)
|
||||
import "testing"
|
||||
|
||||
func TestGenerateRandomID(t *testing.T) {
|
||||
id := GenerateRandomID()
|
||||
|
||||
if len(id) != 64 {
|
||||
t.Fatalf("Id returned is incorrect: %s", id)
|
||||
}
|
||||
}
|
||||
|
||||
func TestShortenId(t *testing.T) {
|
||||
id := GenerateRandomID()
|
||||
|
@ -27,33 +33,3 @@ func TestShortenIdInvalid(t *testing.T) {
|
|||
t.Fatalf("Id returned is incorrect: truncate on %s returned %s", id, truncID)
|
||||
}
|
||||
}
|
||||
|
||||
func TestGenerateRandomID(t *testing.T) {
|
||||
id := GenerateRandomID()
|
||||
|
||||
if len(id) != 64 {
|
||||
t.Fatalf("Id returned is incorrect: %s", id)
|
||||
}
|
||||
}
|
||||
|
||||
func TestRandomString(t *testing.T) {
|
||||
id := RandomString()
|
||||
if len(id) != 64 {
|
||||
t.Fatalf("Id returned is incorrect: %s", id)
|
||||
}
|
||||
}
|
||||
|
||||
func TestRandomStringUniqueness(t *testing.T) {
|
||||
repeats := 25
|
||||
set := make(map[string]struct{}, repeats)
|
||||
for i := 0; i < repeats; i = i + 1 {
|
||||
id := RandomString()
|
||||
if len(id) != 64 {
|
||||
t.Fatalf("Id returned is incorrect: %s", id)
|
||||
}
|
||||
if _, ok := set[id]; ok {
|
||||
t.Fatalf("Random number is repeated")
|
||||
}
|
||||
set[id] = struct{}{}
|
||||
}
|
||||
}
|
68
libnetwork/Godeps/_workspace/src/github.com/docker/libcontainer/utils/utils.go
generated
vendored
68
libnetwork/Godeps/_workspace/src/github.com/docker/libcontainer/utils/utils.go
generated
vendored
|
@ -1,68 +0,0 @@
|
|||
package utils
|
||||
|
||||
import (
|
||||
"crypto/rand"
|
||||
"encoding/hex"
|
||||
"io"
|
||||
"io/ioutil"
|
||||
"path/filepath"
|
||||
"strconv"
|
||||
"syscall"
|
||||
)
|
||||
|
||||
const (
|
||||
exitSignalOffset = 128
|
||||
)
|
||||
|
||||
// GenerateRandomName returns a new name joined with a prefix. This size
|
||||
// specified is used to truncate the randomly generated value
|
||||
func GenerateRandomName(prefix string, size int) (string, error) {
|
||||
id := make([]byte, 32)
|
||||
if _, err := io.ReadFull(rand.Reader, id); err != nil {
|
||||
return "", err
|
||||
}
|
||||
return prefix + hex.EncodeToString(id)[:size], nil
|
||||
}
|
||||
|
||||
// ResolveRootfs ensures that the current working directory is
|
||||
// not a symlink and returns the absolute path to the rootfs
|
||||
func ResolveRootfs(uncleanRootfs string) (string, error) {
|
||||
rootfs, err := filepath.Abs(uncleanRootfs)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
return filepath.EvalSymlinks(rootfs)
|
||||
}
|
||||
|
||||
func CloseExecFrom(minFd int) error {
|
||||
fdList, err := ioutil.ReadDir("/proc/self/fd")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
for _, fi := range fdList {
|
||||
fd, err := strconv.Atoi(fi.Name())
|
||||
if err != nil {
|
||||
// ignore non-numeric file names
|
||||
continue
|
||||
}
|
||||
|
||||
if fd < minFd {
|
||||
// ignore descriptors lower than our specified minimum
|
||||
continue
|
||||
}
|
||||
|
||||
// intentionally ignore errors from syscall.CloseOnExec
|
||||
syscall.CloseOnExec(fd)
|
||||
// the cases where this might fail are basically file descriptors that have already been closed (including and especially the one that was created when ioutil.ReadDir did the "opendir" syscall)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// ExitStatus returns the correct exit status for a process based on if it
|
||||
// was signaled or existed cleanly.
|
||||
func ExitStatus(status syscall.WaitStatus) int {
|
||||
if status.Signaled() {
|
||||
return exitSignalOffset + int(status.Signal())
|
||||
}
|
||||
return status.ExitStatus()
|
||||
}
|
15
libnetwork/Godeps/_workspace/src/github.com/docker/libcontainer/utils/utils_test.go
generated
vendored
15
libnetwork/Godeps/_workspace/src/github.com/docker/libcontainer/utils/utils_test.go
generated
vendored
|
@ -1,15 +0,0 @@
|
|||
package utils
|
||||
|
||||
import "testing"
|
||||
|
||||
func TestGenerateName(t *testing.T) {
|
||||
name, err := GenerateRandomName("veth", 5)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
expected := 5 + len("veth")
|
||||
if len(name) != 5+len("veth") {
|
||||
t.Fatalf("expected name to be %d chars but received %d", expected, len(name))
|
||||
}
|
||||
}
|
|
@ -41,7 +41,7 @@ package libnetwork
|
|||
import (
|
||||
"sync"
|
||||
|
||||
"github.com/docker/docker/pkg/common"
|
||||
"github.com/docker/docker/pkg/stringid"
|
||||
"github.com/docker/libnetwork/driverapi"
|
||||
)
|
||||
|
||||
|
@ -152,7 +152,7 @@ func (c *controller) NewNetwork(nd *NetworkDriver, name string, options interfac
|
|||
|
||||
network := &network{
|
||||
name: name,
|
||||
id: driverapi.UUID(common.GenerateRandomID()),
|
||||
id: driverapi.UUID(stringid.GenerateRandomID()),
|
||||
ctrlr: c,
|
||||
driver: nd}
|
||||
network.endpoints = make(endpointTable)
|
||||
|
@ -224,7 +224,7 @@ func (n *network) Delete() error {
|
|||
|
||||
func (n *network) CreateEndpoint(name string, sboxKey string, options interface{}) (Endpoint, *driverapi.SandboxInfo, error) {
|
||||
ep := &endpoint{name: name}
|
||||
ep.id = driverapi.UUID(common.GenerateRandomID())
|
||||
ep.id = driverapi.UUID(stringid.GenerateRandomID())
|
||||
ep.network = n
|
||||
|
||||
d := n.driver.internalDriver
|
||||
|
|
|
@ -6,12 +6,12 @@ import (
|
|||
"runtime"
|
||||
"testing"
|
||||
|
||||
"github.com/docker/libcontainer/utils"
|
||||
"github.com/docker/libnetwork/netutils"
|
||||
"github.com/vishvananda/netns"
|
||||
)
|
||||
|
||||
func newKey(t *testing.T) (string, error) {
|
||||
name, err := utils.GenerateRandomName("netns", 12)
|
||||
name, err := netutils.GenerateRandomName("netns", 12)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue