1
0
mirror of https://github.com/newnius/YAO-scheduler.git synced 2025-06-06 05:51:54 +00:00

create overlay network adead

This commit is contained in:
Newnius 2020-08-14 10:39:36 +08:00
parent 2c868f459e
commit 0c58264435
2 changed files with 36 additions and 1 deletions

View File

@ -189,6 +189,7 @@ func (jm *JobManager) start() {
}
/* release again to make sure resources are released */
jm.stop()
jm.returnResource()
/* feed data to optimizer */

View File

@ -164,6 +164,40 @@ func (pool *ResourcePool) Start() {
pool.batchMu.Unlock()
}
}()
/* create overlay networks ahead */
go func() {
for {
pool.networkMu.Lock()
if len(pool.networksFree) < 5 {
var network string
for {
network = "yao-net-" + strconv.Itoa(rand.Intn(999999))
if _, ok := pool.networks[network]; !ok {
break
}
}
v := url.Values{}
v.Set("name", network)
spider := Spider{}
spider.Method = "POST"
spider.URL = "http://yao-agent-master:8000/create"
spider.Data = v
spider.ContentType = "application/x-www-form-urlencoded"
err := spider.do()
if err != nil {
log.Warn(err.Error())
continue
}
resp := spider.getResponse()
resp.Body.Close()
pool.networksFree[network] = true
pool.networks[network] = true
}
pool.networkMu.Unlock()
time.Sleep(time.Second * 1)
}
}()
}
/* check dead nodes periodically */
@ -544,7 +578,7 @@ func (pool *ResourcePool) acquireNetwork() string {
func (pool *ResourcePool) releaseNetwork(network string) {
pool.networkMu.Lock()
pool.networksFree[network] = true
//pool.networksFree[network] = true
pool.networkMu.Unlock()
}