4. PR Breakdown by Feature Category
Manageiq/manageiq
(O. Barenboim)
* Note that some PRs
have more than one
category.
5. All Repo Stats - Top 10
(O. Barenboim)
Top 10 Repositories # Closed
ManageIQ/manageiq 126
ManageIQ/manageiq-ui-classic 80
ManageIQ/integration_tests 77
ManageIQ/manageiq-ui-service 31
ManageIQ/miq_bot 30
ManageIQ/manageiq-content 23
ManageIQ/manageiq-providers-amazon 15
ManageIQ/manageiq_docs 12
ManageIQ/manageiq-gems-pending 8
ManageIQ/manageiq-providers-azure 8
Total of 462 across ALL ManageIQ Organization
6. Community Update
(Carol Chen)
● Last Week in ManageIQ:
○ http://manageiq.org/blog/2017/02/ansible-and-api-and-stuff/ by Daniel Berger
○ http://manageiq.org/blog/2017/02/love-is-in-the-PRs/ by Jillian Tullo
○ Contact John Prause (jprause on Gitter) if you’d like to contribute
● Upcoming Events:
○ PyCon Pune: Feb 16-19 in Pune, India https://pune.pycon.org/; ManageIQ pod with demos
and presentations on Feb 16 & 17 (team lead: Aziza Karol)
○ FOSSASIA: Mar 17-19 in Singapore http://2017.fossasia.org/; 2 ManageIQ presentations by
Carol Chen and Daniel Korn
○ CloudNativeCon EU: Mar 29-30 in Berlin, Germany https://kubecon.io; OpenShift
Commons Gathering on Mar 28 (Sergio Ocon representing ManageIQ)
● New Swag Items!
9. Classic UI
● Bug Fixes
○ Fix assigning roles in group form
○ Fix search box display for Configuration Management Providers
○ Fix broken VM Reconfigure form
○ Enable 'Provision VMs' button in Datastores and Clusters
○ Fix AND/OR/NOT/REMOVE buttons in the expression editor
○ Fix second search in Topology
○ Fix race condition in container_live_dashboard_controller
10. Classic UI
● Technical Debt
○ Ongoing deletion of deprecated image files
○ More image conversion to svg and fonticons (~75% done)
○ VNC proxy removed from the UI (no longer in use)
○ Ongoing refactoring work to use mixins
○ More toolbar refactoring
○ Remove textual summary partials - removed the _main.html.haml partial
moving the logic from the views to helpers and controllers
11. Classic UI
● Features
○ Add icon for node alerts (Containers)
○ Add Live Migrate actions to the task queue (OpenStack
○ UI for Server Group deployments (Middleware)
○ Update ui-components to 0.0.12 (dialog editor)
○ Show Catalog Item type in list view
○ Unified the layout for VNC/SPICE remote consoles
○ Display a more informative message on single datasource deletion
(Middleware)
○ Existing Ansible Tower UI moved to Automation tab
16. Service UI
(Chris Kacerguis)
● Primary focus this sprint was bug fixing
● Added more endpoints to our Mock API
● Completed removal of service designer
● Completed removal of arbitration profiles
● Updated dependencies
● Added Polling Refresh to all pages
● Completed API for Bulk tag assign / unassign
● Switched to Angular PatternFly SASS
18. Service UI
(Chris Kacerguis)
● Bugs Fixed (14)
○ ManageIQ icon is being used on browser tab
○ No action on clicking link "Service Explorer"
○ "MyService" is displayed instead of "Service Explorer"
○ Pagination is broken
○ Fix skinning issue with symlinks
○ Refactor vertical navigation to support dynamic translations and badge counts
○ No cockpit icon for VM's in Service details page
○ Save and Cancel button on catalog page should be right aligned as in other pages
○ Default image from custom catalogs not being shown
○ Catalog card style not looking right
○ Request Explorer shows "Pending approval" requests by default
○ Notification keeps on showing "there was error loading service"
○ Correct Power Operations on VM need to be enabled
○ console options can be clicked when disabled
26. Automate
(Greg McCullough)
Provisioning
● Add support for set_security_groups (works with
eligible_security_groups)
Service Dialogs
● Enhanced auto-refresh triggers to support multiple
dependent fields.
○ Fields are now processed in a guaranteed order from
top-bottom.
27. Automate
(Greg McCullough)
Ansible Playbook Integration
● Implement ServiceAnsiblePlaybook model
● Service dialog creation for Ansible playbooks
● Added service_action to resource_action attributes to
support Generic Service processing
28. Automate
(Tina Fitzgerald)
New Generic Service State Machine
Goal is to use new State Machine for Ansible Playbooks,
Control Actions, Orchestration and future integrations.
Features:
■ Single State Machine for Provisioning, Retirement, and
Reconfigure.
■ Service action provides method context.
■ Automate methods call internal app/model methods, and can be
customized.
33. Platform
● Enhancements
○ Kill workers that don't stop after a configurable time
○ Ansible
■ Added “alive” checking for embedded Ansible
worker
■ Exposed username for Ansible authentications
(Admin, DB, RabbitMQ)
■ Created Ansible provider mixin for code shared
between embedded Ansible and Tower
34. Platform
● Bug Fixes
○ Added user roles to RBAC
○ Reinstated currency symbols in chargeback reports
○ Skip cost calculation when there is zero consumed
hours in chargeback report generation
○ Fixed nil error in C&U collection
○ Ensure model portion of an expression field is an
actual model
○ Assign current user to report generation task
36. API
(Alberto Bellotti)
● New Configuration Script Sources collection (Jillian T.)
/api/configuration_script_sources
This was needed to expose the Playbook service template types.
GET /api/configuration_script_sources
GET /api/configuration_script_sources/:id
37. API
(Alberto Bellotti)
● Improved request validation for picture creation (Jillian T.)
POST /api/pictures
Now ensures that both extension and content are specified and valid.
● Updated service_templates resource get to return config_info for parity
with Create/Edit payloads (Jillian T.)
GET /api/service_templates/:id
{
“name” : “Ansible Tower”,
“service_type” : “generic_ansible_tower”,
...
“config_info” : {
“provision” : { … },
“retirement” : { … },
...
}
}
38. API
(Alberto Bellotti)
● Added ability to do bulk unassign of Tags on vms and services (Jillian T.)
POST /api/vms
{
“action” : “unassign_tags”,
“resources” : [
{ “href” : “http://localhost:3000/api/vms/11”,
“tags” : [ { “name” : “/managed/location/ny” },
{ “name” : “/managed/environment/dev” } ] },
{ “href” : “http://localhost:3000/api/vms/12”,
“tags” : [ { “name” : “/managed/location/ny” },
{ “name” : “/managed/environment/dev” } ] },
...
]
}
Same with POST /api/services
39. API
(Alberto Bellotti)
● Added ability to do bulk deletes on snapshots (Tim W.)
POST /api/vms/:id/snapshots
{
“action” : “delete”,
“resources” : [
{ “href” : “http://localhost:3000/api/vms/:id/snapshots/12” },
{ “href” : “http://localhost:3000/api/vms/:id/snapshots/11”},
...
]
}
Returns list of action results, one per snapshot delete request.
40. API
(Alberto Bellotti)
● Added snapshot support for instances (Tim W.)
POST /api/instances/:id/snapshots - Create snapshot, requires “name”
{
“name” : “initial_image_with_os_loaded”
}
GET /api/instances/:id/snapshots - Query snapshots of an instance
GET /api/instances/:id/snapshots/:s_id - Query single snapshot of an instance
DELETE /api/instances/:id/snapshots/:s_id - Delete snapshot via HTTP Delete method
POST /api/instances/:id/snapshots/:s_id - Delete snapshot via “delete” action
POST /api/instances/:id/snapshots - Bulk delete snapshots via “delete” action
41. API
(Alberto Bellotti)
● Enhanced API to support collections that also return subclassed resources:
○ Added ability to specify multiple identifiers for action roles in api.yml
○ Added support for optional collection_class parameter
GET /api/vms?
collection_class=ManageIQ::Providers::CloudManager::Vm
○ Enhanced API CLI (tools/rest_api.rb) to support --collection-class=
parameter
42. Quality Engineering
(D. Johnson)
General Testing
○ Beginning to test initial Ansible stories as they land
■ Sending out a request for test case review later
today
○ Continuing to chase next set of maintenance fixes, just
about finished up
○ Issue incoming rate low but anticipated to increase
over the next several sprints
○ Latest maintenance fixes delivered made a good dent
in the backlog
44. Quality Engineering
(D. Johnson)
Automation
○ Collections + Widgetastic work well under way
○ Team is beginning agile-like development process for
framework
○ Main goals for upcoming sprints
■ Turning framework into a package on pypi
■ Modularizing providers
■ Upgrading to pytest3