Sprint Statistics (O. Barenboim)
Providers (G. Blomquist)
Appliance Core (J. Rafaniello)
REST API (T. Wade)
User Interface (D. Clarizio)
Automate (G. McCullough)
Ansible (B. Dunne)
Self Service UI Extraction (J. Frey)
7. Providers (G. Blomquist)
● Containers
● OpenStack Integration Features
● Behind the scenes work
● Azure Provisioning demo
● Google Provisioning demo
14. Appliance Core (J. Rafaniello)
33 PRs merged
● Bugs
● Enhancements
● Technical debt
Notable changes this sprint:
● Fixes
○ Initializers can now load ApplicationController w/o querying DB, #6449
○ 10-20% performance improvement in vm explorer, #6495 and #6487
○ DB seeding no longer silently catches exceptions, #6548
● New
○ shopping cart model for ordering services, #6574
○ consumption_administrator role - chargeback/reporting duties, #6490
○ REST API enhancements
15. REST API
● New actions now provided to approve or deny provision requests:
POST /api/provision_requests/:id
{
“action” : “approve”
}
POST /api/provision_requests/:id
{
“action” : “deny”
}
16. REST API
● Supporting new actions for instances
Target single Instance via POST /api/instances/:id or multiple Instances via POST /api/instances
Action Name
❏ Stop Instance stop
❏ Start Instance start
❏ Pause Instance pause
❏ Suspend Instance suspend
❏ Shelve Instance shelve
❏ Reset Instance reset
❏ Reboot Guest in Instance reboot_guest
17. REST API
Example start action on one or more instances:
POST /api/instances/:id
{
“action” : “start”
}
POST /api/instances
{
“action” : “start”,
“resources” : [
{ “href” : “http://localhost:3000/api/instances/101” },
{ “href” : “http://localhost:3000/api/instances/102” },
{ “href” : “http://localhost:3000/api/instances/103” },
...
]
}
18. REST API
● Ability to delete one’s own authenticated token
This is needed by the Ops UI to use the REST API from JS/Angular. Logout process of a user needs
to invalidate the REST API token used during that session.
Token based authenticated DELETE method example to invalidate “sample_token”:
X-Auth-Token: "sample_token"
DELETE /api/auth
19. REST API
● Ability to retrieve the user’s authorization
This is needed by the SSUI to know the user’s entitled product features in order to show and enable
the controls and tabs appropriately.
GET /api?attributes=authorization
...
"authorization" : {
"product_features" : {
"vms_filter_accord" : { < product feature identifier
"name": "VMs",
"description" : "VMs Accordion"
},
"vm_start" : {
"name" : "Power On",
"description" : "Power On VM",
"action" : { < correlation with REST API collection actions
"name" : "start",
"method" : "post",
"href" : "http://localhost:3000/api/vms"
}
},
...
20. User Interface (D. Clarizio)
● PRs merged (91): bugs (36), enhancements (22), refactoring/technical debt (24)
● New functionality
○ I18n support added to the Self Service UI
○ Self Service UI group switcher
○ Ansible Tower providers
● Containers
○ Persistent Volumes
○ Topology Context Menus
26. Automate (G. McCullough)
● Retirement state-machine updates for SCVMM
● Enhanced .missing method support
○ Save original method name in _missing_instance property
○ Accessible during instance resolution and within methods
Before:
After:
27. Ansible (B. Dunne)
● Added refresh of Configuration Scripts (Job
Templates)
● AnsibleTowerClient gem enhancements:
○ Accessors for Host#groups and #inventory_id
○ Allow passing extra_vars to Job Template launch
○ Add JSON validation for extra_vars
31. Self Service UI Extraction (J. Frey)
● Self Service UI extracted into its own repo
○ http://github.com/manageiq-ui-self_service
○ SPA, so it can stand alone
○ Tests no longer run with ManageIQ proper
■ Tests run separately when changes are made
■ With Travis caching take less than 1 minute vs
5+ minutes
○ Sets up the pattern for other possible independent
UIs