[Kimchi-devel] [PATCH] [Kimchi] Properly display network interfaces when more than one exists
Socorro Stoppler
socorro at linux.vnet.ibm.com
Fri May 27 22:37:16 UTC 2016
Hi Aline,
I tried this w/a test env (i.e. --test) so I could have an interface and
when I created a VEPA network, it showed the interface. What showed up
as unavailable was the Address Space column. Would you mind sending me
a picture?
Thanks
-Socorro
On 05/27/2016 12:36 PM, Aline Manera wrote:
>
> Hi Socorro,
>
> 1. Once I create a VEPA or Passthrough Bridged network, the interface
> column displays "unavailable". If I switch tabs and go back to Network
> tab, the interface column displays the interface values as proposed by
> this patch.
>
> 2. I'd suggest to rename the variable name to 'interfaces' just to
> reflect that this field can list multiple values.
>
> Regards,
> Aline Manera
>
> On 05/25/2016 03:03 PM, Socorro Stoppler wrote:
>> This patch fixes a bug in the listing of networks in that only one
>> network
>> interface is being shown regardless of the number of interfaces that
>> exist for
>> that network.
>>
>> In addition to now displaying all of the interfaces, in the case
>> that there's too many to fit in the column, an ellipsis has been
>> added to indicate
>> that there's more interfaces than what it being shown. A tooltip
>> will be seen when
>> the user hovers over the interface(s) to show all of the interfaces.
>>
>>
>> Signed-off-by: Socorro Stoppler <socorro at linux.vnet.ibm.com>
>> ---
>> ui/css/kimchi.css | 8 ++++++--
>> ui/css/src/modules/_network.scss | 9 ++++++---
>> ui/js/src/kimchi.network.js | 4 +++-
>> ui/pages/tabs/network.html.tmpl | 4 ++--
>> 4 files changed, 17 insertions(+), 8 deletions(-)
>>
>> diff --git a/ui/css/kimchi.css b/ui/css/kimchi.css
>> index 49ea39a..72f340c 100644
>> --- a/ui/css/kimchi.css
>> +++ b/ui/css/kimchi.css
>> @@ -2156,12 +2156,16 @@ body.wok-gallery {
>>
>> #network-root-container .wok-datagrid > .wok-datagrid-header >
>> span.column-interface,
>> #network-root-container .wok-datagrid > .wok-datagrid-body >
>> .wok-datagrid-row > span.column-interface {
>> - width: 10.3896%;
>> + width: 15.3896%;
>> + padding-right: 40px;
>> + white-space: nowrap;
>> + overflow: hidden;
>> + text-overflow: ellipsis;
>> }
>>
>> #network-root-container .wok-datagrid > .wok-datagrid-header >
>> span.column-space,
>> #network-root-container .wok-datagrid > .wok-datagrid-body >
>> .wok-datagrid-row > span.column-space {
>> - width: 30%;
>> + width: 25%;
>> }
>>
>> #network-root-container .wok-datagrid > .wok-datagrid-header >
>> span.column-action,
>> diff --git a/ui/css/src/modules/_network.scss
>> b/ui/css/src/modules/_network.scss
>> index 4627ab5..ab47c89 100644
>> --- a/ui/css/src/modules/_network.scss
>> +++ b/ui/css/src/modules/_network.scss
>> @@ -93,18 +93,21 @@
>> }
>>
>> > span.column-interface {
>> - width: 10.3896%;
>> + width: 15.3896%;
>> + padding-right: 40px;
>> + white-space: nowrap;
>> + overflow: hidden;
>> + text-overflow: ellipsis;
>> }
>>
>> > span.column-space {
>> - width: 30%;
>> + width: 25%;
>> }
>>
>> > span.column-action {
>> width: 25.909%;
>> text-align: right;
>> }
>> -
>> }
>>
>> .wok-datagrid > .wok-datagrid-body > .wok-datagrid-row > span {
>> diff --git a/ui/js/src/kimchi.network.js b/ui/js/src/kimchi.network.js
>> index 381449d..ac6bf74 100644
>> --- a/ui/js/src/kimchi.network.js
>> +++ b/ui/js/src/kimchi.network.js
>> @@ -35,6 +35,7 @@ kimchi.initNetwork = function() {
>> kimchi.initNetworkListView = function() {
>> $('.wok-mask').removeClass('hidden');
>> kimchi.listNetworks(function(data) {
>> + $('[data-toggle="tooltip"]').tooltip();
>> for (var i = 0; i < data.length; i++) {
>> var network = {
>> name : data[i].name,
>> @@ -46,7 +47,8 @@ kimchi.initNetworkListView = function() {
>> } else {
>> network.type = data[i].connection;
>> }
>> - network.interface = data[i].interfaces ?
>> data[i].interfaces[0] : null;
>> + network.interface = data[i].interfaces ?
>> data[i].interfaces : null;
>> + network.interface.join();
>> network.addrSpace = data[i].subnet ? data[i].subnet :
>> null;
>> network.persistent = data[i].persistent;
>> kimchi.addNetworkItem(network);
>> diff --git a/ui/pages/tabs/network.html.tmpl
>> b/ui/pages/tabs/network.html.tmpl
>> index 6ddabaa..7e2825d 100644
>> --- a/ui/pages/tabs/network.html.tmpl
>> +++ b/ui/pages/tabs/network.html.tmpl
>> @@ -85,11 +85,11 @@
>> </div>
>> <div id="modalWindow" class="modal fade network-modal"
>> tabindex="-1" role="dialog" aria-labelledby="networkModalLabel"
>> aria-hidden="true"> </div>
>> <script id="networkItem" type="text/html">
>> - <div id='{name}' class='wok-nw-grid-body remove-when-logged-off '>
>> + <div id='{name}' class='wok-nw-grid-body remove-when-logged-off'>
>> <span class='column-state' val="{state}"><span
>> class='network-state {state}'><i class="fa fa-power-off"></i><span
>> class="wok-nw-loading-icon"></span></span></span><!--
>> --><span class='column-name' title="{name}"
>> val="{name}">{name}</span><!--
>> --><span class='column-type'
>> val="{type}">{type}</span><!--
>> - --><span class='column-interface'
>> val="{interface}">{interface}</span><!--
>> + --><span class='column-interface'
>> data-placement="top" data-toggle="tooltip" title="{interface}"
>> val="{interface}">{interface}</span><!--
>> --><span class='column-space'
>> val="{addrSpace}">{addrSpace}</span><!--
>> --><span class='column-action'
>> style="display:none">
>> <span class="pull-right">
>
More information about the Kimchi-devel
mailing list