M-CORD Connectivity: Deep Technical Dive€¦ · M-CORD Connectivity: Deep Technical Dive Open...
Transcript of M-CORD Connectivity: Deep Technical Dive€¦ · M-CORD Connectivity: Deep Technical Dive Open...
M-CORDConnectivity:DeepTechnicalDive
OpenNetworkingFoundation(ONF)Woojoong Kim
([email protected])January14,2018
#M-CORD
Contents
2
• EPCConnectivity• Code-LevelAnalysis• Let’sConnectaNewService• HowtoBuild?• Summary
#M-CORD
EPCConnectivity
3
MME
RRH BBU SGW PGWPDN/
Internet
UE UE
EUTRAN EPC
SGW+PGWè SPGW-C+SPGW-U+SDNController
Unifiedà vSPGWSPGW-C/U
#M-CORD
M-CORDCORDBuildScenario
4
Operatorspecification(TOSCA)+GUI
vENB
Controller
vSPGW-C
Controller
vSPGW-U
ControllerPDN/
Internet
UE RRHController
SDNcont.
Controller
OpenStack
Controller
ONOS
Controller
vBBU
Controller
Emulator(Spirent)
vMME (HSS)
Controller
#M-CORD
M-CORDCORDBuildScenario
5
(Simpleversion)Operatorspecification(TOSCA)+GUI
Controller
OpenStack
Controller
ONOS
Controller
vENB
Controller
vSPGW-C
Controller
vSPGW-U
ControllerPDN/
Internet
UE RRH
vBBU
Controller
Emulator(Spirent)
vMME (HSS)
Controller
#M-CORD
LTEInterfaces
6
MME
RRH BBU SGW PGWPDN/
Internet
UE UE
Radio
Fronthaul S1-U S5 SGi
S11-MME
S11
EUTRAN EPC
LTEInterfaceè XOSNetwork
#M-CORD
NetworkConnectivityinM-CORD
7
LTEscenarioà CORDBuildscenario
vMME
Controller
PDN/InternetvBBU
Controller
vSGW
Controller
vPGW
ControllerS5S1-U
Controller
SGW+PGWà SPGW-C+SPGW-U+SDNController
SGi
S1-MME
vBBU +vMME +PDNà vENB
S11
#M-CORD
ListofInterfacesintoXOS
8
S11-MMES1-U S11 S5SGi
NBI/SBISPGW
LTEInterfaces
XOSNetworks
CP/UPInterfaces
n(s)bi_nets1u_net s11_net spgw_netsgi_net
#M-CORD
NetworkConnectivityinM-CORD
9
vENB
Controller
vSPGW-C
Controller
vSPGW-U
Controller
s1u_net
sgi_net
s11_net
SDNcont.
Controller
nbi_net
sbi_net
Controller
NewinterfacebetweenvSPGW-C&SDNcontroller
NewinterfacebetweenvSPGW-U&SDNcontroller
#M-CORD
NetworkConnectivityinM-CORD
10
SimpleVersion
vENB
Controller
vSPGW-C
Controller
vSPGW-U
Controller
s1u_net
sgi_net
s11_net
Controller
spgw_netNewinterface
betweenvSPGW-C&vSPGW-U
Code-LevelAnalysisDeep-diveinSimpleVersion
11
#M-CORD
WhereCanWeGetSomeCodesofCORD?
• Tworepositories• Gerrit:https://gerrit.opencord.org• GitHub:https://github.com/opencord
• Inthistalk,• Weuse“platform-install”and“cord”repositoriesincord-4.1branch• platform-install:https://github.com/opencord/platform-install• cord:https://github.com/opencord/cord
12
#M-CORD
Target:NetworkConnectivityinM-CORD
13
vENB
Controller
vSPGW-U
Controller
s1u_net
sgi_net
s11_net
Controller
spgw_net
vSPGW-C
Controller
115.0.0.0/24
111.0.0.0/24
112.0.0.0/24
117.0.0.0/24
Management172.27.0.0/24
#M-CORD
Scenario– NetworkDefinition
14
platform_install/roles/cord_profile/templates/s1u-net.yaml.j2
(1)s1u_template:type:tosca.nodes.NetworkTemplateproperties:name:s1u_template
…s1u_network:type:tosca.nodes.Networkproperties:name:s1u_networksubnet:111.0.0.0/24permit_all_slices:true
requirements:- template:node:s1u_template
- owner:node:{{site_name }}_s1u
…
(2){{site_name }}_s1u:description:Thissliceexistssolelytoowntheprivatenetworktype:tosca.nodes.Sliceproperties:name:{{site_name }}_s1udefault_isolation:vmnetwork:noauto
requirements:- site:node:{{site_name }}relationship:tosca.relationships.BelongsToOne
#M-CORD
Scenario– NetworkDefinition
15
platform_install/roles/cord_profile/templates/s11-net.yaml.j2
(1)s11_template:type:tosca.nodes.NetworkTemplateproperties:name:s11_template
…s11_network:type:tosca.nodes.Networkproperties:name:s11_networksubnet:112.0.0.0/24permit_all_slices:true
requirements:- template:node:s11_template
- owner:node:{{site_name }}_s11
…
(2){{site_name }}_s11:description:Thissliceexistssolelytoowntheprivatenetworktype:tosca.nodes.Sliceproperties:name:{{site_name }}_s11default_isolation:vmnetwork:noauto
requirements:- site:node:{{site_name }}relationship:tosca.relationships.BelongsToOne
#M-CORD
Scenario– NetworkDefinition
16
platform_install/roles/cord_profile/templates/sgi-net.yaml.j2
(1)sgi_template:type:tosca.nodes.NetworkTemplateproperties:name:sgi_template
…sgi_network:type:tosca.nodes.Networkproperties:name:sgi_networksubnet:115.0.0.0/24permit_all_slices:true
requirements:- template:node:sgi_template
- owner:node:{{site_name }}_sgi
…
(2){{site_name }}_sgi:description:Thissliceexistssolelytoowntheprivatenetworktype:tosca.nodes.Sliceproperties:name:{{site_name }}_sgidefault_isolation:vmnetwork:noauto
requirements:- site:node:{{site_name }}relationship:tosca.relationships.BelongsToOne
#M-CORD
Scenario– NetworkDefinition
17
platform_install/roles/cord_profile/templates/spgw-net.yaml.j2
(1)spgw_template:type:tosca.nodes.NetworkTemplateproperties:name:spgw_template
…spgw_network:type:tosca.nodes.Networkproperties:name:spgw_networksubnet:117.0.0.0/24permit_all_slices:true
requirements:- template:node:spgw_template
- owner:node:{{site_name }}_spgw
…
(2){{site_name }}_spgw:description:Thissliceexistssolelytoowntheprivatenetworktype:tosca.nodes.Sliceproperties:name:{{site_name }}_spgwdefault_isolation:vmnetwork:noauto
requirements:- site:node:{{site_name }}relationship:tosca.relationships.BelongsToOne
#M-CORD
Scenario– NetworkDefinition
18
platform_install/roles/cord_profile/templates/mcord-x-service.yml.j2
(1)s1u_network:
type:tosca.nodes.Networkproperties:must-exist:truename:s1u_network
s11_network:type:tosca.nodes.Networkproperties:must-exist:truename:s11_network
(2)sgi_network:type:tosca.nodes.Networkproperties:must-exist:truename:sgi_network
spgw_network:type:tosca.nodes.Networkproperties:must-exist:truename:spgw_network
#M-CORD
DefinevENB ServiceandNetworks
19
vENB
Controller
vSPGW-U
Controller
s1u_net
sgi_net
s11_net
Controller
spgw_net
vSPGW-C
Controller
#M-CORD
vENB Definition
20
platform_install/roles/cord_profile/templates/mcord-x-service.yml.j2
service#venb:type:tosca.nodes.VENBServiceproperties:
…{{site_name }}_venb:description:vENB ServiceSlicetype:tosca.nodes.Sliceproperties:name:{{site_name }}_venbdefault_isolation:vmnetwork:noauto
requirements:- service:
node:service#venbrelationship:tosca.relationships.BelongsToOne
…
venb_instance1:type:tosca.nodes.VENBServiceInstance
…venb_slice_management_network:type:tosca.nodes.NetworkSlice
requirements:- network:
node:management- slice:
node:{{site_name }}_venb…
venb_slice_s11_network:…
venb_slice_s1u_network:…
venb_slice_sgi_network:
#M-CORD
DefinevSPGW-CServiceandNetworks
21
vENB
Controller
vSPGW-U
Controller
s1u_net
sgi_net
s11_net
Controller
spgw_net
vSPGW-C
Controller
#M-CORD
vSPGW-CDefinition
22
platform_install/roles/cord_profile/templates/mcord-x-service.yml.j2
service#vspgwc:type:tosca.nodes.VSPGWCServiceproperties:
…{{site_name }}_vspgwc:description:vspgwc slicetype:tosca.nodes.Sliceproperties:name:{{site_name }}_vspgwcdefault_isolation:vmnetwork:noauto
requirements:- service:node:service#vspgwcrelationship:tosca.relationships.BelongsToOne
…
intel_vspgwc:type:tosca.nodes.VSPGWCVendor
…serviceinstance#vspgwc_instance:type:tosca.nodes.VSPGWCTenant
…vspgwc_slice_management_network:type:tosca.nodes.NetworkSlice
requirements:- network:
node:management- slice:
node:{{site_name }}_vspgwc…
vspgwc_slice_s11_network:…
vspgwc_slice_spgw_network:
#M-CORD
DefinevSPGW-UServiceandNetworks
23
vENB
Controller
vSPGW-U
Controller
s1u_net
sgi_net
s11_net
Controller
spgw_net
vSPGW-C
Controller
#M-CORD
vSPGW-UDefinition
24
platform_install/roles/cord_profile/templates/mcord-x-service.yml.j2
service#vspgwu:type:tosca.nodes.VSPGWUServiceproperties:
…{{site_name }}_vspgwu:description:vspgwu slicetype:tosca.nodes.Sliceproperties:name:{{site_name }}_vspgwudefault_isolation:vmnetwork:noauto
…intel_vspgwu:type: tosca.nodes.VSPGWUVendor
…serviceinstance#vspgwu_instance:type:tosca.nodes.VSPGWUTenant
…vspgwu_slice_management_network:type:tosca.nodes.NetworkSlicerequirements:
- network:node:management
- slice:node:{{site_name }}_vspgwu
…vspgwu_slice_sgi_network:
…vspgwu_slice_spgw_network:
…vspgwu_slice_s1u_network:
#M-CORD
AddAllComponentsinProfile
25
platform_install/profile_manifests/mcord-x.yml
#addconfigurationsxos_new_tosca_config_templates:- s11-net.yaml- s1u-net.yaml- spgw-net.yaml- sgi-net.yaml- flat-net.yaml- mcord-x-services.yml
xos_services:…
- name:venbpath:orchestration/xos_services/venbkeypair:mcord_rsa
- name:vspgwcpath:orchestration/xos_services/vspgwckeypair:mcord_rsa
- name:vspgwupath:orchestration/xos_services/vspgwukeypair:mcord_rsaprofile_library:"mcord”
#M-CORD
Result:NetworkConnectivityinM-CORD
• Resultintermsofcomputenode• Command:$novalist--all-tenants
26
vENB
Controller
vSPGW-U
Controller
s1u_net
sgi_net
s11_netController
spgw_net
vSPGW-C
Controller
115.0.0.0/24
111.0.0.0/24
112.0.0.0/24 117.0.0.0/24
Management172.27.0.0/24
Let’sConnectaNewServiceAnExampleofSDNControllerService
27
#M-CORD
Overview
28
vENB
Controller
vSPGW-C
Controller
vSPGW-U
Controller
s1u_net
sgi_net
s11_net
SDNcont.
Controller
nbi_net
sbi_net
Controller
spgw_net
Removespgw_net
Definenbi_net
Definesbi_net
Assumption:DefineSDNcontrollerService
#M-CORD
Scenario– NetworkDefinition
29
platform_install/roles/cord_profile/templates/nbi-net.yaml.j2
(1)nbi_template:type:tosca.nodes.NetworkTemplateproperties:name:nbi_template
…nbi_network:type:tosca.nodes.Networkproperties:name:nbi_networksubnet:113.0.0.0/24permit_all_slices:true
requirements:- template:node:nbi_template
- owner:node:{{site_name }}_nbi
…
(2){{site_name }}_nbi:description:Thissliceexistssolelytoowntheprivatenetworktype:tosca.nodes.Sliceproperties:name:{{site_name }}_nbidefault_isolation:vmnetwork:noauto
requirements:- site:node:{{site_name }}relationship:tosca.relationships.BelongsToOne
#M-CORD
Scenario– NetworkDefinition
30
platform_install/roles/cord_profile/templates/sbi-net.yaml.j2
(1)sbi_template:type:tosca.nodes.NetworkTemplateproperties:name:sbi_template
…sbi_network:type:tosca.nodes.Networkproperties:name:sbi_networksubnet:114.0.0.0/24permit_all_slices:true
requirements:- template:node:sbi_template
- owner:node:{{site_name }}_sbi
…
(2){{site_name }}_sbi:description:Thissliceexistssolelytoowntheprivatenetworktype:tosca.nodes.Sliceproperties:name:{{site_name }}_sbidefault_isolation:vmnetwork:noauto
requirements:- site:node:{{site_name }}relationship:tosca.relationships.BelongsToOne
#M-CORD
NetworkDefinitionforSDNController
31
platform_install/roles/cord_profile/templates/mcord-x-service.yml.j2
(1)s1u_network:
type:tosca.nodes.Networkproperties:must-exist:truename:s1u_network
s11_network:type:tosca.nodes.Networkproperties:must-exist:truename:s11_network
nbi_network:type:tosca.nodes.Networkproperties:must-exist:truename:nbi_network
(2)sbi_network:type:tosca.nodes.Networkproperties:must-exist:truename:sbi_network
sgi_network:type:tosca.nodes.Networkproperties:must-exist:truename:sgi_network
spgw_network:type:tosca.nodes.Networkproperties:must-exist:truename:spgw_network
#M-CORD
DefineSDNControllerServiceandNetworks
32
vENB
Controller
vSPGW-C
Controller
vSPGW-U
Controller
s1u_net
sgi_net
s11_net
SDNcont.
Controller
nbi_net
sbi_net
Controller
#M-CORD
SDNControllerModel
optionname="SDNController";optionapp_label ="sdncontroller";optionkind="vEPC";
messageSDNControllerService (Service){optionverbose_name ="SDNControllerServiceforvSPGW";
}
messageSDNControllerVendor (XOSBase){optionverbose_name ="SDNControllerVendorforvSPGW";
…}
messageSDNControllerServiceInstance (TenantWithContainer){optionverbose_name ="SDNControllerServiceInstanceforvSPGW";
…}
33
Orchestration/xos_services/sdn-controller/xos/sdncontroller.xproto
Service
Vendor
ServiceInstance
#M-CORD
SDNControllerDefinition
34
platform_install/roles/cord_profile/templates/mcord-x-service.yml.j2
service#sdncontroller:type:tosca.nodes.SDNControllerServiceproperties:
…{{site_name }}_sdncontroller:description:sdn controllerslicetype:tosca.nodes.Sliceproperties:name:{{site_name }}_sdncontrollerdefault_isolation:vmnetwork:noauto
requirements:- service:node:service#sdncontrollerrelationship:tosca.relationships.BelongsToOne
…
intel_sdncontroller:type:tosca.nodes.SDNControllerVendor
…serviceinstance#sdncontroller_instance:type:tosca.nodes.SDNControllerServiceInstance
…sdncontroller_slice_management_network:type:tosca.nodes.NetworkSlice
requirements:- network:
node:management- slice:
node:{{site_name }}_sdncontroller…
sdncontroller_slice_sbi_network:…
sdncontroller_slice_nbi_network:
#M-CORD
ChangevSPGW-CNetworks
35
vENB
Controller
vSPGW-C
Controller
vSPGW-U
Controller
s1u_net
sgi_net
s11_net
SDNcont.
Controller
nbi_net
sbi_net
Controller
#M-CORD
Scenario– vSPGW-CDefinition
36
platform_install/roles/cord_profile/templates/mcord-x-service.yml.j2
service#vspgwc:type:tosca.nodes.VSPGWCServiceproperties:
…{{site_name }}_vspgwc:description:vspgwc slicetype:tosca.nodes.Sliceproperties:name:{{site_name }}_vspgwcdefault_isolation:vmnetwork:noauto
requirements:- service:node:service#vspgwcrelationship:tosca.relationships.BelongsToOne
…
intel_vspgwc:type:tosca.nodes.VSPGWCVendor
…serviceinstance#vspgwc_instance:type:tosca.nodes.VSPGWCTenant
…vspgwc_slice_management_network:
…vspgwc_slice_s11_network:
…vspgwc_slice_nbi_network:#before:spgw_networktype:tosca.nodes.NetworkSlicerequirements:
- network:node:nbi_network #before:spgw_network
- slice:node:{{site_name }}_vspgwc
#M-CORD
ChangevSPGW-UNetworks
37
vENB
Controller
vSPGW-C
Controller
vSPGW-U
Controller
s1u_net
sgi_net
s11_net
SDNcont.
Controller
nbi_net
sbi_net
Controller
#M-CORD
Scenario– vSPGW-UDefinition
38
platform_install/roles/cord_profile/templates/mcord-x-service.yml.j2
service#vspgwu:type:tosca.nodes.VSPGWUServiceproperties:
…{{site_name }}_vspgwu:description:vspgwu slicetype:tosca.nodes.Sliceproperties:name:{{site_name }}_vspgwudefault_isolation:vmnetwork:noauto
requirements:- service:node:service#vspgwurelationship:tosca.relationships.BelongsToOne
…
intel_vspgwu:type:tosca.nodes.VSPGWUVendor
…serviceinstance#vspgwu_instance:type:tosca.nodes.VSPGWUTenant
…vspgwu_slice_management_network:
…vspgwu_slice_sgi_network:
…vspgwu_slice_sbi_network:#before:spgw_networktype:tosca.nodes.NetworkSlice
…vspgwu_slice_s1u_network:
#M-CORD
AddAllComponentsinProfile
39
platform_install/profile_manifests/mcord-x.yml
#addconfigurationsxos_new_tosca_config_templates:- s11-net.yaml- s1u-net.yaml- sgi-net.yaml- spgw-net.yaml- nbi-net.yaml- sbi-net.yaml- flat-net.yaml- mcord-x-services.yml
xos_services:…
- name:venb…
- name:vspgwc…
- name:vspgwu…
- name:sdncontroller…
#VTNnetworkconfigurationmanagement_network_cidr:172.27.0.0/24management_network_ip:172.27.0.1/24data_plane_ip:10.168.0.253/24
#M-CORD
HowToBuildinCiaB?• Firstbuild• $makePODCONFIG=mcord-spirent-virtual.yml config• $make-j4build
• Secondbuild• $makexos-teardown• $makeclean-openstack• $makeclean-profile• $make-j4build• $makecompute-node-refresh
40
Let’sSeetheResult
#M-CORD
Summary• M-CORD• PromisingtechnologytomanageEPC/RANnodes• Easytodefineservices/networkswithTOSCAengine
• Inthistalk• ServicesandnetworksinM-CORDPOD• CurrentscenarioofM-CORD• DefinitionofM-CORDservices/networks• Howtomakeanewserviceintermsofnetworks
42
#M-CORD
FutureWorkandCollaborationOpportunities• PreparingM-CORDRelease1• Thinkaboutnewservices• Needtomakenewservices/synchronizersinXOS• ConnecteachVNFwiththenewservices• …
• Test/Deploy/Evaluation…• Anythingyoupropose:discussà discussagainà …à justdoit
43
#M-CORD
HowtoGetInvolved?• Mailinglist• https://groups.google.com/a/opencord.org/forum/#!forum/mobile
• Slackchannel• #m-cordchannelinCORDslack(opencord.slack.com)
• Guide-book• https://guide.opencord.org/profiles/mcord/
• Coderepository• https://gerrit.opencord.org
• Regularmeeting• M-CORDmeeting:Monday9:30AMPST
44
#M-CORD
UsefulLinks• CORDwebsite:• http://opencord.org
• Tutorials,documents,andothers• https://wiki.opencord.org andhttps://guide.opencord.org
• CORDgithub/gerrit• https://github.com/opencord andhttps://gerrit.opencord.org
• Byemail:• {woojoong,pingping}@opennetworking.org
45
ThankyouforListening
46