+ All Categories
Home > Technology > Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016

Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016

Date post: 16-Apr-2017
Category:
Upload: manageiq
View: 272 times
Download: 1 times
Share this document with a friend
53
Greg Blomquist June, 2016 Pluggable Providers Overview and Plan
Transcript
Page 1: Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016

Greg Blomquist

June, 2016

Pluggable ProvidersOverview and Plan

Page 2: Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016

Special thanks

John Hardy@jonnyfiveiq

Marianne Feifer

@mfeifer

Page 3: Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016

Greg Blomquist@blomquisg

Page 4: Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016
Page 5: Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016
Page 6: Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016
Page 7: Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016
Page 8: Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016

Goal

Page 9: Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016

ManageIQ Providers should be owned, maintained and

released by the provider author

Page 10: Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016

NamespaceAsk, don’t assumeGemifyGenerator

Page 11: Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016

Namespace - DoneAsk, don’t assume - In ProgressGemify - In ProgressGenerator - Not Started

Page 12: Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016

Namespacing

Page 13: Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016

Past

Page 14: Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016

!Pasta

Page 15: Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016
Page 16: Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016

vmdb/app/models(anand release)

Page 17: Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016
Page 18: Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016
Page 19: Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016

Present

Page 20: Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016
Page 21: Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016
Page 22: Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016

ManageIQ::Providers::Openstack::CloudManager

Page 23: Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016

ManageIQ::Providers::Openstack::CloudManager

Page 24: Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016

ManageIQ::Providers::Openstack::CloudManager

Page 25: Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016

Namespacing

Page 26: Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016

Ask, don’t assume

Page 27: Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016

if @ems.kind_of?(ManageIQ::Providers::Openstack::CloudManager) || @ems.kind_of?(ManageIQ::Providers::Openstack::InfraManager) # Special behavior for Openstack @edit[:protocols] = retrieve_openstack_security_protocolselse @edit[:protocols] = [[‘Basic (SSL)’, ‘ssl’], [‘Kerberos’, ‘kerberos’]]end

Page 28: Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016

@edit[:protocols] = @ems.class.security_protocols

Page 29: Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016
Page 30: Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016

Ask, don’t assume

Page 31: Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016

Gemify

Page 32: Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016
Page 33: Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016
Page 34: Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016
Page 35: Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016

Why Gemify?

Page 36: Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016

ManageIQ Providers should be owned, maintained and

released by the provider author

Page 37: Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016

Gemify

Page 38: Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016

Generator

Page 39: Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016

Life without a generator

Page 40: Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016

module MiqServer::WorkerManagement::Monitor::ClassNames extend ActiveSupport::Concern

MONITOR_CLASS_NAMES = %w( ManageIQ::Providers::Azure::CloudManager::MetricsCollectorWorker ManageIQ::Providers::Amazon::CloudManager::MetricsCollectorWorker ManageIQ::Providers::Redhat::InfraManager::MetricsCollectorWorker ManageIQ::Providers::Kubernetes::ContainerManager::MetricsCollectorWorker ManageIQ::Providers::Openshift::ContainerManager::MetricsCollectorWorker ManageIQ::Providers::Atomic::ContainerManager::MetricsCollectorWorker ManageIQ::Providers::OpenshiftEnterprise::ContainerManager::MetricsCollectorWorker ManageIQ::Providers::AtomicEnterprise::ContainerManager::MetricsCollectorWorker ManageIQ::Providers::Vmware::InfraManager::MetricsCollectorWorker … ).freeze

MONITOR_CLASS_NAMES_IN_KILL_ORDER = %w( ManageIQ::Providers::Azure::CloudManager::MetricsCollectorWorker ManageIQ::Providers::Amazon::CloudManager::MetricsCollectorWorker ManageIQ::Providers::Redhat::InfraManager::MetricsCollectorWorker ManageIQ::Providers::Kubernetes::ContainerManager::MetricsCollectorWorker ManageIQ::Providers::Openshift::ContainerManager::MetricsCollectorWorker ManageIQ::Providers::Atomic::ContainerManager::MetricsCollectorWorker ManageIQ::Providers::OpenshiftEnterprise::ContainerManager::MetricsCollectorWorker ManageIQ::Providers::AtomicEnterprise::ContainerManager::MetricsCollectorWorker ManageIQ::Providers::Vmware::InfraManager::MetricsCollectorWorker … ).freeze

end

Page 41: Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016

config/settings.yml?

Page 42: Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016

Workers and runners?

Page 43: Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016

require_nested everything?

Page 44: Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016

Click here to start your provider

rails generate provider ProviderName ManagerType ...

Generate boilerplate code for the specified ManagerTypes.

Page 45: Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016

rails generate provider MyProvider CloudManager NetworkManager

Page 46: Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016

Generator

Page 47: Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016

Changing the conversation

Page 48: Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016

Provider Types

Page 49: Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016

ManagerTypes

Page 50: Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016

Provider

Manager Manager

Page 51: Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016

OpenStackProvider

Cloud ComputeManager

Cloud NetworkManager

Cloud InfraManager

Page 52: Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016

Virtual Infrastructure

Cloud Compute

Cloud Networking

Configuration Containers

VMware vSphere

Microsoft Azure Microsoft Azure Puppet Kubernetes

Red Hat Virtualization

Amazon EC2 Amazon EC2 Ansible Red Hat Atomic

MicrosoftSCVMM

Google Compute

Google Compute

Red Hat Satellite

Red Hat OpenShift

OpenStack Director

OpenStack OpenStack

Manager Types

Page 53: Pluggable Providers - Greg Blomquist - ManageIQ Design Summit 2016

Questions?


Recommended