- The sprint review covered Sprint 136 from May 11-13, 2020. Key topics included UI improvements, work on providers like NSX-T and Kubernetes, platform upgrades to Rails 5.2, and progress on RPM packaging.
- Highlights were configuration manager changes, API enhancements, and targeted Kubernetes refresh using watches.
- The next sprint review will be on May 27 for Sprint 137.
4. 4
* Note that some PRs are double labeled or have no labels. Beginning with Sprint 127, archived and forked repos are
excluded.
5. Repository Files
Lines of
Code Rating
Total
Issues
Complexity
Issues
Duplication
Issues
Bug Risk
Issues
Style
Issues Coverage
ManageIQ/manageiq 1748 83560 A 1073 474 301 40 258 NA
ManageIQ/manageiq-schema 856 17974 B 291 71 190 2 28 82.62
ManageIQ/manageiq-api 240 7953 B 205 99 97 7 2 95.3
ManageIQ/manageiq-ui-classic 2900 125901 C 4903 2387 973 194 569 NA
ManageIQ/manageiq-ui-service 408 13083 C 201 177 24 0 0 NA
ManageIQ/manageiq-automation_engine 204 8238 C 177 145 23 2 7 85.72
ManageIQ/manageiq-content 1548 9383 C 192 77 100 5 10 97.74
ManageIQ/manageiq-providers-amazon 124 4638 B 83 52 17 1 13 63.27
ManageIQ/manageiq-providers-ansible_tower 75 1802 A 24 15 7 1 1 83.23
ManageIQ/manageiq-providers-azure 101 3954 C 75 51 15 4 5 74.01
ManageIQ/manageiq-providers-foreman 56 803 A 11 7 2 0 2 65.38
ManageIQ/manageiq-providers-google 84 1649 A 15 10 2 0 3 77.46
ManageIQ/manageiq-providers-kubernetes 81 3494 C 49 41 3 1 4 77.14
ManageIQ/manageiq-providers-lenovo 113 3671 A 52 10 38 0 4 48.5
ManageIQ/manageiq-providers-nuage 83 1603 B 22 8 13 0 1 91.52
ManageIQ/manageiq-providers-openshift 63 1227 A 8 4 2 1 1 38.98
ManageIQ/manageiq-providers-openstack 202 10376 B 227 133 79 3 12 73.37
ManageIQ/manageiq-providers-ovirt 126 6637 B 102 70 7 0 25 74.56
ManageIQ/manageiq-providers-redfish 69 1287 B 19 6 12 0 1 70.61
ManageIQ/manageiq-providers-scvmm 67 1683 B 25 14 4 0 7 70.57
ManageIQ/manageiq-providers-vmware 160 7741 C 209 154 26 2 27 57.06
6. 6
COMMUNITY
(Oleg Barenboim)
● ManageIQ.org website has new Sprints Page (https://www.manageiq.org/sprints/)
● With full details for each sprint
○ Sprint 136 Details: https://www.manageiq.org/sprints/136
7. 7
USER INTERFACE
(Harpreet Kataria)
PRs (UI, SUI, UI/REACT Components, API ): 24 Bugs: 12, Enhancements: 9, others: 3
Bugs
● I18N bugs fixed in several areas (#7035, #7028, #7030)
● Fix No data available for Container Project (#7033)
● Merge default button labels properly with the custom ones in DDF (#7003)
● prov_dialog customize - don't fail when no :sysprep_enabled (#6989)
● SUI: Service Orders: only show ServiceOrderCart instances (#1639)
● API: create the resource action after save for custom buttons (#821)
● API: fix the custom button create (#814)
● API: add functionality to retire vms in future (#813)
Enhancements
● Always display the error message upon authentication from the backend (#6989)
● Configuration manager non explorer version (#6782)
● API: Move API OpenID-Connect support to Apache configuration (#828)
● API: Support added for "check_complaince" action on various object types - Container* and Cloud Templates (#826, #819)
● API: extend future retirement to request retire (#818)
● API: Add pagination, ordering, filtering for result_set to report/results (#807)
12. 12
USER INTERFACE
(Harpreet Kataria)
API: extend future retirement to request retire (#818)
Sample API command to retire a service after 5 days
curl --user admin:smartvm -i -X POST -H "Accept: application/json" http://localhost:3000/api/services -d '{"action":"request_retire", "resources":
[{"href" : "http://localhost:3000/api/services/4","date":"2020-05-17T23:02:41Z", "warn":5}]}'
Output
13. 13
USER INTERFACE
(Harpreet Kataria)
API: Add pagination, ordering, filtering for result_set to report/results (#807)
Sample API command to get first 5 report results sorted by name in ascending order
curl --user admin:smartvm -X GET -H "Accept: application/json"
"http://localhost:3000/api/reports/7/results/14827?hash_attribute=result_set&sort_by=name&sort_order=asc&limit=5&offset=5"
Output
14. 14
VMware vSphere
● Fixed a bug where changes to a Distributed Portgroup weren’t saved to VMDB (#573)
Google Cloud
● Fixed a bug where a mis-configured load balancer caused the whole NetworkManager refresh to fail
(#131)
Redfish
● Fixed loading of Customization Templates in the provisioning form (#106)
SmartState
● Fixed appending of drive letters to Windows paths (#123)
PROVIDERS
(Adam Grare)
15. 15
Kubernetes/Openshift
● Support for targeted refresh via Kubernetes Watches (#366, #169)
○ Kubernetes watches are an update-driven mechanism for efficient detection of changes to
resources [0]
○ They allow ManageIQ to subscribe to notifications of changes for all entities that we care
about
● On startup the RefreshWorker performs a full refresh then starts watch threads for each entity type
● Notices are put on an internal queue and then parsed and saved by the main thread
● FAR more efficient than previous event collector -> queued full refresh
● Users can still manually force a full refresh
[0] https://kubernetes.io/docs/reference/using-api/api-concepts/#efficient-detection-of-changes
PROVIDERS
(Adam Grare)
17. 17
VMware NSX-T
● New provider has been contributed to the ManageIQ community by KPN in the Netherlands!
● VMware Software Defined Networking product
● A standalone NetworkManager with similar functionality to the Nuage provider
● https://github.com/ManageIQ/manageiq-providers-nsxt
PROVIDERS
(Adam Grare)
19. 19
PLATFORM
(Joe VLcek)
69 PRs merged
Enhancements:
● External Authentication for Podified ManageIQ manageiq-pods/471, manageiq-pods/476, manageiq-pods/479, manageiq-pods/pull/484
● Implemented account lockout policy manageiq/20087 , manageiq-schema/467, manageiq/issues/20043
● Move API OpenID-Connect support to Apache configuration manageiq/20131 manageiq-appliance/282, manageiq/issues/19866
Bugs:
● Rename Configure Application Database Failover Monitor to Control manageiq-appliance_console/116
● Fix password option in constructor, add shell_with_su specs. manageiq-ssh-util/5
● Fix the dummy app's database.yml user/password manageiq-schema/474
● MiqReport: add skip_references attribute back to avoid in saved reports manageiq/20109
● fix brakeman warnings manageiq/20132 manageiq/20130
20. 20
PLATFORM
(Joe VLcek)
Upgraded ManageIQ to use Rails 5.2!
● Sync was extracted to a gem in ruby 2.7 more_core_extensions/79
● Remove serialize + JSONB calls manageiq-consumption/172
● Rails 5.2 manageiq-schema/472
● Modify MiqExpression Contains to work for Rails 5.2 manageiq/20110
21. 21
PLATFORM
(Joe VLcek)
Progress being made towards RPMs in our builds:
● Allow for pluggable public dirs and service ui skins 11
● Productization fix to make build/install work with customized name 31
● Default the number of bundler tasks to the number of cpus 30
● Use the config gem to simplify options and overrides 29
● Generate evm_production during rpm build 28
● Change to build "manageiq" package with multiple subpackages (RPMs) 18
● Add support for nightly/tag builds and non-interactive build 16
● Support for customizing all repo urls and branches 41
● Add hook for post_setup_source_repo 32
● Fix spec file name to use OPTIONS 35
● Exclude jruby from being added to RPM dependency list 44
● Use volume mount to pass copr api token and support local rpm build 37
● Allow rpm spec to be customized from options.yml 38
● Remove appliance build clone 42
22. 22
● container-httpd-init
○ container-httpd is now only non-systemd based auth
● https://www.manageiq.org/sprints/
● travis-ci.com
○ All repos transferred - still need to change READMEs
DEVELOPER
(Jason Frey)