Nick Ho 2018 3
nick133371@gmail.com
some useful guide
step by step ExampleService Tutorial
1 | github: open-cloud/xos/ |
Basic Knowledge
Django
Rest API
Ansible
Lifecycle Management
Design Time Framework
Organized as a graph of Multi-Tenant Cloud Services
On-boarding Services is a Dstinct step
- Service Developer provides Service Elements
- Operator Configures Service Graph
Runtime framework
- Interface to Provision and Scale Services
- Interface to Instantiate adn Control Service Instances
- Interface to Monitor Service Performance & Behavior
Cord Software Architecture
Key Takeaway
- Service controllers consolidate all configuration and control
- CORD Controller mediates all inter-service dependencies
- CORD Controller provides a uniform interface to set of Service Controller
CORD controller
Contain the following components, running on the head node.
- XOS DB container
- contains the state of the dbn ata model
- XOS container
- Rest API (North-bound application enter, can do also copnfigure)
- Admin GUI (Operator)
- TOSCA (Config)
- Data model (Django)
- per synchronizer container per service
activating that state to affect the backend system.- Openstack synchronizer
- ONOS synchronizer
- VNF synchronizer
- Openstack
- ONOS
- VNF (Image)
Service Elements
- REST Extension
- GUI Extension
- Tosca Extension
- Model Definition
- Synchronizer
all the above implement a service controller
- VNF (image)
Synchronizer and State Management
|| PHASE 1 - Django Data Model (REST API)
||
|| (1) change notification
||
|| PHASE 2 - Synchronizer Framework (Activates data model)
||
|| (2) sync request
||
|| PHASE 3 - Sync plugin + Ansible Template
||
|| (3) generate recipe
||
|| PHASE 4 - Ansible
||
|| (4) operate on resources
||
|| PHASE 5 Backend Resources (Operational State)
V
Service Elements
Component | Source code for service X |
---|---|
Django Model | xos/services/X/model.py |
synchronizer | xos/synchronizers/X/X-synchronizer.py |
xos/synchronizers/X/X_config | |
xos/synchronizers/X/steps/sync_X.py | |
xos/synchronizers/X/steps/X_playbook.yml | |
Admin GUI | xos/services/X/admin.py |
REST API | xos/api/service/X.py |
xos/api/tenant/Xtenant.py | |
TOSCA MODEL | xos/api/service/X.py |
Test/Documentation | xos/tests/api/hooks.py |
xos/tests/api/source/service/X.md | |
xos/tests/api/source/service/Xtenant.md |
Onboard a service
- Upload Add files to github repository
- Register
- Edit xos/setting.py
- Edit tools/xos-manage
- Configure
- cd xos/configurations/cord-pod
- Edit TOSCA (*.yaml) files
- Build make containers
- Instantiate
- Create Service via admin GUI
- Bind Service to slice via Admin GUI
- Bind slice to VNF image