コード例 #1
0
ファイル: allocator.go プロジェクト: qinguoan/vulcan
// NewPortAllocatorCustom creates a PortAllocator over a util.PortRange, calling allocatorFactory to construct the backing store.
func NewPortAllocatorCustom(pr util.PortRange, allocatorFactory allocator.AllocatorFactory) *PortAllocator {
	max := pr.Size
	rangeSpec := pr.String()

	a := &PortAllocator{
		portRange: pr,
	}
	a.alloc = allocatorFactory(max, rangeSpec)
	return a
}
コード例 #2
0
ファイル: allocator.go プロジェクト: qinguoan/vulcan
// Restore restores the pool to the previously captured state. ErrMismatchedNetwork
// is returned if the provided port range doesn't exactly match the previous range.
func (r *PortAllocator) Restore(pr util.PortRange, data []byte) error {
	if pr.String() != r.portRange.String() {
		return ErrMismatchedNetwork
	}
	snapshottable, ok := r.alloc.(allocator.Snapshottable)
	if !ok {
		return fmt.Errorf("not a snapshottable allocator")
	}
	return snapshottable.Restore(pr.String(), data)
}
コード例 #3
0
ファイル: service.go プロジェクト: qinguoan/vulcan
	"time"

	. "github.com/onsi/ginkgo"
	. "github.com/onsi/gomega"
	"vulcan/kubernetes/pkg/api"
	"vulcan/kubernetes/pkg/api/errors"
	client "vulcan/kubernetes/pkg/client/unversioned"
	"vulcan/kubernetes/pkg/fields"
	"vulcan/kubernetes/pkg/labels"
	"vulcan/kubernetes/pkg/types"
	"vulcan/kubernetes/pkg/util"
	"vulcan/kubernetes/pkg/util/wait"
)

// This should match whatever the default/configured range is
var ServiceNodePortRange = util.PortRange{Base: 30000, Size: 2768}

var _ = Describe("Services", func() {
	f := NewFramework("services")

	var c *client.Client
	var extraNamespaces []string

	BeforeEach(func() {
		var err error
		c, err = loadClient()
		Expect(err).NotTo(HaveOccurred())
	})

	AfterEach(func() {
		for _, ns := range extraNamespaces {