ManageIQ
Sprint 52 Review - Sprint End January 16, 2017
January 18, 2017
Overview
● Sprint Statistics (Oleg Barenboim)
● Community Update (Carol Chen)
● Classic UI (Dan Clarizio)
● Service UI (Chris Kacerguis)
● Providers (Greg Blomquist)
● Automate (Greg McCullough)
● Platform (Gregg Tanzillo)
● API (Alberto Bellotti)
● Quality Engineering (Dave Johnson)
● Discussion
Sprint Statistics by Type
(O. Barenboim)
128 Pull Requests Merged for ManageIQ/manageiq
PRs by Feature Category on Master
(O. Barenboim)
*Some PRs have more
than one category.
All Repo Stats - Top 10
(O. Barenboim)
Top 10 Repositories Closed
manageiq 128
integration_tests 95
manageiq-ui-classic 71
manageiq-providers-amazon 14
manageiq.org 11
miq_bot 11
manageiq_docs 9
manageiq-ui-self_service 9
guides 5
manageiq-gems-pending 5
Total of 251 across ALL ManageIQ Organization
Community Update
(Carol Chen)
● ManageIQ Year in review 2016:
http://manageiq.org/blog/2017/01/year-in-review-2016/
● Last Week in ManageIQ:
○ http://manageiq.org/blog/2017/01/blog-about-all-the-things/ by Drew Bomhof
○ http://manageiq.org/blog/2017/01/destroy-the-monolith/ by Marcel Hild
○ Contact John Prause (jprause on Gitter) if you’d like to contribute
● Events:
○ DevConf.CZ: “Automating your data-center with Ansible and ManageIQ” by Daniel Korn - Jan
29 @ 13:00-14:00, room E112; ManageIQ Booth
○ FOSDEM: “Managing container infrastructure” by Piotr Kliczewski - Feb 4 @ 10:30-10:55,
room UB2.252A (Virtualisation/Iaas devroom)
○ PyCon Pune: Feb 16-19 in Pune, India https://pune.pycon.org/ ; ManageIQ pod
○ CloudNativeCon EU: Mar 29-30 in Berlin, Germany https://kubecon.io
Classic UI
(Dan Clarizio)
Classic UI
● Bug Fixes
○ UI support to add and remove Network Router Interfaces
○ Enable provisioning of instances from Providers view
○ Merge all timeline accordions under a single tree
○ Bug fixing and clean up for attaching/detaching Openstack Cloud
Volumes to Instances (to only list volumes that are in an available state)
○ Filter Recent VMs/Hosts charts by provider on Infra provider dashboard
○ Enforce Policy Event to at least have one action assigned to it
○ Some I18N related fixes.
○ Fixed Check Compliance button for Providers
Classic UI
● Technical Debt/Refactoring
○ Refactor x_button in the Container controller
○ Get rid of deferred_ui_lookup(), use I18N calls instead
○ Added ViewHelper for Controllers/Presenters capable of calling UI helper
methods
○ Refactored the ExpressionHTML helper to build <tags> using ViewHelper
○ Removed table tags around angular form buttons for styling, using
regular divs with bootstrap styling
○ Removed show_pdf from show partials
○ Removed some dead code from controllers
○ Split the "content" partial based on layout used
○ Replaced “.success” calls with “.then/.catch” in Angular controllers,
“.success” is not supported by Angular 1.6+
Classic UI
● Enhancements
○ Add and edit added for generic objects
○ Automatic detection of Hawkular hostname from route when endpoint is
not specified
○ Added new "Automation" Main tab, moved existing content one level
down under “Automation / Automate”
○ Ad hoc metrics - Added titles and spinners
○ Some enhancement work done for root node images in Trees. Use
decorators for certain TreeNode icons/images
Classic UI
Add/Edit functionality for generic object UI
Classic UI
New Automation / Automate Main tab
Classic UI
Ad hoc metrics Removed tooltips and add spinners
Service UI
(Chris Kacerguis)
● Progress for Sprint - 100 pts completed
Service UI
(Chris Kacerguis)
● Added Webpack
● Removed gulp
● Initial implementation of Protractor / Karma testing
● Added ability to sort by virtual attributes via API
● Added new UI elements...
GET /api/vms?sort_by=host_name&order=desc
Service UI
(Chris Kacerguis)
● Added UI switcher (allows switching to different UI’s)
Service UI
(Chris Kacerguis)
● Redesign of Services List
Service UI
(Chris Kacerguis)
● Completed the following designs:
○ My Orders
○ Service Details
Providers
(Greg Blomquist)
Provider PRs across Repos
Providers - Containers
Performance Reports for Containers
Providers - The Rest
Proxy for accessing Google Cloud
Additional validation for VM reconfigure
Introducing Block Storage manager
Delete all resources when deleting a stack
Improve provider generator
Automate
(Greg McCullough)
● Automate Retry with Server Affinity
○ Allows an automate method to run retry on same
server
○ Useful when running a child process that needs to be
monitored.
○ Example usage
$evm.root['ae_result'] = 'retry'
$evm.root['ae_retry_server_affinity'] = true
● Continued work on extracting Automate Engine to
separate repo
Automate
(Greg McCullough)
● Ansible Integration
○ Service Design for running Playbooks
○ AnsibleTowerClient gem changes
■ Allow calling create on models
■ Expose
● ActivityStream
● Projects
● Credentials
Platform
(Gregg Tanzillo)
36 PRs Merged
Platform
(Gregg Tanzillo)
Ansible Inside
● Determine availability
● Process for embedding on appliance (in progress)
● Ansible role (in progress)
Platform
(Gregg Tanzillo)
Chargeback
● Do not charge for future hours
● Do not charge after VM is retired
● Do not charge hours before VM was created
Platform
(Gregg Tanzillo)
Central Admin
● Fixed encryption of data in encapsulated within a
provision request
Platform
(Gregg Tanzillo)
RBAC
● Job Templates under Ansible Tower provider honored
● Providers list selection filtered when adding a new Catalog
Item
API
(Alberto Bellotti)
Euwe API v2.3.0 documentation merged and pushed to:
http://manageiq.org/docs/api
API
(Alberto Bellotti)
● Arbitration rules creation now supports arbitration profile references in
addition to arbitration_profile_id:
POST /api/arbitration_rules
{
“description” : “admin rule”,
“operation” : “inject”,
“arbitration_profile” : { “href” : “http://localhost:3000/api/arbitration_profiles/11” },
“expression” : {
“EQUAL” : {
“field” : “User-userid”,
“value” : “admin”
}
}
}
supporting arbitration_profile reference by href or id.
API
(Alberto Bellotti)
● Allowed tags are now available for request workflows
(Aparna K.)
GET /api/requests/101?attributes=v_allowed_tags
{
“href” : “http://localhost:3000/api/requests/101”,
“id” : 101,
“description” : “Provision from [aab-template] to [aab_test_vm1]”,
...
“v_allowed_tags” : [
{ “name” : “prov_max_cpu”, “description” : “Auto Approve - Max CPU”, “children” : [ … ] },
{ “name” : “prov_max_memory”, “description” : “Auto Approve - Max Memory”, “children” : [ … ] },
{ “name” : “cc”, “description” : “Cost Center”, “children” : [ … ] },
...
]
}
API
(Alberto Bellotti)
● Workflow class names are now available for requests:
(Aparna K.)
GET /api/requests/101?attributes=v_workflow_class
{
“href” : “http://localhost:3000/api/requests/101”,
“id” : 101,
“description” : “Provision from [aab-template] to [aab_test_vm1]”,
...
“v_workflow_class” : {
“instance_logger” : {
“klass” : “ManageIQ::Providers::Redhat::InfraManager::ProvisionWorkflow”,
“separator”, “#”
}
}
}
API
(Alberto Bellotti)
● Added ability to copy orchestration templates:
(Artyom L.)
POST /api/orchestration_templates/101
{
“action” : “copy”,
“resource” : {
“content” : “{ ‘Description’ : ‘test content 2’ }n”
}
}
Response:
{
“id” : 102,
“name” : “name_from_template_101”,
“description” : “Description of Template 101”,
...
“content” : “{ ‘Description’ : ‘test content 2’ }n”
}
Also supports copying orchestration templates in bulk via POST /api/orchestration_templates
API
(Alberto Bellotti)
● Enhancement to support sorting by virtual attributes (as supported by sql):
(Jillian T.)
GET /api/vms
?expand=resources
&attributes=id,name,vendor,host_name
&sort_by=host_name
&sort_order=desc
Quality Engineering
(D. Johnson)
General Testing
○ Working through Ansible stories for the upcoming Fine
release, still early though
○ Investigating vSphere 6.5 support
○ Trying to stand up Azure Stack environment for
investigation
○ Getting started on testing the next set of maintenance
release fixes
Quality Engineering
(D. Johnson)
Automation
○ 112 PRs Merged
Quality Engineering
(D. Johnson)
Automation
○ Navmazing conversion finished! (677 force_navigates
now gone)
○ Started on Collections + Widgetastic work
○ About to resync our master with downstream-stable for
upcoming testing
○ Starting to look at making all providers generic to aid
people wanting to add new provider models to the test
framework
○ Working on optimizing to make testing faster
Discussion
Sprint 53 Review - February 1

Sprint 52

  • 1.
    ManageIQ Sprint 52 Review- Sprint End January 16, 2017 January 18, 2017
  • 2.
    Overview ● Sprint Statistics(Oleg Barenboim) ● Community Update (Carol Chen) ● Classic UI (Dan Clarizio) ● Service UI (Chris Kacerguis) ● Providers (Greg Blomquist) ● Automate (Greg McCullough) ● Platform (Gregg Tanzillo) ● API (Alberto Bellotti) ● Quality Engineering (Dave Johnson) ● Discussion
  • 3.
    Sprint Statistics byType (O. Barenboim) 128 Pull Requests Merged for ManageIQ/manageiq
  • 4.
    PRs by FeatureCategory on Master (O. Barenboim) *Some PRs have more than one category.
  • 5.
    All Repo Stats- Top 10 (O. Barenboim) Top 10 Repositories Closed manageiq 128 integration_tests 95 manageiq-ui-classic 71 manageiq-providers-amazon 14 manageiq.org 11 miq_bot 11 manageiq_docs 9 manageiq-ui-self_service 9 guides 5 manageiq-gems-pending 5 Total of 251 across ALL ManageIQ Organization
  • 6.
    Community Update (Carol Chen) ●ManageIQ Year in review 2016: http://manageiq.org/blog/2017/01/year-in-review-2016/ ● Last Week in ManageIQ: ○ http://manageiq.org/blog/2017/01/blog-about-all-the-things/ by Drew Bomhof ○ http://manageiq.org/blog/2017/01/destroy-the-monolith/ by Marcel Hild ○ Contact John Prause (jprause on Gitter) if you’d like to contribute ● Events: ○ DevConf.CZ: “Automating your data-center with Ansible and ManageIQ” by Daniel Korn - Jan 29 @ 13:00-14:00, room E112; ManageIQ Booth ○ FOSDEM: “Managing container infrastructure” by Piotr Kliczewski - Feb 4 @ 10:30-10:55, room UB2.252A (Virtualisation/Iaas devroom) ○ PyCon Pune: Feb 16-19 in Pune, India https://pune.pycon.org/ ; ManageIQ pod ○ CloudNativeCon EU: Mar 29-30 in Berlin, Germany https://kubecon.io
  • 7.
  • 8.
    Classic UI ● BugFixes ○ UI support to add and remove Network Router Interfaces ○ Enable provisioning of instances from Providers view ○ Merge all timeline accordions under a single tree ○ Bug fixing and clean up for attaching/detaching Openstack Cloud Volumes to Instances (to only list volumes that are in an available state) ○ Filter Recent VMs/Hosts charts by provider on Infra provider dashboard ○ Enforce Policy Event to at least have one action assigned to it ○ Some I18N related fixes. ○ Fixed Check Compliance button for Providers
  • 9.
    Classic UI ● TechnicalDebt/Refactoring ○ Refactor x_button in the Container controller ○ Get rid of deferred_ui_lookup(), use I18N calls instead ○ Added ViewHelper for Controllers/Presenters capable of calling UI helper methods ○ Refactored the ExpressionHTML helper to build <tags> using ViewHelper ○ Removed table tags around angular form buttons for styling, using regular divs with bootstrap styling ○ Removed show_pdf from show partials ○ Removed some dead code from controllers ○ Split the "content" partial based on layout used ○ Replaced “.success” calls with “.then/.catch” in Angular controllers, “.success” is not supported by Angular 1.6+
  • 10.
    Classic UI ● Enhancements ○Add and edit added for generic objects ○ Automatic detection of Hawkular hostname from route when endpoint is not specified ○ Added new "Automation" Main tab, moved existing content one level down under “Automation / Automate” ○ Ad hoc metrics - Added titles and spinners ○ Some enhancement work done for root node images in Trees. Use decorators for certain TreeNode icons/images
  • 11.
    Classic UI Add/Edit functionalityfor generic object UI
  • 12.
    Classic UI New Automation/ Automate Main tab
  • 13.
    Classic UI Ad hocmetrics Removed tooltips and add spinners
  • 14.
    Service UI (Chris Kacerguis) ●Progress for Sprint - 100 pts completed
  • 15.
    Service UI (Chris Kacerguis) ●Added Webpack ● Removed gulp ● Initial implementation of Protractor / Karma testing ● Added ability to sort by virtual attributes via API ● Added new UI elements... GET /api/vms?sort_by=host_name&order=desc
  • 16.
    Service UI (Chris Kacerguis) ●Added UI switcher (allows switching to different UI’s)
  • 17.
    Service UI (Chris Kacerguis) ●Redesign of Services List
  • 18.
    Service UI (Chris Kacerguis) ●Completed the following designs: ○ My Orders ○ Service Details
  • 19.
  • 20.
  • 21.
    Providers - Containers PerformanceReports for Containers
  • 22.
    Providers - TheRest Proxy for accessing Google Cloud Additional validation for VM reconfigure Introducing Block Storage manager Delete all resources when deleting a stack Improve provider generator
  • 23.
    Automate (Greg McCullough) ● AutomateRetry with Server Affinity ○ Allows an automate method to run retry on same server ○ Useful when running a child process that needs to be monitored. ○ Example usage $evm.root['ae_result'] = 'retry' $evm.root['ae_retry_server_affinity'] = true ● Continued work on extracting Automate Engine to separate repo
  • 24.
    Automate (Greg McCullough) ● AnsibleIntegration ○ Service Design for running Playbooks ○ AnsibleTowerClient gem changes ■ Allow calling create on models ■ Expose ● ActivityStream ● Projects ● Credentials
  • 25.
  • 26.
    Platform (Gregg Tanzillo) Ansible Inside ●Determine availability ● Process for embedding on appliance (in progress) ● Ansible role (in progress)
  • 27.
    Platform (Gregg Tanzillo) Chargeback ● Donot charge for future hours ● Do not charge after VM is retired ● Do not charge hours before VM was created
  • 28.
    Platform (Gregg Tanzillo) Central Admin ●Fixed encryption of data in encapsulated within a provision request
  • 29.
    Platform (Gregg Tanzillo) RBAC ● JobTemplates under Ansible Tower provider honored ● Providers list selection filtered when adding a new Catalog Item
  • 30.
    API (Alberto Bellotti) Euwe APIv2.3.0 documentation merged and pushed to: http://manageiq.org/docs/api
  • 31.
    API (Alberto Bellotti) ● Arbitrationrules creation now supports arbitration profile references in addition to arbitration_profile_id: POST /api/arbitration_rules { “description” : “admin rule”, “operation” : “inject”, “arbitration_profile” : { “href” : “http://localhost:3000/api/arbitration_profiles/11” }, “expression” : { “EQUAL” : { “field” : “User-userid”, “value” : “admin” } } } supporting arbitration_profile reference by href or id.
  • 32.
    API (Alberto Bellotti) ● Allowedtags are now available for request workflows (Aparna K.) GET /api/requests/101?attributes=v_allowed_tags { “href” : “http://localhost:3000/api/requests/101”, “id” : 101, “description” : “Provision from [aab-template] to [aab_test_vm1]”, ... “v_allowed_tags” : [ { “name” : “prov_max_cpu”, “description” : “Auto Approve - Max CPU”, “children” : [ … ] }, { “name” : “prov_max_memory”, “description” : “Auto Approve - Max Memory”, “children” : [ … ] }, { “name” : “cc”, “description” : “Cost Center”, “children” : [ … ] }, ... ] }
  • 33.
    API (Alberto Bellotti) ● Workflowclass names are now available for requests: (Aparna K.) GET /api/requests/101?attributes=v_workflow_class { “href” : “http://localhost:3000/api/requests/101”, “id” : 101, “description” : “Provision from [aab-template] to [aab_test_vm1]”, ... “v_workflow_class” : { “instance_logger” : { “klass” : “ManageIQ::Providers::Redhat::InfraManager::ProvisionWorkflow”, “separator”, “#” } } }
  • 34.
    API (Alberto Bellotti) ● Addedability to copy orchestration templates: (Artyom L.) POST /api/orchestration_templates/101 { “action” : “copy”, “resource” : { “content” : “{ ‘Description’ : ‘test content 2’ }n” } } Response: { “id” : 102, “name” : “name_from_template_101”, “description” : “Description of Template 101”, ... “content” : “{ ‘Description’ : ‘test content 2’ }n” } Also supports copying orchestration templates in bulk via POST /api/orchestration_templates
  • 35.
    API (Alberto Bellotti) ● Enhancementto support sorting by virtual attributes (as supported by sql): (Jillian T.) GET /api/vms ?expand=resources &attributes=id,name,vendor,host_name &sort_by=host_name &sort_order=desc
  • 36.
    Quality Engineering (D. Johnson) GeneralTesting ○ Working through Ansible stories for the upcoming Fine release, still early though ○ Investigating vSphere 6.5 support ○ Trying to stand up Azure Stack environment for investigation ○ Getting started on testing the next set of maintenance release fixes
  • 37.
  • 38.
    Quality Engineering (D. Johnson) Automation ○Navmazing conversion finished! (677 force_navigates now gone) ○ Started on Collections + Widgetastic work ○ About to resync our master with downstream-stable for upcoming testing ○ Starting to look at making all providers generic to aid people wanting to add new provider models to the test framework ○ Working on optimizing to make testing faster
  • 39.