SlideShare a Scribd company logo
ManageIQ
Sprint 39 Review - Sprint End April 19, 2016
April 20, 2016
Overview
● Sprint Statistics (Oleg Barenboim)
● User Interface (Dan Clarizio)
● Providers (Greg Blomquist)
● Platform (Gregg Tanzillo)
● REST API (Alberto Bellotti)
● SmartState (Rich Oliveri)
● Automate (Greg McCullough)
● Dockerizing ManageIQ (Barak Azulay)
● Performance (Dennis Metzger)
● Discussion
Sprint Statistics (O. Barenboim)
440 Pull Requests Merged (new record!)
* Note that some PRs
have more than one
label.
PR Breakdown by Feature Category
(O. Barenboim)
* Note that some PRs
have more than one
category.
Providers
Sprint Comparison (O. Barenboim)
All Repo Stats (O. Barenboim)
Repository PRs Merged
manageiq 440
ansible_tower_client 5
azure-armest 2
guides 5
manageiq_docs 1
manageiq-appliance 4
manageiq-appliance-build 4
manageiq-appliance-dev-setup 1
manageiq-ui-self_service 5
manageiq.org 5
miq_bot 2
ovirt 3
Darga is Coming
● Today, we are making the Darga branch
● Named after Klaus Darga (chess grandmaster)
● First Darga Build coming in next few days
● Next 2 sprints will be focused on stabilizing Darga
● Planning for Darga Release in June
● Name of “E” Release
○ Think of Candidate Names now
○ Vote during ManageIQ Summit (week of June 6)
User Interface (D. Clarizio)
● PRs merged (145+)
○ SSUI (5)
○ Bugs (64)
○ Enhancements (55)
○ Refactoring/Technical Debt (16)
● New functionality
○ New vertical navigation menus (Demo)
○ VM Reconfigure - add/remove disks support (Demo)
○ Orderable Orchestration Templates - create and copy (Demo)
○ Datastore Clusters for VMware vSphere 5+ - new Explorer
○ SlickGrid replaced with Patternfly TreeGrid
○ Patternfly style updates to the Dashboard and other areas
○ Template/Image compliance policy checking (previously only allowed for VMs/Instances)
○ New UI for replication configuration
○ UI updates to support multiple provider endpoints
UI - New Datastore Explorer
UI - Datastore Clusters
UI - SlickGrid replaced with Patternfly TreeGrid
UI - SVG replacement of PNGs
UI - Patternfly Style Updates
https://github.com/ManageIQ/manageiq/blob/master/app/assets/stylesheets/main.scss
UI - Demos
● New vertical navigation menus (E. Winchell)
● VM Reconfigure (H. Kataria)
● Orderable Orchestration Templates (H. Kataria)
Providers (G. Blomquist)
VMware
Azure (video)
OpenStack
Network Topology (video)
Hawkular Middleware
Containers
Ansible Tower
RHEV
Providers (G. Blomquist)
VMware Clustered Datastores in Provisioning
Providers (G. Blomquist)
Azure Subscription (@djberg96)
Providers (G. Blomquist)
Azure Events (@bronaghs) [video]
Providers (G. Blomquist)
OpenStack Ceilometer Events
Providers (G. Blomquist)
Network Topology (@lsmola) [video]
Hawkular - Event Catcher
(H. Rupp)
Event Catcher
Currently for deployment error and success
Hawkular - Server reload
(H. Rupp)
Power operations to reload+stop MW-servers
Not reloading/stopping
the provider
Containers - Chargeback
(F. Simoncelli)
Containers - Chargeback
(F. Simoncelli)
● Chargeback totals per Project (Namespace)
○ CPU Cores usage
○ Memory usage
○ Network usage (when available)
Containers - OpenSCAP
(F. Simoncelli)
● Smart State Analysis has been extended with the
OpenSCAP support
○ Scanning Pod is instantiated in the container cluster
○ Regular SSA happens in ManageIQ using WebDAV to communicate to the
Scanning Pod
○ OpenSCAP scan runs in the Pod and ManageIQ collects the results
○ No interdependency between regular SSA and OpenSCAP
● At any time it’s possible to see the usual OpenSCAP
HTML results per Image
● Scans are scheduled at regular intervals and on a new
Image discovery
● Out-of-the-Box Policies for Image compliance
○ Additional ones can be created by the users
○ Results are pushed into OpenShift annotating Images
Containers - OpenSCAP
(F. Simoncelli)
Containers - Policies
(F. Simoncelli)
● Support introduced for OpenSCAP
○ Out-of-the-Box policies for Images SSA
● Can be extended further (Events and Policy entities) for
other use cases
Containers - Cloud Cross Linking
(F. Simoncelli)
● Already existing for Infrastructure Providers: RHEV,
VMWare, OpenStack
● Extended to Cloud Providers (GCE, AWS) using the
ProviderID reported by Kubernetes and OpenShift
Containers - Cloud Cross Linking
(F. Simoncelli)
● At the moment, requires a Cloud Provider
being configured in Kubernetes and
OpenShift (GCE, AWS)
● Ongoing effort in cAdvisor and Kubernetes
to automate the ProviderID
○ This will allow for other Cloud Providers to be
supported (Azure)
○ Targeted for OpenShift Origin 1.3
Containers - Dashboard Additions
(F. Simoncelli)
● Pods creation and deletion trends
● New images usage trend
Containers - Pods Network Metrics
(F. Simoncelli)
Add support for Pods Network Metrics
● Supported by Heapster in OpenShift Origin 1.2
Containers - More Enhancements
(F. Simoncelli)
● Upgrade to new Gems
○ Kubeclient 1.1.3 (was 0.8.1)
○ OpenShift Client 1.1.0 (was 0.3.0)
○ Image Inspector 1.0.1 (was 1.0.0)
● Display labels for Projects and Routes
Containers - Ongoing (F. Simoncelli)
● Continue OpenShift Deployment automation
● Use Multi-Endpoints for Hawkular Metrics
○ No additional steps to use OpenShift Metrics
○ No dedicated router on Master node
● Auto-Tagging based on Kubernetes Labels
○ It will be possible to map Regions and Zones to
specific Tags in ManageIQ
○ This can be extended to other Providers
Ansible Tower (G. McCullough)
● Model updates
○ Link JobTemplate instances to Inventory
○ Link Ansible hosts to VMs (when possible)
● New Automate namespace
○ /ManageIQ/ConfigurationManagement/AnsibleTower
● Demos
○ AnsibleTower as a Service Type Bill Wei
○ VM Custom Button Integration Madhu Kanoor
○ VM Provisioning Integration Madhu Kanoor
Providers (G. Blomquist)
Generic Targeted Refresh Process
@blomquisg
RHEV Targeted Refresh
@pkliczewski
Providers (G. Blomquist)
Providers (G. Blomquist)
Multiple Endpoints (@juliancheal) [video]
Platform (G. Tanzillo)
Enhancements
● Replication
● Chargeback
● Appliance Console
● Rest API (A. Bellotti)
Platform - Replication
(G. Tanzillo)
Replication configuration screen
● Global and Remote regions
● Enable replication on remote regions
● Subscribe to remote regions on global
Platform - Replication
(G. Tanzillo)
Remote Region
Platform - Replication
(G. Tanzillo)
Remote Region
Platform - Replication
(G. Tanzillo)
Global Region
Platform - Replication
(G. Tanzillo)
Global Region
Platform - Replication
(G. Tanzillo)
Global Region
Platform - Chargeback (G. Tanzillo)
Chargeback Rate Tiers
Platform - Appliance Console
(G. Tanzillo)
Appliance Console
● Added alias ‘ap’ as shortcut for appliance_console
○ alias ap='/usr/bin/appliance_console'
Platform - Appliance Console
(A. Bellotti)
● Supports updating some external authentication settings
○ New menu entry and usage:
Platform - Appliance Console
(A. Bellotti)
● External authentication options can also be updated using the Appliance
Console CLI:
# appliance_console_cli --extauth-opts=sso_enabled=true|false
# appliance_console_cli --extauth-opts=saml_enabled=true|false
# applicance_console_cli --extauth-opts=local_login_disabled=true|false
REST API (A. Bellotti)
● Versioning bumped to v2.2.0
● Added support for /api/settings
○ Provides access to subset of Settings
○ Driven by config/api_settings.yml
○ Supports GET /api/settings[/:section]
GET /api/settings/product
{
"product": {
"maindb": "ExtManagementSystem"
}
}
REST API (A. Bellotti)
● Now supporting CRUD on tenant quotas
● Create: POST /api/tenants/:id/quotas
{
“name” => “cpu_allocated”,
“value” => 1
}
● Queries: GET /api/tenants/:id/quotas
GET /api/tenants/:id/quotas/:quota_id
● Updates: POST /api/tenants/:id/quotas/:quota_id - action “edit”
PUT /api/tenants/:id/quotas/:quota_id
POST /api/tenants/:id/quotas - action “edit” to update multiple
● Deletes: POST /api/tenants/:id/quotas/:quota_id - action “delete”
DELETE /api/tenants/:id/quotas/:quota_id
SmartState (R. Oliveri)
SmartState Pull Requests:
● Total merged: 13
● Bugs: 9
○ SCVMM: 3
○ RHEV: 2
○ VMware: 1
○ Azure: 1
○ Common: 2
● Enhancements: 4
SmartState (R. Oliveri)
Features:
● LVM thin volume support.
○ Thin volumes ignored in the past.
○ VMs with root on thin volumes would fail.
○ VMs with thin volumes are now fully supported.
● SmartState Analysis for Azure.
○ Images
○ Instances
○ Optimization TBD
Automate (G. McCullough)
● Modeling changes
○ quota_source_type moved into instance
○ Added Auto-Approval/Email to VM Reconfigure
● VM Provisioning
○ Disable Auto-Placement logic for
create_provision_request and Rest API calls
■ Caller must provide all required placement fields
■ Default: placement_auto = true
Automate (G. McCullough)
Example:
"vm_fields" => {
"placement_auto" => "false",
"vm_name" => "test",
"Placement_availability_zone" => "2", # us-east-1b
"instance_type" => "2", # 'm1.small: M1 General Purpose Small'
"cloud_network" => "2",
"cloud_subnet" => "3",
"security_groups" => "64",
"floating_ip_address" => "4",
"guest_access_key_pair" => "65",
"monitoring" => "basic",
}
Automate (G. McCullough)
● Generic Object
○ New models
■ GenericObjectDefinition
● Defines the attributes for a GenericObject type.
● Relationships support will be added in future sprint
■ GenericObject
● Common attributes are saved in generic_objects table
○ name, uid and generic_object_definition
● All other attributes stored in custom_attributes
○ Next: Defining Object types and exposing to automate
● Automate - Git support
○ Modeling added
○ New “Git Repositories Owner” role
○ Branch/Tag lookup supported
○ Initial import logic
○ Next: rake task for import / UI support
Dockerizing ManageIQ (B. Azulay)
● What is this about
○ Be able to deliver ManageIQ docker appliance
○ To be able to install & run ManageIQ with a one liner command (on any OS that supports
docker, including Atomic)
● What can developers do with it
○ Deliver self built appliance for pre integration
○ Multiple environments on the same host (with separate builtin DBs)
○ Test your code in appliance mode
○ Test your code in a clean environment
● How should developers use it
○ Simply follow https://github.com/ManageIQ/manageiq/tree/master/docker-assets
● Things you should be aware of
○ Monolithic, Systemd, appliance mode, image size ~1.3 G
○ You can not run multiple manageiq containers at the same time on the same host (ports
collision)
○ First execution takes a bit longer (DB migrations run on first execution), simply wait till the
container listens to port 80 … and you are good (takes couple of minutes … depending
your HW)
Performance (D. Metzger)
Pull Requests:
● Total merged: 22
○ Bugs: 4
○ Enhancements: 18
Performance (D. Metzger)
● Support for sorting Virtual Columns in the database
○ Previously sorting on Virtual Columns was done in Ruby
● Metrics Rollups bug fix
○ Only load recent (needed) performance records not all records
● Service Tree improvement
○ Test at a customer site showed:
■ Reduction in page rendering time from 68 seconds to 10 seconds
■ Reduction in number of queries from 3,200 to 860
● RBAC
○ Ongoing effort to reduce the number SQL queries and quantity of data
being transferred
Discussion
Next Sprint Review - May 11

More Related Content

What's hot

Sprint 16 report
Sprint 16 reportSprint 16 report
Sprint 16 report
ManageIQ
 
Sprint 47
Sprint 47Sprint 47
Sprint 47
ManageIQ
 
Sprint 49 review
Sprint 49 reviewSprint 49 review
Sprint 49 review
ManageIQ
 
Sprint 61
Sprint 61Sprint 61
Sprint 61
ManageIQ
 
Sprint 68
Sprint 68Sprint 68
Sprint 68
ManageIQ
 
Sprint 52
Sprint 52Sprint 52
Sprint 52
ManageIQ
 
Sprint 69
Sprint 69Sprint 69
Sprint 69
ManageIQ
 
Sprint 71
Sprint 71Sprint 71
Sprint 71
ManageIQ
 
Sprint 72
Sprint 72Sprint 72
Sprint 72
ManageIQ
 
Sprint 54
Sprint 54Sprint 54
Sprint 54
ManageIQ
 
Sprint 70
Sprint 70Sprint 70
Sprint 70
ManageIQ
 
Sprint 33
Sprint 33Sprint 33
Sprint 33
ManageIQ
 
Sprint 56
Sprint 56Sprint 56
Sprint 56
ManageIQ
 
Sprint 55
Sprint 55Sprint 55
Sprint 55
ManageIQ
 
Sprint 159
Sprint 159Sprint 159
Sprint 159
ManageIQ
 
Sprint 65
Sprint 65Sprint 65
Sprint 65
ManageIQ
 
Sprint 53
Sprint 53Sprint 53
Sprint 53
ManageIQ
 
Sprint 81
Sprint 81Sprint 81
Sprint 81
ManageIQ
 
Sprint 182
Sprint 182Sprint 182
Sprint 182
ManageIQ
 
Sprint 183
Sprint 183Sprint 183
Sprint 183
ManageIQ
 

What's hot (20)

Sprint 16 report
Sprint 16 reportSprint 16 report
Sprint 16 report
 
Sprint 47
Sprint 47Sprint 47
Sprint 47
 
Sprint 49 review
Sprint 49 reviewSprint 49 review
Sprint 49 review
 
Sprint 61
Sprint 61Sprint 61
Sprint 61
 
Sprint 68
Sprint 68Sprint 68
Sprint 68
 
Sprint 52
Sprint 52Sprint 52
Sprint 52
 
Sprint 69
Sprint 69Sprint 69
Sprint 69
 
Sprint 71
Sprint 71Sprint 71
Sprint 71
 
Sprint 72
Sprint 72Sprint 72
Sprint 72
 
Sprint 54
Sprint 54Sprint 54
Sprint 54
 
Sprint 70
Sprint 70Sprint 70
Sprint 70
 
Sprint 33
Sprint 33Sprint 33
Sprint 33
 
Sprint 56
Sprint 56Sprint 56
Sprint 56
 
Sprint 55
Sprint 55Sprint 55
Sprint 55
 
Sprint 159
Sprint 159Sprint 159
Sprint 159
 
Sprint 65
Sprint 65Sprint 65
Sprint 65
 
Sprint 53
Sprint 53Sprint 53
Sprint 53
 
Sprint 81
Sprint 81Sprint 81
Sprint 81
 
Sprint 182
Sprint 182Sprint 182
Sprint 182
 
Sprint 183
Sprint 183Sprint 183
Sprint 183
 

Similar to Sprint 39 review

Sprint 43 Review
Sprint 43 ReviewSprint 43 Review
Sprint 43 Review
ManageIQ
 
Sprint 48 review
Sprint 48 reviewSprint 48 review
Sprint 48 review
ManageIQ
 
Sprint 60
Sprint 60Sprint 60
Sprint 60
ManageIQ
 
Sprint 38 review
Sprint 38 reviewSprint 38 review
Sprint 38 review
ManageIQ
 
Sprint 30
Sprint 30Sprint 30
Sprint 30
ManageIQ
 
Sprint 117
Sprint 117Sprint 117
Sprint 117
ManageIQ
 
Sprint 92
Sprint 92Sprint 92
Sprint 92
ManageIQ
 
Sprint 50 review
Sprint 50 reviewSprint 50 review
Sprint 50 review
ManageIQ
 
Sprint 59
Sprint 59Sprint 59
Sprint 59
ManageIQ
 
Sprint 99
Sprint 99Sprint 99
Sprint 99
ManageIQ
 
Sprint 51 review
Sprint 51 reviewSprint 51 review
Sprint 51 review
ManageIQ
 
Sprint 36 review
Sprint 36 reviewSprint 36 review
Sprint 36 review
ManageIQ
 
Sprint 64
Sprint 64Sprint 64
Sprint 64
ManageIQ
 
Sprint 31
Sprint 31Sprint 31
Sprint 31
ManageIQ
 
Sprint 73
Sprint 73Sprint 73
Sprint 73
ManageIQ
 
Sprint 17
Sprint 17Sprint 17
Sprint 17
ManageIQ
 
Sprint 67
Sprint 67Sprint 67
Sprint 67
ManageIQ
 
Sprint 155
Sprint 155Sprint 155
Sprint 155
ManageIQ
 
Sprint 80
Sprint 80Sprint 80
Sprint 80
ManageIQ
 
Sprint 91
Sprint 91Sprint 91
Sprint 91
ManageIQ
 

Similar to Sprint 39 review (20)

Sprint 43 Review
Sprint 43 ReviewSprint 43 Review
Sprint 43 Review
 
Sprint 48 review
Sprint 48 reviewSprint 48 review
Sprint 48 review
 
Sprint 60
Sprint 60Sprint 60
Sprint 60
 
Sprint 38 review
Sprint 38 reviewSprint 38 review
Sprint 38 review
 
Sprint 30
Sprint 30Sprint 30
Sprint 30
 
Sprint 117
Sprint 117Sprint 117
Sprint 117
 
Sprint 92
Sprint 92Sprint 92
Sprint 92
 
Sprint 50 review
Sprint 50 reviewSprint 50 review
Sprint 50 review
 
Sprint 59
Sprint 59Sprint 59
Sprint 59
 
Sprint 99
Sprint 99Sprint 99
Sprint 99
 
Sprint 51 review
Sprint 51 reviewSprint 51 review
Sprint 51 review
 
Sprint 36 review
Sprint 36 reviewSprint 36 review
Sprint 36 review
 
Sprint 64
Sprint 64Sprint 64
Sprint 64
 
Sprint 31
Sprint 31Sprint 31
Sprint 31
 
Sprint 73
Sprint 73Sprint 73
Sprint 73
 
Sprint 17
Sprint 17Sprint 17
Sprint 17
 
Sprint 67
Sprint 67Sprint 67
Sprint 67
 
Sprint 155
Sprint 155Sprint 155
Sprint 155
 
Sprint 80
Sprint 80Sprint 80
Sprint 80
 
Sprint 91
Sprint 91Sprint 91
Sprint 91
 

More from ManageIQ

ManageIQ - Sprint 239 Review - Slide Deck
ManageIQ - Sprint 239 Review - Slide DeckManageIQ - Sprint 239 Review - Slide Deck
ManageIQ - Sprint 239 Review - Slide Deck
ManageIQ
 
ManaegIQ - Sprint 238 Review - Slide Deck
ManaegIQ - Sprint 238 Review - Slide DeckManaegIQ - Sprint 238 Review - Slide Deck
ManaegIQ - Sprint 238 Review - Slide Deck
ManageIQ
 
ManageIQ - Sprint 237 Review - Slide Deck
ManageIQ - Sprint 237 Review - Slide DeckManageIQ - Sprint 237 Review - Slide Deck
ManageIQ - Sprint 237 Review - Slide Deck
ManageIQ
 
ManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide DeckManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide Deck
ManageIQ
 
ManageIQ - Sprint 235 Review - Slide Deck
ManageIQ - Sprint 235 Review - Slide DeckManageIQ - Sprint 235 Review - Slide Deck
ManageIQ - Sprint 235 Review - Slide Deck
ManageIQ
 
ManageIQ - Sprint 234 Review - Slide Deck
ManageIQ - Sprint 234 Review - Slide DeckManageIQ - Sprint 234 Review - Slide Deck
ManageIQ - Sprint 234 Review - Slide Deck
ManageIQ
 
ManageIQ - Sprint 233 Review - Slide Deck
ManageIQ - Sprint 233 Review - Slide DeckManageIQ - Sprint 233 Review - Slide Deck
ManageIQ - Sprint 233 Review - Slide Deck
ManageIQ
 
ManageIQ - Sprint 232 Review - Slide Deck
ManageIQ - Sprint 232 Review - Slide DeckManageIQ - Sprint 232 Review - Slide Deck
ManageIQ - Sprint 232 Review - Slide Deck
ManageIQ
 
ManageIQ - Sprint 231 Review - Slide Deck
ManageIQ - Sprint 231 Review - Slide DeckManageIQ - Sprint 231 Review - Slide Deck
ManageIQ - Sprint 231 Review - Slide Deck
ManageIQ
 
ManageIQ - Sprint 230 Review - Slide Deck
ManageIQ - Sprint 230 Review - Slide DeckManageIQ - Sprint 230 Review - Slide Deck
ManageIQ - Sprint 230 Review - Slide Deck
ManageIQ
 
ManageIQ - Sprint 229 Review - Slide Deck
ManageIQ - Sprint 229 Review - Slide DeckManageIQ - Sprint 229 Review - Slide Deck
ManageIQ - Sprint 229 Review - Slide Deck
ManageIQ
 
ManageIQ - Sprint 228 Review - Slide Deck
ManageIQ - Sprint 228 Review - Slide DeckManageIQ - Sprint 228 Review - Slide Deck
ManageIQ - Sprint 228 Review - Slide Deck
ManageIQ
 
Sprint 227
Sprint 227Sprint 227
Sprint 227
ManageIQ
 
Sprint 226
Sprint 226Sprint 226
Sprint 226
ManageIQ
 
Sprint 225
Sprint 225Sprint 225
Sprint 225
ManageIQ
 
Sprint 224
Sprint 224Sprint 224
Sprint 224
ManageIQ
 
Sprint 223
Sprint 223Sprint 223
Sprint 223
ManageIQ
 
Sprint 222
Sprint 222Sprint 222
Sprint 222
ManageIQ
 
Sprint 221
Sprint 221Sprint 221
Sprint 221
ManageIQ
 
Sprint 220
Sprint 220Sprint 220
Sprint 220
ManageIQ
 

More from ManageIQ (20)

ManageIQ - Sprint 239 Review - Slide Deck
ManageIQ - Sprint 239 Review - Slide DeckManageIQ - Sprint 239 Review - Slide Deck
ManageIQ - Sprint 239 Review - Slide Deck
 
ManaegIQ - Sprint 238 Review - Slide Deck
ManaegIQ - Sprint 238 Review - Slide DeckManaegIQ - Sprint 238 Review - Slide Deck
ManaegIQ - Sprint 238 Review - Slide Deck
 
ManageIQ - Sprint 237 Review - Slide Deck
ManageIQ - Sprint 237 Review - Slide DeckManageIQ - Sprint 237 Review - Slide Deck
ManageIQ - Sprint 237 Review - Slide Deck
 
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
 

Recently uploaded

Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
What is an RPA CoE? Session 1 – CoE Vision
What is an RPA CoE?  Session 1 – CoE VisionWhat is an RPA CoE?  Session 1 – CoE Vision
What is an RPA CoE? Session 1 – CoE Vision
DianaGray10
 
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Precisely
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
Antonios Katsarakis
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
Neo4j
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
Alex Pruden
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
Miro Wengner
 
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Neo4j
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
DianaGray10
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
saastr
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
Jason Yip
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
Fwdays
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 

Recently uploaded (20)

Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
What is an RPA CoE? Session 1 – CoE Vision
What is an RPA CoE?  Session 1 – CoE VisionWhat is an RPA CoE?  Session 1 – CoE Vision
What is an RPA CoE? Session 1 – CoE Vision
 
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
 
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 

Sprint 39 review

  • 1. ManageIQ Sprint 39 Review - Sprint End April 19, 2016 April 20, 2016
  • 2. Overview ● Sprint Statistics (Oleg Barenboim) ● User Interface (Dan Clarizio) ● Providers (Greg Blomquist) ● Platform (Gregg Tanzillo) ● REST API (Alberto Bellotti) ● SmartState (Rich Oliveri) ● Automate (Greg McCullough) ● Dockerizing ManageIQ (Barak Azulay) ● Performance (Dennis Metzger) ● Discussion
  • 3. Sprint Statistics (O. Barenboim) 440 Pull Requests Merged (new record!) * Note that some PRs have more than one label.
  • 4. PR Breakdown by Feature Category (O. Barenboim) * Note that some PRs have more than one category. Providers
  • 6. All Repo Stats (O. Barenboim) Repository PRs Merged manageiq 440 ansible_tower_client 5 azure-armest 2 guides 5 manageiq_docs 1 manageiq-appliance 4 manageiq-appliance-build 4 manageiq-appliance-dev-setup 1 manageiq-ui-self_service 5 manageiq.org 5 miq_bot 2 ovirt 3
  • 7. Darga is Coming ● Today, we are making the Darga branch ● Named after Klaus Darga (chess grandmaster) ● First Darga Build coming in next few days ● Next 2 sprints will be focused on stabilizing Darga ● Planning for Darga Release in June ● Name of “E” Release ○ Think of Candidate Names now ○ Vote during ManageIQ Summit (week of June 6)
  • 8. User Interface (D. Clarizio) ● PRs merged (145+) ○ SSUI (5) ○ Bugs (64) ○ Enhancements (55) ○ Refactoring/Technical Debt (16) ● New functionality ○ New vertical navigation menus (Demo) ○ VM Reconfigure - add/remove disks support (Demo) ○ Orderable Orchestration Templates - create and copy (Demo) ○ Datastore Clusters for VMware vSphere 5+ - new Explorer ○ SlickGrid replaced with Patternfly TreeGrid ○ Patternfly style updates to the Dashboard and other areas ○ Template/Image compliance policy checking (previously only allowed for VMs/Instances) ○ New UI for replication configuration ○ UI updates to support multiple provider endpoints
  • 9. UI - New Datastore Explorer
  • 10. UI - Datastore Clusters
  • 11. UI - SlickGrid replaced with Patternfly TreeGrid
  • 12. UI - SVG replacement of PNGs
  • 13. UI - Patternfly Style Updates https://github.com/ManageIQ/manageiq/blob/master/app/assets/stylesheets/main.scss
  • 14. UI - Demos ● New vertical navigation menus (E. Winchell) ● VM Reconfigure (H. Kataria) ● Orderable Orchestration Templates (H. Kataria)
  • 15. Providers (G. Blomquist) VMware Azure (video) OpenStack Network Topology (video) Hawkular Middleware Containers Ansible Tower RHEV
  • 16. Providers (G. Blomquist) VMware Clustered Datastores in Provisioning
  • 17. Providers (G. Blomquist) Azure Subscription (@djberg96)
  • 18. Providers (G. Blomquist) Azure Events (@bronaghs) [video]
  • 20. Providers (G. Blomquist) Network Topology (@lsmola) [video]
  • 21. Hawkular - Event Catcher (H. Rupp) Event Catcher Currently for deployment error and success
  • 22. Hawkular - Server reload (H. Rupp) Power operations to reload+stop MW-servers Not reloading/stopping the provider
  • 24. Containers - Chargeback (F. Simoncelli) ● Chargeback totals per Project (Namespace) ○ CPU Cores usage ○ Memory usage ○ Network usage (when available)
  • 25. Containers - OpenSCAP (F. Simoncelli) ● Smart State Analysis has been extended with the OpenSCAP support ○ Scanning Pod is instantiated in the container cluster ○ Regular SSA happens in ManageIQ using WebDAV to communicate to the Scanning Pod ○ OpenSCAP scan runs in the Pod and ManageIQ collects the results ○ No interdependency between regular SSA and OpenSCAP ● At any time it’s possible to see the usual OpenSCAP HTML results per Image ● Scans are scheduled at regular intervals and on a new Image discovery ● Out-of-the-Box Policies for Image compliance ○ Additional ones can be created by the users ○ Results are pushed into OpenShift annotating Images
  • 27. Containers - Policies (F. Simoncelli) ● Support introduced for OpenSCAP ○ Out-of-the-Box policies for Images SSA ● Can be extended further (Events and Policy entities) for other use cases
  • 28. Containers - Cloud Cross Linking (F. Simoncelli) ● Already existing for Infrastructure Providers: RHEV, VMWare, OpenStack ● Extended to Cloud Providers (GCE, AWS) using the ProviderID reported by Kubernetes and OpenShift
  • 29. Containers - Cloud Cross Linking (F. Simoncelli) ● At the moment, requires a Cloud Provider being configured in Kubernetes and OpenShift (GCE, AWS) ● Ongoing effort in cAdvisor and Kubernetes to automate the ProviderID ○ This will allow for other Cloud Providers to be supported (Azure) ○ Targeted for OpenShift Origin 1.3
  • 30. Containers - Dashboard Additions (F. Simoncelli) ● Pods creation and deletion trends ● New images usage trend
  • 31. Containers - Pods Network Metrics (F. Simoncelli) Add support for Pods Network Metrics ● Supported by Heapster in OpenShift Origin 1.2
  • 32. Containers - More Enhancements (F. Simoncelli) ● Upgrade to new Gems ○ Kubeclient 1.1.3 (was 0.8.1) ○ OpenShift Client 1.1.0 (was 0.3.0) ○ Image Inspector 1.0.1 (was 1.0.0) ● Display labels for Projects and Routes
  • 33. Containers - Ongoing (F. Simoncelli) ● Continue OpenShift Deployment automation ● Use Multi-Endpoints for Hawkular Metrics ○ No additional steps to use OpenShift Metrics ○ No dedicated router on Master node ● Auto-Tagging based on Kubernetes Labels ○ It will be possible to map Regions and Zones to specific Tags in ManageIQ ○ This can be extended to other Providers
  • 34. Ansible Tower (G. McCullough) ● Model updates ○ Link JobTemplate instances to Inventory ○ Link Ansible hosts to VMs (when possible) ● New Automate namespace ○ /ManageIQ/ConfigurationManagement/AnsibleTower ● Demos ○ AnsibleTower as a Service Type Bill Wei ○ VM Custom Button Integration Madhu Kanoor ○ VM Provisioning Integration Madhu Kanoor
  • 35. Providers (G. Blomquist) Generic Targeted Refresh Process @blomquisg RHEV Targeted Refresh @pkliczewski
  • 37. Providers (G. Blomquist) Multiple Endpoints (@juliancheal) [video]
  • 38. Platform (G. Tanzillo) Enhancements ● Replication ● Chargeback ● Appliance Console ● Rest API (A. Bellotti)
  • 39. Platform - Replication (G. Tanzillo) Replication configuration screen ● Global and Remote regions ● Enable replication on remote regions ● Subscribe to remote regions on global
  • 40. Platform - Replication (G. Tanzillo) Remote Region
  • 41. Platform - Replication (G. Tanzillo) Remote Region
  • 42. Platform - Replication (G. Tanzillo) Global Region
  • 43. Platform - Replication (G. Tanzillo) Global Region
  • 44. Platform - Replication (G. Tanzillo) Global Region
  • 45. Platform - Chargeback (G. Tanzillo) Chargeback Rate Tiers
  • 46. Platform - Appliance Console (G. Tanzillo) Appliance Console ● Added alias ‘ap’ as shortcut for appliance_console ○ alias ap='/usr/bin/appliance_console'
  • 47. Platform - Appliance Console (A. Bellotti) ● Supports updating some external authentication settings ○ New menu entry and usage:
  • 48. Platform - Appliance Console (A. Bellotti) ● External authentication options can also be updated using the Appliance Console CLI: # appliance_console_cli --extauth-opts=sso_enabled=true|false # appliance_console_cli --extauth-opts=saml_enabled=true|false # applicance_console_cli --extauth-opts=local_login_disabled=true|false
  • 49. REST API (A. Bellotti) ● Versioning bumped to v2.2.0 ● Added support for /api/settings ○ Provides access to subset of Settings ○ Driven by config/api_settings.yml ○ Supports GET /api/settings[/:section] GET /api/settings/product { "product": { "maindb": "ExtManagementSystem" } }
  • 50. REST API (A. Bellotti) ● Now supporting CRUD on tenant quotas ● Create: POST /api/tenants/:id/quotas { “name” => “cpu_allocated”, “value” => 1 } ● Queries: GET /api/tenants/:id/quotas GET /api/tenants/:id/quotas/:quota_id ● Updates: POST /api/tenants/:id/quotas/:quota_id - action “edit” PUT /api/tenants/:id/quotas/:quota_id POST /api/tenants/:id/quotas - action “edit” to update multiple ● Deletes: POST /api/tenants/:id/quotas/:quota_id - action “delete” DELETE /api/tenants/:id/quotas/:quota_id
  • 51. SmartState (R. Oliveri) SmartState Pull Requests: ● Total merged: 13 ● Bugs: 9 ○ SCVMM: 3 ○ RHEV: 2 ○ VMware: 1 ○ Azure: 1 ○ Common: 2 ● Enhancements: 4
  • 52. SmartState (R. Oliveri) Features: ● LVM thin volume support. ○ Thin volumes ignored in the past. ○ VMs with root on thin volumes would fail. ○ VMs with thin volumes are now fully supported. ● SmartState Analysis for Azure. ○ Images ○ Instances ○ Optimization TBD
  • 53. Automate (G. McCullough) ● Modeling changes ○ quota_source_type moved into instance ○ Added Auto-Approval/Email to VM Reconfigure ● VM Provisioning ○ Disable Auto-Placement logic for create_provision_request and Rest API calls ■ Caller must provide all required placement fields ■ Default: placement_auto = true
  • 54. Automate (G. McCullough) Example: "vm_fields" => { "placement_auto" => "false", "vm_name" => "test", "Placement_availability_zone" => "2", # us-east-1b "instance_type" => "2", # 'm1.small: M1 General Purpose Small' "cloud_network" => "2", "cloud_subnet" => "3", "security_groups" => "64", "floating_ip_address" => "4", "guest_access_key_pair" => "65", "monitoring" => "basic", }
  • 55. Automate (G. McCullough) ● Generic Object ○ New models ■ GenericObjectDefinition ● Defines the attributes for a GenericObject type. ● Relationships support will be added in future sprint ■ GenericObject ● Common attributes are saved in generic_objects table ○ name, uid and generic_object_definition ● All other attributes stored in custom_attributes ○ Next: Defining Object types and exposing to automate ● Automate - Git support ○ Modeling added ○ New “Git Repositories Owner” role ○ Branch/Tag lookup supported ○ Initial import logic ○ Next: rake task for import / UI support
  • 56. Dockerizing ManageIQ (B. Azulay) ● What is this about ○ Be able to deliver ManageIQ docker appliance ○ To be able to install & run ManageIQ with a one liner command (on any OS that supports docker, including Atomic) ● What can developers do with it ○ Deliver self built appliance for pre integration ○ Multiple environments on the same host (with separate builtin DBs) ○ Test your code in appliance mode ○ Test your code in a clean environment ● How should developers use it ○ Simply follow https://github.com/ManageIQ/manageiq/tree/master/docker-assets ● Things you should be aware of ○ Monolithic, Systemd, appliance mode, image size ~1.3 G ○ You can not run multiple manageiq containers at the same time on the same host (ports collision) ○ First execution takes a bit longer (DB migrations run on first execution), simply wait till the container listens to port 80 … and you are good (takes couple of minutes … depending your HW)
  • 57. Performance (D. Metzger) Pull Requests: ● Total merged: 22 ○ Bugs: 4 ○ Enhancements: 18
  • 58. Performance (D. Metzger) ● Support for sorting Virtual Columns in the database ○ Previously sorting on Virtual Columns was done in Ruby ● Metrics Rollups bug fix ○ Only load recent (needed) performance records not all records ● Service Tree improvement ○ Test at a customer site showed: ■ Reduction in page rendering time from 68 seconds to 10 seconds ■ Reduction in number of queries from 3,200 to 860 ● RBAC ○ Ongoing effort to reduce the number SQL queries and quantity of data being transferred