SlideShare a Scribd company logo
1 of 62
Download to read offline
ManageIQ
Sprint 57 Review - Sprint End March 27, 2017
March 29, 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 (Tim Wade)
● API (Alberto Bellotti)
● Quality Engineering (Dave Johnson)
● Discussion
Fine Release
● Branching Complete
○ 14 Repos
■ https://github.com/ManageIQ/manageiq-release/
blob/master/config/repos.yml
● New Labels
○ fine/yes
○ fine/no
○ fine/conflict
○ fine/backported
● Beta Build
○ Being Worked On
○ Announcement Soon
Sprint Statistics
(O. Barenboim)
180 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 180
manageiq-ui-classic 117
integration_tests 93
manageiq-ui-service 35
manageiq-providers-amazon 33
manageiq_docs 30
manageiq-gems-pending 11
linux_admin 9
manageiq-providers-vmware 9
manageiq-content 8
Total of 565 across ALL ManageIQ Organization
New repositories:
● amazon_ssa_support
● manageiq-ui-scaffold
Planned Repo Extractions
● SQL Schema/Rails Migrations
● Providers
○ OpenShift
○ OpenStack
○ ovirt/RHV
○ Middleware
● Automate Engine
WHEN: April 2017 - Next 1-2 Sprints
Community Update
(Carol Chen)
● Last Week in ManageIQ
○ http://manageiq.org/blog/2017/03/yet-another-move-by-euwe/ by Libor Pichler
○ http://manageiq.org/blog/2017/03/pontificatory-requestiveous/ by Drew Bomhof
● Upcoming Events
○ KubeCon/CloudNativeCon EU, Mar 29-30 in Berlin https://kubecon.io
○ Barcamp, April 4 in Warsaw https://osec.pl/barcamp/barcamp-kwiecien-2017
○ Open House, April 5 in Brno https://openhousecz.redhat.com/
○ ManageIQ Meetup, April 12 in Amsterdam
https://www.meetup.com/ManageIQ-CloudForms-User-group-Netherlands/events/238409424/
○ FOSS-North, April 26 in Gothenburg http://foss-north.se/
● Event recaps
○ PyCon Pune http://manageiq.org/blog/2017/03/pycon-pune-2017/
○ FOSSASIA https://www.youtube.com/watch?v=cnugrzCS7zk
Classic UI
(Harpreet Kataria)
● PRs merged (113)
○ Bugs (60)
○ Enhancements (30)
○ Tech Debt / Refactoring (17)
○ Backported to EUWE (13)
● Bug Fixes
○ API Error handling in JS fixed
○ Fixed bug on non-explorer compare screens caused by show partial
refactoring
○ Fixed/Added RBAC check on selected records before performing task.
○ Added missing Container Volume tagging
Classic UI
● Technical Debt/Refactoring
○ More tests added for middleware controllers
○ Deleted dead code from compare module and non-angular Provider forms
○ Filter substitution mixin moved from core to UI repo
○ Configuration & MiqAeCustomization controllers changed to use GenericSessionMixin
○ Cleanup of tree_Select method in vm_common
○ Cleanup of C&U performance chart related methods
● Enhancements
○ Added Retired Service node in Services explorer
○ Ansible Repositories CRUD (Demo by Zita Nemeckova)
○ Ansible Credentials CRUD (Demo by Milan Zazrivec)
○ Copy from Provisioning button on Ansible Catalog Items form
○ Ansible Service summary screen updates
○ SSL support added for Hawkular Providers
○ Clear Object Storage Containers support added for Cloud Object Store Containers
○ Support to only allow operations on mutable middleware servers was added.
○ Filter options added on Container Provider ad-hoc metrics screen
○ Dynamic support for provisioning of new cloud volumes(OpenStack Cinder and Amazon EBS)
Classic UI - PRs by Area of UI
(Harpreet Kataria)
Classic UI
Added Retired Services node in Services explorer
Classic UI
Copy from Provisioning button on Ansible Catalog Items form
Classic UI
Copy from Provisioning button on Ansible Catalog Items form
Classic UI
Ansible Service summary screen updates
Classic UI
SSL support added for Hawkular Providers
Classic UI
Clear Object Storage Containers support added for Cloud Object Store Containers
Classic UI
Support to only allow operations on mutable middleware servers was added.
Classic UI
Filter options added on Container Provider ad-hoc metrics screen
Classic UI
Dynamic support for provisioning of new cloud volumes(OpenStack Cinder and
Amazon EBS)
Classic UI
Demo
○ Ansible Repositories CRUD (Demo by Zita Nemeckova)
○ Ansible Credentials CRUD (Demo by Milan Zazrivec)
Service UI
(Chris Kacerguis)
Overall Progress for Sprint
Service UI
(Chris Kacerguis)
“Behind the Scenes” Features
- RBAC added to all tabs (except for Service details)
- Temporarily removed “Templates” / “Dialog Editor” tabs
- Added ability to restore snapshots to VM’s
- Framework for Reports viewer.
- Ability to view reports next sprint!
Service UI
(Chris Kacerguis)
- Now showing
“retired”
resources in
Service
Details page
Service UI
(Chris Kacerguis)
- Bug Fixes (10)
- Unable to delete a new tab in dialog
- Empty page during Breadcrumb navigation on Dialogs page
- Hover text is hiding Download button on Template Summary page
- Hand pointer without clickable link on power state icon on Service page
- Catalog Edit :Either of Cancel and "Do not Save" should be there
- Service dialog dynamic code does not work
- Fix obscene expanded row view
- Tags not sorted while tagging services
- Hand pointer without clickable link on SSUI Template page
- Disabled vm resource actions shouldn't be executed
Providers
(Greg Blomquist)
Providers PR Distribution
Hawkular provider
● Hawkular provider/endpoint connection enhancements:
○ Added SSL support when connecting to hawkular endpoint
○ Default security protocol is non ssl
○ Security protocol field moved to be before port, to autofill the
default port automatically (for all the providers)
● Allow operations only on mutable servers (for example, not in a
container)
● Added more tests
● Fixed navigation issues in entities pages
● Use hawkular_metric_id from the inventory instead of building a
metric id. (because Metric id format is configurable)
Amazon and Ansible
Map AWS tags to MIQ tags during refresh
Dynamic Cloud Volume modifications
Mostly “Fine” fixes
Much more in UI and Automate/Control
OpenStack and RHV
Blacklist specific events
Update to new oVirt SDK
Core providers
● Move provider-specific settings to provider repos
● More updates to Graph Refresh
Automate
(Greg McCullough)
Automate
(Greg McCullough)
Services
● Change default behavior of Service Retirement to retain
Service instance (Instead of delete)
(PR manageiq-content #76)
○ Aligns with UI changes to display retired service in separate node
○ Aligns with other resources, like VMs
○ Easily modified (reverted) by overriding the Automate retirement
state-machine class or instance
Automate
(Greg McCullough)
Service Models
● Automate modeling for Ansible Tower Events
○ / ManageIQ / System / Event / EmsEvent / AnsibleTower
● CloudVolume - New methods exposed
○ attach_volume / detach_volume
● VMware add_disk method - Allow passing additional
options
○ Supported options: :thin_provisioned, :dependent, :persistent
Example:
vm.add_disk("[#{vm.storage_name}]", size * 1024, :thin_provisioned => true)
Automate
(Greg McCullough)
Provisioning
● Cloud-Init customization template
○ New example template that sets host name, root
password and IP address in oVirt.
Fix
● Policy: Corrected request_vm_scan event logic to abort
on Action "Prevent current event from proceeding"
Automate
(Greg McCullough)
Ansible Integration
● Automate modeling for Ansible Events
○ / ManageIQ / System / Event / EmsEvent / EmbeddedAnsible
● Generic Service State Machine - new retirement instances
● Associate job_plays to job
● Ansible Job retirement support
● Accept format parameter to get stdout (txt, json, html)
● Remove Playbook metadata during Catalog Item deletion
● Send ‘manageiq' extra_var on Playbook launch
○ Pass service action: Provision, Retirement
○ Pass event_target and event_name from Control
Automate
(Madhu Kanoor)
Reference objects in VMDB using partial hrefs (slugs).
Combines class name and id into a single value. e.g.
providers/10
- Extra vars for ansible can contain partial hrefs
- Dynamic Dialogs can use slugs as identifiers instead of
ids
- Service Model method
- href_slug
Example: vm.href_slug # => "vms/3539"
Automate
(Madhu Kanoor)
Extra vars being passed into ansible playbook
Name Example Description
manageiq.api_url https://172.16.207.160 The URL used to access our REST Server
from a playbook
manageiq.api_token d64b517842d54c6bd781c2ec8d
9c9b1a
Ephemeral authentication token used to
access the REST Server in lieu of userid
and password
manageiq.service services/1000000000001 The ManageIQ service that launched the
ansible job template
manageiq.user users/1000000000001 The user that is running this job template
manageiq.action Provision The current service action
Provision|Reconfigure|Retirement
manageiq.event_target instances/1000000000029 The vm,host, cluster that generated the
event (optionally during Control)
manageiq.event_name assigned_company_tag The ManageIQ Policy event name
(optionally during Control)
Automate
(Madhu Kanoor)
Ansible Playbook demo
Platform
(Tim Wade)
31 PRs Merged On ManageIqmanageiq
Platform
● Enhancements - General
○ Log any exceptions when trying to validate apache
configurations
● Enhancements - Embedded Ansible
○ Raise a notification when the embedded ansible server
starts (screenshot)
○ Create initial tower objects on first start of the worker
○ Add a concern for storing and accessing embedded
ansible object ids
○ Add embedded_ansible to roles that require apache
○ Use the new setup script argument types
Platform
Embedded Ansible - Notification
Platform
● Enhancements - IPv6
○ Appliance Console:
■ Show ipv6 on the summary screen
■ Dialog for static ipv6 settings (screenshot)
○ linux-admin
■ Introduce enable_dhcp6 method
■ Introduce methods for setting up static ipv6
■ Support for showing IPv6 default gateway
■ Network interface s/netmask6/prefix6/
Platform
Appliance Console - IPv6
Platform
Appliance Console - IPv6
Platform
● Bug Fixes
○ Remove MiqQueue rows containing a class removed in Rails 5
○ If we can't update_attributes on a queue row, set state to error
○ Add balancer members after configs have been written
○ Support dots and slashes in virtual custom attributes
○ Exclude chargeback lookup tables
○ MiqApache::Conf.create_balancer_config expects a :lbmethod key
○ Add NE to the ansible api rewrite rule
○ Support systems without network
○ Fixed bug in vm_scan introduced by removing agent_class
● Technical Debt/Refactoring/Tests
○ Added test coverage for JobProxyDispatcher#do_dispatch
○ Link jobs and miq_server tables (make job belongs_to miq_server)
○ Drop 'jobs.agent_class’ column
○ Drop 'jobs.agent_state' column
○ Do not use Job.agent_class attribute
○ Refactor/DRY logging for job
○ Do not use Job.agent_state attribute
○ Remove caching of apache config files
○ Drop FilterSubstMixin, it was moved to ui-classic
○ Specs: check that counts match for headers and col_order for charts
○ Remove uncalled miq_server lets
Platform
API
(Alberto Bellotti)
● Added CRUD support for authentications (Jillian T.)
POST /api/authentications
{
“name” : “A Credential”,
“description” : “Credential Description”,
“manager_resource” : { “href” : “http://localhost:3000/api/providers/5” },
“type” : “ManageIQ::Providers::AnsibleTower::AutomationManager::Credential”,
“related” : {}
}
● Also create as subcollection resource of a provider:
manager_resource is not needed in this payload
POST /api/providers/:id/authentications
API
POST /api/authentications/:id - action “edit”
PUT /api/authentications/:id
PATCH /api/authentications/:id
POST /api/authentications - bulk action “edit”
DELETE /api/authentications/:id
POST /api/authentications/:id - action “delete”
POST /api/authentications - bulk action “delete”
● Enhanced OPTIONS /api/authentications (Jillian T.)
○ Return different credential types and related attributes to assist the UI
API
● Added CRUD support for configuration script sources (Jillian T.)
POST /api/configuration_script_sources
{
“name” : “Test Project”,
“description” : “Test Description”,
“manager_resource” : { “href” : “http://localhost:3000/api/providers/5” },
“related” : {}
}
POST /api/configuration_script_sources/:id - action “edit”
PUT /api/configuration_script_sources/:id
PATCH /api/configuration_script_sources/:id
POST /api/configuration_script_sources - bulk action “edit”
DELETE /api/configuration_script_sources/:id
POST /api/configuration_script_sources/:id - action “delete”
POST /api/configuration_script_sources - bulk action “delete”
API
● Added Bulk edit support for Alert Definitions (Daniel K.)
POST /api/alert_definitions
{
“action” : “edit”,
“resources” : [
{
“href” : “http://localhost:3000/api/alert_definitions/1”,
“description” : “Updated Description 1”
},
{
“href” : “http://localhost:3000/api/alert_definitions/2”,
“description” : “Updated Description 2”
}
]
}
API
● Enhanced services to support add_resource action (Jillian T.)
○ Currently supports adding VMs to services. Other types can be added in the
future using the same API signature.
POST /api/services/:id
{
“action” : “add_resource”,
“resource” : {
{ “resource” : { “href” : “http://localhost:3000/api/vms/11” } }
}
}
POST /api/services
{
"action" : "add_resource",
"resources" : [
{ "href" : "http://localhost:3000/api/services/3", "resource" : { "href" : … } },
{ "href" : "http://localhost:3000/api/services/3", "resource" : { "href" : … } },
{ "href" : "http://localhost:3000/api/services/4", "resource" : { "href" : … } },
{ "href" : "http://localhost:3000/api/services/5", "resource" : { "href" : … } },
…
]
}
API
● Exposed Cloud Volumes as a primary collection (Aparna K.)
New collection /api/cloud_volumes
GET /api/cloud_volumes
GET /api/cloud_volumes/:id
POST /api/cloud_volumes - Bulk “query” action
{
“action” : “query”,
“resources” : [
{ “href” : “http://localhost:3000/api/cloud_volumes/101” },
{ “href” : “http://localhost:3000/api/cloud_volumes/102” },
{ “id” : 103 },
...
]
}
API
● Exposed Orchestration stacks as subcollection of services (Jillian T.)
GET /api/services/:id/orchestration_stacks
GET /api/services/:id?expand=orchestration_stacks
GET /api/services?expand=resources,orchestration_stacks
API
● href_slug now accessible for all resources
○ Unique identifier for a resource
○ Accessible as a virtual attribute
GET /api/vms/166?attributes=href_slug,name,vendor
{
“href” : “http://localhost:3000/api/vms/166”,
“id” : 166,
“href_slug” : “vms/166”,
“name” : “test-vm”,
“vendor” : “redhat”,
}
API
● Support accessing stdout attribute of orchestration stacks
GET /api/services/:id/orchestration_stacks/:os_id?attributes=stdout
GET /api/services/:id/orchestration_stacks
?expand=resources&attributes=stdout
● Support optional attribute format parameter, honored for the stdout attribute
GET /api/services/:id/orchestration_stacks
?expand=resources&attributes=stdout
&format_attributes=stdout=txt
API
● Enhanced provider refresh actions now return a task
POST /api/providers/2
{
“action” : “refresh”
}
{
“success” : “true”,
“message” : “Provider id:2 name:’rhev2’ refreshing”,
“task_id” : 55,
“task_href” : “http://localhost:3000/api/tasks/55”,
“href” : “http://localhost:3000/api/providers/2”
}
Caveat: for providers with multiple managers, only the task for the first manager’s
refresh is returned. RFE Issue #14404
Quality Engineering
Ansible Testing Progress:
● 80% implemented
○ Confirming 20% de-scoped
● Status on implemented:
○ 83% confirmed working
○ 8% testing in progress
○ 9% not working properly
● Overall, things are in much better shape now
○ Incoming issue rate trending down somewhat
Quality Engineering
Sprint #3 (Cajon) ended yesterday.
PR type Count
enhancement 28
fix-test 16
new-test-or-feature 13
fix-framework 12
tech-debt 4
fix-locator-or-text 2
widgetastic-conversion 2
infra-related 1
78
Sprint #4 (Dholak) started today
Quality Engineering
In the last 2 weeks:
● We have modified our test parallelizer to be less prone to
getting stuck and use less CPU
● A couple of Widgetastic (object modeling library)
conversions
● Lots of test fixes for changes in the application
Discussion
Sprint 58 Review - April 12

More Related Content

What's hot

What's hot (20)

Sprint 50 review
Sprint 50 reviewSprint 50 review
Sprint 50 review
 
Sprint 60
Sprint 60Sprint 60
Sprint 60
 
Sprint 67
Sprint 67Sprint 67
Sprint 67
 
Design Summit - UI Roadmap - Dan Clarizio, Martin Povolny
Design Summit - UI Roadmap - Dan Clarizio, Martin PovolnyDesign Summit - UI Roadmap - Dan Clarizio, Martin Povolny
Design Summit - UI Roadmap - Dan Clarizio, Martin Povolny
 
Sprint 66
Sprint 66Sprint 66
Sprint 66
 
UI Improvements - Dan Clarizio, Eric Winchell - ManageIQ Design Summit 2016
UI Improvements - Dan Clarizio, Eric Winchell - ManageIQ Design Summit 2016UI Improvements - Dan Clarizio, Eric Winchell - ManageIQ Design Summit 2016
UI Improvements - Dan Clarizio, Eric Winchell - ManageIQ Design Summit 2016
 
Sprint 19 report
Sprint 19 reportSprint 19 report
Sprint 19 report
 
Self-Service UI - Hapreet Kataria, Erik Clarizio - ManageIQ Design Summit 2016
Self-Service UI - Hapreet Kataria, Erik Clarizio - ManageIQ Design Summit 2016Self-Service UI - Hapreet Kataria, Erik Clarizio - ManageIQ Design Summit 2016
Self-Service UI - Hapreet Kataria, Erik Clarizio - ManageIQ Design Summit 2016
 
Sprint 180
Sprint 180Sprint 180
Sprint 180
 
Sprint 92
Sprint 92Sprint 92
Sprint 92
 
IT Tage 2019 MariaDB 10.4 New Features
IT Tage 2019 MariaDB 10.4 New FeaturesIT Tage 2019 MariaDB 10.4 New Features
IT Tage 2019 MariaDB 10.4 New Features
 
Sprint 163
Sprint 163Sprint 163
Sprint 163
 
Sprint 178
Sprint 178Sprint 178
Sprint 178
 
Sprint 80
Sprint 80Sprint 80
Sprint 80
 
Sprint 20
Sprint 20Sprint 20
Sprint 20
 
jQuery On Rails
jQuery On RailsjQuery On Rails
jQuery On Rails
 
SAIMA Session - Salesforce performance considerations
SAIMA Session - Salesforce performance considerationsSAIMA Session - Salesforce performance considerations
SAIMA Session - Salesforce performance considerations
 
What's new in JBoss BPM Suite 6.1
What's new in JBoss BPM Suite 6.1What's new in JBoss BPM Suite 6.1
What's new in JBoss BPM Suite 6.1
 
#Virtualdreamin Meera_Nar_Salesforce_performance_considerations
#Virtualdreamin Meera_Nar_Salesforce_performance_considerations#Virtualdreamin Meera_Nar_Salesforce_performance_considerations
#Virtualdreamin Meera_Nar_Salesforce_performance_considerations
 
Chiasm
ChiasmChiasm
Chiasm
 

Similar to Sprint 57

Similar to Sprint 57 (20)

Sprint 45 review
Sprint 45 reviewSprint 45 review
Sprint 45 review
 
Sprint 68
Sprint 68Sprint 68
Sprint 68
 
Sprint 47
Sprint 47Sprint 47
Sprint 47
 
Sprint 62
Sprint 62Sprint 62
Sprint 62
 
Sprint 49 review
Sprint 49 reviewSprint 49 review
Sprint 49 review
 
Sprint 43 Review
Sprint 43 ReviewSprint 43 Review
Sprint 43 Review
 
Sprint 40 review
Sprint 40 reviewSprint 40 review
Sprint 40 review
 
Sprint 38 review
Sprint 38 reviewSprint 38 review
Sprint 38 review
 
Sprint 46 review
Sprint 46 reviewSprint 46 review
Sprint 46 review
 
Sprint 44 review
Sprint 44 reviewSprint 44 review
Sprint 44 review
 
Sprint 61
Sprint 61Sprint 61
Sprint 61
 
Sprint 63
Sprint 63Sprint 63
Sprint 63
 
Sprint 65
Sprint 65Sprint 65
Sprint 65
 
Shaping serverless architecture with domain driven design patterns
Shaping serverless architecture with domain driven design patternsShaping serverless architecture with domain driven design patterns
Shaping serverless architecture with domain driven design patterns
 
Shaping serverless architecture with domain driven design patterns
Shaping serverless architecture with domain driven design patternsShaping serverless architecture with domain driven design patterns
Shaping serverless architecture with domain driven design patterns
 
Sprint 70
Sprint 70Sprint 70
Sprint 70
 
Sprint 31
Sprint 31Sprint 31
Sprint 31
 
Sprint 71
Sprint 71Sprint 71
Sprint 71
 
Shaping serverless architecture with domain driven design patterns - py web-il
Shaping serverless architecture with domain driven design patterns - py web-ilShaping serverless architecture with domain driven design patterns - py web-il
Shaping serverless architecture with domain driven design patterns - py web-il
 
Sprint 72
Sprint 72Sprint 72
Sprint 72
 

More from ManageIQ

More from ManageIQ (20)

ManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide DeckManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide Deck
 
ManageIQ - Sprint 235 Review - Slide Deck
ManageIQ - Sprint 235 Review - Slide DeckManageIQ - Sprint 235 Review - Slide Deck
ManageIQ - Sprint 235 Review - Slide Deck
 
ManageIQ - Sprint 234 Review - Slide Deck
ManageIQ - Sprint 234 Review - Slide DeckManageIQ - Sprint 234 Review - Slide Deck
ManageIQ - Sprint 234 Review - Slide Deck
 
ManageIQ - Sprint 233 Review - Slide Deck
ManageIQ - Sprint 233 Review - Slide DeckManageIQ - Sprint 233 Review - Slide Deck
ManageIQ - Sprint 233 Review - Slide Deck
 
ManageIQ - Sprint 232 Review - Slide Deck
ManageIQ - Sprint 232 Review - Slide DeckManageIQ - Sprint 232 Review - Slide Deck
ManageIQ - Sprint 232 Review - Slide Deck
 
ManageIQ - Sprint 231 Review - Slide Deck
ManageIQ - Sprint 231 Review - Slide DeckManageIQ - Sprint 231 Review - Slide Deck
ManageIQ - Sprint 231 Review - Slide Deck
 
ManageIQ - Sprint 230 Review - Slide Deck
ManageIQ - Sprint 230 Review - Slide DeckManageIQ - Sprint 230 Review - Slide Deck
ManageIQ - Sprint 230 Review - Slide Deck
 
ManageIQ - Sprint 229 Review - Slide Deck
ManageIQ - Sprint 229 Review - Slide DeckManageIQ - Sprint 229 Review - Slide Deck
ManageIQ - Sprint 229 Review - Slide Deck
 
ManageIQ - Sprint 228 Review - Slide Deck
ManageIQ - Sprint 228 Review - Slide DeckManageIQ - Sprint 228 Review - Slide Deck
ManageIQ - Sprint 228 Review - Slide Deck
 
Sprint 227
Sprint 227Sprint 227
Sprint 227
 
Sprint 226
Sprint 226Sprint 226
Sprint 226
 
Sprint 225
Sprint 225Sprint 225
Sprint 225
 
Sprint 224
Sprint 224Sprint 224
Sprint 224
 
Sprint 223
Sprint 223Sprint 223
Sprint 223
 
Sprint 222
Sprint 222Sprint 222
Sprint 222
 
Sprint 221
Sprint 221Sprint 221
Sprint 221
 
Sprint 220
Sprint 220Sprint 220
Sprint 220
 
Sprint 219
Sprint 219Sprint 219
Sprint 219
 
Sprint 218
Sprint 218Sprint 218
Sprint 218
 
Sprint 217
Sprint 217Sprint 217
Sprint 217
 

Recently uploaded

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 

Recently uploaded (20)

How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 

Sprint 57

  • 1. ManageIQ Sprint 57 Review - Sprint End March 27, 2017 March 29, 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 (Tim Wade) ● API (Alberto Bellotti) ● Quality Engineering (Dave Johnson) ● Discussion
  • 3. Fine Release ● Branching Complete ○ 14 Repos ■ https://github.com/ManageIQ/manageiq-release/ blob/master/config/repos.yml ● New Labels ○ fine/yes ○ fine/no ○ fine/conflict ○ fine/backported ● Beta Build ○ Being Worked On ○ Announcement Soon
  • 4. Sprint Statistics (O. Barenboim) 180 Pull Requests Merged for ManageIQ/manageiq
  • 5. PR Breakdown by Feature Category (O. Barenboim) * Note that some PRs have more than one category.
  • 6. PRs Merged per Sprint (O. Barenboim)
  • 7. All Repo Stats - Top 10 (O. Barenboim) Top 10 Repositories # Closed manageiq 180 manageiq-ui-classic 117 integration_tests 93 manageiq-ui-service 35 manageiq-providers-amazon 33 manageiq_docs 30 manageiq-gems-pending 11 linux_admin 9 manageiq-providers-vmware 9 manageiq-content 8 Total of 565 across ALL ManageIQ Organization New repositories: ● amazon_ssa_support ● manageiq-ui-scaffold
  • 8. Planned Repo Extractions ● SQL Schema/Rails Migrations ● Providers ○ OpenShift ○ OpenStack ○ ovirt/RHV ○ Middleware ● Automate Engine WHEN: April 2017 - Next 1-2 Sprints
  • 9. Community Update (Carol Chen) ● Last Week in ManageIQ ○ http://manageiq.org/blog/2017/03/yet-another-move-by-euwe/ by Libor Pichler ○ http://manageiq.org/blog/2017/03/pontificatory-requestiveous/ by Drew Bomhof ● Upcoming Events ○ KubeCon/CloudNativeCon EU, Mar 29-30 in Berlin https://kubecon.io ○ Barcamp, April 4 in Warsaw https://osec.pl/barcamp/barcamp-kwiecien-2017 ○ Open House, April 5 in Brno https://openhousecz.redhat.com/ ○ ManageIQ Meetup, April 12 in Amsterdam https://www.meetup.com/ManageIQ-CloudForms-User-group-Netherlands/events/238409424/ ○ FOSS-North, April 26 in Gothenburg http://foss-north.se/ ● Event recaps ○ PyCon Pune http://manageiq.org/blog/2017/03/pycon-pune-2017/ ○ FOSSASIA https://www.youtube.com/watch?v=cnugrzCS7zk
  • 10. Classic UI (Harpreet Kataria) ● PRs merged (113) ○ Bugs (60) ○ Enhancements (30) ○ Tech Debt / Refactoring (17) ○ Backported to EUWE (13) ● Bug Fixes ○ API Error handling in JS fixed ○ Fixed bug on non-explorer compare screens caused by show partial refactoring ○ Fixed/Added RBAC check on selected records before performing task. ○ Added missing Container Volume tagging
  • 11. Classic UI ● Technical Debt/Refactoring ○ More tests added for middleware controllers ○ Deleted dead code from compare module and non-angular Provider forms ○ Filter substitution mixin moved from core to UI repo ○ Configuration & MiqAeCustomization controllers changed to use GenericSessionMixin ○ Cleanup of tree_Select method in vm_common ○ Cleanup of C&U performance chart related methods ● Enhancements ○ Added Retired Service node in Services explorer ○ Ansible Repositories CRUD (Demo by Zita Nemeckova) ○ Ansible Credentials CRUD (Demo by Milan Zazrivec) ○ Copy from Provisioning button on Ansible Catalog Items form ○ Ansible Service summary screen updates ○ SSL support added for Hawkular Providers ○ Clear Object Storage Containers support added for Cloud Object Store Containers ○ Support to only allow operations on mutable middleware servers was added. ○ Filter options added on Container Provider ad-hoc metrics screen ○ Dynamic support for provisioning of new cloud volumes(OpenStack Cinder and Amazon EBS)
  • 12. Classic UI - PRs by Area of UI (Harpreet Kataria)
  • 13. Classic UI Added Retired Services node in Services explorer
  • 14. Classic UI Copy from Provisioning button on Ansible Catalog Items form
  • 15. Classic UI Copy from Provisioning button on Ansible Catalog Items form
  • 16. Classic UI Ansible Service summary screen updates
  • 17. Classic UI SSL support added for Hawkular Providers
  • 18. Classic UI Clear Object Storage Containers support added for Cloud Object Store Containers
  • 19. Classic UI Support to only allow operations on mutable middleware servers was added.
  • 20. Classic UI Filter options added on Container Provider ad-hoc metrics screen
  • 21. Classic UI Dynamic support for provisioning of new cloud volumes(OpenStack Cinder and Amazon EBS)
  • 22. Classic UI Demo ○ Ansible Repositories CRUD (Demo by Zita Nemeckova) ○ Ansible Credentials CRUD (Demo by Milan Zazrivec)
  • 24. Service UI (Chris Kacerguis) “Behind the Scenes” Features - RBAC added to all tabs (except for Service details) - Temporarily removed “Templates” / “Dialog Editor” tabs - Added ability to restore snapshots to VM’s - Framework for Reports viewer. - Ability to view reports next sprint!
  • 25. Service UI (Chris Kacerguis) - Now showing “retired” resources in Service Details page
  • 26. Service UI (Chris Kacerguis) - Bug Fixes (10) - Unable to delete a new tab in dialog - Empty page during Breadcrumb navigation on Dialogs page - Hover text is hiding Download button on Template Summary page - Hand pointer without clickable link on power state icon on Service page - Catalog Edit :Either of Cancel and "Do not Save" should be there - Service dialog dynamic code does not work - Fix obscene expanded row view - Tags not sorted while tagging services - Hand pointer without clickable link on SSUI Template page - Disabled vm resource actions shouldn't be executed
  • 29. Hawkular provider ● Hawkular provider/endpoint connection enhancements: ○ Added SSL support when connecting to hawkular endpoint ○ Default security protocol is non ssl ○ Security protocol field moved to be before port, to autofill the default port automatically (for all the providers) ● Allow operations only on mutable servers (for example, not in a container) ● Added more tests ● Fixed navigation issues in entities pages ● Use hawkular_metric_id from the inventory instead of building a metric id. (because Metric id format is configurable)
  • 30. Amazon and Ansible Map AWS tags to MIQ tags during refresh Dynamic Cloud Volume modifications Mostly “Fine” fixes Much more in UI and Automate/Control
  • 31. OpenStack and RHV Blacklist specific events Update to new oVirt SDK
  • 32. Core providers ● Move provider-specific settings to provider repos ● More updates to Graph Refresh
  • 34. Automate (Greg McCullough) Services ● Change default behavior of Service Retirement to retain Service instance (Instead of delete) (PR manageiq-content #76) ○ Aligns with UI changes to display retired service in separate node ○ Aligns with other resources, like VMs ○ Easily modified (reverted) by overriding the Automate retirement state-machine class or instance
  • 35. Automate (Greg McCullough) Service Models ● Automate modeling for Ansible Tower Events ○ / ManageIQ / System / Event / EmsEvent / AnsibleTower ● CloudVolume - New methods exposed ○ attach_volume / detach_volume ● VMware add_disk method - Allow passing additional options ○ Supported options: :thin_provisioned, :dependent, :persistent Example: vm.add_disk("[#{vm.storage_name}]", size * 1024, :thin_provisioned => true)
  • 36. Automate (Greg McCullough) Provisioning ● Cloud-Init customization template ○ New example template that sets host name, root password and IP address in oVirt. Fix ● Policy: Corrected request_vm_scan event logic to abort on Action "Prevent current event from proceeding"
  • 37. Automate (Greg McCullough) Ansible Integration ● Automate modeling for Ansible Events ○ / ManageIQ / System / Event / EmsEvent / EmbeddedAnsible ● Generic Service State Machine - new retirement instances ● Associate job_plays to job ● Ansible Job retirement support ● Accept format parameter to get stdout (txt, json, html) ● Remove Playbook metadata during Catalog Item deletion ● Send ‘manageiq' extra_var on Playbook launch ○ Pass service action: Provision, Retirement ○ Pass event_target and event_name from Control
  • 38. Automate (Madhu Kanoor) Reference objects in VMDB using partial hrefs (slugs). Combines class name and id into a single value. e.g. providers/10 - Extra vars for ansible can contain partial hrefs - Dynamic Dialogs can use slugs as identifiers instead of ids - Service Model method - href_slug Example: vm.href_slug # => "vms/3539"
  • 39. Automate (Madhu Kanoor) Extra vars being passed into ansible playbook Name Example Description manageiq.api_url https://172.16.207.160 The URL used to access our REST Server from a playbook manageiq.api_token d64b517842d54c6bd781c2ec8d 9c9b1a Ephemeral authentication token used to access the REST Server in lieu of userid and password manageiq.service services/1000000000001 The ManageIQ service that launched the ansible job template manageiq.user users/1000000000001 The user that is running this job template manageiq.action Provision The current service action Provision|Reconfigure|Retirement manageiq.event_target instances/1000000000029 The vm,host, cluster that generated the event (optionally during Control) manageiq.event_name assigned_company_tag The ManageIQ Policy event name (optionally during Control)
  • 41. Platform (Tim Wade) 31 PRs Merged On ManageIqmanageiq
  • 42. Platform ● Enhancements - General ○ Log any exceptions when trying to validate apache configurations ● Enhancements - Embedded Ansible ○ Raise a notification when the embedded ansible server starts (screenshot) ○ Create initial tower objects on first start of the worker ○ Add a concern for storing and accessing embedded ansible object ids ○ Add embedded_ansible to roles that require apache ○ Use the new setup script argument types
  • 44. Platform ● Enhancements - IPv6 ○ Appliance Console: ■ Show ipv6 on the summary screen ■ Dialog for static ipv6 settings (screenshot) ○ linux-admin ■ Introduce enable_dhcp6 method ■ Introduce methods for setting up static ipv6 ■ Support for showing IPv6 default gateway ■ Network interface s/netmask6/prefix6/
  • 47. Platform ● Bug Fixes ○ Remove MiqQueue rows containing a class removed in Rails 5 ○ If we can't update_attributes on a queue row, set state to error ○ Add balancer members after configs have been written ○ Support dots and slashes in virtual custom attributes ○ Exclude chargeback lookup tables ○ MiqApache::Conf.create_balancer_config expects a :lbmethod key ○ Add NE to the ansible api rewrite rule ○ Support systems without network ○ Fixed bug in vm_scan introduced by removing agent_class
  • 48. ● Technical Debt/Refactoring/Tests ○ Added test coverage for JobProxyDispatcher#do_dispatch ○ Link jobs and miq_server tables (make job belongs_to miq_server) ○ Drop 'jobs.agent_class’ column ○ Drop 'jobs.agent_state' column ○ Do not use Job.agent_class attribute ○ Refactor/DRY logging for job ○ Do not use Job.agent_state attribute ○ Remove caching of apache config files ○ Drop FilterSubstMixin, it was moved to ui-classic ○ Specs: check that counts match for headers and col_order for charts ○ Remove uncalled miq_server lets Platform
  • 49. API (Alberto Bellotti) ● Added CRUD support for authentications (Jillian T.) POST /api/authentications { “name” : “A Credential”, “description” : “Credential Description”, “manager_resource” : { “href” : “http://localhost:3000/api/providers/5” }, “type” : “ManageIQ::Providers::AnsibleTower::AutomationManager::Credential”, “related” : {} } ● Also create as subcollection resource of a provider: manager_resource is not needed in this payload POST /api/providers/:id/authentications
  • 50. API POST /api/authentications/:id - action “edit” PUT /api/authentications/:id PATCH /api/authentications/:id POST /api/authentications - bulk action “edit” DELETE /api/authentications/:id POST /api/authentications/:id - action “delete” POST /api/authentications - bulk action “delete” ● Enhanced OPTIONS /api/authentications (Jillian T.) ○ Return different credential types and related attributes to assist the UI
  • 51. API ● Added CRUD support for configuration script sources (Jillian T.) POST /api/configuration_script_sources { “name” : “Test Project”, “description” : “Test Description”, “manager_resource” : { “href” : “http://localhost:3000/api/providers/5” }, “related” : {} } POST /api/configuration_script_sources/:id - action “edit” PUT /api/configuration_script_sources/:id PATCH /api/configuration_script_sources/:id POST /api/configuration_script_sources - bulk action “edit” DELETE /api/configuration_script_sources/:id POST /api/configuration_script_sources/:id - action “delete” POST /api/configuration_script_sources - bulk action “delete”
  • 52. API ● Added Bulk edit support for Alert Definitions (Daniel K.) POST /api/alert_definitions { “action” : “edit”, “resources” : [ { “href” : “http://localhost:3000/api/alert_definitions/1”, “description” : “Updated Description 1” }, { “href” : “http://localhost:3000/api/alert_definitions/2”, “description” : “Updated Description 2” } ] }
  • 53. API ● Enhanced services to support add_resource action (Jillian T.) ○ Currently supports adding VMs to services. Other types can be added in the future using the same API signature. POST /api/services/:id { “action” : “add_resource”, “resource” : { { “resource” : { “href” : “http://localhost:3000/api/vms/11” } } } } POST /api/services { "action" : "add_resource", "resources" : [ { "href" : "http://localhost:3000/api/services/3", "resource" : { "href" : … } }, { "href" : "http://localhost:3000/api/services/3", "resource" : { "href" : … } }, { "href" : "http://localhost:3000/api/services/4", "resource" : { "href" : … } }, { "href" : "http://localhost:3000/api/services/5", "resource" : { "href" : … } }, … ] }
  • 54. API ● Exposed Cloud Volumes as a primary collection (Aparna K.) New collection /api/cloud_volumes GET /api/cloud_volumes GET /api/cloud_volumes/:id POST /api/cloud_volumes - Bulk “query” action { “action” : “query”, “resources” : [ { “href” : “http://localhost:3000/api/cloud_volumes/101” }, { “href” : “http://localhost:3000/api/cloud_volumes/102” }, { “id” : 103 }, ... ] }
  • 55. API ● Exposed Orchestration stacks as subcollection of services (Jillian T.) GET /api/services/:id/orchestration_stacks GET /api/services/:id?expand=orchestration_stacks GET /api/services?expand=resources,orchestration_stacks
  • 56. API ● href_slug now accessible for all resources ○ Unique identifier for a resource ○ Accessible as a virtual attribute GET /api/vms/166?attributes=href_slug,name,vendor { “href” : “http://localhost:3000/api/vms/166”, “id” : 166, “href_slug” : “vms/166”, “name” : “test-vm”, “vendor” : “redhat”, }
  • 57. API ● Support accessing stdout attribute of orchestration stacks GET /api/services/:id/orchestration_stacks/:os_id?attributes=stdout GET /api/services/:id/orchestration_stacks ?expand=resources&attributes=stdout ● Support optional attribute format parameter, honored for the stdout attribute GET /api/services/:id/orchestration_stacks ?expand=resources&attributes=stdout &format_attributes=stdout=txt
  • 58. API ● Enhanced provider refresh actions now return a task POST /api/providers/2 { “action” : “refresh” } { “success” : “true”, “message” : “Provider id:2 name:’rhev2’ refreshing”, “task_id” : 55, “task_href” : “http://localhost:3000/api/tasks/55”, “href” : “http://localhost:3000/api/providers/2” } Caveat: for providers with multiple managers, only the task for the first manager’s refresh is returned. RFE Issue #14404
  • 59. Quality Engineering Ansible Testing Progress: ● 80% implemented ○ Confirming 20% de-scoped ● Status on implemented: ○ 83% confirmed working ○ 8% testing in progress ○ 9% not working properly ● Overall, things are in much better shape now ○ Incoming issue rate trending down somewhat
  • 60. Quality Engineering Sprint #3 (Cajon) ended yesterday. PR type Count enhancement 28 fix-test 16 new-test-or-feature 13 fix-framework 12 tech-debt 4 fix-locator-or-text 2 widgetastic-conversion 2 infra-related 1 78 Sprint #4 (Dholak) started today
  • 61. Quality Engineering In the last 2 weeks: ● We have modified our test parallelizer to be less prone to getting stuck and use less CPU ● A couple of Widgetastic (object modeling library) conversions ● Lots of test fixes for changes in the application