70 likes | 174 Views
Evaluate container lifecycle support in TOSCA. TOSCA – 174 Adhoc TC. Container Types. 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
E N D
Evaluate container lifecycle support in TOSCA TOSCA – 174 Adhoc TC
Container Types • 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 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 Cases 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 TOSCA 174 - Evaluate container lifecycle support in TOSCA
Container Lifecycle mapping • 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 TOSCA 174 - Evaluate container lifecycle support in TOSCA
Support for Composite nodes • 5> Discuss support for composite nodes (specifically immutable containers), and avoid node proliferation through node decoration Node proliferation challenge • Node proliferation should be allowed where required • Should use capabilities and requirements to reduce/avoid proliferation • TOSCA should consider Node decoration to address this TOSCA 174 - Evaluate container lifecycle support in TOSCA
Summary • TOSCA inherently supports containers through NodeType construct • Nested containers are supported through modeling • Container placement control is not supported • Container would leverage cardinal relationships for interconnectivity • TOSCA lifecycle events are superset of container lifecycle events • Node proliferation challenge • Node proliferation should be allowed where required • Should use capabilities and requirements to reduce/avoid proliferation • Network connectivity implementation suggestions • host bridge and OVS bridge between hosts • Port forwarding if its single host TOSCA 174 - Evaluate container lifecycle support in TOSCA