本文整理汇总了Golang中github.com/tsuru/tsuru/provision.RemovePool函数的典型用法代码示例。如果您正苦于以下问题:Golang RemovePool函数的具体用法?Golang RemovePool怎么用?Golang RemovePool使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了RemovePool函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: TestListPoolsToUserHandler
func (s *S) TestListPoolsToUserHandler(c *check.C) {
team := auth.Team{Name: "angra"}
err := s.conn.Teams().Insert(team)
c.Assert(err, check.IsNil)
token := userWithPermission(c, permission.Permission{
Scheme: permission.PermAppCreate,
Context: permission.Context(permission.CtxTeam, "angra"),
})
pool := provision.Pool{Name: "pool1", Teams: []string{"angra"}}
opts := provision.AddPoolOptions{Name: pool.Name}
err = provision.AddPool(opts)
c.Assert(err, check.IsNil)
err = provision.AddTeamsToPool(pool.Name, pool.Teams)
c.Assert(err, check.IsNil)
defer provision.RemovePool(pool.Name)
opts = provision.AddPoolOptions{Name: "nopool"}
err = provision.AddPool(opts)
c.Assert(err, check.IsNil)
defer provision.RemovePool("nopool")
poolsExpected := map[string]interface{}{
"pools_by_team": []interface{}{map[string]interface{}{"Team": "angra", "Pools": []interface{}{"pool1"}}},
"public_pools": []interface{}{},
"default_pool": []interface{}{},
}
req, err := http.NewRequest("GET", "/pool", nil)
c.Assert(err, check.IsNil)
rec := httptest.NewRecorder()
err = listPoolsToUser(rec, req, token)
c.Assert(err, check.IsNil)
var pools map[string]interface{}
err = json.NewDecoder(rec.Body).Decode(&pools)
c.Assert(err, check.IsNil)
c.Assert(pools, check.DeepEquals, poolsExpected)
}
示例2: TestSchedulerNoNodesWithDefaultPool
func (s *S) TestSchedulerNoNodesWithDefaultPool(c *check.C) {
provision.RemovePool("test-default")
app := app.App{Name: "bill", Teams: []string{"jean"}}
err := s.storage.Apps().Insert(app)
c.Assert(err, check.IsNil)
defer s.storage.Apps().Remove(bson.M{"name": app.Name})
scheduler := segregatedScheduler{provisioner: s.p}
clusterInstance, err := cluster.New(&scheduler, &cluster.MapStorage{})
c.Assert(err, check.IsNil)
o := provision.AddPoolOptions{Name: "mypool"}
err = provision.AddPool(o)
c.Assert(err, check.IsNil)
o = provision.AddPoolOptions{Name: "mypool2"}
err = provision.AddPool(o)
c.Assert(err, check.IsNil)
defer provision.RemovePool("mypool")
defer provision.RemovePool("mypool2")
provision.AddTeamsToPool("mypool", []string{"jean"})
provision.AddTeamsToPool("mypool2", []string{"jean"})
opts := docker.CreateContainerOptions{}
schedOpts := []string{app.Name, "web"}
node, err := scheduler.Schedule(clusterInstance, opts, schedOpts)
c.Assert(node.Address, check.Equals, "")
c.Assert(err, check.NotNil)
c.Assert(err.Error(), check.Matches, "No nodes found with one of the following metadata: pool=mypool, pool=mypool2")
}
示例3: TestPoolListHandler
func (s *S) TestPoolListHandler(c *check.C) {
team := auth.Team{Name: "angra"}
err := s.conn.Teams().Insert(team)
c.Assert(err, check.IsNil)
token := userWithPermission(c, permission.Permission{
Scheme: permission.PermAppCreate,
Context: permission.Context(permission.CtxTeam, "angra"),
})
pool := provision.Pool{Name: "pool1", Teams: []string{"angra"}}
opts := provision.AddPoolOptions{Name: pool.Name}
err = provision.AddPool(opts)
c.Assert(err, check.IsNil)
err = provision.AddTeamsToPool(pool.Name, pool.Teams)
c.Assert(err, check.IsNil)
defer provision.RemovePool(pool.Name)
opts = provision.AddPoolOptions{Name: "nopool"}
err = provision.AddPool(opts)
c.Assert(err, check.IsNil)
defer provision.RemovePool("nopool")
defaultPools, err := provision.ListPools(bson.M{"default": true})
c.Assert(err, check.IsNil)
expected := []provision.Pool{
defaultPools[0],
{Name: "pool1", Teams: []string{"angra"}},
}
req, err := http.NewRequest("GET", "/pools", nil)
c.Assert(err, check.IsNil)
rec := httptest.NewRecorder()
err = poolList(rec, req, token)
c.Assert(err, check.IsNil)
var pools []provision.Pool
err = json.NewDecoder(rec.Body).Decode(&pools)
c.Assert(err, check.IsNil)
c.Assert(pools, check.DeepEquals, expected)
}
示例4: TestPoolUpdateProvisioner
func (s *S) TestPoolUpdateProvisioner(c *check.C) {
provision.RemovePool("test1")
opts := provision.AddPoolOptions{Name: "pool1", Public: true, Default: true}
err := provision.AddPool(opts)
c.Assert(err, check.IsNil)
defer provision.RemovePool("pool1")
b := bytes.NewBufferString("provisioner=myprov&default=false")
req, err := http.NewRequest("PUT", "/pools/pool1", b)
c.Assert(err, check.IsNil)
req.Header.Set("Content-Type", "application/x-www-form-urlencoded")
req.Header.Set("Authorization", "bearer "+s.token.GetValue())
rec := httptest.NewRecorder()
m := RunServer(true)
m.ServeHTTP(rec, req)
c.Assert(rec.Code, check.Equals, http.StatusOK)
c.Assert(err, check.IsNil)
p, err := provision.GetPoolByName("pool1")
c.Assert(err, check.IsNil)
c.Assert(p.Provisioner, check.Equals, "myprov")
c.Assert(p.Public, check.Equals, true)
c.Assert(p.Default, check.Equals, false)
c.Assert(eventtest.EventDesc{
Target: event.Target{Type: event.TargetTypePool, Value: "pool1"},
Owner: s.token.GetUserName(),
Kind: "pool.update",
StartCustomData: []map[string]interface{}{
{"name": ":name", "value": "pool1"},
{"name": "default", "value": "false"},
{"name": "provisioner", "value": "myprov"},
},
}, eventtest.HasEvent)
}
示例5: TestListPoolsToUserHandler
func (s *S) TestListPoolsToUserHandler(c *check.C) {
u := auth.User{Email: "[email protected]", Password: "123456"}
_, err := nativeScheme.Create(&u)
c.Assert(err, check.IsNil)
defer s.conn.Users().Remove(bson.M{"email": u.Email})
token, err := nativeScheme.Login(map[string]string{"email": u.Email, "password": "123456"})
c.Assert(err, check.IsNil)
defer s.conn.Tokens().Remove(bson.M{"token": token.GetValue()})
team := auth.Team{Name: "angra", Users: []string{s.user.Email, u.Email}}
err = s.conn.Teams().Insert(team)
c.Assert(err, check.IsNil)
defer s.conn.Teams().Remove(bson.M{"_id": team.Name})
pool := provision.Pool{Name: "pool1", Teams: []string{"angra"}}
err = provision.AddPool(pool.Name, false)
c.Assert(err, check.IsNil)
err = provision.AddTeamsToPool(pool.Name, pool.Teams)
c.Assert(err, check.IsNil)
defer provision.RemovePool(pool.Name)
err = provision.AddPool("nopool", false)
c.Assert(err, check.IsNil)
defer provision.RemovePool("nopool")
poolsExpected := map[string]interface{}{
"pools_by_team": []interface{}{map[string]interface{}{"Team": "angra", "Pools": []interface{}{"pool1"}}},
"public_pools": interface{}(nil),
}
req, err := http.NewRequest("GET", "/pool", nil)
c.Assert(err, check.IsNil)
rec := httptest.NewRecorder()
err = listPoolsToUser(rec, req, token)
c.Assert(err, check.IsNil)
var pools map[string]interface{}
err = json.NewDecoder(rec.Body).Decode(&pools)
c.Assert(err, check.IsNil)
c.Assert(pools, check.DeepEquals, poolsExpected)
}
示例6: TestAddPool
func (s *S) TestAddPool(c *check.C) {
b := bytes.NewBufferString("name=pool1")
req, err := http.NewRequest("POST", "/pools", b)
c.Assert(err, check.IsNil)
req.Header.Set("Authorization", "bearer "+s.token.GetValue())
req.Header.Set("Content-Type", "application/x-www-form-urlencoded")
rec := httptest.NewRecorder()
defer provision.RemovePool("pool1")
m := RunServer(true)
m.ServeHTTP(rec, req)
c.Assert(rec.Code, check.Equals, http.StatusCreated)
c.Assert(err, check.IsNil)
pools, err := provision.ListPools(bson.M{"_id": "pool1"})
c.Assert(err, check.IsNil)
c.Assert(pools, check.HasLen, 1)
b = bytes.NewBufferString("name=pool2&public=true")
req, err = http.NewRequest("POST", "/pools", b)
c.Assert(err, check.IsNil)
req.Header.Set("Authorization", "bearer "+s.token.GetValue())
req.Header.Set("Content-Type", "application/x-www-form-urlencoded")
rec = httptest.NewRecorder()
defer provision.RemovePool("pool2")
m.ServeHTTP(rec, req)
c.Assert(rec.Code, check.Equals, http.StatusCreated)
pools, err = provision.ListPools(bson.M{"_id": "pool2"})
c.Assert(err, check.IsNil)
c.Assert(pools[0].Public, check.Equals, true)
}
示例7: TestAddNodeHandlerExisting
func (s *S) TestAddNodeHandlerExisting(c *check.C) {
opts := provision.AddPoolOptions{Name: "pool1"}
err := provision.AddPool(opts)
c.Assert(err, check.IsNil)
defer provision.RemovePool("pool1")
serverAddr := "http://mysrv1"
params := provision.AddNodeOptions{
Register: true,
Metadata: map[string]string{
"address": serverAddr,
"pool": "pool1",
},
}
v, err := form.EncodeToValues(¶ms)
c.Assert(err, check.IsNil)
req, err := http.NewRequest("POST", "/1.2/node", strings.NewReader(v.Encode()))
c.Assert(err, check.IsNil)
req.Header.Set("Content-Type", "application/x-www-form-urlencoded")
req.Header.Set("Authorization", s.token.GetValue())
rec := httptest.NewRecorder()
m := RunServer(true)
m.ServeHTTP(rec, req)
c.Assert(rec.Code, check.Equals, http.StatusCreated)
req, err = http.NewRequest("POST", "/1.2/node", strings.NewReader(v.Encode()))
c.Assert(err, check.IsNil)
req.Header.Set("Content-Type", "application/x-www-form-urlencoded")
req.Header.Set("Authorization", s.token.GetValue())
rec = httptest.NewRecorder()
m.ServeHTTP(rec, req)
var result map[string]string
err = json.NewDecoder(rec.Body).Decode(&result)
c.Assert(err, check.IsNil)
c.Assert(result["Error"], check.Equals, "node with address \"http://mysrv1\" already exists in provisioner \"fake\"")
c.Assert(rec.Code, check.Equals, http.StatusCreated)
}
示例8: TestUpdateNodeEnableAndDisableCantBeDone
func (s *S) TestUpdateNodeEnableAndDisableCantBeDone(c *check.C) {
err := s.provisioner.AddNode(provision.AddNodeOptions{
Address: "localhost:1999",
})
c.Assert(err, check.IsNil)
opts := provision.AddPoolOptions{Name: "pool1"}
err = provision.AddPool(opts)
c.Assert(err, check.IsNil)
defer provision.RemovePool("pool1")
params := provision.UpdateNodeOptions{
Address: "localhost:1999",
Enable: true,
Disable: true,
}
v, err := form.EncodeToValues(¶ms)
c.Assert(err, check.IsNil)
b := strings.NewReader(v.Encode())
recorder := httptest.NewRecorder()
request, err := http.NewRequest("PUT", "/node", b)
c.Assert(err, check.IsNil)
request.Header.Set("Content-Type", "application/x-www-form-urlencoded")
request.Header.Set("Authorization", "bearer "+s.token.GetValue())
server := RunServer(true)
server.ServeHTTP(recorder, request)
c.Assert(recorder.Code, check.Equals, http.StatusBadRequest)
c.Assert(recorder.Body.String(), check.Equals, "A node can't be enabled and disabled simultaneously.\n")
}
示例9: TestUpdateNodeEnableNodeHandler
func (s *S) TestUpdateNodeEnableNodeHandler(c *check.C) {
err := s.provisioner.AddNode(provision.AddNodeOptions{
Address: "localhost:1999",
})
c.Assert(err, check.IsNil)
opts := provision.AddPoolOptions{Name: "pool1"}
err = provision.AddPool(opts)
c.Assert(err, check.IsNil)
defer provision.RemovePool("pool1")
params := provision.UpdateNodeOptions{
Address: "localhost:1999",
Enable: true,
}
v, err := form.EncodeToValues(¶ms)
c.Assert(err, check.IsNil)
b := strings.NewReader(v.Encode())
recorder := httptest.NewRecorder()
request, err := http.NewRequest("PUT", "/node", b)
c.Assert(err, check.IsNil)
request.Header.Set("Content-Type", "application/x-www-form-urlencoded")
request.Header.Set("Authorization", "bearer "+s.token.GetValue())
server := RunServer(true)
server.ServeHTTP(recorder, request)
c.Assert(recorder.Code, check.Equals, http.StatusOK)
nodes, err := s.provisioner.ListNodes(nil)
c.Assert(err, check.IsNil)
c.Assert(nodes, check.HasLen, 1)
c.Assert(nodes[0].Status(), check.Equals, "enabled")
}
示例10: TestRemoveTeamsToPoolHandler
func (s *S) TestRemoveTeamsToPoolHandler(c *check.C) {
pool := provision.Pool{Name: "pool1", Teams: []string{"test"}}
opts := provision.AddPoolOptions{Name: pool.Name}
err := provision.AddPool(opts)
c.Assert(err, check.IsNil)
err = provision.AddTeamsToPool(pool.Name, pool.Teams)
c.Assert(err, check.IsNil)
defer provision.RemovePool(pool.Name)
req, err := http.NewRequest("DELETE", "/pools/pool1/team?team=test", nil)
c.Assert(err, check.IsNil)
req.Header.Set("Authorization", "bearer "+s.token.GetValue())
rec := httptest.NewRecorder()
m := RunServer(true)
m.ServeHTTP(rec, req)
c.Assert(rec.Code, check.Equals, http.StatusOK)
var p provision.Pool
err = s.conn.Pools().FindId(pool.Name).One(&p)
c.Assert(err, check.IsNil)
c.Assert(p.Teams, check.DeepEquals, []string{})
c.Assert(eventtest.EventDesc{
Target: event.Target{Type: event.TargetTypePool, Value: "pool1"},
Owner: s.token.GetUserName(),
Kind: "pool.update.team.remove",
StartCustomData: []map[string]interface{}{
{"name": ":name", "value": "pool1"},
{"name": "team", "value": "test"},
},
}, eventtest.HasEvent)
}
示例11: TestSchedulerScheduleFallback
func (s *S) TestSchedulerScheduleFallback(c *check.C) {
a1 := app.App{Name: "impius", Teams: []string{"tsuruteam", "nodockerforme"}}
cont1 := container{ID: "1", Name: "impius1", AppName: a1.Name}
err := s.storage.Apps().Insert(a1)
c.Assert(err, check.IsNil)
defer s.storage.Apps().RemoveAll(bson.M{"name": a1.Name})
p := provision.Pool{Name: "pool1", Teams: []string{}}
o := provision.AddPoolOptions{Name: p.Name}
err = provision.AddPool(o)
c.Assert(err, check.IsNil)
defer provision.RemovePool(p.Name)
contColl := s.p.collection()
defer contColl.Close()
err = contColl.Insert(cont1)
c.Assert(err, check.IsNil)
defer contColl.RemoveAll(bson.M{"name": cont1.Name})
scheduler := segregatedScheduler{provisioner: s.p}
clusterInstance, err := cluster.New(&scheduler, &cluster.MapStorage{})
s.p.cluster = clusterInstance
c.Assert(err, check.IsNil)
_, err = clusterInstance.Register("http://url0:1234", map[string]string{"pool": "pool1"})
c.Assert(err, check.IsNil)
opts := docker.CreateContainerOptions{Name: cont1.Name}
node, err := scheduler.Schedule(clusterInstance, opts, []string{a1.Name, "web"})
c.Assert(err, check.IsNil)
c.Check(node.Address, check.Equals, "http://url0:1234")
}
示例12: TearDownSuite
func (s *DeploySuite) TearDownSuite(c *check.C) {
provision.RemovePool("pool1")
s.conn.Apps().Database.DropDatabase()
s.logConn.Logs("myapp").Database.DropDatabase()
s.conn.Close()
s.logConn.Close()
}
示例13: TestSchedulerScheduleByTeamOwner
func (s *S) TestSchedulerScheduleByTeamOwner(c *check.C) {
a1 := app.App{Name: "impius", Teams: []string{}, TeamOwner: "tsuruteam"}
cont1 := container.Container{ID: "1", Name: "impius1", AppName: a1.Name}
err := s.storage.Apps().Insert(a1)
c.Assert(err, check.IsNil)
defer s.storage.Apps().RemoveAll(bson.M{"name": a1.Name})
p := provision.Pool{Name: "pool1", Teams: []string{"tsuruteam"}}
o := provision.AddPoolOptions{Name: p.Name}
err = provision.AddPool(o)
c.Assert(err, check.IsNil)
defer provision.RemovePool(p.Name)
err = provision.AddTeamsToPool(p.Name, p.Teams)
c.Assert(err, check.IsNil)
contColl := s.p.Collection()
defer contColl.Close()
err = contColl.Insert(cont1)
c.Assert(err, check.IsNil)
defer contColl.RemoveAll(bson.M{"name": cont1.Name})
scheduler := segregatedScheduler{provisioner: s.p}
clusterInstance, err := cluster.New(&scheduler, &cluster.MapStorage{})
s.p.cluster = clusterInstance
c.Assert(err, check.IsNil)
err = clusterInstance.Register(cluster.Node{
Address: s.server.URL(),
Metadata: map[string]string{"pool": "pool1"},
})
c.Assert(err, check.IsNil)
opts := docker.CreateContainerOptions{Name: cont1.Name}
node, err := scheduler.Schedule(clusterInstance, opts, []string{a1.Name, "web"})
c.Assert(err, check.IsNil)
c.Check(node.Address, check.Equals, s.server.URL())
}
示例14: TestPoolListHandlerWithPermissionToDefault
func (s *S) TestPoolListHandlerWithPermissionToDefault(c *check.C) {
team := auth.Team{Name: "angra"}
err := s.conn.Teams().Insert(team)
c.Assert(err, check.IsNil)
perms := []permission.Permission{
{
Scheme: permission.PermAppCreate,
Context: permission.Context(permission.CtxGlobal, ""),
},
{
Scheme: permission.PermPoolUpdate,
Context: permission.Context(permission.CtxGlobal, ""),
},
}
token := userWithPermission(c, perms...)
pool := provision.Pool{Name: "pool1", Teams: []string{team.Name}}
opts := provision.AddPoolOptions{Name: pool.Name, Default: pool.Default}
err = provision.AddPool(opts)
c.Assert(err, check.IsNil)
err = provision.AddTeamsToPool(pool.Name, pool.Teams)
c.Assert(err, check.IsNil)
defer provision.RemovePool(pool.Name)
req, err := http.NewRequest("GET", "/pools", nil)
c.Assert(err, check.IsNil)
rec := httptest.NewRecorder()
err = poolList(rec, req, token)
c.Assert(err, check.IsNil)
var pools []provision.Pool
err = json.NewDecoder(rec.Body).Decode(&pools)
c.Assert(err, check.IsNil)
c.Assert(pools, check.HasLen, 2)
c.Assert(pools[0].Name, check.Equals, "test1")
c.Assert(pools[1].Name, check.Equals, "pool1")
}
示例15: TestPoolListPublicPool
func (s *S) TestPoolListPublicPool(c *check.C) {
pool := provision.Pool{Name: "pool1", Public: true}
opts := provision.AddPoolOptions{Name: pool.Name, Public: pool.Public}
err := provision.AddPool(opts)
c.Assert(err, check.IsNil)
defer provision.RemovePool(pool.Name)
defaultPools, err := provision.ListPools(bson.M{"default": true})
c.Assert(err, check.IsNil)
expected := []provision.Pool{
defaultPools[0],
{Name: "pool1", Public: true, Teams: []string{}},
}
token := userWithPermission(c, permission.Permission{
Scheme: permission.PermTeamCreate,
Context: permission.Context(permission.CtxGlobal, ""),
})
req, err := http.NewRequest("GET", "/pools", nil)
c.Assert(err, check.IsNil)
rec := httptest.NewRecorder()
err = poolList(rec, req, token)
c.Assert(err, check.IsNil)
var pools []provision.Pool
err = json.NewDecoder(rec.Body).Decode(&pools)
c.Assert(err, check.IsNil)
c.Assert(pools, check.DeepEquals, expected)
}