sprint 48 review

72
ManageIQ Sprint 48 Review - Sprint End October 24, 2016 October 26, 2016

Upload: manageiq

Post on 07-Jan-2017

165 views

Category:

Software


1 download

TRANSCRIPT

Page 1: Sprint 48 review

ManageIQ

Sprint 48 Review - Sprint End October 24, 2016

October 26, 2016

Page 2: Sprint 48 review

Overview● Sprint Statistics (Oleg Barenboim)● Classic UI (Harpreet Kataria)● Service UI (Chris Kacerguis)● Providers (Greg Blomquist)● Automate (Greg McCullough)● Platform (Gregg Tanzillo)● API (Alberto Bellotti)● Quality Engineering (Pete Savage)● Discussion

Page 3: Sprint 48 review

Sprint Statistics (O. Barenboim)

404 Pull Requests Merged for ManageIQ/manageiq

Page 4: Sprint 48 review

Sprint Statistics - Euwe Backports(O. Barenboim)

266 Pull Requests Backported to Euwe

Page 5: Sprint 48 review

PR Breakdown by Feature Category (O. Barenboim)

* Note that some PRs have more than one category.

Providers

Page 6: Sprint 48 review

Sprint Comparison (O. Barenboim)

Dar

ga-2

Dar

ga B

eta

Dar

ga -3

Dar

ga G

A

Dar

ga R

C

Dar

ga -

4

Euw

e B

eta

Page 7: Sprint 48 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 PRsmanageiq 404integration_tests 99manageiq.org 53manageiq-ui-self_service 49manageiq-pods 14guides 12manageiq_docs 12manageiq-providers-amazon 11manageiq-providers-lenovo 9manageiq-appliance-build 7azure-armest 6miq_bot 6wrapanapi 6manageiq-appliance 4manageiq-api-client 1Total 693

Page 8: Sprint 48 review

Classic UI(Harpreet Kataria)

● PRs merged (171)○ Bugs (77)○ Enhancements (35)○ Tech Debt / Refactoring (20/27)○ Enhancements Backported to EUWE (10)

● Tech Debt / Refactoring○ Removed some old redundant and commented code○ RJS: cleanup of flash message div rendering○ Restored all previous TreeNodeBuilder#build functionality○ File chooser form control was moved into a common single partial○ Font icon cleanup(ongoing)○ Network provider converted to use RESTful routes like other providers

Page 9: Sprint 48 review

Classic UI(Harpreet Kataria)

● Enhancements○ Host Aggregates UI (No screenshots available)○ Snapshots actions support for Volumes○ Snapshots actions support for Openstack VMs○ Support to create/update/delete OpenStack Cloud Tenants○ Support to create/update/delete Cloud Networks.○ Added Container Templates subtab under Containers○ Support for Cinder backup actions○ Added Ironic Controls support for OpenStack Infrastructure Hosts○ Support to show Cloud Volume Backup - Link to list of Cloud Volume

Backups was added on Cloud Volume summary screen, from there you can drill into its details view screen.(No screenshots available)

○ Support to allow self signed certificates on Automate Import screen (covered by GregM’s team)

Page 10: Sprint 48 review

Classic UI(Harpreet Kataria)

● Enhancements○ Middleware Datasource validation enhancement○ Added Topology views for Cloud & Infra providers○ Support to generate authorization keys for remote regions○ Added Dashboard view for Infrastructure Providers○ Basic support for displaying chargeback report data in Service UI○ Option to hide deprecated template images by default during provisioning○ Schedule Automate Tasks (Demo: GregM’s team)○ Support for proxying the VNC or SPICE connection(Demo: Martin

Povolny)○ Hide VMs & Instances in explorer trees (Demo: Zita Nemeckova)

Page 11: Sprint 48 review

Classic UI(Harpreet Kataria)

Snapshots actions support for Volumes Snapshots actions support for Openstack VMs

Page 12: Sprint 48 review

Classic UI(Harpreet Kataria)

Support to create/update/delete OpenStack cloud Tenants

Page 13: Sprint 48 review

Classic UI(Harpreet Kataria)

Support to create/update/delete Cloud Networks

Page 14: Sprint 48 review

Classic UI(Harpreet Kataria)

New sub-tab Container Templates under Containers

Page 15: Sprint 48 review

Classic UI(Harpreet Kataria)

Added Ironic Controls support for OpenStack Infrastructure Hosts

Page 16: Sprint 48 review

Classic UI(Harpreet Kataria)

Support for Cinder backup actions

Page 17: Sprint 48 review

Classic UI(Harpreet Kataria)

Middleware Datasource validation enhancement

Page 18: Sprint 48 review

Classic UI(Harpreet Kataria)

Added Topology views for Cloud & Infra providers

Page 19: Sprint 48 review

Classic UI(Harpreet Kataria)

Support to generate authorization keys for remote regions

Page 20: Sprint 48 review

Classic UI(Harpreet Kataria)

Added Dashboard view for Infrastructure Providers

Page 21: Sprint 48 review

Classic UI(Harpreet Kataria)

Option to hide deprecated template images by default during provisioning

Page 22: Sprint 48 review

Classic UI(Harpreet Kataria)

Basic support for displaying chargeback report data in Service UI

Page 23: Sprint 48 review

Classic UI(Harpreet Kataria)

● Schedule Automate Tasks (Demo: GregM’s team)

● Support for proxying the VNC or SPICE connection (Demo: Martin Povolny)● Hide VMs & Instances in explorer trees (Demo: Zita Nemeckova)

Page 24: Sprint 48 review

Service UI(C. Kacerguis)

● Back of the House Changes○ Completed the renaming of the Repo (ManageIQ-UI-Service)○ Migrated to yarn for dependency management○ Increased test coverage to 58%

● Added confirmation when removing items from the shopping cart

● Added basic support for displaying chargeback data● Added the Service Power operations for Start, Stop and

Suspend● Lots of bug fixes and technical debt cleaned up

Page 25: Sprint 48 review

Providers(G. Blomquist)

Page 26: Sprint 48 review

Containers(G. Blomquist)

● Container Templates● Chargeback for container images● Support Custom Attributes

Page 27: Sprint 48 review

Containers(G. Blomquist)

Container Templates

Page 28: Sprint 48 review

Containers(G. Blomquist)

Chargeback for Container Images

Page 29: Sprint 48 review

Containers(G. Blomquist)

Support Custom Attributes

Page 30: Sprint 48 review

Google(G. Blomquist)

● Add load Balancer health checks● Hide deprecated images during provisioning

Page 31: Sprint 48 review

Hawkular(G. Blomquist)

● Validate when there is no daily data for live metrics● Conversion of Provider form to Angular● Fixed 'Summary' Link in the accordion menu● Better Datasource validation● Hide operation toolbar buttons

Page 32: Sprint 48 review

OpenStack(G. Blomquist)

● Lots of UI updates (Harpreet will cover this)● Enable node start/stop

Page 33: Sprint 48 review

RHEV(G. Blomquist)

Refresh performance improvements when creating a new VM

Page 34: Sprint 48 review

Lenovo(G. Blomquist)

Getting started … first commits rolling in

Page 35: Sprint 48 review

vSphere(G. Blomquist)

Provisioning validation when selecting hosts/clusters

Page 36: Sprint 48 review

vCloud(G. Blomquist)

Checkboxes in Provisioning

Page 37: Sprint 48 review

Pluggable Providers(G. Blomquist)

● supports :timeline● supports :terminate● supports :shutdown_guest● supports :reboot_guest

Page 38: Sprint 48 review

Automate(Greg McCullough)

Schedule Automate Tasks● Specify options similar to Automate -> Simulate

○ System/Process Instance○ Message○ Request○ Optional

■ Target Object■ Additional Key/Value Pairs

● Creates Automation Request object● Run Once or on a recurring schedule

Page 39: Sprint 48 review

Automate(Greg McCullough)

Schedule Automate Tasks

Page 40: Sprint 48 review

Automate(Greg McCullough)

Schedule Automate Tasks

Page 41: Sprint 48 review

Automate(Greg McCullough)

New notification methods enable users to create custom notifications from Automate:● $evm.create_notification

● $evm.create_notification! - raises errors.

Currently supports User level notifications.

Notification and NotificationType Service Models added.

Page 42: Sprint 48 review

Automate(Greg McCullough)

New $evm.create_notification Method

Basic notification:

Specify only a message:

$evm.create_notification(:message => “my custom provisioning job has started”)

Generates a “user” “info” notification.

Page 43: Sprint 48 review

Automate(Greg McCullough)

New $evm.create_notification Method

Custom notification:

Specify level and subject:

$evm.create_notification(:level => “error”, :subject => vm, :message => “my custom provisioning job has failed”)

Generates a “user” “error” notification.

Page 44: Sprint 48 review

Automate(Greg McCullough)

New $evm.create_notification Method

Predefined notification:

Specify type with subject:

$evm.create_notification(:type => :vm_provisioned, :subject => vm)

Generates a “user” “info” notification.

Page 45: Sprint 48 review

Automate(Greg McCullough)

New $evm.create_notification Method

Next Steps:

● Global/Tenant level support.

● The addition of $evm.create_notification to life cycle

state machine methods. (start/finish/error)

Page 46: Sprint 48 review

Automate(Greg McCullough)

Retirement Enhancements:

An unsuccessful retirement can leave a VM in an archived/orphaned state with an “unknown” power state.

Although the majority of these VM’s have been removed from the provider, our current retirement process prevents these VMs from fully retiring.

Page 47: Sprint 48 review

Automate(Greg McCullough)

Retirement Enhancements:● Allow VM’s with unknown power state to retire.

○ Changed check_pre_retirement method to allow a

VM with an “unknown” power state to proceed to

retirement.

● Allow Archived/Orphaned VMs to retire.

○ Changed remove_from_provider method to allow an

archived/orphaned VM to complete retirement.

Page 48: Sprint 48 review

Automate(Greg McCullough)

● Import Automate model from Git Repository○ Support for Self Signed Certificates○ Support for Rake command○ Route the import request to the appliance with the

‘Git Repository Owner’ role

Page 49: Sprint 48 review

Automate(Greg McCullough)

● Self Signed Certificate support○ Uncheck the “Verify Peer Certificate”

Page 50: Sprint 48 review

Automate(Greg McCullough)

Rake command● Required Parameters

○ GIT_URL● Optional Parameters

○ USERID○ PASSWORD○ REF = Branch name (default is master)○ VERIFY_SSL = 0 | 1 (default 1)○ REF_TYPE = BRANCH|TAG (default is BRANCH)

Page 51: Sprint 48 review

Automate(Greg McCullough)

Catalog Items

● Default provisioning state-machine entry-point updated○ Catalog Item - CatalogItemInitialization○ Catalog Bundle - CatalogBundleInitialization

Page 52: Sprint 48 review

Automate(Greg McCullough)

Generic Objects● Pass “param_#_type” value to automate for method calls:

○ Example:■ param_1 = “1.0”■ param_1_type = “Float”

● Expose service model methods:○ property_attributes○ property_associations○ property_methods○ Find_objects

■ Search by active_record and generic object attributes■ Search by associations (using association IDs)

Page 53: Sprint 48 review

Automate(Greg McCullough)

Added cinder backup/restore actions to Automate

MiqAeServiceManageIQ_Providers_Openstack_CloudManager_CloudVolume

● Method Definition: ○ backup_create(backup_name = "", incremental = false, options = {})

● Method Definition:○ backup_restore(backup_id, options = {})

● Option○ :sync = true/false (Default: false)

Page 54: Sprint 48 review

Provisioning● No longer appending “_” to the VM Name when generating unique names

for service provisioning.○ Underscore is an invalid character on some Providers○ Example: VM Name = test_vmware

■ Before: test_vmware_001■ After: test_vmware001

○ If required, append VM Name/Instance Name with “_” in catalog item.

Automate(Greg McCullough)

Page 55: Sprint 48 review

Automate(Greg McCullough)

That’s it, the party is over.

Page 56: Sprint 48 review

Platform(Gregg Tanzillo)

Enhancements / Bug Fixes - 95 PRs Merged!● Chargeback

● Tenancy

● Centralized Administration

● Additional updates

● API

Page 57: Sprint 48 review

Platform: Chargeback(Gregg Tanzillo)

● Major rework of calculations

○ No longer based on the count of metrics

○ Instead, based on interval duration (hour/week/month)

○ Fixed rate costs now correct for weekly and monthly

intervals

○ Metrics are either avg or max of interval instead of the

sum

● Reinstated weekly and monthly rates

Page 58: Sprint 48 review

Platform: Chargeback(Gregg Tanzillo)

● JSON generation of chargeback report for service

○ Supports showing service cost in Service UI

○ Includes Rest API

GET /api/services/:id?attributes=chargeback_report

● VM GUID a reportable field

● Many PRs for refactoring and performance (thank you

Simon)

Page 59: Sprint 48 review

Platform: Tenancy(Gregg Tanzillo)

● Ad hoc sharing of resources across tenants

○ Backend complete

○ VMs, templates and Services

○ Work on API and user interface underway

Page 60: Sprint 48 review

Platform: Centralized Administration(Gregg Tanzillo)

● VM reconfigure

● Provision VM from a template

● User and group ownership working in global region

○ Without triggers :)

Page 61: Sprint 48 review

Platform: Centralized Administration(Gregg Tanzillo)

● Service provisioning - close

○ Addressing some last minute bugs

○ Classic UI only

● Regional method relay mixin for generic central

administration of models

○ New DSL defined by the mixin

○ Enables dynamic of methods routing to a remote

region

Page 62: Sprint 48 review

Platform: Additional updates(Gregg Tanzillo)

● Provider authentication retry

○ Default schedule changed from 1 day to 1 hour

○ Retry on recoverable errors

○ Incremental delay between retries - 2 min, 4, 8 and 16

● System memory/swap information saved with status

○ Will now be able to detect when swap is invaded

Page 63: Sprint 48 review

Platform: Additional updates(Gregg Tanzillo)

● Configure a different disk for log files

○ Through appliance console

○ Longer retention of log history

● Increased log volume from 2gb to 11gb

Page 64: Sprint 48 review

API(Alberto Bellotti)

● Added ability to Create and Edit /api/requests

Interface to MiqRequest:

create_request(values, requester, auto_approve) update_request(request, values, requester)

POST /api/requests{

“options” : {

“request_type” : “service_reconfigure”,

“src_id” : 4,

“config_param” : “some_value_1”

},

“requester” : {

“user_name” : “admin”

},

“auto_approve” : true

}

POST /api/requests/:id{

“options” : {

“config_param” : “some_value_2”

},

“requester” : {

“user_name” : “admin”

}

}

Page 65: Sprint 48 review

API(Alberto Bellotti)

● Introduced new /api/automate_domains primary collection○ Query and Actions on MiqAeDomain’s

○ Moved refresh_from_source action from /api/automate to /api/automate_domains

- Simplifies implementation

- refresh_from_source can now be triggered from Api Client gem

miq.automate_domains.find_by(:name => “ManageIQ”).refresh_from_source

● Updated refresh_from_source to work asynchronously

● /api/automate is strictly for Automate Browser queries

miq.get(“automate/manageiq”, :depth => -1, :search_options => “state_machines”)

Page 66: Sprint 48 review

API(Alberto Bellotti)

● Added support for Provider Custom Attributes○ Same signatures as the custom attributes support for Vms

Queries:

GET /api/providers/:id?expand=custom_attributes

GET /api/providers/:id/custom_attributes

Adding, Editing and Deleting custom attributes via actions on the subcollection:

POST /api/providers/:id/custom_attributes

{

“action” : “add” | “edit” | “delete”,

“resources” : [

{ “name” : “ca_name1”, “value” : “ca_value1” },

{ “name” : “ca_name2”, “value” : “ca_value2” },

...

]

}

Page 67: Sprint 48 review

API(Alberto Bellotti)

● Added Service Power Operations to /api/services

All service power actions are asynchronous and include the task_id/href in the results.

○ Service resource operations on /api/services/:id

POST /api/services/:id{

“action” : “start” | “stop” | “suspend”}

○ Bulk Service operations on /api/services

POST /api/services{

“action” : “start” | “stop” | “suspend”,“resources” : [

{ “href” : “http://localhost:3000/api/services/101” },{ “href” : “http://localhost:3000/api/services/102” },...

]}

Page 68: Sprint 48 review

API(Alberto Bellotti)

● Added ability to Create and Edit Service Dialogs○ Create Service Dialog:

POST /api/service_dialogs{

“description” : “...”,“label” : “...”,“dialog_tabs” : [ ]

}

○ Edit Service Dialog (individual and bulk edits)

POST /api/service_dialogs/:id{

“action” : “edit”,“resource” : {

“label” : “...”,}

}

Page 69: Sprint 48 review

Quality Engineering(Pete Savage)

Manual

● Continuing with upstream testing○ Full regression testing○ Sprint New Feature testing

● 38 new deliverables in Sprint 47○ 53% looking good○ 3% blocked, buggy or not fully implemented○ 44% unknown, testing in progress

Page 70: Sprint 48 review

Quality Engineering(Pete Savage)

Automation● Still seeing some UI quirks where page is not ready when we interact with it

○ Under investigation

● Navmazing (new navigation framework) conversion○ 677 -> 398 removals of old force_navigate○ More in PRs yet to be merged

● Widgetastic (new page model framework) taking shape○ Have several PRs now using this much more explicit design

Page 71: Sprint 48 review

Quality Engineering(Pete Savage)

Integration Tests

99 PRs Merged

Page 72: Sprint 48 review

Discussion

Sprint 49 Review - November 16