juju charm format and behaviour generic vfnm …16)000047_generic_vnfm...juju charm format and...
TRANSCRIPT
OpenVIM OpenStack
Resource Orchestrator
RIFT.io Service Orchestrator
Juju Generic VNFM
PNF
PNF
PNFEM
VNF VNF VNF VNF
EMEM Charms are structured EMs
© ETSI 2016
Applications? Units? Charms?
“Application” is a logical concept that spans across all the machines where that code is running with a common config, as a scale-out deployment
These two machines are each hosting part of the application. There are two units in this app.
Charm
Installed on each unit to drive app lifecycle
Charm acts like a structured EM, driven by Juju as a Generic VNFM
© ETSI 2016
./metadata.yaml actions.yaml config.yaml README.md copyright actions/ hooks/
● Lifecycle - install, upgrade
● Scale - horizontal elasticity
● Integration
● Configuration
Charm Structure
© ETSI 2016
name: oai-spgwsummary: OpenAirInterface EPCmaintainers: - Navid Nikaein <[email protected]> - Andrea Bordone Molini <[email protected]>description: | 4G-5G OpenAirInterface EPC on any cloud infrastructure.tags: [‘4G-5G’, ‘EPC’, ‘OpenAirInterface’]provides: spgw: interface: S11requires: hss: interface: S6a-hss
metadata.yaml./metadata.yaml actions.yaml config.yaml README.md copyright actions/ hooks/ A
B
“S11 interface”
“provides S11”
“consumes S11”
Charm Structure
spgw
mme
© ETSI 2016
./hooks/ install start stop leader-elected upgrade
Lifecycle HooksInstall
Scale
Update
Charm Structure1. install2. leader-elected3. config4. start
1. install2. config3. start4. peer-relation-joined
© ETSI 2016
./hooks/ X-relation-joined X-relation-changed X-relation-broken X-relation-departed
peer-relation-*
Integration HooksRelations and Interfaces
Peers
Charm Structure
spgw mme
© ETSI 2016
Integration HooksRelations and Interfaces
Peers
Charm Structure
spgw mme
s11-relation-joined
© ETSI 2016
Integration HooksRelations and Interfaces
Peers
Charm Structure
spgw mme
S11-relation-changed hook
Apply new config
config hook
© ETSI 2016
Operations Hooks
Charm Structure backup-database description: Backup MySQL DB params: db-name: type: string default: description: DB to be backed up filename: ... required: [ db-name ]
./actions/ backup-database vacuum-database spgw
./metadata.yaml actions.yaml config.yaml README.md copyright actions/ hooks/