Kerberos and Health Checks and Bare Metal, Oh My!
Updates to OpenStack Sahara in Newton
Updates to OpenStack Sahara in Newton
Vitaly Gridnev, Sahara PTL (Mirantis) Elise Gafford, Sahara Core (Red Hat) Nikita Konovalov, Sahara Core (Mirantis)
Kerberos and Health Checks and Bare Metal, Oh My! Updates to - - PowerPoint PPT Presentation
Kerberos and Health Checks and Bare Metal, Oh My! Updates to OpenStack Sahara in Newton Updates to OpenStack Sahara in Newton Vitaly Gridnev, Sahara PTL (Mirantis) Elise Gafford, Sahara Core (Red Hat) Nikita Konovalov, Sahara Core (Mirantis)
Updates to OpenStack Sahara in Newton
Vitaly Gridnev, Sahara PTL (Mirantis) Elise Gafford, Sahara Core (Red Hat) Nikita Konovalov, Sahara Core (Mirantis)
1. Sahara overview 2. Health checks and management improvements 3. Kerberos integration for clusters 4. Image generation improvements 5. Bare metal clusters 6. What is NEW in NEWton 7. Q&A
1. Sahara overview 2. Health checks and management improvements 3. Kerberos integration for clusters 4. Image generation improvements 5. Bare metal clusters 6. What is NEW in NEWton 7. Q&A
○ On-demand, scalable, configurable, persistent clusters ○ Supports multiple plugins (Apache, Ambari, CDH, MapR...) ○ Integrates with Heat, Glance, Nova, Neutron, and Cinder
○ Supports multiple job types (Java, MR, Hive, Pig, Spark, Storm...) ○ Supports transient clusters (spin up, process, shut down) or persistent clusters ○ Integrates with Swift and/or Manila (optionally)
○ Cloudera Distribution of Hadoop (using Cloudera Manager) ○ Hortonworks Data Platform (using Apache Ambari) ○ MapR ○ “Vanilla” Apache Hadoop, Spark, and Storm
○ MapReduce, Java, Hive, and Pig jobs (using Apache Oozie) ○ Spark, Spark Streaming, and Storm jobs (using Apache Spark and Apache Storm)
1. Sahara overview 2. Health checks and management improvements 3. Kerberos integration for clusters 4. Image generation improvements 5. Bare metal clusters 6. What is NEW in NEWton 7. Q&A
Next steps are:
○ Particular datanode/slave failure ○ No enough space in HDFS
○ Datanode replacement ○ New nodes ○ Restarting services
checks, on disabling/enabling health checks for some reason)
1. Sahara overview 2. Health checks and management improvements 3. Kerberos integration for clusters 4. Image generation improvements 5. Bare metal clusters 6. What is NEW in NEWton 7. Q&A
managers calling only Ambari and Cloudera Manager directly, but that leads to a situation in which Sahara will not perform auth operations, and EDP does not work
Sahara itself
In Newton the following Kerberos security features were implemented:
(using Barbican and Castellan) was implemented in the previous release
1. Sahara overview 2. Health checks and management improvements 3. Kerberos integration for clusters 4. Image generation improvements 5. Bare metal clusters 6. What is NEW in NEWton 7. Q&A
Sahara had 2 flows that were relevant to image manipulation:
○ Used sahara-image-elements repository to generate images (to store in Glance)
○ Logic maintained in Sahara process within plugins
○ Remember how I said we had 2 flows relevant to image manipulation? ○ We didn’t do this at all.
○ Steps required for packing images and “clean” image clusters were often identical, but had to be expressed separately (in DIB and in Python).
○ Plugins did not validate that images provided to them met their needs. ○ Failures due to image contents were late and sometimes difficult to understand.
○ Image generation and cluster provisioning logic for any one plugin are really one application ○ Maintaining them in two places allows versionitis and dependency problems ○ Having one monolithic repo for all plugins makes them less pluggable
○ Image packing ○ Image validation ○ Clean image cluster gen
possible
1. Build a validation engine that ensures that images meet a specification
a. YAML-based spec definition
2. Extend that engine to optionally modify images to spec 3. Build a CLI to expose this functionality 4. Create and test specifications for each plugin to support this method 5. Deprecate sahara-image-elements (only when this method proves stable) 6. Build an API to:
a. Spawn a clean tenant-plane image build environment b. Download a base image from Glance and modify it to spec c. Push the new image back to Glance and register it for use by Sahara
1. Build a validation engine that ensures that images meet a specification
a. YAML-based spec definition
2. Extend that engine to optionally modify images to spec 3. Build a CLI to expose this functionality 4. Create and test specifications for each plugin to support this method 5. Deprecate sahara-image-elements (only when this method proves stable) 6. Build an API to:
a. Spawn a clean tenant-plane image build environment b. Download a base image from Glance and modify it to spec c. Push the new image back to Glance and register it for use by Sahara
configurability
declarations ○ Scripts must be written idempotently, as always in resource declarations
all, os_case, etc.)
Command structure: sahara-image-pack --image ./image.qcow2 PLUGIN VERSION [plugin arguments] Features:
○ Very fast test cycles and retries
structured resources
○ Though it’s on you to make your scripts idempotent
The images module runs a sequence
read-only mode
API image handle
All three use the same logic, contained in the appropriate plugin Plugin implementation targeting O!
1. Sahara overview 2. Health checks and management improvements 3. Kerberos integration for clusters 4. Image generation improvements 5. Bare metal clusters 6. What is NEW in NEWton 7. Q&A
Why should you run Bare Metal in OpenStack:
and persistence
Bare metal (Ironic) Virtual Machines Cluster size flexibility
Dedicating nodes completely. Flavor based scheduling
Resource utilization
The host is 100% utilized. KVM has memory overhead. Other VM may abuse host’s resources.
Data locality
Data is accessible directly from the local disks. Locality may be achieved by proper resource scheduling
Live migration
A host may be lost completely. Supported for some target daemons
Flavors, Availability Zones, or other metadata
○ Sahara does disk discover on it’s own ○ Disks are different from the on w/o root mount are going to be dedicated to HDFS
configurations
1. Sahara overview 2. Health checks and management improvements 3. Kerberos integration for clusters 4. Image generation improvements 5. Bare metal clusters 6. What is NEW in NEWton 7. Q&A
manage/enable/disable plugins;
○ HDP 2.4 supported ○ MapR 5.2.0 ○ CDH 5.7.x ○ Vanilla + Spark on YARN
environment readiness for Sahara’s clusters
○ Sahara tempest plugin with more tests (CLI, API) ○ Sahara scenario framework with a bunch of templates ○ Published on PyPi https://pypi.python.org/pypi/sahara-tests