[Ovirt-devel] [PATCH] Enhance vms display

Arthur Clément aclement at linagora.com
Mon Aug 30 09:02:16 UTC 2010


Pushed

On jeudi 25 février 2010 13:28:59 Loiseleur Michel wrote:
> It can be quite hard to manage a pool of 40-50 VMs without informations
> about the OS running, the contact (which is the only one to know when the
> vm can really be destroyed) or an End Of Life date. This patch add those
> fields, and rework a little the VM list view, in order to show gracefully
> those new fields. It has been made at the expense of UUID, Total Run Time
> & Load fields. Since those fields are often better displayed from a
> monitoring software, I have though it was acceptable.
> 
> Signed-off-by: Loiseleur Michel <mloiseleur at linagora.com>
> ---
>  src/app/controllers/pool_controller.rb |    6 ++--
>  src/app/views/vm/_form.rhtml           |   10 ++++++--
>  src/app/views/vm/_grid.rhtml           |    9 ++++---
>  src/db/migrate/044_add_vm_fields.rb    |   34
> ++++++++++++++++++++++++++++++++ 4 files changed, 49 insertions(+), 10
> deletions(-)
>  create mode 100644 src/db/migrate/044_add_vm_fields.rb
> 
> diff --git a/src/app/controllers/pool_controller.rb
> b/src/app/controllers/pool_controller.rb index e86b064..e6c341d 100644
> --- a/src/app/controllers/pool_controller.rb
> +++ b/src/app/controllers/pool_controller.rb
> @@ -94,11 +94,11 @@ class PoolController < ApplicationController
>    end
> 
>    def vms_json(args)
> -    attr_list = [:id, :description, :uuid,
> +    attr_list = [:id, :description,
> 
>                   :num_vcpus_allocated, :memory_allocated_in_mb,
> 
> -                 :state, :calc_uptime, :id]
> +                 :state, :contact, :os, :eol, :comment ]
>      if (@pool.is_a? VmResourcePool) and
> @pool.get_hardware_pool.can_view(@user) -      attr_list.insert(3, [:host,
> :hostname])
> +      attr_list.insert(2, [:host, :hostname])
>      end
>      json_list(args[:full_items], attr_list, [:all], args[:find_opts])
>    end
> diff --git a/src/app/views/vm/_form.rhtml b/src/app/views/vm/_form.rhtml
> index adb75d2..13e73db 100644
> --- a/src/app/views/vm/_form.rhtml
> +++ b/src/app/views/vm/_form.rhtml
> @@ -8,10 +8,14 @@
> 
>    <div class="form_heading clickable open">General</div>
>    <div class="vm_form_section">
> -    <%= text_field_with_label "Name:", "vm", "description",
> {:style=>"width:250px;"}  %> -    <%= text_field_with_label "UUID:", "vm",
> "uuid",  {:style=>"width:250px;"} %> -    <%= select_with_label "Operating
> System:", 'vm', 'provisioning_and_boot_settings', @provisioning_options,
> :style=>"width:250px;" %> +    <%= text_field_with_label "Name:", "vm",
> "description"  %>
> +    <%= text_field_with_label "UUID:", "vm", "uuid" %>
> +    <%= select_with_label "Provisioning:", 'vm',
> 'provisioning_and_boot_settings', @provisioning_options  %> <% if
> controller.action_name == "edit" %><b style="color: #FF0000">*Warning*
> Editing provision could overwrite vm</b><% end %> +    <%=
> text_field_with_label "Contact:", "vm", "contact" %>
> +    <%= text_field_with_label "Operating System:", "vm", "os" %>
> +    <%= text_field_with_label "End Of Life:", "vm", "eol" %>
> +    <%= text_field_with_label "Comment:", "vm", "comment" %>
> 
>      <div class="clear_row" style="height:15px;"></div>
>    </div>
> diff --git a/src/app/views/vm/_grid.rhtml b/src/app/views/vm/_grid.rhtml
> index e3fa0e0..fe821e1 100644
> --- a/src/app/views/vm/_grid.rhtml
> +++ b/src/app/views/vm/_grid.rhtml
> @@ -27,16 +27,17 @@
>      <% end %>
>      colModel : [
>          {display: '', name : 'id', width : 20, sortable : false, align:
> 'left', process: <%= table_id %>checkbox}, -        {display:
> 'Description', name : 'description', width : 180, sortable : true, align:
> 'left'}, -        {display: 'UUID', name : 'uuid', width : 180, sortable :
> true, align: 'left'}, +        {display: 'Name', name : 'description',
> width : 180, sortable : true, align: 'left'}, <% if (pool.is_a?
> VmResourcePool) and pool.get_hardware_pool.can_view(@user) %> {display:
> 'Host', name : 'host', width: 180, sortable : true, align: 'left' }, <%
> end %>
>          {display: 'CPUs', name : 'num_vcpus_allocated', width : 40,
> sortable : true, align: 'left'}, {display: 'Memory (MB)', name :
> 'memory_allocated', width : 60, sortable : true, align: 'right'},
> {display: 'State', name : 'state', width : 50, sortable : true, align:
> 'right'}, -        {display: 'Total Run Time', name : 'calc_uptime', width
> : 50, align: 'right'}, -        {display: 'Load', name : 'load', width:
> 180, sortable : false, align: 'left', process: <%= table_id %>_load_widget
> } +        {display: 'Contact', name : 'contact', width : 100, align:
> 'left'}, +        {display: 'OS', name : 'os', width : 60, sortable :
> true, align: 'left'}, +        {display: 'EOL', name : 'eol', width : 60,
> sortable : true, align: 'right'}, +        {display: 'Comment', name :
> 'comment', width : 100, sortable : true, align: 'right'} ],
>      sortname: "description",
>      sortorder: "asc",
> diff --git a/src/db/migrate/044_add_vm_fields.rb
> b/src/db/migrate/044_add_vm_fields.rb new file mode 100644
> index 0000000..834f0ec
> --- /dev/null
> +++ b/src/db/migrate/044_add_vm_fields.rb
> @@ -0,0 +1,34 @@
> +# Copyright (C) 2010 Linagora.
> +# Written by Michel Loiseleur <mloiseleur at linagora.com>
> +#
> +# This program is free software; you can redistribute it and/or modify
> +# it under the terms of the GNU General Public License as published by
> +# the Free Software Foundation; version 2 of the License.
> +#
> +# This program is distributed in the hope that it will be useful,
> +# but WITHOUT ANY WARRANTY; without even the implied warranty of
> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> +# GNU General Public License for more details.
> +#
> +# You should have received a copy of the GNU General Public License
> +# along with this program; if not, write to the Free Software
> +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
> +# MA  02110-1301, USA.  A copy of the GNU General Public License is
> +# also available at http://www.gnu.org/copyleft/gpl.html.
> +
> +# introduce information fields for VMs
> +class AddVmFields < ActiveRecord::Migration
> +  def self.up
> +    add_column :vms, :contact, :string, :null => false, :default => ''
> +    add_column :vms, :comment, :string, :null => false, :default => ''
> +    add_column :vms, :eol, :date, :null => false, :default =>
> Date.new(1970,01,01).to_s +    add_column :vms, :os, :string, :null =>
> false, :default => '' +  end
> +
> +  def self.down
> +    remove_column :vms, :contact
> +    remove_column :vms, :comment
> +    remove_column :vms, :eol
> +    remove_column :vms, :os
> +  end
> +end
-- 
Arthur CLEMENT
Linagora Paris




More information about the ovirt-devel mailing list