Display ip addresses in 'BMC information' section

BMC Host/IP Address is already displayed in the header.
So in the 'BMC information' section, just display the
BMC's ip addresses. There could be multiple ip addresses.

Resolves openbmc/openbmc#3148

Change-Id: I4efdf4f1df2fc70d32dd659ae57b6bb7ba0fa0f4
Signed-off-by: CamVan Nguyen <ctnguyen@us.ibm.com>
diff --git a/app/common/services/api-utils.js b/app/common/services/api-utils.js
index fcd873c..5f4b931 100644
--- a/app/common/services/api-utils.js
+++ b/app/common/services/api-utils.js
@@ -91,8 +91,9 @@
                     function parseNetworkData(content){
                       var data = {
                         interface_ids: [],
-                        interfaces: {
-                        }
+                        interfaces: {},
+                        ip_addresses: {ipv4 : [],
+                                       ipv6 : []},
                       };
                       var interfaceId = '', keyParts = [], interfaceHash = '', interfaceType = '';
                       for(var key in content.data){
@@ -131,6 +132,7 @@
                           if(data.interfaces[interfaceId][interfaceType].ids.indexOf(interfaceHash) == -1){
                             data.interfaces[interfaceId][interfaceType].ids.push(interfaceHash);
                             data.interfaces[interfaceId][interfaceType].values.push(content.data[key]);
+                            data.ip_addresses[interfaceType].push(content.data[key]['Address']);
                           }
                         }
                       }
diff --git a/app/overview/controllers/system-overview-controller.html b/app/overview/controllers/system-overview-controller.html
index 295aac6..f6c91c3 100644
--- a/app/overview/controllers/system-overview-controller.html
+++ b/app/overview/controllers/system-overview-controller.html
@@ -45,8 +45,8 @@
 							<p class="courier-bold overview__hostname">{{dataService.hostname}}</p>
 						</li>
 						<li class="overview__metadata-block">
-							<p class="content-label">BMC Host/IP address</p>
-							<p class="courier-bold">{{dataService.server_id}}</p>
+							<p class="content-label">IP addresses</p>
+							<p class="courier-bold" ng-repeat="ip_address in bmc_ip_addresses">{{ip_address}}</p>
 						</li>
 						<li class="overview__metadata-block">
 							<p class="content-label">Firmware Version</p>
diff --git a/app/overview/controllers/system-overview-controller.js b/app/overview/controllers/system-overview-controller.js
index 87fcf4e..c98f98e 100644
--- a/app/overview/controllers/system-overview-controller.js
+++ b/app/overview/controllers/system-overview-controller.js
@@ -30,6 +30,7 @@
                 $scope.server_firmware = "";
                 $scope.power_consumption = "";
                 $scope.power_cap = "";
+                $scope.bmc_ip_addresses = [];
                 $scope.loading = false;
 
                 loadOverviewData();
@@ -45,6 +46,7 @@
                       server_info: APIUtils.getServerInfo(),
                       power_consumption: APIUtils.getPowerConsumption(),
                       power_cap: APIUtils.getPowerCap(),
+                      network_info: APIUtils.getNetworkInfo(),
                     };
                     $q.all(promises)
                       .then(function(data){
@@ -62,6 +64,7 @@
                         $scope.displayBMCTime(data.bmc_time);
                         $scope.displayPowerConsumption(data.power_consumption);
                         $scope.displayPowerCap(data.power_cap);
+                        $scope.displayNetworkInfo(data.network_info);
                       })
                       .finally(function(){
                         $scope.loading = false;
@@ -115,6 +118,13 @@
                 $scope.displayPowerCap = function(data){
                     $scope.power_cap = data;
                 }
+
+                $scope.displayNetworkInfo = function(data){
+                    // TODO: openbmc/openbmc#3150 Support IPV6 when officially
+                    // supported by the backend
+                    $scope.bmc_ip_addresses =
+                        data.formatted_data.ip_addresses.ipv4;
+                }
             }
         ]
     );