ManageIQ
Sprint 68 Review - Sprint End September 04, 2017
September 06, 2017
Meeting Start: 10:30am EST
Overview
● Sprint Statistics (Jason Frey)
● Community Update (Carol Chen)
● Architecture (Jason Frey)
● Classic UI (Dan Clarizio)
● Service UI (Chris Kacerguis)
● Providers (Bronagh Sorota)
● Automate (Greg McCullough)
● Platform (Gregg Tanzillo)
● API (Alberto Bellotti)
● Documentation (Chris Budzilowicz)
● Discussion
All Repo Stats - Top 10
Top Repositories # Closed
ManageIQ/manageiq-ui-classic 109
ManageIQ/integration_tests 81
ManageIQ/manageiq 46
ManageIQ/manageiq-ui-service 21
ManageIQ/ui-components 17
ManageIQ/manageiq-api 12
ManageIQ/manageiq-providers-kubernetes 10
ManageIQ/manageiq_docs 8
ManageIQ/manageiq-schema 7
ManageIQ/manageiq-providers-openstack 6
Total of 382 merged PRs across 82* ManageIQ Repos
Pull Requests from: 2017-08-21 00:00:00 UTC to: 2017-09-04 00:00:00 UTC
* 82 repos represents the exclusion of
mirrored, private, and forked repos
under ManageIQ.
Distribution and Types of Merged PRs across ManageIQ
Repositories
PRs Merged per Sprint across ManageIQ Repositories
Repository Health Report
September 04, 2017
Architecture
● Platform
○ New images
■ manageiq-base
● just our source, not usable directly
■ manageiq-base-worker < manageiq-base
● used for non-service workers like the generic worker
■ manageiq-orchestrator < manageiq-base
● runs the orchestrator - currently MiqServer
■ manageiq-webserver-worker < manageiq-base-worker
● API and websocket workers
■ manageiq-ui-worker < manageiq-webserver-worker
● UI worker - adds asset compilation
● Automate
○ Ansible playbooks accessing the workspace (Gaprindashvili)
■ Serializing the workspace (Gaprindashvili)
■ Exposed via automate_workspaces API endpoint (Gaprindashvili)
■ Launch automate methods as containers
Community Update
(Carol Chen)
● Last Week in ManageIQ
○ http://manageiq.org/blog/2017/08/where-have-all-the-cow-wranglers-gon
e/ by Allen Wight
○ http://manageiq.org/blog/2017/09/the-school-year-begins/ by David
Halasz
● Events
○ AnsibleFest in San Francisco, Sept 7 https://www.ansible.com/ansiblefest
○ EuRuKo in Budapest, Sept 29-30 https://euruko2017.org/
Classic UI
(Dan Clarizio)
PRs merged - 106
● UI Repo: Enhancements - 17, Bugs - 23, Technical Debt/Refactoring - 48/13
● UI Components Repo - 15
Refactoring/Technical Debt:
● UI Constants cleanup continued
● Style cleanup/refactoring, simplifying methods in variety of controllers
● Converted left-side trees on all explorer screens to Angular
● Replace lock trees in explorer with a more generic lock sidebar that locks whole left sidebar
Enhancements:
● Allow MIQ defined Users to belong to multiple Groups
● Support to add custom buttons for more object types
● Added Monitoring Endpoint support for Containers Providers
Classic UI
User summary showing selected user’s groups assignments
Classic UI
Custom Button support for more objects
Classic UI
Monitoring Endpoint support for Container Providers
Service UI
(Chris Kacerguis)
- New Feature: Snapshots from both Service and Resource page
- New Feature: Filter by Tags (added this component to Angular-PatternFly)
Service UI
(Chris Kacerguis)
- Added Greenkeeper.io to repo
- Automatically submits PR’s for dependency updates
- Migrated Code Style to StandardJS
- No more inconsistency issues with different linters in MIQ UIs
- Fixed: Issues with the “About” modal
- Fixed: Session var not being removed on sign out
- Fixed: Timestamps for filters are “human readable”
- Misc
- Lots of dependency updates
- Updated Yarn version
- Increased test coverage by 2%
Providers
(Bronagh Sorota)
Merged Provider PRs
Provider PRs Provider PRs
kubernetes 10 hawkular 3
openstack 6 vmware 3
azure 5 lenovo 2
ovirt 5 google 1
amazon 4 scvmm 1
openshift 4
nuage 4
Providers
Amazon
● Targeted refresh completed
Openstack
● Cloud volume restore and delete operations
● Security group add and remove operations
Providers
Hawkular
● Added a Shutdown Domain option (shutdown a domain and all the
middleware/EAP servers in it)
● Fixed breakage in 2 fields in Add JDBC driver dialog
● Fixed UI crash when viewing the monitoring/utilization for JMS Queue or JMS
Topic
Openshift
● Added option to skip saving of unused container images
○ This reduces the time and memory usage for saving inventory in environments with a large
number of unused container images
○ Keep labels for used images
Automate
(Greg McCullough)
PRs Merged: 5
2 - Enhancements, 1 - Bugs, 2 - Refactoring
○ Automate Workspace
■ New table stores the Automate Workspace
■ Contains user_id and tenant_id for RBAC
■ API integration
■ Ansible Playbook integration (future)
○ V2V Install drivers checkbox auto-selected for Windows VMs
○ Orchestration Templates - Moving to provider repo’s
■ Amazon
■ Azure
Automate
(Greg McCullough)
Met with co-workers
Automate
(Greg McCullough)
Re-architecture research
Queueing
Automate
(Greg McCullough)
Birds of a Feather Session
Platform
(Gregg Tanzillo)
PRs Merged: 28
9 - Enh, 7 - Bugs, 9 - TechDebt, 2 - Refactoring, 1 - Other
● Enhancements
○ Add screen package to appliance
● Bug Fixes
○ External Authentication (httpd)
■ Normalize userid to UPN (user principal name) format
● Avoid duplicate user records
● Better matching of existing user records
● E.g.: sally@example.com
■ Add domain user attribute from SSSD (RHEL 7.4)
● manageiq-gems-pending - appliance console ext auth config
● Manageiq-appliance - httpd config templates
■ Documentation updated
API
(Alberto Bellotti)
● Metrics Rollups Enhancement (Jillian T.)
○ New collection /api/metric_rollups
○ New metric_rollups subcollection to /api/vms and /api/services resources
○ Enforces a paged result if no paging is specified.
○ Default page size defined by Settings.api.metrics_default_limit as 1000
Required Parameters: resource_type, capture_interval, start_date
Optional Parameters: resource_ids, end_date, limit
Date formats: YYYY-MM-DD, YYYY-MM-DDTHH:MM:SSZ
Examples:
GET /api/metric_rollups ? capture_interval=hourly & resource_type=Service & resource_ids=[1,5,7]
& start_date=2017-08-01 & limit=1000
GET /api/vms/:id/metric_rollups ? capture_interval=hourly
& start_date=2017-08-01 & end_date=2017-08-30 & limit=2000
GET /api/services/:id/metric_rollups ? capture_interval=daily & start_date=2017-01-01 & limit=2000
API
● Added support for Generic Object Definition CRUD (Jillian T.)
○ New /api/generic_object_definitions collection
Sample Definition:
{
"name" : "LoadBalancer",
"description" : "LoadBalancer description",
"properties" : {
"attributes" : {
"address" : "string",
"last_restart" : "datetime"
},
"associations" : {
"vms" : "Vm",
"services" : "Service"
},
"methods" : [
"reboot",
"sync"
]
}
}
API
Generic Object Definition CRUD
Create:
POST /api/generic_object_definitions
Reads:
GET /api/generic_object_definitions
GET /api/generic_object_definitions/[:id | :name]
Updates:
POST /api/generic_object_definitions/[:id | :name] action: “edit”
POST /api/generic_object_definitions bulk action: “edit” by href, id or name
Deletes:
DELETE /api/generic_object_definitions/[:id | :name]
POST /api/generic_object_definitions/[:id | :name] action: “delete”
POST /api/generic_object_definitions bulk action: “delete” by href, id or name
● PRs merged (8)
○ Enhancements 8
● Highlights
○ #492 Added ports table for OpenShift Container Platform provider .
○ #491 Maintenance and updating of downstream content.
○ #489 Added an overview of Generic Objects
○ Additional work done in configuring downstream for forthcoming release.
Documentation
(C. Budzilowicz)
Discussion
Sprint 69 Review - September 20
Meeting Start: 10:30am EST

Sprint 68

  • 1.
    ManageIQ Sprint 68 Review- Sprint End September 04, 2017 September 06, 2017 Meeting Start: 10:30am EST
  • 2.
    Overview ● Sprint Statistics(Jason Frey) ● Community Update (Carol Chen) ● Architecture (Jason Frey) ● Classic UI (Dan Clarizio) ● Service UI (Chris Kacerguis) ● Providers (Bronagh Sorota) ● Automate (Greg McCullough) ● Platform (Gregg Tanzillo) ● API (Alberto Bellotti) ● Documentation (Chris Budzilowicz) ● Discussion
  • 3.
    All Repo Stats- Top 10 Top Repositories # Closed ManageIQ/manageiq-ui-classic 109 ManageIQ/integration_tests 81 ManageIQ/manageiq 46 ManageIQ/manageiq-ui-service 21 ManageIQ/ui-components 17 ManageIQ/manageiq-api 12 ManageIQ/manageiq-providers-kubernetes 10 ManageIQ/manageiq_docs 8 ManageIQ/manageiq-schema 7 ManageIQ/manageiq-providers-openstack 6 Total of 382 merged PRs across 82* ManageIQ Repos Pull Requests from: 2017-08-21 00:00:00 UTC to: 2017-09-04 00:00:00 UTC * 82 repos represents the exclusion of mirrored, private, and forked repos under ManageIQ.
  • 4.
    Distribution and Typesof Merged PRs across ManageIQ Repositories
  • 5.
    PRs Merged perSprint across ManageIQ Repositories
  • 6.
  • 7.
    Architecture ● Platform ○ Newimages ■ manageiq-base ● just our source, not usable directly ■ manageiq-base-worker < manageiq-base ● used for non-service workers like the generic worker ■ manageiq-orchestrator < manageiq-base ● runs the orchestrator - currently MiqServer ■ manageiq-webserver-worker < manageiq-base-worker ● API and websocket workers ■ manageiq-ui-worker < manageiq-webserver-worker ● UI worker - adds asset compilation ● Automate ○ Ansible playbooks accessing the workspace (Gaprindashvili) ■ Serializing the workspace (Gaprindashvili) ■ Exposed via automate_workspaces API endpoint (Gaprindashvili) ■ Launch automate methods as containers
  • 8.
    Community Update (Carol Chen) ●Last Week in ManageIQ ○ http://manageiq.org/blog/2017/08/where-have-all-the-cow-wranglers-gon e/ by Allen Wight ○ http://manageiq.org/blog/2017/09/the-school-year-begins/ by David Halasz ● Events ○ AnsibleFest in San Francisco, Sept 7 https://www.ansible.com/ansiblefest ○ EuRuKo in Budapest, Sept 29-30 https://euruko2017.org/
  • 9.
    Classic UI (Dan Clarizio) PRsmerged - 106 ● UI Repo: Enhancements - 17, Bugs - 23, Technical Debt/Refactoring - 48/13 ● UI Components Repo - 15 Refactoring/Technical Debt: ● UI Constants cleanup continued ● Style cleanup/refactoring, simplifying methods in variety of controllers ● Converted left-side trees on all explorer screens to Angular ● Replace lock trees in explorer with a more generic lock sidebar that locks whole left sidebar Enhancements: ● Allow MIQ defined Users to belong to multiple Groups ● Support to add custom buttons for more object types ● Added Monitoring Endpoint support for Containers Providers
  • 10.
    Classic UI User summaryshowing selected user’s groups assignments
  • 11.
    Classic UI Custom Buttonsupport for more objects
  • 12.
    Classic UI Monitoring Endpointsupport for Container Providers
  • 13.
    Service UI (Chris Kacerguis) -New Feature: Snapshots from both Service and Resource page - New Feature: Filter by Tags (added this component to Angular-PatternFly)
  • 14.
    Service UI (Chris Kacerguis) -Added Greenkeeper.io to repo - Automatically submits PR’s for dependency updates - Migrated Code Style to StandardJS - No more inconsistency issues with different linters in MIQ UIs - Fixed: Issues with the “About” modal - Fixed: Session var not being removed on sign out - Fixed: Timestamps for filters are “human readable” - Misc - Lots of dependency updates - Updated Yarn version - Increased test coverage by 2%
  • 15.
  • 16.
    Merged Provider PRs ProviderPRs Provider PRs kubernetes 10 hawkular 3 openstack 6 vmware 3 azure 5 lenovo 2 ovirt 5 google 1 amazon 4 scvmm 1 openshift 4 nuage 4
  • 17.
    Providers Amazon ● Targeted refreshcompleted Openstack ● Cloud volume restore and delete operations ● Security group add and remove operations
  • 18.
    Providers Hawkular ● Added aShutdown Domain option (shutdown a domain and all the middleware/EAP servers in it) ● Fixed breakage in 2 fields in Add JDBC driver dialog ● Fixed UI crash when viewing the monitoring/utilization for JMS Queue or JMS Topic Openshift ● Added option to skip saving of unused container images ○ This reduces the time and memory usage for saving inventory in environments with a large number of unused container images ○ Keep labels for used images
  • 19.
    Automate (Greg McCullough) PRs Merged:5 2 - Enhancements, 1 - Bugs, 2 - Refactoring ○ Automate Workspace ■ New table stores the Automate Workspace ■ Contains user_id and tenant_id for RBAC ■ API integration ■ Ansible Playbook integration (future) ○ V2V Install drivers checkbox auto-selected for Windows VMs ○ Orchestration Templates - Moving to provider repo’s ■ Amazon ■ Azure
  • 20.
  • 21.
  • 22.
  • 23.
    Platform (Gregg Tanzillo) PRs Merged:28 9 - Enh, 7 - Bugs, 9 - TechDebt, 2 - Refactoring, 1 - Other ● Enhancements ○ Add screen package to appliance ● Bug Fixes ○ External Authentication (httpd) ■ Normalize userid to UPN (user principal name) format ● Avoid duplicate user records ● Better matching of existing user records ● E.g.: [email protected] ■ Add domain user attribute from SSSD (RHEL 7.4) ● manageiq-gems-pending - appliance console ext auth config ● Manageiq-appliance - httpd config templates ■ Documentation updated
  • 24.
    API (Alberto Bellotti) ● MetricsRollups Enhancement (Jillian T.) ○ New collection /api/metric_rollups ○ New metric_rollups subcollection to /api/vms and /api/services resources ○ Enforces a paged result if no paging is specified. ○ Default page size defined by Settings.api.metrics_default_limit as 1000 Required Parameters: resource_type, capture_interval, start_date Optional Parameters: resource_ids, end_date, limit Date formats: YYYY-MM-DD, YYYY-MM-DDTHH:MM:SSZ Examples: GET /api/metric_rollups ? capture_interval=hourly & resource_type=Service & resource_ids=[1,5,7] & start_date=2017-08-01 & limit=1000 GET /api/vms/:id/metric_rollups ? capture_interval=hourly & start_date=2017-08-01 & end_date=2017-08-30 & limit=2000 GET /api/services/:id/metric_rollups ? capture_interval=daily & start_date=2017-01-01 & limit=2000
  • 25.
    API ● Added supportfor Generic Object Definition CRUD (Jillian T.) ○ New /api/generic_object_definitions collection Sample Definition: { "name" : "LoadBalancer", "description" : "LoadBalancer description", "properties" : { "attributes" : { "address" : "string", "last_restart" : "datetime" }, "associations" : { "vms" : "Vm", "services" : "Service" }, "methods" : [ "reboot", "sync" ] } }
  • 26.
    API Generic Object DefinitionCRUD Create: POST /api/generic_object_definitions Reads: GET /api/generic_object_definitions GET /api/generic_object_definitions/[:id | :name] Updates: POST /api/generic_object_definitions/[:id | :name] action: “edit” POST /api/generic_object_definitions bulk action: “edit” by href, id or name Deletes: DELETE /api/generic_object_definitions/[:id | :name] POST /api/generic_object_definitions/[:id | :name] action: “delete” POST /api/generic_object_definitions bulk action: “delete” by href, id or name
  • 27.
    ● PRs merged(8) ○ Enhancements 8 ● Highlights ○ #492 Added ports table for OpenShift Container Platform provider . ○ #491 Maintenance and updating of downstream content. ○ #489 Added an overview of Generic Objects ○ Additional work done in configuring downstream for forthcoming release. Documentation (C. Budzilowicz)
  • 28.
    Discussion Sprint 69 Review- September 20 Meeting Start: 10:30am EST