Evaluate container lifecycle support in TOSCA
description
Transcript of Evaluate container lifecycle support in TOSCA
Evaluate container lifecycle support in TOSCA
TOSCA – 174 Adhoc TC
• Evaluate various types of containers support for TOSCA – Full OS containers (compute node)
• VM• LXC
– Application containers• Docker• PaaS containers
• Evaluation context for container support– Mutability – Supported– Resource Isolation policies – Supported through Node types– Deployment methods – Supported through plans– Container types – Supported through node types
Container Types
TOSCA 174 - Evaluate container lifecycle support in TOSCA
Container Abstraction
Should container be represented by Node Type in Topology template OR is it an deployment abstraction?
• Container is a Node type • Containment is a tree structure in TOSCA
– Supported by requirements and capabilities
• Various types of container are supported– Compute node (Full OS) – Application container
• Nested containers are a modeling construct and supported• Container placement control is currently not supported
TOSCA 174 - Evaluate container lifecycle support in TOSCA
Use sample containers to build TOSCA service template• Pick one Full OS and one application container• Create 2 tier application topology• Map lifecycle of these containers• Identify constraints and challenges
Observations:• Networking of containers
– Inter host communication through bridge on OpenStack could be a problem with Docker containers (multi node stack)
Workaround• Workaround using Port forward from host to Docker• OVS bridge between hosts with containers getting private ip address with bridged with local host
• Container is represented by NodeType, currently there is no way to abstract a container to avoid node proliferation
Workarounds• Create new type for each image • Or define capabilities & requirements on the template
Link to Sample use case:https://docs.google.com/a/canonical.com/document/d/17TMNmlDKI_HcKSuFtsPPqOk8PqcWpPNGoydtqw-uLgM/edit
Use Cases
TOSCA 174 - Evaluate container lifecycle support in TOSCA
• Map container lifecycle events to TOSCA
Typical container events• deploy/init/stop/dispose(Runtime)• build/modify/delete (devtime) – Not covered by TOSCA • Multi host environment
TOSCA events• create/pre-configure/configure/post-configure/start/stop
TOSCA events are superset of typical container events
Container Lifecycle mapping
TOSCA 174 - Evaluate container lifecycle support in TOSCA
• 5> Discuss support for composite nodes (specifically immutable containers), and avoid node proliferation through node decoration
Support for Composite nodes
TOSCA 174 - Evaluate container lifecycle support in TOSCA