Sprint 38 review

Post on 07-Jan-2017

3.891 views 0 download

Transcript of Sprint 38 review

ManageIQSprint 38 Review - Sprint End March 28, 2016

March 30, 2016

Overview● Sprint Statistics (O. Barenboim)● Providers (G. Blomquist)● Configuration (J. Frey)● Appliance Core (G. Tanzillo)● Appliance Core - Authentication (A. Bellotti)● REST API (A. Bellotti)● User Interface (D. Clarizio)● SmartState (R. Oliveri)● Automate/Service/Ansible (G. McCullough)● Discussion

Sprint Statistics (O. Barenboim)

304 Pull Requests Merged

* Note that some PRs have more than one label.

PRs Breakdown by Feature Category (O. Barenboim)

* Note that some PRs have more than one label.

Providers

Sprints Graph (O. Barenboim)

All Repo Stats (O. Barenboim)

PRs Merged Git Repo

304 manageiq

14 azure-armrest

7 manageiq.org

6 manageiq-appliance-build

5 manageiq-ui-self_service

4 ansible_tower_client

3 miq_bot

1 guides

1 manageiq_docs

1 fog

Data source:

https://github.com/ManageIQthese are listed by most recent activity. go into each one that has been updated in the past 20 days and add up the PRs that have been merged

Order descending by #PRs merged

PRs Merged Git Repo

2 ManageIQ/awesome_spawn

9 ManageIQ/azure-armrest

4 ManageIQ/guides

234 ManageIQ/manageiq

4 ManageIQ/manageiq-appliance

19 ManageIQ/manageiq-appliance-build

1 ManageIQ/manageiq_docs

13 ManageIQ/miq_bot

1 ManageIQ/ovirt

2 ManageIQ/polisher

Providers (G. Blomquist)

Pluggable providers● Amazon stragglersAzure● Http proxy supportVmware● Read-only datastores

Networking Provider (G. Blomquist)

Networking Provider (G. Blomquist)

Networking Provider (G. Blomquist)

Networking Provider (G. Blomquist)

Providers (G. Blomquist)

Middleware Hawkular Demo (video)

Configuration (J. Frey)

● Configuration Revamp○ https://github.com/ManageIQ/manageiq/pull/7432○ Relies heavily on the config gem○ New classes Settings and Vmdb::Settings○ VMDB::Config is deprecated○ config/*.tmpl.yml -> config/settings.yml○ Locally override with config/settings.local.yml or

config/settings/development.local.yml

Configuration (J. Frey)

Appliance Core - Replication(G. Tanzillo)

Work on pglogical replication continues

● New MiqPglogical class○ Provides generic functionality for remote and global regions

● New PglogicalSubscription model○ Provides global region functionality as an ActiveRecord model

● Configuration UI in progress for next sprint

● Hardening for next sprint

Appliance Core - Chargeback

Assign rates to tenants

Appliance Core - Chargeback

Generate reports by tenant

Appliance Core - Chargeback

Added currencies to rates

Appliance Core - Tenancy

Splitting MiqGroup...

● … into user groups and entitlements in progress

● New model created for entitlements

● Will enable sharing entitlements across tenants

● Will provide more flexibility for defining groups in LDAP

Appliance Core - Appliance Console

Database setup● Added sub-menu under Configure Database

● Simplified database and multi-appliance configuration

● Replaced "Setup Database Region" with an explicit "Reset Configured

Database"

Appliance Core - Authentication(A. Bellotti)

Enhancements:

● Appliance Console External Auth updated to also work with 6.x IPA Servers

● SAML Authentication (verified with KeyCloak 1.8)

○ Appliance build now includes SAML apache module

○ Apache template config file provided

○ Web Admin UI Enhancement

■ SAML Configuration options

■ Enhanced Login Screen

Appliance Core - Authentication

SAML Authentication

DEMO

Appliance Core - Authentication

Upcoming:

● manageiq_docs update for SAML configuration

● Appliance Console enhancement to update External Auth options

● REST API Authentication SAML/ECP

REST API (A. Bellotti)

● Enhanced filtering to use MiqExpression

With this enhancement the REST API leverages MiqExpression to handle its filtering, allowing requests to be able to filter on physical, as well as virtual attributes, including attributes of first-level associations.

GET /api/vms?attributes=name,vendor,hardware &filter[]=vendor=vmware &filter[]=hardware.memory_mb>=8192

REST API

● Support refresh_dialog_fields on /api/service_dialogs resourcesSimilar to the support of refresh_dialog_fields on service_templates, we needed to add that capability for any dialog that may be definedon custom buttons.

POST /api/service_dialogs/:id

{

“action” : “refresh_dialog_fields”,

“dialog_fields” : {

“my_field1” : “current value 1”,

“my_field2” : “current value 2”,

}

“fields” : [ “my_field1” ]

}

REST API

● Showing hrefs for collections in authorization details in entrypointEnhanced API to include Role identifiers for collections and augmented the

authorization hash in the entrypoint to include that correlation:

GET /api?attributes=authorization

...

"authorization": {

"product_features": {

...

"vm": {

"name": "VM Access Rules",

"description": "Access Rules for Virtual Machines",

"href": "http://localhost:3000/api/vms", ...

}

User Interface (D. Clarizio)● PRs merged (91)

○ SSUI (7)

○ Bugs (37)

○ Enhancements (32)

○ Refactoring/Technical Debt (20)

● New functionality

○ VM - Devices and Network Adapters

○ Cloud - Key Pairs and Object Stores added

○ More Bootstrap switches

○ C3 Charts (jqPlot replacement)

○ SSUI - Support for Custom Buttons that use Dialogs (Demo)

● Containers

○ New Container Builds tab

○ Chargeback

○ Bug fixes and minor enhancements

UI - VM Devices

UI - VM Network Adapters

UI - Cloud Key Pairs

UI - Cloud Key Pairs

UI - Cloud Object Stores

UI - Cloud Objects

UI - Cloud Object Summary

UI - Server Role Switches

UI - C3 Charts

UI - C3 Charts

UI - C3 Charts

UI - Container Builds Provider Link

UI - Container Builds Summary

SSUI - Custom Buttons that use Dialogs

Demo (E. Clarizio)

SmartState (R. Oliveri)

● SCVMM○ Support for network-mounted HyperV virtual disks○ Performance improvements (HyperDisk caching)

● Azure○ Azure-armrest: added offset/length blob read

support.○ Added AzureBlobDisk module for MiqDisk.○ Implemented MiqAzureVm subclass of MiqVm.○ Needs to be integrated into the SSA path.

SmartState (R. Oliveri)

● Testing○ Added TestEnvHelper class for gems/pending.

■ Support for global and per-test parameters.■ Private data filtering.■ Cassette recording support - directory structure

based on test location.■ Re-recording facilitated through environment

variable settings - switch between public and private data.

Automate (G. McCullough)

● Automate state-machine fields to contain methods○ Previously

■ State fields only contained relationships■ Methods need to be in separate class■ Users worked around this limitation by using the

on_entry column to reference a method in the current class● Issue: on_entry does not honor state retry

● New Syntax: METHOD::<method_name>○ Benefits

■ State-machine instances and methods can be grouped together in the same class

■ Honors retry logic

Automate

● Example METHOD:: usage

● Automate model enhancement:○ Azure Auto-Placement support

Services

Back-end changes:● Service Order (Cart) created for each Service Request

based on current user and tenant.○ Next: “Add to Cart” ordering from Self-service UI

● VMware add/remove disk methods for reconfigure○ UI work in progress

Ansible Tower

● Modeling for AnsibleTowerJob● Support for launching JobTemplates with a

limit. (Target specific system)

● In progress○ Running JobTemplates from an Automate instance○ Support for Ansible Tower as a Service Type○ Linking Ansible Tower hosts to inventory from other

providers

Discussion

Next Sprint Review - April 20