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 53

375 views

Published on

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

Published in: Software
  • Be the first to comment

  • Be the first to like this

Sprint 53

  1. 1. ManageIQ Sprint 53 Review - Sprint End January 30, 2017 February 1, 2017
  2. 2. Overview ● Sprint Statistics (Oleg Barenboim) ● Community Update (Carol Chen) ● Classic UI (Dan Clarizio) ● Service UI (Chris Kacerguis) ● Providers (Greg Blomquist) ● Other Providers and Automate (Greg McCullough) ● Platform (Gregg Tanzillo) ● API (Alberto Bellotti) ● Discussion
  3. 3. Sprint Statistics (O. Barenboim) 146 Pull Requests Merged for ManageIQ/manageiq
  4. 4. PR Breakdown by Feature Category on Manageiq/manageiq (O. Barenboim) * Note that some PRs have more than one category. Providers
  5. 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. 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
  7. 7. Classic UI (Dan Clarizio)
  8. 8. Classic UI
  9. 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. 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. 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
  12. 12. Classic UI New Summary Screens Setting
  13. 13. Classic UI Container Topology Limits
  14. 14. Classic UI Container Topology Limits - Set to 20
  15. 15. Service UI (Chris Kacerguis) Overall Progress for Sprint ● 44 pts completed (reduced staff)
  16. 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. 17. Service UI (Chris Kacerguis) ● Removed arbitration profile code ● Started process to remove the Service Designer and Blueprint system
  18. 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
  19. 19. Service UI (Chris Kacerguis) ● Added Dialog Editor (Roman)
  20. 20. Service UI (Chris Kacerguis) ● Updated My Orders screen with new design (Jeff)
  21. 21. Service UI (Chris Kacerguis) ● Flattened the Navigation for Service UI (Josh)
  22. 22. Providers (Greg Blomquist)
  23. 23. Closed by Provider
  24. 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. 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
  26. 26. Providers (Greg Blomquist)
  27. 27. Providers (Greg Blomquist)
  28. 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. 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. 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. 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. 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
  33. 33. Platform (Gregg Tanzillo) 38 PRs Merged
  34. 34. Platform ● Bug Fixes ○ Chargeback - Fix for rate adjustment rounding bug ○ LDAP Auth - Fix for lib/miq_ldap.rb initialization ○ Hide ‘Disable local login’ checkbox unless SAML is enabled ○ RBAC - Added networking objects ■ CloudNetwork ■ CloudSubnet ■ FloatingIp ■ LoadBalancer ■ NetworkPort ■ NetworkRouter
  35. 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. 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]
  37. 37. Platform
  38. 38. Platform
  39. 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. 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. 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----- “ }
  42. 42. API (Alberto Bellotti) ● Enhanced Hosts and Clusters collection options to return node_types: (Aparna K.) ○ OPTIONS /api/hosts ○ OPTIONS /api/clusters { ... "data" : { "node_types": "non_openstack" } }
  43. 43. API (Alberto Bellotti) ● Added support for Bulk tag assignments for Vms and Services: (Jillian T.) ○ POST /api/vms - action “assign_tags” ○ POST /api/services - action “assign_tags” POST /api/vms { “action” : “assign_tags”, "resources" : [ { “href” : “http://localhost:3000/api/vms/101”, “tags” : [ { “category” : “department”, “name” : “finance” }, { “name” : “/managed/cc/01” } ] }, { “href” : “http://localhost:3000/api/vms/102”, “tags” : [ { “category” : “department”, “name” : “finance” }, { “name” : “/managed/cc/01” } ] }, { “href” : “http://localhost:3000/api/vms/103”, “tags” : [ { “category” : “department”, “name” : “support” }, { “name” : “/managed/cc/02” } ] }, ] }
  44. 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. 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. 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. 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
  48. 48. Discussion Sprint 54 Review - February 15

×