Difference between revisions of "Tacker"
(→Points of contact: added a link to a page of tracking specs/patches) |
|||
Line 19: | Line 19: | ||
* IRC meeting information: https://wiki.openstack.org/wiki/Meetings/ServiceVM | * IRC meeting information: https://wiki.openstack.org/wiki/Meetings/ServiceVM | ||
* Launchpad project page: https://launchpad.net/tacker | * Launchpad project page: https://launchpad.net/tacker | ||
− | * irc channel on Freenode: #tacker | + | * irc channel on Freenode: #tacker |
+ | * tracking spec/patch review: https://wiki.openstack.org/wiki/Tracking_ServiceVM_Reviews | ||
== Use Cases == | == Use Cases == |
Revision as of 07:56, 19 November 2014
Contents
Tacker: mission & scope
Tacker is a project developing a framework to simplify hosting of services in virtual and physical appliances. The framework relieves service developers of having to, themselves, implement functionality to manage devices that host service instances.
The capabilities and functionality envisioned for Tacker are:
- Device inventory to keep track of available devices
- Template constructs to describe and categorize devices of different types
- Lifecycle management of virtual machines and containers
- This includes maintenance of VM pools that can hide boot latency, thus making the VM instance immediately available
- Control allocation of capacity in the devices
Implementation or orchestration of the services (e.g., FWaaS or LBaaS) is NOT in scope of Tacker. Initial use cases are advanced network service oriented but use cases from other areas are not excluded. Indeed, folks from non-networking communities are welcomed to participate and contribute.
Relation to Nova, Glance, Heat
Tacker makes use of Nova and Glance for VM and image management. Tacker does not, but could, make use of Heat as a subsystem to manage virtual devices.
Points of contact
- IRC meeting information: https://wiki.openstack.org/wiki/Meetings/ServiceVM
- Launchpad project page: https://launchpad.net/tacker
- irc channel on Freenode: #tacker
- tracking spec/patch review: https://wiki.openstack.org/wiki/Tracking_ServiceVM_Reviews
Use Cases
No. | Name | Description | User | Priority | Target Release | Status |
---|---|---|---|---|---|---|
1 | Define ServiceVM | Ability to define a ServiceVM template using (a) instance image (2) device specification (to run the image) | Operator | High | Kilo | |
2 | ServiceVM CRUD API | API for basic life-cycle management of ServiceVMs (a) acquire a service-vm instance (b) release a service-vm instance | Plugin | High | Kilo | |
3 | ServiceVM Neutron plugging driver | Neutron port attributes to plug in ServiceVM to appropriate networks (a) Tenant L2 network | Plugin | High | Kilo | |
4 | Resource Pools of ServiceVMs | Operator should be able to configure a pool of ServiceVMs to be in standby for immediate allocation (to avoid bootup latency) | Operator | Medium | L | |
5 | Service allocation using partial ServiceVM | Allocate a portion of ServiceVM for specific service. Reason: Overhead cost of spinning another VM instance is high. If a ServiceVM supports multi-tenancy (for eg VRF for network services) a single ServiceVM can be segregated to support multiple tenant services. Note, there should be 100% tenant isolation while providing this scheme | Operator, Plugin | Medium | L | |
6 | Scheduling Scheme for ServiceVM allocation across a pool of VMs. | Ability to schedule ServiceVMs based on different filters (Gnaat integration). For e.g. Tenant-A might have a higher application throughput needs. It would need a "high-end" FW ServiceVM with SR-IOV nics. Tacker scheduler need to get the "hint" from the plugin and allocate "appropriate" FW ServiceVM from the pool. | Operator, Plugin | Low | M | |
7 | Capacity management of ServiceVM | Ability to report and use "remaining-capacity" data within a ServiceVM to host the next service request | Plugin | Low | L | |
8 | Docker Container Hosted Services | Ability to host a ServiceVM in a Docker Container | Operator | Low | M | |
9 | Physical Appliance Hosted Services | Ability to host a Service-Instance in a physical appliance | Operator | Low | M |
Action Items
- design/code review process
- https://review.openstack.org/#/q/status:open+project:stackforge/tacker-specs,n,z The discussion was moved to gerrit system since the repos at stackforge have been created. Previously the discussion can be seen at google-doc. https://docs.google.com/document/d/10v818QsHWw5lSpiCMfh908PAvVzkw7_ZUL0cgDiH3Vk/edit?usp=sharing
- code/atch review
- API/data model design https://wiki.openstack.org/wiki/ServiceVM/api-datamodel
- terminology conversion https://wiki.openstack.org/wiki/ServiceVM/terminology
- incubation process
- review incubation page https://wiki.openstack.org/wiki/ServiceVM/Incubation
- produce working code base, then apply the incubation process
- Do we have enough developer to contribute?
- Do we have enough user/use case? How about NFV use case?
- Nuetron enhancement(blueprint/spec review, impelementatoin) neutron port attribute use case/requirement: https://wiki.openstack.org/wiki/ServiceVM/neutron-port-attributes
- Neutron/Nova/oslo.messaging related stuff https://wiki.openstack.org/wiki/ServiceVM/neutron-and-other-project-items
- disable security groups: One thing that I am not sure if it has been discussed is, for L2 agent that supports security groups, such as ovs, some port filters are automatically enabled. Usually this is not what service VM wants. The port-security extension could be used to solve that issue, but it should be confirmed.(raised by Gary Duan)
Links
- This document is old. But it might be a good starting point. https://docs.google.com/presentation/d/1gmuBprzedbvTQBt98JYiDFgLlTipDjr1ZgaEGL0xkcs/edit#slide=id.p
- nfv: https://wiki.openstack.org/wiki/Meetings/NFV
Dependencies
We are tracking our dependencies on other features or blueprints in rest of the Openstack projects here: ServiceVM/Dependencies
Slides/Presentations
resource tracking
- tacker repositories
- tacker gerrit
- Juno summit logistics
- links
- Blueprint
- https://blueprints.launchpad.net/neutron/+spec/adv-services-in-vms advanced service vm framework
- https://blueprints.launchpad.net/horizon/+spec/neutron-adv-svc-vm horizon GUI
- https://blueprints.launchpad.net/oslo.messaging/+spec/message-proxy-server oslo.messaging rpc proxy
- https://blueprints.launchpad.net/python-neutronclient/+spec/advanced-servicevm-support python-neutronclient
- https://blueprints.launchpad.net/devstack/+spec/neutron-adv-servicevm-support devstack
- https://blueprints.launchpad.net/neutron/+spec/mcafee-ngfw-fwaas-driver Firewall as a Service mcafee ngfw driver
- https://blueprints.launchpad.net/neutron/+spec/device-manager-service-plugin Resource manager for hosting devices like service VMs (Cisco)
- https://blueprints.launchpad.net/neutron/+spec/cfg-agent-scheduler Scheduler of hosting devices to configuration agents (Cisco)
- https://blueprints.launchpad.net/neutron/+spec/cisco-config-agent Configuration agent for hosting devices like service VMs (Cisco)
- https://blueprints.launchpad.net/neutron/+spec/cisco-routing-service-vm Neutron routing service implemented using service VMs (Cisco)
- https://blueprints.launchpad.net/neutron/+spec/router-scheduler-to-hosting-devices Scheduler of Neutron routers to hosting devices and l3agents (Cisco)
- https://blueprints.launchpad.net/neutron/+spec/dynamic-network-resource-mgmt Support for multivendor multi-instance L3-L7 physical and virtual network resources
- https://blueprints.launchpad.net/neutron/+spec/nfv-and-network-service-chain-implementation Network Function Virtualization using OpenStack and Network Service Chain Implementation Architecture and Design
- etherpad
- document
- https://docs.google.com/document/d/1ZWDDTjwhIUedyipkDztM0_nBYgfCEP9Q77hhn1ZduCA/edit?pli=1# Status update of Framework for Advanced Services in Virtual Machines
- https://docs.google.com/presentation/d/1Ir8MZC7fJb8SOhiZOEQovP_EvdFz_cF_-GEWsidAu7k/edit?pli=1#slide=id.g298d501cf_05 adv-svc-vm-impl
- https://docs.google.com/presentation/d/14dvV3S9Eph2z-auk34I_Ftld-lHA3VMoyNWAPRTeWgE/edit?usp=sharing dividing features
- https://wiki.openstack.org/wiki/Oslo/blueprints/message-proxy-server Oslo/blueprints/message-proxy-server
- Blueprint
- patch review tracking
- neutron
- https://review.openstack.org/#/c/72068/ Implement service vm framework: drivers for load balande
- https://review.openstack.org/#/c/56892/ Implement service vm framework: REST API and DB model part
- https://review.openstack.org/#/c/72070/ adv-svc-vm: support service vm framework
- https://review.openstack.org/#/c/74194/ Implements Neutron routing API using Cisco appliances
- https://review.openstack.org/#/c/74152/ Configuration agent for Cisco Service VMs
- https://review.openstack.org/#/c/101281 Adds adv. services role and change policy to allow cross-tenant port creation
- neutron python client
- https://review.openstack.org/#/c/59310/ setup logger name of NeutronCommand automatically
- oslo.messaging
- https://review.openstack.org/#/c/77862/ _driver: implement unix domain support
- https://review.openstack.org/#/c/77863/ proxy: implement proxy server
- nova
- https://review.openstack.org/97716 nova: 2 interfaces, 1 network
- neutron
- repository
- github
- https://github.com/yamahata/neutron/tree/adv-svc-vm
- https://github.com/yamahata/python-neutronclient/tree/adv-svc-vm
- https://github.com/yamahata/oslo.messaging/tree/adv-svc-vm
- https://github.com/yamahata/devstack/tree/adv-svc-vm
- https://github.com/Karthik-Natarajan/OpenStack-DNRM (Brocade DNRM) Design doc: https://drive.google.com/file/d/0B_-dXko4DlFNbmpPNENvT3o2Y00/edit?usp=sharing
- https://github.com/CiscoSystems/neutron/tree/csr1kv_for_routing_juno Cisco service VM implementation with L3 router plugin (this branch contains code for Juno trunk for all 5 BP's marked "Cisco" above)
- github
- bugs