Sprint 35 review
-
Upload
manageiq -
Category
Technology
-
view
216 -
download
0
Transcript of Sprint 35 review
Overview● Sprint Statistics (O. Barenboim)● Providers (G. Blomquist)● Appliance Core (G. Tanzillo)● REST API (A. Bellotti)● User Interface (D. Clarizio)● Automate (G. McCullough)● Ansible (G. McCullough)● SmartState Analysis (R. Oliveri)● Discussion
Sprint Statistics (O. Barenboim)
231 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
Sprint Statistics (O. Barenboim)
● Gemnasium (Ruby Gem Dependencies)○ https://gemnasium.com/ManageIQ/manageiq○ 154 Green | 70 Yellow | 0 Red
All Repo Stats (O. Barenboim)
PRs Merged Git Repo
5 ansible_tower_client
1 guides
2 azure-armrest
2 manageiq-appliance
1 manageiq.org
1 manageiq-appliance-build
2 linux_admin
1 manageiq_docs
● ManageIQ: https://github.com/ManageIQ/manageiq/issues?q=milestone%3A%22Sprint+35+Ending+Jan+25%2C+2016%22
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
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 - Highlights
● OpenStack○ cleanup SSL support○ VM operations
● Microsoft System Center○ delete VMs
● Containers○ tons of UI updates (DanC)
Appliance Core - Replication
Researching replacement for Rubyrep
● Rubyrep is not actively maintained
● Implemented in Ruby and SQL
● Relies on external daemon process and SQL triggers
● Performance suffers on slow networks with frequent data churn
Appliance Core - Replication
BDR - Bi-Directional Replication [*]
● Operates within the Postgres process as an extension
● Developed and maintained by Postgres contributors
● Integrated in ManageIQ as a POC
● Performance testing in-progress
[*] http://bdr-project.org/docs/0.9/index.html
Appliance Core - Replication
What BDR can do for us?
● Better performance
● High availability
● Administration from any region
Appliance Core
Workers
● Forked from main server process instead of spawned
● Faster worker startup
● Leverages copy-on-write for sharing memory in Ruby 2.0+
● Expect reduced worker memory once tuned
● Added smem package to appliance
Rest API (A. Bellotti)
● New primary collection for InstancesGET /api/instances
● Supporting the terminate action for instancesTarget single Instance via POST /api/instances/:id or multiple Instances via POST /api/instances
○ Terminate Instance - Power->TerminatePOST /api/instances/:id
{“action” : “terminate”
}
Rest API (A. Bellotti)
● Ability to filter string equality/inequality on virtual attributes.This allows us to filter on categories by name:
GET /api/categories?filter[]=name=’value’
● Ability to retrieve user’s default languageThis is needed by SSUI to know the user’s preferred language to set angular-gettext to the right language:
GET /api
...“settings” : {
“locale” : “en”},...
Rest API (A. Bellotti)
● Adding support for Dynamic DialogsThis enhancement for the SSUI allows fields to be queried as the dialog is getting populated. This is made available as a new refresh_dialog_fields action on the service template resource:
POST /api/service_catalogs/:id/service_templates/:st_id
{
“action” : “refresh_dialog_fields”,
“resource” : {
“dialog_fields” : {
“field1” : “value1”,
“field2” : “value2”,
“field3” : “value3”,
…
}
“fields” : [ “field1”, “field3”]
}
User Interface (D. Clarizio)● PRs merged (123), bugs (55), enhancements (28), refactoring (28)
● New functionality○ I18n
■ Mark translated strings in the UI■ Gettext support added to JS source code
○ Converted toolbar images to font icons○ Enabled font icon support in list views○ Implemented Bootstrap switch
● Containers○ Dashboard network trends○ Container environment variables table○ Search functionality for Container topology○ Dashboard no data cards○ Refresh option in Configuration dropdown
Automate
Simulate UI support for state machine retries● Problem
○ When state machines are tested with Simulation there is no indication to the user that a retry is needed.
○ State Attributes are not preserved between invocations.
● Features○ Add “Retry” button to UI if the state machine requests a retry.○ Preserves the state attributes so that it can be used in the next retry invocation.○ The ae_state_retries can be reset from the Attribute/Value Pairs section of the UI.
Automate
● Support where method for service models (PR #6046)vms = $evm.vmdb(:vm).where(:id => 2349, :vendor => "redhat")
=> [#<MiqAeServiceManageIQ_Providers_Redhat_InfraManager_Vm...
● find_by and find_by! also availablevm = $evm.vmdb(:vm).find_by(:id => 2349, :vendor => "redhat")
=> #<MiqAeServiceManageIQ_Providers_Redhat_InfraManager_Vm...
vm = $evm.vmdb(:vm).find_by!(:id => 2349, :vendor => "redhat")
=> #<MiqAeServiceManageIQ_Providers_Redhat_InfraManager_Vm...
Note: Automate will return an array or service model as a results of the query. This means you cannot chain the methods together.
For example this work in Rails:Vm.where(:id => 2349).where(:vendor => "redhat")
=> #<ActiveRecord::Relation [#<ManageIQ::Providers::Redhat...
The same thing will not work in automate:vm = $evm.vmdb(:vm).where(:id => 2349).where(:vendor => "redhat")
NoMethodError: undefined method `where' for #<Array:0x007f9b22d23a38>
Automate
● Event Switchboard○ Openstack events updated to trigger policy events
■ compute_instance_pause■ compute_instance_unpause■ compute_instance_resume■ compute_instance_suspend
● Retirement○ Removed tagging (Lifecycle/Retire_Full) and
“provisioned” check from “Remove from Provider” state.
Ansible (G. McCullough)
● Modeling for Provider, Configuration Manager, and Configured Systems
● Provider connection logic● Support refresh of Configured Systems
● Ansible Tower Client gem○ Credential validation○ Supported resources
■ Hosts■ JobTemplates■ Adhoc commands
SmartState Analysis (R. Oliveri)
SSA for SCVMM providers.● Supported:
○ Virtual hard disks residing on Hyper-V servers.○ VHD, and newer VHDX disk formats.○ Snapshotted disks.○ Same filesystems as other providers.
● TODO:○ Disks mounted from network datastores.
■ Multi-hop authentication issue.○ Performance improvements.