Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Sprint 56

834 views

Published on

Sprint Statistics (Oleg Barenboim)
Community Update (Carol Chen)
Classic UI (Dan Clarizio)
Service UI (Chris Kacerguis)
Providers (Greg Blomquist)
Automate (Greg McCullough)
Platform (Gregg Tanzillo)
API (Alberto Bellotti)
Quality Engineering (Milan Falesnik)
Discussion

Published in: Software
  • Be the first to comment

  • Be the first to like this

Sprint 56

  1. 1. ManageIQ Sprint 56 Review - Sprint End March 13, 2017 March 15, 2017
  2. 2. Overview ● Sprint Statistics (Oleg Barenboim) ● Community Update (Carol Chen) ● Classic UI (Dan Clarizio) ● Service UI (Chris Kacerguis) ● Providers (Greg Blomquist) ● Automate (Greg McCullough) ● Platform (Gregg Tanzillo) ● API (Alberto Bellotti) ● Quality Engineering (Milan Falesnik) ● Discussion
  3. 3. Sprint Statistics (O. Barenboim) 151 Pull Requests Merged for ManageIQ/manageiq
  4. 4. PR Breakdown by Feature Category (O. Barenboim) * Note that some PRs have more than one category.
  5. 5. PRs Merged per Sprint (O. Barenboim)
  6. 6. All Repo Stats - Top 10 (O. Barenboim) Top 10 Repositories # Closed manageiq 151 manageiq-ui-classic 138 integration_tests 67 manageiq-ui-service 38 manageiq_docs 29 manageiq-providers-amazon 24 manageiq-gems-pending 11 manageiq.org 8 manageiq-pods 7 manageiq-content 6 Total of 518 across ALL ManageIQ Organization
  7. 7. Community Update (Carol Chen) ● Euwe-2 Released: http://manageiq.org/blog/2017/03/Announcing-Euwe-2/ ● Last Week in ManageIQ ○ http://manageiq.org/blog/2017/03/deletions-and-dragons/ by Drew Uhlmann ○ http://manageiq.org/blog/2017/03/marching-ahead-embedded-ansible/ by Laura Galis ● Upcoming Events ○ FOSSASIA, Mar 17-19 in Singapore https://2017.fossasia.org/tracks.html#2911 ○ Cloud Management Workshop - CF/MIQ, March 22 in San Diego https://www.meetup.com/OpenStackSanDiego/events/236079244/ ○ ManageIQ Meetup, March 23 in Madrid https://www.meetup.com/ManageIQ/events/238164512/ ○ OpenShift Commons Gathering, Mar 28 + CloudNativeCon EU, Mar 29-30 in Berlin https://commons.openshift.org/ + https://kubecon.io ○ Barcamp, April 4 in Warsaw https://osec.pl/barcamp/barcamp-kwiecien-2017 ○ ManageIQ Meetup, April 12 in Amsterdam
  8. 8. Classic UI (Dan Clarizio) ● PRs merged (138) ○ Bugs (42) ○ Enhancements (32) ○ Tech Debt / Refactoring (65) ○ Backported to EUWE (14)
  9. 9. Classic UI Enhancements ● AWS Instance labels on summary screens ● Service Dialog drop downs now support multi-select ● Containers ○ Support “delete” for Cloud Object Storage Containers ○ TLS verification & custom CA UI for oVirt and Container providers ○ New External Logging link for Container providers ○ Topology for Container Projects ○ Dashboard: Show hourly and real time trends ● New Monitor main tab with Alert subtabs ● Ansible Service summary screen updated ● Show VMs in Infrastructure topology ● Added “Remove resources?” option for Service Retirement ● Add custom logo capability to the About screen ● New Physical Infrastructure pages (Demo)
  10. 10. Classic UI New External Logging link for Container providers
  11. 11. Classic UI New External Logging link for Container providers
  12. 12. Classic UI Containers Dashboard: Show hourly and real time trends
  13. 13. Classic UI Ansible Service summary screen updates
  14. 14. Classic UI Show VMs in Infrastructure Topology Before After
  15. 15. Classic UI Added “Remove resources?” option for Service Retirement
  16. 16. Classic UI Add custom logo capability to the About screen
  17. 17. Classic UI New Physical Infrastructure pages Demo (Julian Cheal)
  18. 18. Classic UI Tech Debt / Refactoring ● Created decorators to display icons in the summary screens and table views more consistently ● Refactored and stabilized the Ad Hoc metrics page in Containers ● Page title calculation moved back the controllers ● Toolbar Buttons Refactoring Complete ● Further refactoring progress: mixins
  19. 19. Classic UI Toolbar Buttons Refactoring Complete ~260 toolbars ~200 button classes ● Simple definition. ● Clear separation of logic belonging to a single button. ● i18n support. ● Potential for pluggability.
  20. 20. Classic UI Toolbar Buttons Refactoring Complete
  21. 21. Classic UI Further refactoring progress: mixins ● Separation of logic dealing with WHAT is presented from HOW it is presented. ● Unification of behavior, look and naming. ● Maximum simplification to reduce opportunity for bugs. ● Potential future use of/through the API.
  22. 22. Classic UI Further refactoring progress: mixins
  23. 23. Service UI (Chris Kacerguis) Overall Progress for Sprint
  24. 24. Service UI (Chris Kacerguis) Obligatory Pie Chart
  25. 25. Service UI (Chris Kacerguis) New Features: - Added RBAC support to the following tabs: - Catalog, Orders, Requests, Templates - Ansible Data is now displayed on Service Details page - Ability to edit Orchestration templates - Added TypeScript support
  26. 26. Service UI (Chris Kacerguis) Many Bug Fixes - Remove toastr modal errors. - Remove 'products' state - Edit Dialog is broken - Unable to add Catalog items to cart - Fix the wonky cart - Fix Dialog create - Ensure embedded forms use correct action button directions - Polling on Requests tab causes rows to reorder - Cancel button on catalog edit is broken - Dashboard Filter should be removed when directly going to the menu - Approved Service link on Dashboard does not show correct data - Save button is not enabled in "retire service at date" page - Template icons not showing up template explorer - Fix cutoff kebab menu being cut off - My requests missing 'Last Message' field - Dialog edit switch button errors - Fix image path for cockpit.png on Euwe - Element visibility on condition is not working in Self-Service portal
  27. 27. Providers (Greg Blomquist)
  28. 28. Merged PRs Across Providers
  29. 29. Providers - Hawkular ● Enable XA for datasources ● Present a correct Icon for EAP 6
  30. 30. Providers - Amazon ● Operations for S3 Objects and Containers ● Operations for EBS Cloud Volumes ● Collect AWS Tags as Custom Attributes
  31. 31. Providers - Ansible ● Collect more credential details in inventory ● Create projects and credentials through Tower API ● EmbeddedAnsible workers
  32. 32. Providers - Containers ● Reporting for Archived Container Groups ● Support Custom CA for Container TLS
  33. 33. Providers - OpenStack ● Cloud Tenant events added to Timelines Providers - Lenovo ● Event collection!
  34. 34. Providers - Core ● DSL for defining inventory collections ● Allow timeline event groups to be defined by providers
  35. 35. Automate (Greg McCullough)
  36. 36. Automate (Greg McCullough) Multi-select drop-down dialog fields
  37. 37. Automate (Greg McCullough) Capture where Service request was initiated ● Default: User ● Control ● Future: Alerts New Service Models: ● Amazon_StorageManager_S3_CloudObjectStoreContainer ● ContainerTemplate ● ContainerTemplateParameter
  38. 38. Automate (Greg McCullough) Ansible Integration ● Associate Job with credentials ● Add relationships between Ansible job and Playbook ● Collect Job data: Start/Finish Time, Verbosity, Repository, Host list ● Collect Job Plays when refresh Ansible job ● Prefix Ansible event type with event object type ● Automate State-machine ○ Added notifications ○ Improved logging Ansible_tower_client_ruby gem ● Add the Organization model ● Allow formatted stdout, default to plain text
  39. 39. Platform (Gregg Tanzillo) 35 PRs Merged
  40. 40. Platform ● Enhancements ○ Support Rails 5.0.2 ○ Add remote servers to rake evm:status_full (screenshot) ○ Ensure User#name is set even when common LDAP attributes are missing ○ Make db_ping.rb easier to run (./tools/db_ping.rb) ○ Add scope for ownership of OSP tenant mapped resources ○ Add tenant scoping to RBAC or resources in performance reports ○ Add RBAC for rss feeds ○ Hide tenant parent name when user cannot see it ○ Remove ezcrypto dependency
  41. 41. Platform ● Enhancements - Embedded Ansible ○ Run #authentication_check after the embedded ansible service starts ○ Move embedded ansible worker thread up to start_runner ● Enhancements - IPv6 ○ Extract Networking Configuration to a submenu (screenshot) ○ Grab IPv6 address on server with IPv6 (only) ○ Validate nfs and smb endpoints over IPv6 ○ Force run umount if you forced run mount ○ Use localhost instead of 127.0.0.1 in dialogs to configure internal db
  42. 42. Platform EVM Status Full bin/rake evm:status_full ** Using session_store: ActionDispatch::Session::MemCacheStore Checking EVM status... Zone | Server | Status | ID | PID | SPID | URL | Started On | Last Heartbeat | Master? | Active Roles ---------------------+-------------+---------+-----------------+-------+-------+-------------------------+----------------------+----------------------+---------+---- -------------------------------------------------------------------------------------------------------- north UI | manageiq81 | started | 208000000000001 | 30798 | 1091 | druby://127.0.0.1:55272 | 2017-02-09T18:03:46Z | 2017-02-24T22:20:17Z | false | north UI | manageiq82 | started | 208000000000002 | 15359 | 6999 | druby://127.0.0.1:47587 | 2017-02-09T17:52:31Z | 2017-02-24T22:20:19Z | false | south-A prod | manageiq33 | started | 208000000000005 | 24471 | 16621 | druby://127.0.0.1:40374 | 2017-02-09T17:56:32Z | 2017-02-24T22:20:06Z | false | south-A prod | manageiq31 | started | 208000000000003 | 19888 | 10456 | druby://127.0.0.1:49781 | 2017-02-09T17:53:55Z | 2017-02-24T22:20:03Z | true | south-A prod | manageiq32 | started | 208000000000004 | 14712 | 13589 | druby://127.0.0.1:51046 | 2017-02-09T17:55:14Z | 2017-02-24T22:20:31Z | false | west UI | manageiq521 | started | 702000000000001 | 10415 | 19546 | druby://127.0.0.1:49797 | 2017-02-09T19:06:22Z | 2017-02-24T22:20:06Z | false | west UI | manageiq522 | started | 702000000000002 | 13522 | 19423 | druby://127.0.0.1:58610 | 2017-02-09T18:00:11Z | 2017-02-24T22:20:53Z | false | west-E | manageiq601 | started | 702000000000003 | 4616 | 31704 | druby://127.0.0.1:58072 | 2017-02-09T18:43:25Z | 2017-02-24T22:18:42Z | false | west-E | manageiq602 | started | 702000000000004 | 6585 | 3034 | druby://127.0.0.1:37674 | 2017-02-09T18:44:57Z | 2017-02-24T22:18:22Z | false | west-E | manageiq603 | started | 702000000000005 | 12603 | 6442 | druby://127.0.0.1:58297 | 2017-02-09T18:46:34Z | 2017-02-24T22:18:57Z | false | west-E | manageiq604 | started | 702000000000006 | 6170 | 10163 | druby://127.0.0.1:50754 | 2017-02-09T18:48:09Z | 2017-02-24T22:18:31Z | false | west-E | manageiq605 | started | 702000000000007 | 15158 | 13429 | druby://127.0.0.1:36272 | 2017-02-09T18:49:24Z | 2017-02-24T22:18:58Z | false | east-A test | manageiq352 | started | 702000000000046 | 10816 | 1731 | druby://127.0.0.1:45098 | 2017-02-09T18:32:37Z | 2017-02-24T22:20:06Z | false | Worker Type | Status | ID | PID | SPID | Server id | Queue Name / URL | Started On | Last Heartbeat ---------------------+----------+-----------------+-------+-------+-----------------+-----------------------+----------------------+---------------------- MiqEventHandler | started | 999000000419092 | 5181 | 10867 | 999000000000001 | ems | 2016-02-09T18:33:13Z | 2016-02-24T22:21:00Z MiqGenericWorker | started | 999000000419411 | 9524 | 17884 | 999000000000001 | generic | 2016-02-22T19:46:05Z | 2016-02-24T22:21:00Z MiqGenericWorker | started | 999000000419426 | 32727 | 26837 | 999000000000001 | generic | 2016-02-22T23:45:30Z | 2016-02-24T22:21:00Z MiqPriorityWorker | started | 999000000419089 | 5039 | 10825 | 999000000000001 | generic | 2016-02-09T18:32:14Z | 2016-02-24T22:21:00Z MiqPriorityWorker | started | 999000000419090 | 5042 | 10826 | 999000000000001 | generic | 2016-02-09T18:32:14Z | 2016-02-24T22:21:00Z MiqReportingWorker | started | 999000000419392 | 2532 | 5361 | 999000000000001 | reporting | 2016-02-21T10:31:15Z | 2016-02-24T22:20:59Z MiqReportingWorker | started | 999000000419439 | 13857 | 17451 | 999000000000001 | reporting | 2016-02-24T00:10:09Z | 2016-02-24T22:21:01Z MiqScheduleWorker | started | 999000000419091 | 5047 | 10827 | 999000000000001 | | 2016-02-09T18:32:15Z | 2016-02-24T22:20:55Z MiqUiWorker | started | 999000000419096 | 5194 | | 999000000000001 | http://127.0.0.1:3001 | 2016-02-09T18:33:09Z | 2016-02-24T22:20:51Z MiqUiWorker | started | 999000000419095 | 5191 | | 999000000000001 | http://127.0.0.1:3000 | 2016-02-09T18:33:09Z | 2016-02-24T22:20:17Z MiqUiWorker | started | 999000000419097 | 5197 | | 999000000000001 | http://127.0.0.1:3002 | 2016-02-09T18:33:09Z | 2016-02-24T22:20:19Z MiqWebServiceWorker | started | 999000000419098 | 5208 | | 999000000000001 | http://127.0.0.1:4000 | 2016-02-09T18:33:10Z | 2016-02-24T22:20:47Z MiqWebServiceWorker | started | 999000000419100 | 5217 | | 999000000000001 | http://127.0.0.1:4002 | 2016-02-09T18:33:11Z | 2016-02-24T22:20:52Z MiqWebServiceWorker | started | 999000000419099 | 5212 | | 999000000000001 | http://127.0.0.1:4001 | 2016-02-09T18:33:10Z | 2016-02-24T22:20:55Z
  43. 43. Platform Appliance Console Networking
  44. 44. Platform ● Bug Fixes ○ Configure apache balancer with up to 10 members at startup ○ Move the call to reload ntp settings to the server only ○ Use http_port extra variables instead of nginx ones (Ansible Inside) ○ Allow regex for MiqExpression::Field which contains numbers in associations ○ Require and run bundle setup before requiring manageiq-gems-pending ○ Use manageiq-gems-pending gem instead of require_relative ○ Require the watchdog using the manageiq-gems-pending gem ○ Set the raw power state when starting Openstack instance ○ Include modules instead of reopening classes
  45. 45. ● Technical Debt/Refactoring/Tests ○ Drop not used 'jobs.code' column ○ Drop not used 'jobs.archive' column ○ Stop using (soon-to-be-removed-)cols from chargeback_rate_detail ○ Introduce CountField with changing inheritance in MiqExpression ○ Fix format of fields in specs ○ Sort files to require for coverage reports Platform
  46. 46. API (Alberto Bellotti) ● Enhancements to add missing POST resource “delete” actions (Tim W.) This was needed for Templates, Services and Service Templates POST /api/templates/:id POST /api/services/:id POST /api/service_templates/:id { “action” : “delete” }
  47. 47. API (Alberto Bellotti) ● Enhancement to Service Template edits (Jillian T.) There was a need to support editing the config_info entry of service templates in addition to the base attributes. POST /api/service_templates/:id { “action” : “edit”, “resource” : { “name” : “Updated Template”, “config_info” : { “vm_name” : “new_vm_name”, “provision” : { … }, “reconfigure” : { … }, ... } } }
  48. 48. API (Alberto Bellotti) ● Enhancement to Service edit to support object references (Jillian T.) This allows service edits to allow for object references specified by href and id just as is supported during create. POST /api/services/:id { “action” : “edit”, “resource” : { “parent_service” : { “href” : “http://localhost:3000/api/services/10“ }, “orchestration_template” : { “id” : 12 }, “orchestration_manager” : { “id” : 5 } } }
  49. 49. API (Alberto Bellotti) ● Enhancement to expose authentications subcollection for Configuration Script Payloads (Jillian T.) GET /api/configuration_scripts_payloads/:id/authentications GET /api/configuration_scripts_payloads/:id/authentications/:authentication_id GET /api/configuration_scripts_payloads/:id?expand=authentications
  50. 50. API (Alberto Bellotti) ● Added new Alert Definitions collection (Daniel K.) /api/alert_definitions Full CRUD operations: POST /api/alert_definitions { “description” : “Test Alert Definition”, “db” : “ContainerNode”, “expression” : { “eval_method” : “dwh_generic”, “mode” : “internal” }, “options” : { “notifications” : { “delay_next_evaluation” : 600 } }, “enabled” : true } GET /api/alert_definitions GET /api/alert_definitions/:id POST /api/alert_definitions/:id - action “edit” DELETE /api/alert_definitions/:id POST /api/alert_definitions/:id - action “delete” POST /api/alert_definitions - bulk action “delete”
  51. 51. API (Alberto Bellotti) ● Added new Regions collection /api/regions GET /api/regions GET /api/regions/:id POST /api/regions - action “query” ● Enhanced Entrypoint to return Appliance’s server, zone and region href GET /api { ... "server_info": { ... "server_href" : "http://localhost:3000/api/servers/1", "zone_href" : "http://localhost:3000/api/zones/1", "region_href" : "http://localhost:3000/api/regions/1" }, ... }
  52. 52. Quality Engineering (M. Falesnik) Ansible Testing ○ Test Case review finished; TCs added to TMS ■ Currently expanding test cases for Services ○ Current Status: ■ 53% implemented, ready for testing ● 66% of that tested and confirmed working ● 34% of that being tested ■ 47% not ready for testing yet
  53. 53. Quality Engineering (M. Falesnik) Automation ○ 70 PRs Merged
  54. 54. Quality Engineering (M. Falesnik) Automation ○ Sprint “2 - Banjo”, finished yesterday ○ Works completed including ■ Improved startup time for testing ■ Test fixes ■ Entrypoints for modularization (enables 3rd party provider and provider type plugins) ○ Next up ■ Widgetastic Conversions ■ Ease of use improvements (scripts for startup etc)
  55. 55. Discussion Sprint 57 Review - March 29

×