48
ManageIQ Sprint 43 Review - Sprint End July 11, 2016 July 13, 2016

Sprint 43 Review

Embed Size (px)

Citation preview

Page 1: Sprint 43 Review

ManageIQ

Sprint 43 Review - Sprint End July 11, 2016

July 13, 2016

Page 2: Sprint 43 Review

Overview

● Sprint Statistics (Oleg Barenboim)● Community Update (Carol Chen)● Providers (Bronagh Sorota, Alissa Bonas, Greg

McCullough)● User Interface (Dan Clarizio)● Platform (Gregg Tanzillo)● REST API (Alberto Bellotti)● Service Broker (Chris Kacerguis)● Automate (Greg McCullough, Madhu Kanoor)● SmartState (Rich Oliveri)● Performance (Dennis Metzger)● Discussion

Page 3: Sprint 43 Review

Sprint Statistics (O. Barenboim)

329 Pull Requests Merged

Page 4: Sprint 43 Review

PR Breakdown by Feature Category (O. Barenboim)

* Note that some PRs have more than one category.

Providers

Page 5: Sprint 43 Review

Sprint Comparison (O. Barenboim)

Page 6: Sprint 43 Review

All Repo Stats (O. Barenboim)

Data source:

https://github.com/ManageIQthese are listed by most recent activity. go into each one that has been updated in the past 20 days and add up the PRs that have been merged

Order descending by #PRs merged

Repository Mergedmanageiq 329integration_tests 46manageiq-providers-amazon 11miq_bot 11manageiq-ui-self_service 7manageiq.org 5guides 4manageiq-appliance 3manageiq-appliance-build 3ovirt 3ansible_tower_client 2mangeiq-api-client 2handsoap 1linux_admin 1manageiq_core_extensions 1rubyrep 1wrapapi 1Total 430

Page 7: Sprint 43 Review

Darga-2

● Released on June 30, 2016

● Blog post: http://manageiq.org/blog/2016/06/darga-2-announcementt/

● Download: http://manageiq.org/download/

Page 8: Sprint 43 Review

Community Update(Carol Chen)

● ManageIQ Design Summit 2016○ Video recordings of the sessions are being uploaded to the playlist this week○ https://www.youtube.com/playlist?list=PLQAAGwo9CYO-4tQsnC6oWgzhPNOykOOMd ○ Thanks for all your feedback! They are extremely helpful in our plans for future events

● Red Hat Summit 2016○ ManageIQ booth in the Community Central○ Received lots of interest from users, developers, partners, Red Hat customers, etc.

○ Check out some highlights on twitter: https://twitter.com/search?q=manageiq%20rhsummit&src=typd

● Manageiq.org website○ Redesign of the web site, planning started - initial messaging, wireframes○ Improved user experience, updated info and documentation, and more○ Next steps: gather content, requirements, decide on implementation tools

○ Will be integrated with github, so everyone can contribute easily by submitting PRs with content in markdown

Page 9: Sprint 43 Review

Providers(B. Sorota)

Page 10: Sprint 43 Review

Providers - Amazon(B. Sorota)

● Public Images Filter

Page 11: Sprint 43 Review

Providers - Networking(B. Sorota)

● Separate Google Network Manager● NFV: VNFD Templates and VNF Stacks

Page 12: Sprint 43 Review

Providers - Pluggability(B. Sorota)

● SupportsFeatureMixin○ supports :provisioning○ supports :discovery

● Amazon Provider Repository!

Page 13: Sprint 43 Review

Providers - Hawkular(A. Bonas)

● New operations on servers and deployments

○ Undeploy/redeploy a deployment entity○ Reload/suspend/resume servers

● Live metrics

○ Added for datasources and transactions○ Refactor infrastructure for easier configuration

● Performance reports for middleware servers

● Alerts - added support for alert profile and alert

automated expressions for middleware server

Page 14: Sprint 43 Review

Providers - Hawkular(A. Bonas)

● Crosslink middleware servers with RHEV VMs● Collect and display deployment status● Add datasources to topology view● Icons

○ Resolve missing icons in several views○ Add new icons (jms) and enhance existing icons

● Upgraded hawkular gem version to 2.2.1● Solve misc bugs (UI, refresher, etc.)

Page 15: Sprint 43 Review

Providers - AnsibleTowerGreg McCullough

● Automate Method updated to pass JobTemplate “Extra Variables” defined in the Provision Task○ Any keys in the options hash starting with ‘dialog_param_’ are passed to

AnsibleTower when launching the JobTemplate

Page 16: Sprint 43 Review

User InterfaceDan Clarizio

● PRs merged (147)○ SSUI (10)○ Bugs (68)○ Enhancements (25)○ Backported to Darga (55)

● Refactoring○ Default Filters tree converted to TreeBuilder - more on the way○ Cloud Key Pair form converted to AngularJS (Dana - UX team)○ Toolbars - Cleaned up partials, YAML -> classes

● Enhancements○ Settings moved to top right navigation header○ C3 Charts fully implemented - chart interaction coming soon!○ Tagging for Ansible job templates○ Live Search added to bootstrap selects○ Self Service UI Order History○ Provider forms - Credentials Validation improvements

Page 17: Sprint 43 Review

User InterfaceSettings moved to top right header

New

Old

Page 18: Sprint 43 Review

User InterfaceC3 Charts fully implemented

Page 19: Sprint 43 Review

User InterfaceLive Search added to bootstrap selects

Page 20: Sprint 43 Review

User InterfaceSSUI Order History - My Orders Tab

Page 21: Sprint 43 Review

User InterfaceSSUI Order History - Order Detail

Page 22: Sprint 43 Review

User InterfaceSSUI Order History - Request Detail

Page 23: Sprint 43 Review

User InterfaceProvider Credentials Validation and Recheck Authentication

Demos

Page 24: Sprint 43 Review

PlatformGregg Tanzillo

Enhancements and Bug Fixes

● PostgreSQL upgrade

● Custom Attributes - reporting, expressions

● Rest API

Page 25: Sprint 43 Review

PlatformGregg Tanzillo

PostgreSQL

● PostgreSQL upgraded to 9.5

● Necessary for in progress HA feature

● Included in nightly build

Page 26: Sprint 43 Review

PlatformGregg Tanzillo

Custom Attributes - Reporting editor (old way)● Name and Value were listed as separate columns

Page 27: Sprint 43 Review

PlatformGregg Tanzillo

Custom Attributes - Reporting output (old way)● Name and Value were reported on separate columns

Page 28: Sprint 43 Review

PlatformGregg Tanzillo

Custom Attributes - Reporting editor (new way)● CustomAttribute.name is now selectable as a column

Page 29: Sprint 43 Review

PlatformGregg Tanzillo

Custom Attributes - Reporting output (new way)● CustomAttribute.value is now reported in the column titled

with the corresponding CustomAttribute.name

Page 30: Sprint 43 Review

PlatformGregg Tanzillo

Custom Attributes - Supported in report filters...

Page 31: Sprint 43 Review

PlatformGregg Tanzillo

Custom Attributes - and in charts

Page 32: Sprint 43 Review

REST APIAlberto Bellotti

Refactoring

Goal - moving monolithic ApiController to OO model with collection specific classes and inheriting generic methods.

● Api::Settings for accessing api.yml● @req encapsulated as RequestAdapter● Rails routing for API now driven by api.yml● Clarifying rspecs

Page 33: Sprint 43 Review

REST APIAlberto Bellotti

Added support for Report schedules

● Adding a schedule to a report:POST /api/reports/:id{ “action” : “schedule”, “resource” : { … }}

Schedule can include: name, enabled, description, start_date, interval, …

● GET /api/reports/:id/schedules● GET /api/reports/:id/schedules/:schedule_id

Page 34: Sprint 43 Review

REST APIAlberto Bellotti

Added support for approving or denying service requests:

POST /api/service_requests/:id - Approving a service request{

“action” : “approve”,“resource” : { “reason” : “approve reason” }

}POST /api/service_requests/:id - Denying a service request

{“action” : “deny”,“resource” : { “reason” : “deny reason” }

}POST /api/service_requests - Approving or Denying multiple service requests

Page 35: Sprint 43 Review

REST APIAlberto Bellotti

Added support for Openshift Container Deployments:

Provided via a new collection /api/container_deployments:

Fetching data used for container deployments:● GET /api/container_deployments/container_deployment_data

Creating and Querying container deployments:● POST /api/container_deployments - Creating a new container deployment● GET /api/container_deployments/:id - Get a specific container deployment● GET /api/container_deployments - Querying all container deployments

Page 36: Sprint 43 Review

REST APIAlberto Bellotti

Added support for Virtual Templates:

Capability provided via a new /api/virtual_templates collection

● Full CRUD on /api/virtual_templates○ GET /api/virtual_templates - Query all virtual templates○ GET /api/virtual_templates/:id - Query single virtual template○ POST /api/virtual_templates - Create a new virtual template○ POST /api/virtual_templates/:id - action “edit” to edit a virtual template○ DELETE /api/virtual_templates/:id - Delete a virtual template○ POST /api/virtual_templates/:id - action “delete” to delete a virtual template

● Also adding support for provision action○ POST /api/virtual_templates/:id - action “provision” to provision a virtual template

Page 37: Sprint 43 Review

Service BrokerChris Kacerguis

● Started work on Server Broker - Allow ManageIQ to select VM for you based on criteria (cloud, cost, or performance)

● Added API backend for Resourceless Servers (api/virtual_templates)

● Added datastore for the default settings for resourceless servers

Page 38: Sprint 43 Review

AutomateGreg McCullough

● Generic Object○ Model refactoring / Cleanup○ Change to use PostgreSQL jsonb column○ In progress: Relationships

● Service resolution based on Provision Order○ Added ‘sequencer’ state to Service state machines○ New state runs existing ‘GroupSequenceCheck’ method

■ CatalogItemInitialization, provision_from_bundle○ Updated Namespaces:

■ ManageIQ / Cloud / Orchestration / Provisioning / StateMachine■ ManageIQ / ConfigurationManagement / AnsibleTower / Service / Provisioning / StateMachines■ ManageIQ / Service / Provisioning / StateMachines

Page 39: Sprint 43 Review

● Add /System/Process/MiqEvent instance○ Problem: After Event-Switchboard refactoring the

/System/Process/Event instance requires an event object (not just an event name) to resolve the instance path.

○ Solution: The new MiqEvent instance enables a user to create custom buttons or Simulate to run and use simulate for MiqEvents.

○ Example: VM retirement warn from custom button on VM

● Added Provider refresh call to Amazon retire state machine in Pre-Retirement state.○ Avoids retry timeouts waiting for updated Provider inventory data

AutomateGreg McCullough

Page 40: Sprint 43 Review

AutomateGreg McCullough

● Service Dialogs○ Added ‘Visible’ flag to all dialog fields○ In progress: Setting visible property from Dynamic dialog script

Page 41: Sprint 43 Review

Null Coalescing Operator

● Multiple String values separated by “||”● Evaluated on new attribute data type “Null Coalescing”● Order dependent, left to right evaluation ● First non-blank value is used● Skip and warn about missing objects

e.g.

${/#owner.email} || ${/#miq_request.get_option(:owner_email)} || ${/#miq_request.requester.email} || ${/#config.to_email_address}

AutomateMadhu Kanoor

Page 42: Sprint 43 Review

AutomateMadhu Kanoor

Page 43: Sprint 43 Review

Accessing VMDB objects● Class Schema allows for the following new data types

○ EMS (Provider)○ Host○ Policy○ Provision○ Request○ Server○ Storage○ User○ VM (or Template)

● The value contains the id of the object○ e.g. ${/#vm.evm_owner_id}

● If the object is not found the attribute is not defined

AutomateMadhu Kanoor

Page 44: Sprint 43 Review

AutomateMadhu Kanoor

Page 45: Sprint 43 Review

Sample Instance

AutomateMadhu Kanoor

Page 46: Sprint 43 Review

SmartState(Rich Oliveri)

● Added generalized disk LRU caching module.○ Currently, caching implemented in disk modules that

require it.○ Caching module can be used by any disk module -

eliminating duplication.○ Can be inserted “higher” in the IO path.○ Configurable caching parameters (memory vs

performance)○ Will be employed to address Azure performance and

throttling issues.○ Other disk modules converted over time.

Page 47: Sprint 43 Review

Performance(Dennis Metzger)

● 12 Performance PRs Merged● Cap & U Improvements

○ Driven by the need to reduce collection scheduling time○ Reduced number of SQL queries○ Reduced number of objects

● Improved tag processing related to Alert Profiles○ Reduced memory consumption by 50%

● UI Performance○ Specific pages targeted based on customer feedback○ Up to a 98% reduction in rendering times

■ e.g. Services to Request from 11.6 seconds to 0.25 seconds

Page 48: Sprint 43 Review

Discussion

Sprint 44 Review - August 3