8. 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
9. 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)
10. 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)
23. 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)
24. 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
31. 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
41. 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.
42. 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.
43. 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.
44. 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.
46. 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.
47. 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.
48. 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
54. 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)
57. 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
58. 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)
59. Platform: Tenancy
(Gregg Tanzillo)
● Ad hoc sharing of resources across tenants
○ Backend complete
○ VMs, templates and Services
○ Work on API and user interface underway
60. Platform: Centralized Administration
(Gregg Tanzillo)
● VM reconfigure
● Provision VM from a template
● User and group ownership working in global region
○ Without triggers :)
61. 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
62. 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
63. 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
65. 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”)
66. 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” },
...
]
}
67. 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” },
...
]
}
68. 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” : “...”,
}
}
69. 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
70. 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