ManageIQ
Sprint 56 Review - Sprint End March 13, 2017
March 15, 2017
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
Sprint Statistics
(O. Barenboim)
151 Pull Requests Merged for ManageIQ/manageiq
PR Breakdown by Feature Category
(O. Barenboim)
* Note that some PRs
have more than one
category.
PRs Merged per Sprint
(O. Barenboim)
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
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
Classic UI
(Dan Clarizio)
● PRs merged (138)
○ Bugs (42)
○ Enhancements (32)
○ Tech Debt / Refactoring (65)
○ Backported to EUWE (14)
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)
Classic UI
New External Logging link for Container providers
Classic UI
New External Logging link for Container providers
Classic UI
Containers Dashboard: Show hourly and real time trends
Classic UI
Ansible Service summary screen updates
Classic UI
Show VMs in Infrastructure Topology
Before After
Classic UI
Added “Remove resources?” option for Service Retirement
Classic UI
Add custom logo capability to the About screen
Classic UI
New Physical Infrastructure pages
Demo
(Julian Cheal)
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
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.
Classic UI
Toolbar Buttons Refactoring Complete
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.
Classic UI
Further refactoring progress: mixins
Service UI
(Chris Kacerguis)
Overall Progress for Sprint
Service UI
(Chris Kacerguis)
Obligatory Pie Chart
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
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
Providers
(Greg Blomquist)
Merged PRs Across Providers
Providers - Hawkular
● Enable XA for datasources
● Present a correct Icon for EAP 6
Providers - Amazon
● Operations for S3 Objects and Containers
● Operations for EBS Cloud Volumes
● Collect AWS Tags as Custom Attributes
Providers - Ansible
● Collect more credential details in inventory
● Create projects and credentials through Tower API
● EmbeddedAnsible workers
Providers - Containers
● Reporting for Archived Container Groups
● Support Custom CA for Container TLS
Providers - OpenStack
● Cloud Tenant events added to Timelines
Providers - Lenovo
● Event collection!
Providers - Core
● DSL for defining inventory collections
● Allow timeline event groups to be defined by providers
Automate
(Greg McCullough)
Automate
(Greg McCullough)
Multi-select drop-down dialog fields
Automate
(Greg McCullough)
Capture where Service request was initiated
● Default: User
● Control
● Future: Alerts
New Service Models:
● Amazon_StorageManager_S3_CloudObjectStoreContainer
● ContainerTemplate
● ContainerTemplateParameter
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
Platform
(Gregg Tanzillo)
35 PRs Merged
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
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
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
Platform
Appliance Console Networking
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
● 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
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”
}
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” : { … },
...
}
}
}
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 }
}
}
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
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”
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"
},
...
}
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
Quality Engineering
(M. Falesnik)
Automation
○ 70 PRs Merged
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)
Discussion
Sprint 57 Review - March 29

Sprint 56

  • 1.
    ManageIQ Sprint 56 Review- Sprint End March 13, 2017 March 15, 2017
  • 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.
    Sprint Statistics (O. Barenboim) 151Pull Requests Merged for ManageIQ/manageiq
  • 4.
    PR Breakdown byFeature Category (O. Barenboim) * Note that some PRs have more than one category.
  • 5.
    PRs Merged perSprint (O. Barenboim)
  • 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.
    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.
    Classic UI (Dan Clarizio) ●PRs merged (138) ○ Bugs (42) ○ Enhancements (32) ○ Tech Debt / Refactoring (65) ○ Backported to EUWE (14)
  • 9.
    Classic UI Enhancements ● AWSInstance 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.
    Classic UI New ExternalLogging link for Container providers
  • 11.
    Classic UI New ExternalLogging link for Container providers
  • 12.
    Classic UI Containers Dashboard:Show hourly and real time trends
  • 13.
    Classic UI Ansible Servicesummary screen updates
  • 14.
    Classic UI Show VMsin Infrastructure Topology Before After
  • 15.
    Classic UI Added “Removeresources?” option for Service Retirement
  • 16.
    Classic UI Add customlogo capability to the About screen
  • 17.
    Classic UI New PhysicalInfrastructure pages Demo (Julian Cheal)
  • 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.
    Classic UI Toolbar ButtonsRefactoring Complete ~260 toolbars ~200 button classes ● Simple definition. ● Clear separation of logic belonging to a single button. ● i18n support. ● Potential for pluggability.
  • 20.
    Classic UI Toolbar ButtonsRefactoring Complete
  • 21.
    Classic UI Further refactoringprogress: 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.
  • 23.
  • 24.
  • 25.
    Service UI (Chris Kacerguis) NewFeatures: - 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.
    Service UI (Chris Kacerguis) ManyBug 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.
  • 28.
  • 29.
    Providers - Hawkular ●Enable XA for datasources ● Present a correct Icon for EAP 6
  • 30.
    Providers - Amazon ●Operations for S3 Objects and Containers ● Operations for EBS Cloud Volumes ● Collect AWS Tags as Custom Attributes
  • 31.
    Providers - Ansible ●Collect more credential details in inventory ● Create projects and credentials through Tower API ● EmbeddedAnsible workers
  • 32.
    Providers - Containers ●Reporting for Archived Container Groups ● Support Custom CA for Container TLS
  • 33.
    Providers - OpenStack ●Cloud Tenant events added to Timelines Providers - Lenovo ● Event collection!
  • 34.
    Providers - Core ●DSL for defining inventory collections ● Allow timeline event groups to be defined by providers
  • 35.
  • 36.
  • 37.
    Automate (Greg McCullough) Capture whereService request was initiated ● Default: User ● Control ● Future: Alerts New Service Models: ● Amazon_StorageManager_S3_CloudObjectStoreContainer ● ContainerTemplate ● ContainerTemplateParameter
  • 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.
  • 40.
    Platform ● Enhancements ○ SupportRails 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.
    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.
    Platform EVM Status Full bin/rakeevm: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.
  • 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.
    ● 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.
    API (Alberto Bellotti) ● Enhancementsto 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.
    API (Alberto Bellotti) ● Enhancementto 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.
    API (Alberto Bellotti) ● Enhancementto 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.
    API (Alberto Bellotti) ● Enhancementto 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.
    API (Alberto Bellotti) ● Addednew 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.
    API (Alberto Bellotti) ● Addednew 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.
    Quality Engineering (M. Falesnik) AnsibleTesting ○ 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.
  • 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.