34
HP Enterprise Searchlight PTL Horizon Core IRC: TravT Travis Tripp Searchlight + Horizon Image source: https://www.flickr.com/photos/nasahqphoto/15757310289 Steve McLellan HP Enterprise Searchlight Core IRC: sjmc7

Searchlight + Horizon - Mitaka march 2016

Embed Size (px)

Citation preview

Page 1: Searchlight  + Horizon - Mitaka march 2016

HP Enterprise Searchlight PTL

Horizon CoreIRC: TravT

Travis Tripp

Searchlight+ Horizon

Image source: https://www.flickr.com/photos/nasahqphoto/15757310289

Steve McLellanHP Enterprise

Searchlight CoreIRC: sjmc7

Page 2: Searchlight  + Horizon - Mitaka march 2016

Cloud Computing is about relationships

(But we focus on lists of things?)

Page 3: Searchlight  + Horizon - Mitaka march 2016

The CLIPre-defined lists for all the things

● Availability Zones

● Baremetal Nodes

● Domains

● Flavors

● Floating IPs

● Host Aggregates

● Hypervisors

● Images

● Instances

● Key Pairs

● Metadata Definitions

● Networks

● Projects

● Routers

● Security Groups

● Subnets

● Volumes

● ...

Page 4: Searchlight  + Horizon - Mitaka march 2016

The UIPre-defined lists for all the things

Page 5: Searchlight  + Horizon - Mitaka march 2016

But a cloud is more like cake...Shopping List: A mix of things I care about

● Eggs

● Milk

● Flour

● Sugar

● Butter

● Chocolate

● Baking Powder

Cake: Specific relationships of the things

Page 6: Searchlight  + Horizon - Mitaka march 2016

Managing CloudsIs managing relationships

between things

Add a network to this instance

Create a Volume based on this Image

and attach it to this Instance

Find all the Floating IPs in-use by this

User

Page 7: Searchlight  + Horizon - Mitaka march 2016

Managing relationships from predefined lists is hard

List of things

Details of one thing

List of things

Details of one thing

List of things

Details of one thing

Page 8: Searchlight  + Horizon - Mitaka march 2016

And it's hard to connect the dots in pre-defined listsScale Targets::

● 12,000 instances

● 300 hosts

● 256 users

● 512 projects

● 512 images

● 256 flavors

● 14,400 IP addresses

● 7,000 floating IPs

● 5120 Security Group Rules

● 16,000 Volumes

Navigating the relationships you care about

becomes hard in a pre-defined list:

● Find everything tagged with “web"

● Power off all of Bob’s instances

● Find all IPs in this subnet

● List all projects with access to this image

● Display any flavor using this Metadata

Page 9: Searchlight  + Horizon - Mitaka march 2016

CloudRequiresSearch

Build a custom list of

related things

“Where can I find Bob?”

Page 10: Searchlight  + Horizon - Mitaka march 2016

Find all the related, but different things and act on them

Page 11: Searchlight  + Horizon - Mitaka march 2016

View the basic details in-line

Page 12: Searchlight  + Horizon - Mitaka march 2016

Drill down for more...

Page 13: Searchlight  + Horizon - Mitaka march 2016

Dive further into related details...

Page 14: Searchlight  + Horizon - Mitaka march 2016

But always be able to return back to your current search

Page 15: Searchlight  + Horizon - Mitaka march 2016

Horizon is a GUITherefore everyone has a different

opinion

Page 16: Searchlight  + Horizon - Mitaka march 2016

We don’t have to agree

on the navigation

on the contents of the dashboards

If the UI knows:

● which actions are possible for a

given resource

● which views are available for a

resource

● how to display a given action or

view

Page 17: Searchlight  + Horizon - Mitaka march 2016

Free The Actions!And the views!

Today, business logic is tightly bound

to one “generic” view of the world.

● All views for a resource are

hardcoded to a panel dedicated

to that resource.

● All actions for a resource are

hardcoded to that dedicated

view.

Page 18: Searchlight  + Horizon - Mitaka march 2016

Use a Resource Type Registry

to link each kind of resource with

its actions and views

registration = {type: OS::Glance::Image,actions: [ create, update,…]views: [ details, drawer,...]

}

It becomes much cheaper to build

● a search oriented view

● a task oriented view

● a custom dashboard

● a new-hotness

Page 19: Searchlight  + Horizon - Mitaka march 2016

Horizon becomes Composable

Rearrange resource lists, details

and actions

Page 20: Searchlight  + Horizon - Mitaka march 2016

Build a Search Based UI

Build a Navigation Based UI

Choose your favorite arrangement of actions and views

Page 21: Searchlight  + Horizon - Mitaka march 2016

Unified Searchwe don’t all have to implement it

we also don’t have to re-invent it

OpenStack is a set of distributed services

● distinct responsibilities

● different project teams

● many layers of code

● SQL databases

● operate the cloud

● fulfill end user requests

Page 22: Searchlight  + Horizon - Mitaka march 2016

SearchlightElasticSearch

injected with OpenStack

● elasticsearch query API

● sensible results for simple queries

● allows very specific queries

● adds role-based access control

Page 23: Searchlight  + Horizon - Mitaka march 2016

Powerfulwe just need to feed it the data

● full text search

● search term discovery

● auto completion

● fuzzy search

● consistent pagination

● geo-spatial search

Page 24: Searchlight  + Horizon - Mitaka march 2016

Search + Registry + Client Side

Page 25: Searchlight  + Horizon - Mitaka march 2016

Demo

Page 26: Searchlight  + Horizon - Mitaka march 2016

Searchlight

Cloud Services

Nova Glance

Neutron Cinder

Designate Other

Resources indexed:• On demand• Via notifications• Direct injection

HorizonCLI

& other clients

Action Requests

List and Query Requests

plugins

concept flow

Page 27: Searchlight  + Horizon - Mitaka march 2016

API

Use Search Service

Search Service

Available?

Use Standard API

Query / List Resources

Display Results

Result Objects

Searchlight: Use When It’s TherePer Region Endpoint Deployment (currently)

Page 28: Searchlight  + Horizon - Mitaka march 2016

Elasticsearch Cluster

ES Node

ES Node

ES Node

Horizon

CLI

API Client

OSLO Messaging or Direct injection

Searchlight Listener Service

Searchlight Listener Service

Data Enrichment

Searchlight API

Service

Searchlight API

Service

Data Protection

Load Balancer

Cloud Services

Nova Glance

Neutron Cinder

Designate Other

Deployment Components

Search

Page 29: Searchlight  + Horizon - Mitaka march 2016

You can get REALLY specificQUERY:

{"type": "OS::Nova::Server", "query": { "bool": {

"must": [ {"match": {"name": "myservice"}}, {"range": {"updated_at": {"gte": "now-1d/d"}}}, {"term": {"hostId": "7c19f046962… "}} ], "should": [ {"match": {"name": "mongodb"}}, {"match": {"name": "redis"}}, {"wildcard": {"description": "*nosql*"}} ]}, "minimum_should_match": 2 }}

Page 30: Searchlight  + Horizon - Mitaka march 2016

"query": { "query_string": { "query": "fedroa~” } }

"query": { "bool": { "must": [ { "term": { ”project_id": ”abc" }, { "query_string": { "query": "fedroa~" } ….

Applies Pre-Query RBAC

injection

Pre-Query RBAC injection

Post-Query RBAC filter { "status": "active", "created_at": "2015-08-06T12:48:18Z", "name": "cirros-0.3.4-x86_64-uec", "os_root_protected": "root"}

{ "status": "active", "created_at": "2015-08-06T12:48:18Z", "name": "cirros-0.3.4-x86_64-uec",}

AppliesPost-Query RBAC filter

Page 31: Searchlight  + Horizon - Mitaka march 2016

Status

● Horizon plugin

● OpenStack client

● Content

○ Nova instances

○ Glance images, snapshots, metadefs

○ Cinder volumes, snapshots

○ Neutron networks, ports, subnets, routers

○ Swift* Accounts, Containers, Objects

○ Designate (DNS) Zones, recordsets

mitaka

Page 32: Searchlight  + Horizon - Mitaka march 2016

Improvethe

Notificationsavoid api callbacks

Notifications in OpenStack are spotty

● missing events

● missing data

Page 33: Searchlight  + Horizon - Mitaka march 2016

Search Needs Client Side

HorizonBecause search is interactive

This gives focus and purpose to the

effort to “Angularize” Horizon.

● users are constantly changing

views to manage relationships

● changing views client-side is

FAST

● when I can find any related

thing...and take immediate

action, my experience is FAST

Page 34: Searchlight  + Horizon - Mitaka march 2016

Join in!We love contributors!

[searchlight] on openstack-dev mailing list

#openstack-searchlight on Freenode IRC

http://eavesdrop.openstack.org/#Search_Team_Meeting

https://wiki.openstack.org/wiki/Searchlight