Skip to content

Commit c096232

Browse files
committed
#492: Extend virtualization tables
1 parent 33c44c2 commit c096232

File tree

1 file changed

+61
-14
lines changed

1 file changed

+61
-14
lines changed

netbox/virtualization/tables.py

Lines changed: 61 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,9 @@
4646
class ClusterTypeTable(BaseTable):
4747
pk = ToggleColumn()
4848
name = tables.LinkColumn()
49-
cluster_count = tables.Column(verbose_name='Clusters')
49+
cluster_count = tables.Column(
50+
verbose_name='Clusters'
51+
)
5052
actions = tables.TemplateColumn(
5153
template_code=CLUSTERTYPE_ACTIONS,
5254
attrs={'td': {'class': 'text-right noprint'}},
@@ -55,7 +57,8 @@ class ClusterTypeTable(BaseTable):
5557

5658
class Meta(BaseTable.Meta):
5759
model = ClusterType
58-
fields = ('pk', 'name', 'cluster_count', 'description', 'actions')
60+
fields = ('pk', 'name', 'slug', 'cluster_count', 'description', 'actions')
61+
default_columns = ('pk', 'name', 'cluster_count', 'description', 'actions')
5962

6063

6164
#
@@ -65,7 +68,9 @@ class Meta(BaseTable.Meta):
6568
class ClusterGroupTable(BaseTable):
6669
pk = ToggleColumn()
6770
name = tables.LinkColumn()
68-
cluster_count = tables.Column(verbose_name='Clusters')
71+
cluster_count = tables.Column(
72+
verbose_name='Clusters'
73+
)
6974
actions = tables.TemplateColumn(
7075
template_code=CLUSTERGROUP_ACTIONS,
7176
attrs={'td': {'class': 'text-right noprint'}},
@@ -74,7 +79,8 @@ class ClusterGroupTable(BaseTable):
7479

7580
class Meta(BaseTable.Meta):
7681
model = ClusterGroup
77-
fields = ('pk', 'name', 'cluster_count', 'description', 'actions')
82+
fields = ('pk', 'name', 'slug', 'cluster_count', 'description', 'actions')
83+
default_columns = ('pk', 'name', 'cluster_count', 'description', 'actions')
7884

7985

8086
#
@@ -84,10 +90,24 @@ class Meta(BaseTable.Meta):
8490
class ClusterTable(BaseTable):
8591
pk = ToggleColumn()
8692
name = tables.LinkColumn()
87-
tenant = tables.LinkColumn('tenancy:tenant', args=[Accessor('tenant.slug')], verbose_name='Tenant')
88-
site = tables.LinkColumn('dcim:site', args=[Accessor('site.slug')])
89-
device_count = tables.Column(accessor=Accessor('devices.count'), orderable=False, verbose_name='Devices')
90-
vm_count = tables.Column(accessor=Accessor('virtual_machines.count'), orderable=False, verbose_name='VMs')
93+
tenant = tables.LinkColumn(
94+
viewname='tenancy:tenant',
95+
args=[Accessor('tenant.slug')]
96+
)
97+
site = tables.LinkColumn(
98+
viewname='dcim:site',
99+
args=[Accessor('site.slug')]
100+
)
101+
device_count = tables.Column(
102+
accessor=Accessor('devices.count'),
103+
orderable=False,
104+
verbose_name='Devices'
105+
)
106+
vm_count = tables.Column(
107+
accessor=Accessor('virtual_machines.count'),
108+
orderable=False,
109+
verbose_name='VMs'
110+
)
91111

92112
class Meta(BaseTable.Meta):
93113
model = Cluster
@@ -101,24 +121,51 @@ class Meta(BaseTable.Meta):
101121
class VirtualMachineTable(BaseTable):
102122
pk = ToggleColumn()
103123
name = tables.LinkColumn()
104-
status = tables.TemplateColumn(template_code=VIRTUALMACHINE_STATUS)
105-
cluster = tables.LinkColumn('virtualization:cluster', args=[Accessor('cluster.pk')])
106-
role = tables.TemplateColumn(VIRTUALMACHINE_ROLE)
107-
tenant = tables.TemplateColumn(template_code=COL_TENANT)
124+
status = tables.TemplateColumn(
125+
template_code=VIRTUALMACHINE_STATUS
126+
)
127+
cluster = tables.LinkColumn(
128+
viewname='virtualization:cluster',
129+
args=[Accessor('cluster.pk')]
130+
)
131+
role = tables.TemplateColumn(
132+
template_code=VIRTUALMACHINE_ROLE
133+
)
134+
tenant = tables.TemplateColumn(
135+
template_code=COL_TENANT
136+
)
108137

109138
class Meta(BaseTable.Meta):
110139
model = VirtualMachine
111140
fields = ('pk', 'name', 'status', 'cluster', 'role', 'tenant', 'vcpus', 'memory', 'disk')
112141

113142

114143
class VirtualMachineDetailTable(VirtualMachineTable):
144+
primary_ip4 = tables.LinkColumn(
145+
viewname='ipam:ipaddress',
146+
args=[Accessor('primary_ip4.pk')],
147+
verbose_name='IPv4 Address'
148+
)
149+
primary_ip6 = tables.LinkColumn(
150+
viewname='ipam:ipaddress',
151+
args=[Accessor('primary_ip6.pk')],
152+
verbose_name='IPv6 Address'
153+
)
115154
primary_ip = tables.TemplateColumn(
116-
orderable=False, verbose_name='IP Address', template_code=VIRTUALMACHINE_PRIMARY_IP
155+
orderable=False,
156+
verbose_name='IP Address',
157+
template_code=VIRTUALMACHINE_PRIMARY_IP
117158
)
118159

119160
class Meta(BaseTable.Meta):
120161
model = VirtualMachine
121-
fields = ('pk', 'name', 'status', 'cluster', 'role', 'tenant', 'vcpus', 'memory', 'disk', 'primary_ip')
162+
fields = (
163+
'pk', 'name', 'status', 'cluster', 'role', 'tenant', 'platform', 'vcpus', 'memory', 'disk', 'primary_ip4',
164+
'primary_ip6', 'primary_ip',
165+
)
166+
default_columns = (
167+
'pk', 'name', 'status', 'cluster', 'role', 'tenant', 'vcpus', 'memory', 'disk', 'primary_ip',
168+
)
122169

123170

124171
#

0 commit comments

Comments
 (0)