5. 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
6. Managing Clouds
Is 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
7. 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
8. And it's hard to connect the dots in pre-defined lists
Scale 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
14. But always be able to return back to your current search
15. Horizon is a GUI
Therefore everyone has a different
opinion
16. 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
17. 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.
18. 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
20. Build a Search
Based UI
Build a Navigation
Based UI
Choose your favorite arrangement of actions and views
21. Unified Search
we 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
23. Powerful
we just need to feed it the data
● full text search
● search term discovery
● auto completion
● fuzzy search
● consistent pagination
● geo-spatial search
26. Searchlight
Cloud Services
Nova Glance
Neutron Cinder
Designate Other
Resources indexed:
• On demand
• Via notifications
• Direct injection
Horizon
CLI
& other
clients
Action Requests
List and Query Requests
plugins
concept flow
33. Search Needs
Client Side
Horizon
Because 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
34. 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