1
0
mirror of https://github.com/OpenNebula/one.git synced 2025-03-30 22:50:10 +03:00

Feature #3471: Add extra columns to vdc list in cli and sunstone

This commit is contained in:
Carlos Martín 2015-01-26 12:57:55 +01:00
parent b5c58229d0
commit 03941f006a
4 changed files with 114 additions and 5 deletions

View File

@ -5,9 +5,34 @@
:NAME:
:desc: Name of the VDC
:size: 25
:size: 30
:left: true
:GROUPS:
:desc: Number of Groups
:size: 6
:CLUSTERS:
:desc: Number of Clusters
:size: 8
:HOSTS:
:desc: Number of Hosts
:size: 5
:VNETS:
:desc: Number of Networks
:size: 5
:DATASTORES:
:desc: Number of Datastores
:size: 10
:default:
- :ID
- :NAME
- :NAME
- :GROUPS
- :CLUSTERS
- :HOSTS
- :VNETS
- :DATASTORES

View File

@ -26,6 +26,17 @@ class OneVdcHelper < OpenNebulaHelper::OneHelper
"onevdc.yaml"
end
def id_list_size(list)
case list
when NilClass
return 0
when Array
return list.size
when Hash
return 1
end
end
def format_pool(options)
config_file = self.class.table_conf
@ -34,11 +45,39 @@ class OneVdcHelper < OpenNebulaHelper::OneHelper
d["ID"]
end
column :NAME, "Name of the VDC", :left, :size=>25 do |d|
column :NAME, "Name of the VDC", :left, :size=>30 do |d|
d["NAME"]
end
default :ID, :NAME
column :GROUPS, "Number of Groups", :size=>6 do |d|
ids = d["GROUPS"]["ID"]
case ids
when String
1
when Array
ids.size
when NilClass
0
end
end
column :CLUSTERS, "Number of Clusters", :size=>8 do |d|
@ext.id_list_size(d["CLUSTERS"]["CLUSTER"])
end
column :HOSTS, "Number of Hosts", :size=>5 do |d|
@ext.id_list_size(d["HOSTS"]["HOST"])
end
column :VNETS, "Number of Networks", :size=>5 do |d|
@ext.id_list_size(d["VNETS"]["VNET"])
end
column :DATASTORES, "Number of Datastores", :size=>10 do |d|
@ext.id_list_size(d["DATASTORES"]["DATASTORE"])
end
default :ID, :NAME, :GROUPS, :CLUSTERS, :HOSTS, :VNETS, :DATASTORES
end
table

View File

@ -107,6 +107,11 @@ tabs:
- 0 # Checkbox
- 1 # ID
- 2 # Name
- 3 # Groups
- 4 # Clusters
- 5 # Hosts
- 6 # VNets
- 7 # Datastores
actions:
Vdc.refresh: true
Vdc.create_dialog: true

View File

@ -424,6 +424,11 @@ var vdcs_tab = {
<th class="check"><input type="checkbox" class="check_all" value=""></input></th>\
<th>'+tr("ID")+'</th>\
<th>'+tr("Name")+'</th>\
<th>'+tr("Groups")+'</th>\
<th>'+tr("Clusters")+'</th>\
<th>'+tr("Hosts")+'</th>\
<th>'+tr("VNets")+'</th>\
<th>'+tr("Datastores")+'</th>\
</tr>\
</thead>\
<tbody id="tbodyvdcs">\
@ -462,10 +467,45 @@ function vdcElements(){
function vdcElementArray(vdc_json){
var vdc = vdc_json.VDC;
var groups = 0;
if ($.isArray(vdc.GROUPS.ID))
groups = vdc.GROUPS.ID.length;
else if (!$.isEmptyObject(vdc.GROUPS.ID))
groups = 1;
var clusters = 0;
if ($.isArray(vdc.CLUSTERS.CLUSTER))
clusters = vdc.CLUSTERS.CLUSTER.length;
else if (!$.isEmptyObject(vdc.CLUSTERS.CLUSTER))
clusters = 1;
var hosts = 0;
if ($.isArray(vdc.HOSTS.HOST))
hosts = vdc.HOSTS.HOST.length;
else if (!$.isEmptyObject(vdc.HOSTS.HOST))
hosts = 1;
var vnets = 0;
if ($.isArray(vdc.VNETS.VNET))
vnets = vdc.VNETS.VNET.length;
else if (!$.isEmptyObject(vdc.VNETS.VNET))
vnets = 1;
var dss = 0;
if ($.isArray(vdc.DATASTORES.DATASTORE))
dss = vdc.DATASTORES.DATASTORE.length;
else if (!$.isEmptyObject(vdc.DATASTORES.DATASTORE))
dss = 1;
return [
'<input class="check_item" type="checkbox" id="vdc_'+vdc.ID+'" name="selected_items" value="'+vdc.ID+'"/>',
vdc.ID,
vdc.NAME
vdc.NAME,
groups,
clusters,
hosts,
vnets,
dss
];
}