4. PR Breakdown by Feature Category
on Manageiq/manageiq
(O. Barenboim)
* Note that some PRs
have more than one
category.
Providers
5. All Repo Stats - Top 10
(O. Barenboim)
Top 10 Repositories # Closed
manageiq 146
integration_tests 70
manageiq-ui-classic 66
manageiq-ui-service 46
manageiq-providers-amazon 16
miq_bot 14
manageiq_docs 8
manageiq-gems-pending 8
wrapanapi 8
manageiq.org 6
Total of 432 across ALL ManageIQ Organization
6. Community Update
(Carol Chen)
● Recent events
○ DevConf.CZ, Jan 27-29 - https://twitter.com/i/moments/826409590543773696
○ OpenShift Meetup in Madrid, Jan 30 - “What does a CMP bring to OpenShift?”
● Upcoming events
○ 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 with demos
and presentations on Feb 16 & 17 (team lead: Aziza Karol)
○ FOSSASIA: Mar 17-19 in Singapore http://2017.fossasia.org/ ; “ManageIQ - the open-source
management platform for your hybrid IT environments” by Carol Chen
○ CloudNativeCon EU: Mar 29-30 in Berlin, Germany https://kubecon.io ; OpenShift Commons
Gathering, co-located with KubeCon, on Mar 28 (Sergio Ocon representing ManageIQ)
● Last Week in ManageIQ:
○ http://manageiq.org/blog/2017/01/last-week-in-manageiq-last-will-be-first/ by Hilda Stastna
○ http://manageiq.org/blog/2017/01/keeping-up-with-the-conferences/ by Dávid Halász
9. Classic UI
● Bug Fixes
○ Fix check_box_tag parameters for snap_memory
○ RHV: removed the option to migrate the VMs outside of the cluster
○ Fix button when adding a filter in Cloud Providers
○ Floating IPs: Adds missing route for wait_for_task
○ Fixed node id for policy after coming from an event
○ Reset selected snapshot in session when deleting the snapshot
○ Charts
■ Fix repeating values on Y-axis of C&U charts
■ Fix pie chart clicking when part of it is hidden
○ Tenants
■ Fix valid_tenant check in ops
■ Tenant admin should not be able to create groups in other tenants
10. Classic UI
● Technical Debt/Refactoring
○ Three more trees converted - Genealogy, Belongs To, and Category
Tags
○ More TreeBuilder refactoring
○ Show partials cleanup - show_pdf removed
○ Some DRYing of textual summaries
○ Ongoing icon/image conversions
○ Ongoing button refactoring
11. Classic UI
● Enhancements
○ Middleware: provide select JDBC driver tab to more easily input Drivers
loaded in servers
○ Replace AnsibleTower::ConfigurationManager with AutomationManager
references in the UI
○ Add volume snapshot summary to block storage manager
○ Delete functionality for generic object added
○ Dashboard/Textual setting added, allowing users to set summary page
default
○ Add assets for EC2 block and storage managers
○ Introduce Vm/Chargeback tab ui-part
○ Limit number of objects on Container topology views
16. Service UI
(Chris Kacerguis)
● Continue to work to bring over Service tab from Classic UI
● Created Mock API system
○ Simulates the MIQ backend
○ Allows devs to create / test against the API without
backend running (very lightweight)
● Auto-polling on pages (no manual refresh needed)
○ Services List
○ Service Details
○ Orders
17. Service UI
(Chris Kacerguis)
● Removed arbitration profile code
● Started process to remove the Service Designer and
Blueprint system
18. Service UI
(Chris Kacerguis)
● Many Bug fixes
○ Remove unused 'blocks' modules
○ Ensure production webpack builds css js into respective folders
○ When logged in as non-admin user, polling requests are made for
forbidden resources
○ Fix toastr messages
○ Fix for Hand pointer in the VM section
○ Fixed Error on incorrect login
○ Fixed Error when closing Modals
○ Not all texts are translated when switched language
○ Fix WARN [proxy]: failed to proxy messages in Travis
○ Service Reconfigure page not pre-populated
○ Skinning is broken
24. Storage manager work from XLab team
Ansible Tower Events!
Modeling Projects (Repositories)
Use Task Queue for Cloud Volume operations, live migrations, and
evacuating cloud instances
Collect custom attributes from nodes
Providers
(Greg Blomquist)
25. Providers
(Greg Blomquist)
Allow Server Groups to own Deployments
Retrieve JDBC Drivers for Middleware feeds
Provisioning API requests can now add disks
List available Floating IPs
28. Providers: Graph Refresh
(Marcel Hild)
Why?
● sparse / skeletal inventory collection for vmware
● slow inventory collection for RHV -> parallel collection
● leverage Events to provide data for inventory collection
● amazon 77k public images -> memory hog and slow
● Targeted refresh for more target types
29. Providers: Graph Refresh
(Marcel Hild)
Improvements
● Order independent building of Inventory structure
○ Order is resolved at save time
● Easy to implement for provider authors
○ No more Hashes (soon)
○ Introspect objects
● Provider agnostic save inventory code
○ No new code needed for new Providers / Inventory
○ Special cases can be resolved in Provider
30. Performance Improvements on 77k Amazon Public Images
1st refresh memory time
Old Refresh 3344 MB 1238 s
New Refresh 1250 MB 500 s
Change down to 37% 40%
2nd refresh memory time
Old Refresh 3817 MB 1537 s
New Refresh 1476 MB 200 s
Change down to 38% 13%
Providers: Graph Refresh
(Marcel Hild)
31. Automate
(Greg McCullough)
New Service Models
ManageIQ::Providers::Amazon::BlockStorageManager
ManageIQ::Providers::Amazon::BlockStorageManager::CloudVolume
ManageIQ::Providers::Amazon::BlockStorageManager::CloudVolumeSnapshot
Provisioning:
● Instantiate Container Templates (Back-end methods)
Notable Fixes:
● Central Admin Provisioning: Limit resources to the same region as the
selected template
● Updated service power operations to handle undefined actions
32. Automate
(Greg McCullough)
Ansible Playbook integration
● Created Generic Service and Generic ServiceTemplate
● Created ServiceTemplateAnsiblePlaybook (built on generic service
template)
● New create_catalog_item method for API use.
Ansible Tower Client Gem Updates:
● Added update and delete methods to all classes
● Expose playbooks off of projects
35. Platform
● Technical Debt/Refactoring/Tests
○ Extracted chargeable field from chargeback
○ Removed UI-only spec helpers
○ Normalized Job::StateMachine
○ Increased test coverage for MiqExpression#to_ruby
36. Platform
● Enhancements
○ Ansible
■ Added methods for configuring and starting Ansible Inside
■ Added http redirects for the Ansible API
■ Embedded Ansible role worker with failover
■ Introduced Vm/Chargeback tab [backend-part]
39. API
(Alberto Bellotti)
● Enhancement to expose Alert Statuses with the new collection /api/alerts
(Mooli T.)
○ GET /api/alerts
○ GET /api/alerts/:id
● Added ability to create and query Alert Actions:
○ GET /api/alerts/:id/alert_actions
○ GET /api/alerts/:id/alert_actions/:id
○ POST /api/alerts/:id/alert_actions
{
“action_type” : “assign”,
“assignee” : { “href” : “http://localhost:3000/api/users/10” }
}
40. API
(Alberto Bellotti)
● Added support for Creating, Querying and Deleting Snapshots:
(Tim W.)
○ GET /api/vms/:id/snapshots
○ GET /api/vms/:id/snapshots/:id
○ DELETE /api/vms/:id/snapshots/:s_id
○ POST /api/vms/:id/snapshots/:s_id - action “delete”
○ POST /api/vms/:id/snapshots
{
“name” : “initial_snapshot”,
“description” : “Initial Appliance Setup”,
“memory” : false
}
41. API
(Alberto Bellotti)
● Added support for specifying a trusted Certificate Authority while creating a
provider:
(Beni P.)
○ POST /api/providers
{
“type” : “ManageIQ::Providers::Redhat::InfraManager”,
“name” : “sample rhevm”,
“port” : 5000,
...
“security_protocol” : “kerberos”,
“certificate_authority” : “
-----BEGIN CERTIFICATE-----
….
-----END CERTIFICATE-----
“
}
44. API
(Alberto Bellotti)
● Added ability to remove approver for a service request:
(Artyom L.)
○ POST /api/service_requests/:id - action “remove_approper”
○ POST /api/service_requests - Bulk action “remove_approver”
POST /api/service_requests
{
“action” : “remove_approver”,
“resources" : [
{ “href” : “http://localhost:3000/api/service_requests/101”,
“user” : { “href” : “http://localhost:3000/api/users/3” }
},
{ “href” : “http://localhost:3000/api/service_requests/102”,
“user” : { “id” : 3 }
},
{ “href” : “http://localhost:3000/api/service_requests/103”,
“user_id” : 3
}
]
}
45. API
(Alberto Bellotti)
● Added new collection to return configuration script payloads (e.g. Ansible
Playbooks)
(Jillian T.)
○ GET /api/configuration_script_payloads
○ GET /api/configuration_script_payloads/:id
46. API
(Alberto Bellotti)
● Enhanced collection options to return supported subcollections.
This enables us to enhance the API Client to add support for resource sub-collections and related
sub-resources and actions.
OPTIONS /api/vms
{
“attributes” : [ … ],
“virtual_attributes” : [ … ],
“relationships” : [ … ],
"subcollections": [
"accounts", "custom_attributes", "policies", "policy_profiles", "snapshots", "software", "tags"
],
"data": { }
}
47. API
(Alberto Bellotti)
● Enhanced API to support id filtering by compressed ids.
Works with the id attribute as well as any _id named attributes:
○ GET /api/vms
?expand=resources
&attributes=name,vendor
&filter[]=id=’2r77’
○ GET /api/instances
?expand=resources
&attributes=name,vendor,storage_id
&filter[]=storage_id=1r32