sprint 43 review

Post on 16-Apr-2017

1.811 Views

Category:

Software

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

ManageIQ

Sprint 43 Review - Sprint End July 11, 2016

July 13, 2016

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

Sprint Statistics (O. Barenboim)

329 Pull Requests Merged

PR Breakdown by Feature Category (O. Barenboim)

* Note that some PRs have more than one category.

Providers

Sprint Comparison (O. Barenboim)

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

Darga-2

● Released on June 30, 2016

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

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

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

Providers(B. Sorota)

Providers - Amazon(B. Sorota)

● Public Images Filter

Providers - Networking(B. Sorota)

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

Providers - Pluggability(B. Sorota)

● SupportsFeatureMixin○ supports :provisioning○ supports :discovery

● Amazon Provider Repository!

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

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.)

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

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

User InterfaceSettings moved to top right header

New

Old

User InterfaceC3 Charts fully implemented

User InterfaceLive Search added to bootstrap selects

User InterfaceSSUI Order History - My Orders Tab

User InterfaceSSUI Order History - Order Detail

User InterfaceSSUI Order History - Request Detail

User InterfaceProvider Credentials Validation and Recheck Authentication

Demos

PlatformGregg Tanzillo

Enhancements and Bug Fixes

● PostgreSQL upgrade

● Custom Attributes - reporting, expressions

● Rest API

PlatformGregg Tanzillo

PostgreSQL

● PostgreSQL upgraded to 9.5

● Necessary for in progress HA feature

● Included in nightly build

PlatformGregg Tanzillo

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

PlatformGregg Tanzillo

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

PlatformGregg Tanzillo

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

PlatformGregg Tanzillo

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

with the corresponding CustomAttribute.name

PlatformGregg Tanzillo

Custom Attributes - Supported in report filters...

PlatformGregg Tanzillo

Custom Attributes - and in charts

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

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

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

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

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

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

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

● 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

AutomateGreg McCullough

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

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

AutomateMadhu Kanoor

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

AutomateMadhu Kanoor

Sample Instance

AutomateMadhu Kanoor

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.

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

Discussion

Sprint 44 Review - August 3

top related