Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-WIC-Cnf
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
3
Issues
3
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
CommunityXG
OpenXG-WIC-Cnf
Commits
d80238b2
Commit
d80238b2
authored
Jun 04, 2020
by
Elf
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
测试修改逻辑成功,增加修改逻辑的例子
parent
320ef351
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
42 additions
and
7 deletions
+42
-7
bishe-edge-center/src/main/java/top/ninwoo/edgecenter/controller/IndexController.java
...ava/top/ninwoo/edgecenter/controller/IndexController.java
+3
-0
bishe-edge-center/src/main/java/top/ninwoo/edgecenter/service/impl/LogicTopoServiceImpl.java
.../ninwoo/edgecenter/service/impl/LogicTopoServiceImpl.java
+14
-3
bishe-test/src/test/java/top/ninwoo/BisheTests.java
bishe-test/src/test/java/top/ninwoo/BisheTests.java
+25
-4
No files found.
bishe-edge-center/src/main/java/top/ninwoo/edgecenter/controller/IndexController.java
View file @
d80238b2
...
...
@@ -320,6 +320,8 @@ public class IndexController {
// 创建网络
// 使用topo创建工具
logicTopoService
.
creatLogicTopo
(
clusterConfig
.
getId
(),
clusterConfig
.
getTopology
());
//System.out.println("ok");
//return "sucess";
}
//修改逻辑拓扑
@RequestMapping
(
value
=
"/adjustLogicTopo"
,
method
=
RequestMethod
.
POST
)
...
...
@@ -329,6 +331,7 @@ public class IndexController {
return
"没有设置clusterid"
;
}
String
res1
=
logicTopoService
.
modifyLogicTopology
(
clusterConfig
.
getId
(),
clusterConfig
.
getTopology
());
//System.out.println("ok?");
return
res1
;
}
}
\ No newline at end of file
bishe-edge-center/src/main/java/top/ninwoo/edgecenter/service/impl/LogicTopoServiceImpl.java
View file @
d80238b2
...
...
@@ -65,48 +65,59 @@ public class LogicTopoServiceImpl implements LogicTopoService {
@Override
public
String
modifyLogicTopology
(
long
clusterId
,
NetworkTopology
oldtopo
)
{
//System.out.println("我运行了么?");
NetworkTopology
logictopo
=
this
.
getLogictopo
(
oldtopo
);
// 先进行校验
if
(
logictopo
==
null
)
{
System
.
out
.
println
(
"topoloy不能为空"
);
return
"topoloy不能为空"
;
}
// 获取clusterId的网络拓扑
if
(!
clustersTopo
.
containsKey
(
clusterId
))
{
System
.
out
.
println
(
"该集群没有设置topo"
);
return
"该集群没有设置topo"
;
}
NetworkTopology
origTopo
=
this
.
getLogictopo
(
clustersTopo
.
get
(
clusterId
)
);
NetworkTopology
origTopo
=
clustersTopo
.
get
(
clusterId
);
// 校验topoId是否一致
if
(
origTopo
.
getTopologyId
()
!=
logictopo
.
getTopologyId
())
{
System
.
out
.
println
(
"不是相同的网络拓扑,无法更改"
);
return
"不是相同的网络拓扑,无法更改"
;
}
// 校验成员名称是否相同
for
(
int
i
=
0
;
i
<
origTopo
.
getAppNames
().
length
;
i
++)
{
if
(!
origTopo
.
getAppNames
()[
i
].
equals
(
logictopo
.
getAppNames
()[
i
]))
{
System
.
out
.
println
(
"App名称必须一致"
);
return
"App名称必须一致"
;
}
}
int
[][]
origTopoArr
=
origTopo
.
getTopology
();
int
[][]
newTopoArr
=
logictopo
.
getTopology
();
//System.out.println("康康我的新拓扑怎样呢");
//System.out.println(newTopoArr[2][1]);
// 校验topo是否一致
if
((
origTopoArr
.
length
!=
newTopoArr
.
length
)
||
(
origTopoArr
[
0
].
length
!=
newTopoArr
[
0
].
length
))
{
System
.
out
.
println
(
"拓扑大小不一致"
);
return
"拓扑大小不一致"
;
}
//System.out.println("终于要更新网络了啦");
// 更新网络拓扑
for
(
int
i
=
1
;
i
<
newTopoArr
.
length
;
i
++)
{
for
(
int
j
=
0
;
j
<
i
;
j
++)
{
//增加新的 dropIPtable
if
(
origTopoArr
[
i
][
j
]
==
1
&&
newTopoArr
[
i
][
j
]
==
0
)
{
// 创建新的连接
addDropIPtable
(
clusterId
,
origTopo
.
getAppNames
()[
i
],
origTopo
.
getAppNames
()[
j
]);
this
.
addDropIPtable
(
clusterId
,
origTopo
.
getAppNames
()[
i
],
origTopo
.
getAppNames
()[
j
]);
//System.out.println("改了一次");
}
else
if
(
origTopoArr
[
i
][
j
]
==
0
&&
newTopoArr
[
i
][
j
]
==
1
)
{
// 删除旧的连接
addDelDropIPtable
(
clusterId
,
origTopo
.
getAppNames
()[
i
],
origTopo
.
getAppNames
()[
j
]);
this
.
addDelDropIPtable
(
clusterId
,
origTopo
.
getAppNames
()[
i
],
origTopo
.
getAppNames
()[
j
]);
//System.out.println("gaile");
}
}
}
...
...
bishe-test/src/test/java/top/ninwoo/BisheTests.java
View file @
d80238b2
...
...
@@ -145,11 +145,22 @@ public class BisheTests {
dis
.
setDockerContainer
(
disContainer
);
cds
.
add
(
dis
);
String
[]
appnames
=
new
String
[]{
"D1"
,
"D2"
,
"br:ovs"
};
ContainerDescription
dis2
=
new
ContainerDescription
();
dis2
.
setMode
(
"normal"
);
dis2
.
setReplicas
(
1
);
DockerContainer
disContainer2
=
new
DockerContainer
();
disContainer2
.
setName
(
"D3"
);
disContainer2
.
setCommand
(
"sh"
);
disContainer2
.
setImage
(
"joliu/networktest"
);
dis2
.
setDockerContainer
(
disContainer2
);
cds
.
add
(
dis2
);
String
[]
appnames
=
new
String
[]{
"D1"
,
"D2"
,
"D3"
,
"br:ovs"
};
int
[][]
topology
=
new
int
[][]{
{
0
,
0
,
0
},
{
0
,
0
,
0
},
{
1
,
1
,
0
}};
{
0
,
0
,
0
,
0
},
{
0
,
0
,
0
,
0
},
{
0
,
0
,
0
,
0
},
{
1
,
1
,
1
,
0
}};
clusterConfig
.
setDockers
(
cds
);
NetworkTopology
topo
=
new
NetworkTopology
();
...
...
@@ -165,6 +176,16 @@ public class BisheTests {
clusterService
.
sendLogicTopoToEdgeNode
(
clusterConfigs
);
//改变逻辑拓扑
int
[][]
newtopology
=
new
int
[][]{
{
0
,
0
,
0
,
0
},
{
1
,
0
,
0
,
0
},
{
1
,
1
,
0
,
0
},
{
1
,
1
,
1
,
0
}};
topo
.
setTopology
(
newtopology
);
clusterService
.
adjustLogicTopoToEdgeNode
(
clusterConfigs
);
}
//改变集群拓扑配置
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment