ManageIQ 
Sprint 16 Report - Sprint End December 2, 2014 
December 3, 2014
Overview 
●Sprint Statistics 
●Charting Enhancements (D. Clarizio) 
●I18N Progress (D. Clarizio) 
●Cloud Orchestration (G. McCullough) 
●Automate Enhancements (G. McCullough) 
●Default LDAP Group for Authentication (G. McCullough) 
●Amazon Events (G. Blomquist) 
●Technical Debt - SmartProxy, Rails Backports (J. 
Rafaniello) 
●IPv6 Communications (J. Rafaniello) 
●Rest API Enhancements (A. Bellotti) 
●Fleecing Tests (R. Oliveri)
Sprint 16 Ended December 2 
●https://github.com/ManageIQ/manageiq/issues?q=milesto 
ne%3A%22Sprint+16+Ending+Dec+2%2C+2014%22 
●96 Pull Requests Merged 
o48 issues labeled as “bug” 
o27 issues labeled as “enhancement” 
o11 issues labeled as “technical debt” 
o8 issues labeled as “refactoring” 
o6 issues labeled as “test”
jqPlot Default Charts
Chart Styling 
Chart styling enabled: 
●themes (Patternfly,etc ) 
●backgrounds 
●borders 
●fonts 
●colors 
●highlighting 
●pie chart formatting 
●legend positioning
Coming Soon 
●Donut Charts 
●Responsive Charts 
●Enhanced Patternfly color scheme
I18N Progress 
●Currently follows browser language selection 
●Will be adding admin and user settings 
●Video - Login screen demo
Cloud Orchestration 
●Modeling PR merged (PR #899) 
●In progress 
○AWS Inventory collection (PR #919) 
○Creation of Service Dialog based on Template 
○Prototype of Provisioning through automate
Automate Enhancements 
●Specify Zone for Web Service Automation 
Request 
○Usage: Pass ‘miq_zone=<zone_name>’ 
■Parameter not specified: Zone of current appliance used 
■Parameter specified without value: Tasks queued with null zone; any 
appliance in the region can process. 
●Example: 'parameters' => ‘miq_zone=’ 
■Parameter specified with value: Request runs in specified zone. 
(Note: Request creation fails if zone does not exist) 
Example: 
savon.call(:create_automation_request, :message => 
'version' => '1.1', 
'uri_parts' => "namespace=System|class=Request|instance=test|message=create", 
'parameters' => ‘miq_zone=Mahwah’)
Automate Enhancements 
●Request Message override 
○user_message= #New method available on MiqRequest instances 
Example: 
request = $evm.root['service_template_provision_task'].miq_request 
request.user_message = “Custom User Message” 
Reset to normal messaging: 
request.user_message = nil
Default Group for LDAP Authentication 
●Settings and Operations Guide - 5.2.1. Creating a User 
Note: If you are using LDAP, but did not enable Get User Groups from LDAP in 
your server's Authentication tab, you will need to define a user. 
●Enhancement allows new user logons when “Get User 
Groups from LDAP” is disabled
Amazon AWS Event Collection 
●Worked with Amazon during closed beta to 
develop 
●Third of three pieces of provider functionality 
●Enables event-based policies for AWS 
NB: Need to review AWS Config setup 
requirements and document ManageIQ 
configuration
Technical debt 
●SmartProxy removal 
○Functionality not needed or replaced by winrm gem 
○PR #1090 
●Rails backports/fork removal 
○Backport and use disable_ddl_transaction! 
○Added bigserial support for primary keys to rails, 
backported and used in manageiq 
○Next: Get “areas” (tests, migrations) of manageiq 
running on Rails 4.2
IPv6 Communications 
●VMWare (done) 
○PR #1080 (includes upgrading httpclient to 2.5.3) 
●RHEVM/Ovirt (in progress) 
○ManageIQ/ovirt PR #16 
○Ruby 2.0 and 2.1 backports (net/http regression) 
■https://bugs.ruby-lang.org/issues/10530 
■https://bugs.ruby-lang.org/issues/10531 
○rest-client/rest-client PR #332 
○rest-client/rest-client PR #333 
●Next: Model changes/openstack 
communication
Rest API - Accounts subcollection 
●API versioning to follow Semver standard 
oi.e. v1.1 development version now set to v1.1.0-pre 
●Added VM accounts subcollection queries 
oQuery via GET /api/vms/#/accounts 
Example: GET /api/vms/320/accounts?expand=resources 
{ 
"name": "accounts", 
"count": 3, 
"subcount": 2, 
"resources": [ 
{ 
"id": "http://localhost:3000/api/vms/320/accounts/3", 
"name": "Alberto", 
"homedir": "/home/aab", 
... 
}, ...] 
} 
oAlso via --expand parameter GET /api/vms/#?expand=accounts
Rest API - Software subcollection 
●Added VM software subcollection queries 
oQuery via GET /api/vms/#/software 
Example: GET /api/vms/320/software?expand=resources 
{ 
"name": "software", 
"count": 1, 
"subcount": 1, 
"resources": [ 
{ 
"id": "http://localhost:3000/api/vms/320/software/1", 
"name": "LibreOffice", 
"vendor": "DocumentFoundation", 
... 
} 
] 
} 
oAlso via --expand parameter GET /api/vms/#?expand=software
Rest API - VM accounts & software 
●Querying both subcollection types can be done as follows: 
oQuery via GET /api/vms/#?expand=accounts,software 
Example: GET /api/vms/320?expand=accounts,software 
{ 
“id”: “http://localhost:3000/api/vms/320”, 
“name”: “aab-vm1”, 
… 
“accounts” : [ 
{ 
“id”: “http://localhost:3000/api/vms/320/accounts/3”, 
... 
}, ... 
] 
“software” : [ 
{ 
“id”: “http://localhost:3000/api/vms/320/software/1”, 
... 
}, ... 
] 
}
Questions?

Sprint 16 report

  • 1.
    ManageIQ Sprint 16Report - Sprint End December 2, 2014 December 3, 2014
  • 2.
    Overview ●Sprint Statistics ●Charting Enhancements (D. Clarizio) ●I18N Progress (D. Clarizio) ●Cloud Orchestration (G. McCullough) ●Automate Enhancements (G. McCullough) ●Default LDAP Group for Authentication (G. McCullough) ●Amazon Events (G. Blomquist) ●Technical Debt - SmartProxy, Rails Backports (J. Rafaniello) ●IPv6 Communications (J. Rafaniello) ●Rest API Enhancements (A. Bellotti) ●Fleecing Tests (R. Oliveri)
  • 3.
    Sprint 16 EndedDecember 2 ●https://github.com/ManageIQ/manageiq/issues?q=milesto ne%3A%22Sprint+16+Ending+Dec+2%2C+2014%22 ●96 Pull Requests Merged o48 issues labeled as “bug” o27 issues labeled as “enhancement” o11 issues labeled as “technical debt” o8 issues labeled as “refactoring” o6 issues labeled as “test”
  • 4.
  • 5.
    Chart Styling Chartstyling enabled: ●themes (Patternfly,etc ) ●backgrounds ●borders ●fonts ●colors ●highlighting ●pie chart formatting ●legend positioning
  • 6.
    Coming Soon ●DonutCharts ●Responsive Charts ●Enhanced Patternfly color scheme
  • 7.
    I18N Progress ●Currentlyfollows browser language selection ●Will be adding admin and user settings ●Video - Login screen demo
  • 8.
    Cloud Orchestration ●ModelingPR merged (PR #899) ●In progress ○AWS Inventory collection (PR #919) ○Creation of Service Dialog based on Template ○Prototype of Provisioning through automate
  • 9.
    Automate Enhancements ●SpecifyZone for Web Service Automation Request ○Usage: Pass ‘miq_zone=<zone_name>’ ■Parameter not specified: Zone of current appliance used ■Parameter specified without value: Tasks queued with null zone; any appliance in the region can process. ●Example: 'parameters' => ‘miq_zone=’ ■Parameter specified with value: Request runs in specified zone. (Note: Request creation fails if zone does not exist) Example: savon.call(:create_automation_request, :message => 'version' => '1.1', 'uri_parts' => "namespace=System|class=Request|instance=test|message=create", 'parameters' => ‘miq_zone=Mahwah’)
  • 10.
    Automate Enhancements ●RequestMessage override ○user_message= #New method available on MiqRequest instances Example: request = $evm.root['service_template_provision_task'].miq_request request.user_message = “Custom User Message” Reset to normal messaging: request.user_message = nil
  • 11.
    Default Group forLDAP Authentication ●Settings and Operations Guide - 5.2.1. Creating a User Note: If you are using LDAP, but did not enable Get User Groups from LDAP in your server's Authentication tab, you will need to define a user. ●Enhancement allows new user logons when “Get User Groups from LDAP” is disabled
  • 12.
    Amazon AWS EventCollection ●Worked with Amazon during closed beta to develop ●Third of three pieces of provider functionality ●Enables event-based policies for AWS NB: Need to review AWS Config setup requirements and document ManageIQ configuration
  • 13.
    Technical debt ●SmartProxyremoval ○Functionality not needed or replaced by winrm gem ○PR #1090 ●Rails backports/fork removal ○Backport and use disable_ddl_transaction! ○Added bigserial support for primary keys to rails, backported and used in manageiq ○Next: Get “areas” (tests, migrations) of manageiq running on Rails 4.2
  • 14.
    IPv6 Communications ●VMWare(done) ○PR #1080 (includes upgrading httpclient to 2.5.3) ●RHEVM/Ovirt (in progress) ○ManageIQ/ovirt PR #16 ○Ruby 2.0 and 2.1 backports (net/http regression) ■https://bugs.ruby-lang.org/issues/10530 ■https://bugs.ruby-lang.org/issues/10531 ○rest-client/rest-client PR #332 ○rest-client/rest-client PR #333 ●Next: Model changes/openstack communication
  • 15.
    Rest API -Accounts subcollection ●API versioning to follow Semver standard oi.e. v1.1 development version now set to v1.1.0-pre ●Added VM accounts subcollection queries oQuery via GET /api/vms/#/accounts Example: GET /api/vms/320/accounts?expand=resources { "name": "accounts", "count": 3, "subcount": 2, "resources": [ { "id": "http://localhost:3000/api/vms/320/accounts/3", "name": "Alberto", "homedir": "/home/aab", ... }, ...] } oAlso via --expand parameter GET /api/vms/#?expand=accounts
  • 16.
    Rest API -Software subcollection ●Added VM software subcollection queries oQuery via GET /api/vms/#/software Example: GET /api/vms/320/software?expand=resources { "name": "software", "count": 1, "subcount": 1, "resources": [ { "id": "http://localhost:3000/api/vms/320/software/1", "name": "LibreOffice", "vendor": "DocumentFoundation", ... } ] } oAlso via --expand parameter GET /api/vms/#?expand=software
  • 17.
    Rest API -VM accounts & software ●Querying both subcollection types can be done as follows: oQuery via GET /api/vms/#?expand=accounts,software Example: GET /api/vms/320?expand=accounts,software { “id”: “http://localhost:3000/api/vms/320”, “name”: “aab-vm1”, … “accounts” : [ { “id”: “http://localhost:3000/api/vms/320/accounts/3”, ... }, ... ] “software” : [ { “id”: “http://localhost:3000/api/vms/320/software/1”, ... }, ... ] }
  • 18.