There are several new upcoming OpenStack projects/services that are build upon the core OpenStack infrastructure services. This session will first briefly discuss the new changes introduced for the project governance structure in OpenStack. Subsequently, the focus of the presentation will be to provide feature and architecture details on few of the new projects and services in OpenStack. These will include Trove-Database Service, Sahara-Dataprocessing Service, Congress - Policy Service and Magnum – Container Service. A summary of other OpenStack related services will also be provided.
9. Project Structure Issues and Reforms
Issues
• Current ladder structure process inhibits
OpenStack adoption
• Projects part of “integrated” release
recognized officially part of OpenStack
• Integrated release “package” lacks
definition and spans different XaaS
services
Reforms
• Replace the single “integrated” release
with tags and objective rules to apply them
to projects - Maturity, Security-supported,
Massively Scalable etc
• Projects that meet OpenStack inclusion
criteria be hosted under OpenStack git
namespaces
• More details here
12. • Database as a Service - Automating
complex database administrative
tasks – Deployment, Configuration,
Scaling, HA
• Single Tenant Database per Nova
instance
• Datastore type - Relational and Non-
Relational
• Pluggable – Support for MySQL,
PostgreSQL, NoSQL – Cassandra,
MongoDB, Couchbase, Redis
• Integration with other projects –
Designate, Heat, Neutron
• Companies – HP, Tesora and others
Trove
API Functionality
Management Create/Delete/Show/List Database
instance, Database, Users, Flavors
Security Support for Security Groups, No SSH by
default
Configuration
groups
Support for user defined configuration
settings (MySQL, MongoDB) – Eg:
max_connections, Buffer pool size etc
Backups Support for full backups and incremental
backups using Swift (MySQL,
Cassandara, Couchbase)
Replication Async mysql master-slave replication from
snapshot of master
Clustering Support for shards - three member replica-
sets (MongoDB)
https://wiki.openstack.org/wiki/Trove
13. Trove Architecture
• API
• Taskmanager
• Managing the lifecycle of instances – Talks to
Nova, Cinder, Glance
• Managing operations on the database instance
• Guestagent
• Performing operations on the database itself
• Conductor
• Status – Heartbeat messages, Backup/Restore
checks
15. • Cluster provisioning - Create and Manage Hadoop clusters
• Node Group Templates – Defines instances/nodes within a
cluster that will each run selected hadoop processes and store
data
• Plugins – Responsible for provisioning Hadoop cluster – Vanilla,
Hortonworks, MapR, Clouder, Spark
• Cluster Templates – What Node Groups to be included and
how many instances to be created in each
• Anti Affinity Groups – Processes may not be launched more than
once on a single host
• Cluster – Represents a Hadoop cluster run using Cluster
Template
• Image Registry – Used to provide additional information about
images using tags
• Cluster Scaling - Change instances in a existing Node group or add
new Node groups
Sahara
• Configure HDFS and MapReduce
parameters at Node and Cluster level
• Integration with Cinder, Swift, Neutron, Heat
• Companies – Mirantis, RedHat and others
https://wiki.openstack.org/wiki/Sahara
16. • Elastic Data Processing (EDP) – Execution of jobs
on clusters created from Sahara.
• Supports – Hadoop - Hive, Pig, MapReduce,
MapReduce.Streaming, Java and Spark
Sahara Architecture
API Functionality
Data Sources Stores URL which designates the
location of input and output data
Job Binaries URL to script or Jar file stored in
internal DB or Swift
Jobs Specifies the job and lists all
individual Job Binary objects
required for execution
Job Execution Monitor and Manage a Job
executed/launched on a Cluster
18. Congress
• Policy as a Service for governance and compliance in a Cloud
• Policy language - Datalog (variant of SQL) – store state in a collection of
tables
• Classification – Cloud states that violate policy (error table)
• Enforcement – Action associated with a policy
• Access Control – Control over users that can execute actions
• Enforcement
• Proactive – Prevent policy violations before they occur
• Reactive – Corrective actions when policy is violated
• Interactive – Human decides corrective action for policy violations
• Assistive – Services offer information to prevent policy violations
• API
• Policy, Policy rules, Policy Tables, Policy Table Rows
• Data sources, Data sources Tables, Data sources Rows
• Companies – VMware, HP, Huawie and others
Eg: Every Network connected to a VM must either be
public or private and owned by someone in the same
group as the VM’s owner
error :- nova:vm(vm),
neutron:network(network),
nova:network(vm, network),
not neutron:public(network),
neutron:private(network),
nova:owner(vm, vm-own),
neutron:owner(network, net-own),
not same-group(vm-own, net-own)
https://wiki.openstack.org/wiki/Congress
20. • Nova Container virtualization drivers - Docker, LXC, OpenVZ,
ZeroVM
• Provide basic container features
• Container features such as setting environment variables, accepting
a shell command to execute at runtime cannot fit into virt drivers
• Container as a Service (“Nova of containers”) - Provide a REST
API for Container management
• Provide app isolation, portability, manageability with containers
• Containers in VMs, Bare Metal, Containers
• Resources
• Container – a Docker container
• Pod – a collection of containers running on one physical or virtual
machine
• Service – a port to Pod mapping
• Node – a bare metal or virtual machine where work executes
• Bay – Collection of nodes where work is scheduled
Magnum
Kubernetes
Endpoint
Docker
Endpoint
Nova
Endpoint
Magnum
Launch instances with
Agent for hosting
Containers
Operation on Service
and Pod objects
Operation on Container
object
• Integration with Kubernetes, Docker,
Nova
• Companies – Rackspace, RedHat,
Cisco and others
https://wiki.openstack.org/wiki/Magnum
22. Ironic
• Service for Bare metal management
• Ironic API – RESTful API service
• Ironic Conductor – Interacts with hardware;
asynchronous handling of both requested and periodic
actions
• Ironic Python Agent – utility service temporarily booted
on machines to provide remote access to hardware for
provisioning and management
• Ironic Drivers – Communicate with hardware devices
• Nova driver
• Using Nova API can provision bare metal servers
• Based on Open technologies
• DHCP, TFTP, PXE - In a PXE environment, TFTP is
used to download NBP over the network using
information from the DHCP server.
• Ironic API – Chassis, Drivers, Links, Nodes, Ports
https://wiki.openstack.org/wiki/Ironic
23. • OpenStack services ecosystem is
expanding
• Lots of opportunities to contribute and
influence the community
Summary