Esempio n. 1
0
 $scope.initNodeComponent = function(nodeDetail) {
     angular.forEach(nodeDetail.PSUs, function(psu) {
         psu.type = 'PSU';
     });
     angular.forEach(nodeDetail.fans, function(fan) {
         fan.type = 'FAN';
     });
     angular.forEach(nodeDetail.nics, function(nic) {
         nic.type = 'NIC';
     });
     angular.forEach(nodeDetail.disks, function(disk) {
         if (disk.disktype === 'SSD') {
             disk.type = 'SSD';
         } else if (disk.disktype === 'HDD') {
             disk.type = 'HDD';
         }
         disk.tempStatus = 'NORMAL';
     });
     angular.forEach(nodeDetail.diskMap, function(diskColumn) {
         angular.forEach(diskColumn, function(disk) {
             if (!angular.isUndefined(disk.disk)) {
                 disk.disk.type = 'HDD';
             }
         });
     });
 };
Esempio n. 2
0
            summaryPromise.then(function(summaryResult) {
                $scope.rackSummary = summaryResult;
                $scope.rackSummary.nodeList = {switchGroup: [], serverGroup: [], storageGroup: []};
                $scope.rackSummary.nodeList.switchGroup = $scope.rackSummary.switches;
                angular.forEach($scope.rackSummary.nodeList.switchGroup, function(switchNode) {
                    switchNode.type = 'SWITCH';
                });
                angular.forEach($scope.rackSummary.machines, function(node) {
                    if (node.type === 'SERVER') {
                        $scope.rackSummary.nodeList.serverGroup.push(node);
                    } else if (node.type === 'STORAGE') {
                        $scope.rackSummary.nodeList.storageGroup.push(node);
                    }
                });
                if (storageService.get('dashboardSelectedNode') !== null) {
                    $scope.selectedNode = storageService.get('dashboardSelectedNode');
                } else if ($scope.rackSummary.nodeList.serverGroup.length > 0) {
                    $scope.selectedNode = $scope.rackSummary.nodeList.serverGroup[0];
                } else {
                    $scope.selectedNode = $scope.rackSummary.nodeList.storageGroup[0];
                }
                $scope.loadNodeDetail($scope.selectedNode);
                var environmentPromise = marvinService.getEnvironment();
                environmentPromise.then(function(environmentResult) {
                    var environment = environmentResult[0];
                    $scope.rackSummary.software = environment.version.distribution[environment.version.distribution.length - 1];
                });

                $scope.isLoaded = true;
                $scope.$apply();
            });
Esempio n. 3
0
 eventsRetriever.getHealthTabEventsCount($scope.role, $scope.startEventIndex, $scope.startTime, $scope.endTime).then(function (eventData) {
     $scope.geoList = eventData;
     $scope.geoList.shift();
     angular.forEach($scope.geoList, function (geo) {
         geo.selected = false;
     });
     $scope.geoList[0].selected = true;
     $scope.selectedGeo = $scope.geoList[0].id;
     angular.forEach($scope.geoList, function(geo) {
         $scope.startEventIndex = geo.startIndex;
         angular.forEach(geo.racks, function(rack) {
             if (rack.events.length > 0) {
                 rack.severityNumber = [];
                 rack.numberOfCriticalEvent = 0;
                 rack.numberOfErrorEvent = 0;
                 rack.numberOfWarningEvent = 0;
             } else {
                 $scope.noEvents = true;
                 rack.numberOfCriticalEvent = 'No Data';
                 rack.numberOfErrorEvent = 'No Data';
                 rack.numberOfWarningEvent = 'No Data';
             }
             angular.forEach(rack.events, function(event, eventIndex) {
                 if (rack.events.length > 0) {
                     if (event.severity === 'CRITICAL') {
                         rack.severityNumber[eventIndex] = 2;
                         rack.numberOfCriticalEvent++;
                     }
                     else if (event.severity === 'ERROR') {
                         rack.severityNumber[eventIndex] = 1;
                         rack.numberOfErrorEvent++;
                     }
                     else if (event.severity === 'WARNING') {
                         rack.severityNumber[eventIndex] = 0;
                         rack.numberOfWarningEvent++;
                     }
                 }
             });
             if (rack.events.length > 0) {
                 rack.latestMostSevereEventIndex = rack.severityNumber.indexOf(Math.max.apply(Math, rack.severityNumber));
                 rack.latestMostSevereEventIndex1 = rack.severityNumber.indexOf(Math.max.apply(Math, rack.severityNumber));
                 rack.problem = rack.events[rack.latestMostSevereEventIndex].message;
                 rack.replacements = rack.events[rack.latestMostSevereEventIndex]['replacement_vars'] || {};
                 rack.solution = rack.events[rack.latestMostSevereEventIndex].solution;
             } else {
                 $scope.noEvents = true;
                 rack.problem = 'No Data';
                 rack.solution = 'No Data';
             }
             $scope.rackList[i] = {geoID: geo.id, rackID: rack.id, numberOfCriticalEvent: $scope.eventNotification.criticalCount, numberOfErrorEvent: $scope.eventNotification.errorCount, numberOfWarningEvent: $scope.eventNotification.warningCount, problem: rack.problem, replacements: rack.replacements, solution: rack.solution};
             i++;
             $scope.$apply();
         });
     });
 });
Esempio n. 4
0
 angular.forEach(nodeDetail.diskMap, function(diskColumn) {
     angular.forEach(diskColumn, function(disk) {
         if (!angular.isUndefined(disk.disk)) {
             disk.disk.type = 'HDD';
         }
     });
 });
Esempio n. 5
0
 promiseA.then(function (data) {
     if (data.length > $scope.pagination.size) {
         data.shift();
         $scope.pagination.prevMarker = data[0].email;
         $scope.pagination.prev = true;
     } else {
         $scope.pagination.prevMarker = '';
         $scope.pagination.prev = false;
     }
     if (data.length > 0) {
         $scope.pagination.nextMarker = data[data.length - 1].email;
     } else {
         $scope.pagination.nextMarker = '';
     }
     $scope.pagination.next = true;
     $scope.users = data;
     angular.forEach($scope.users, function (user) {
         user.expand = false;
         user.totalKeys = user.accesskeys.length;
         user.enabledKeys = 0;
         user.disabledKeys = 0;
         angular.forEach(user.accesskeys, function (accesskey) {
             if (accesskey.enabled === true) {
                 user.enabledKeys++;
             } else {
                 user.disabledKeys++;
             }
         });
     });
 }).finally(function () {
Esempio n. 6
0
 $scope.selectGeo = function(geo) {
     $scope.selectedGeo = geo.id;
     angular.forEach($scope.geoList, function(thisGeo) {
         thisGeo.selected = false;
     });
     geo.selected = true;
 };
Esempio n. 7
0
 angular.forEach(overallDataRateRacks, function(overallDataRateRack, index) {
     $scope.racksDataRate[index] = {name: overallDataRateRack.alias || overallDataRateRack.name, data: []};
     angular.forEach(overallDataRateRack.points, function(overallDataRateRackPoint, childIndex) {
         var overallDataRatePerRack = Math.round(overallDataRateRackPoint.dataRate * 100) / 100;
         $scope.racksDataRate[index].data[childIndex] = [overallDataRateRackPoint.time, overallDataRatePerRack];
     });
     $scope.racksDataRate[index].data.reverse();
 });
 $scope.resetSNMPForm = function(formId) {
     var resetFormIndex;
     angular.forEach($scope.currentSNMPForms, function(currentSNMPForm, thisIndex) {
         if (currentSNMPForm.id === formId) {
             resetFormIndex = thisIndex;
         }
     });
     $scope.currentSNMPForms[resetFormIndex] = angular.copy($scope.originalSNMPForms[resetFormIndex]);
 };
Esempio n. 9
0
 angular.forEach($scope.users, function (user) {
     user.enabledKeys = 0;
     user.disabledKeys = 0;
     angular.forEach(user.accesskeys, function (accesskey) {
         if (accesskey.enabled === true) {
             user.enabledKeys++;
         } else {
             user.disabledKeys++;
         }
     });
 });
Esempio n. 10
0
 promiseStatus.then(function (user) {
     $scope.selectedUser.enabled = user.enabled;
     angular.forEach($scope.selectedUser.accesskeys, function(selectedUserAccessKey){
         console.log('selectedUserAccessKey', selectedUserAccessKey);
         if ($scope.selectedUser.enabled) {
             $scope.enableAccessKey(selectedUserAccessKey);
         } else {
             $scope.disableAccessKey(selectedUserAccessKey);
         }
     });
     $scope.$apply();
 });
 angular.forEach(availableVersionResult, function (version) {
     $scope.availableVersionList[z] = {name: undefined, scaler: undefined, storage: undefined};
     $scope.availableVersionList[z].name = $scope.availableVersionNameList[z];
     angular.forEach(version, function (subVersion) {
         if (subVersion.columnguid === '' || subVersion.columnguid === null) {
             $scope.availableVersionList[z].scaler = subVersion.distribution[0];
         } else {
             $scope.availableVersionList[z].storage = subVersion.distribution[0];
         }
     });
     z++;
 });
Esempio n. 12
0
 angular.forEach($scope.users, function (user) {
     user.expand = false;
     user.totalKeys = user.accesskeys.length;
     user.enabledKeys = 0;
     user.disabledKeys = 0;
     angular.forEach(user.accesskeys, function (accesskey) {
         if (accesskey.enabled === true) {
             user.enabledKeys++;
         } else {
             user.disabledKeys++;
         }
     });
 });
            racksPromise.then(function(racksResults) {
                $scope.selectedTabId = racksResults.datacenters[0].id;
                angular.forEach(racksResults.datacenters, function(datacenter, dataCenterIndex) {
                    $scope.networkConfigByDataCenterPromise[dataCenterIndex] = marvinService.getNetworkConfigByDataCenter(datacenter.id, datacenter.racks[0].id);
                    $scope.networkConfigByDataCenterPromise[dataCenterIndex].then(function(networkConfigResults) {
                        console.debug('config -- network - networkConfigResults', networkConfigResults);
                        $scope.dataCenterList[dataCenterIndex] = {id: datacenter.id};
                        $scope.dataCenterList[dataCenterIndex].publicLanIPData = networkConfigResults.networkConfiguration;
                        if(networkConfigResults.networkConfiguration['Site_PublicNetwork'] !== undefined && networkConfigResults.networkConfiguration['Site_PublicNetwork'].networks !== undefined) {
                            $scope.dataCenterList[dataCenterIndex].publicLanData = networkConfigResults.networkConfiguration['Site_PublicNetwork'].networks;
                            $scope.dataCenterList[dataCenterIndex].selectedNetwork = 'public';
                        }

                        if(networkConfigResults.networkConfiguration['Site_ScaleoutNetwork'] !== undefined && networkConfigResults.networkConfiguration['Site_ScaleoutNetwork'].networks !== undefined) {
                            $scope.dataCenterList[dataCenterIndex].managementLanData = networkConfigResults.networkConfiguration['Site_ScaleoutNetwork'].networks;
                            console.debug('$scope.dataCenterList[dataCenterIndex].managementLanData', $scope.dataCenterList[dataCenterIndex].managementLanData);
                            if ($scope.dataCenterList[dataCenterIndex].selectedNetwork !== 'public') {
                                $scope.dataCenterList[dataCenterIndex].selectedNetwork = 'management';
                            }
                        }
                        if(networkConfigResults.networkConfiguration['Site_Column_StorageNetwork'] !== undefined && networkConfigResults.networkConfiguration['Site_Column_StorageNetwork'].networks !== undefined) {
                            $scope.dataCenterList[dataCenterIndex].storageLanData = networkConfigResults.networkConfiguration['Site_Column_StorageNetwork'].networks;
                            if ($scope.dataCenterList[dataCenterIndex].selectedNetwork !== 'public' && $scope.selectedNetwork !== 'management') {
                                $scope.dataCenterList[dataCenterIndex].selectedNetwork = 'storage';
                            }
                        }

                        if($scope.dataCenterList[dataCenterIndex].publicLanIPData['Site_PublicNetwork'] !== undefined && $scope.dataCenterList[dataCenterIndex].publicLanIPData['Site_Column_StorageNetwork'] !== undefined &&
                            $scope.dataCenterList[dataCenterIndex].publicLanIPData['Site_Column_StorageNetwork'] !== undefined && $scope.dataCenterList[dataCenterIndex].publicLanIPData['Site_PublicNetwork'].networks !== undefined &&
                            $scope.dataCenterList[dataCenterIndex].publicLanIPData['Site_Column_StorageNetwork'].networks !== undefined && $scope.dataCenterList[dataCenterIndex].publicLanIPData['Site_Column_StorageNetwork'].networks !== undefined) {
                            if($scope.dataCenterList[dataCenterIndex].publicLanIPData['Site_PublicNetwork'].networks.length > 0 ||
                                $scope.dataCenterList[dataCenterIndex].publicLanIPData['Site_Column_StorageNetwork'].networks.length > 0 ||
                                $scope.dataCenterList[dataCenterIndex].publicLanIPData['Site_Column_StorageNetwork'].networks.length > 0) {
                                $scope.dataCenterList[dataCenterIndex].noNetworkData = false;
                            } else {
                                $scope.dataCenterList[dataCenterIndex].noNetworkData = true;
                            }
                        }
                        $scope.dataCenterList[dataCenterIndex].hostsDetailsData = [];
                        $scope.getMachinesByNetwork(dataCenterIndex, $scope.dataCenterList[dataCenterIndex].selectedNetwork);
                    }).catch(function (error) {
                        console.log('getNetworkConfigByDataCenter error:',error);
                        $scope.dataCenterList[dataCenterIndex].noNetworkData = true;
                    });
                });
            });
Esempio n. 14
0
 promiseStatus.then(function () {
     $scope.selectedAccessKey.enabled = true;
     angular.forEach($scope.users, function (user) {
         user.enabledKeys = 0;
         user.disabledKeys = 0;
         angular.forEach(user.accesskeys, function (accesskey) {
             if (accesskey.key === enableAccessKey.key) {
                 accesskey.enabled = true;
             }
             if (accesskey.enabled === true) {
                 user.enabledKeys++;
             } else {
                 user.disabledKeys++;
             }
         });
     });
     $scope.$apply();
 });
                availableVersionPromise.then(function (availableVersionResult) {
                    console.debug('available version result', availableVersionResult);
                    if (availableVersionResult[Object.keys(availableVersionResult)[0]] !== undefined) {
                        var z = 0;
                        $scope.availableVersionList = [];
                        $scope.availableVersionNameList = Object.keys(availableVersionResult);
                        angular.forEach(availableVersionResult, function (version) {
                            $scope.availableVersionList[z] = {name: undefined, scaler: undefined, storage: undefined};
                            $scope.availableVersionList[z].name = $scope.availableVersionNameList[z];
                            angular.forEach(version, function (subVersion) {
                                if (subVersion.columnguid === '' || subVersion.columnguid === null) {
                                    $scope.availableVersionList[z].scaler = subVersion.distribution[0];
                                } else {
                                    $scope.availableVersionList[z].storage = subVersion.distribution[0];
                                }
                            });
                            z++;
                        });

                        console.debug('available version list', $scope.availableVersionList);
                        $scope.selectedVersion = $scope.availableVersionList[0];
                        console.debug('selected version', $scope.selectedVersion);
                        if (isForFileUpload === false) {
                            $scope.upgradeStage = 1;
                        }
                    } else {
                        $scope.availableVersionList = [{name: 'not available', scaler: '', storage: ''}];
                        console.debug('available version list', $scope.availableVersionList);
                        $scope.selectedVersion = $scope.availableVersionList[0];
                        console.debug('selected version', $scope.selectedVersion);
                        if (isForFileUpload === false) {
                            $scope.upgradeStage = 2;
                        }
                    }
                    if (isForFileUpload === true) {
                        $scope.uploadingFile = false;
                        $scope.systemUpgrade.password = null;
                        $scope.showVersionDropdown = false;
                        $scope.ignoreHealthIssues = true;
                        $scope.showUpgradeFail = false;
                        $scope.upgradeStage = 3;
                    }
                    $scope.$apply();
                });
Esempio n. 16
0
 angular.forEach(geo.racks, function(rack) {
     if (rack.events.length > 0) {
         rack.severityNumber = [];
         rack.numberOfCriticalEvent = 0;
         rack.numberOfErrorEvent = 0;
         rack.numberOfWarningEvent = 0;
     } else {
         $scope.noEvents = true;
         rack.numberOfCriticalEvent = 'No Data';
         rack.numberOfErrorEvent = 'No Data';
         rack.numberOfWarningEvent = 'No Data';
     }
     angular.forEach(rack.events, function(event, eventIndex) {
         if (rack.events.length > 0) {
             if (event.severity === 'CRITICAL') {
                 rack.severityNumber[eventIndex] = 2;
                 rack.numberOfCriticalEvent++;
             }
             else if (event.severity === 'ERROR') {
                 rack.severityNumber[eventIndex] = 1;
                 rack.numberOfErrorEvent++;
             }
             else if (event.severity === 'WARNING') {
                 rack.severityNumber[eventIndex] = 0;
                 rack.numberOfWarningEvent++;
             }
         }
     });
     if (rack.events.length > 0) {
         rack.latestMostSevereEventIndex = rack.severityNumber.indexOf(Math.max.apply(Math, rack.severityNumber));
         rack.latestMostSevereEventIndex1 = rack.severityNumber.indexOf(Math.max.apply(Math, rack.severityNumber));
         rack.problem = rack.events[rack.latestMostSevereEventIndex].message;
         rack.replacements = rack.events[rack.latestMostSevereEventIndex]['replacement_vars'] || {};
         rack.solution = rack.events[rack.latestMostSevereEventIndex].solution;
     } else {
         $scope.noEvents = true;
         rack.problem = 'No Data';
         rack.solution = 'No Data';
     }
     $scope.rackList[i] = {geoID: geo.id, rackID: rack.id, numberOfCriticalEvent: $scope.eventNotification.criticalCount, numberOfErrorEvent: $scope.eventNotification.errorCount, numberOfWarningEvent: $scope.eventNotification.warningCount, problem: rack.problem, replacements: rack.replacements, solution: rack.solution};
     i++;
     $scope.$apply();
 });
Esempio n. 17
0
 promiseStatus.then(function (key) {
     $scope.newAccessKey = key;
     $scope.selectedUser.accesskeys.push({key: key.key, enabled: key.enabled, created: key.created});
     if (!$scope.selectedUser.expand) {
         $scope.selectedUser.expand = true;
     }
     angular.forEach($scope.users, function (user) {
         user.enabledKeys = 0;
         user.disabledKeys = 0;
         angular.forEach(user.accesskeys, function (accesskey) {
             if (accesskey.enabled === true) {
                 user.enabledKeys++;
             } else {
                 user.disabledKeys++;
             }
         });
     });
     $scope.$apply();
 });
Esempio n. 18
0
 promiseStatus.then(function () {
     var index = $scope.selectedUser.accesskeys.indexOf($scope.selectedAccessKey);
     if (index > -1) {
         $scope.selectedUser.accesskeys.splice(index, 1);
     }
     $scope.selectedAccessKey = null;
     angular.forEach($scope.users, function (user) {
         user.enabledKeys = 0;
         user.disabledKeys = 0;
         angular.forEach(user.accesskeys, function (accesskey) {
             if (accesskey.enabled === true) {
                 user.enabledKeys++;
             } else {
                 user.disabledKeys++;
             }
         });
     });
     $scope.$apply();
 });
Esempio n. 19
0
 rsvp.hash(promises).then(function (results) {
     $scope.account = results.accountPromise;
     if (results.usersPromise.length > $scope.pagination.size) {
         results.usersPromise.pop();
         $scope.pagination.nextMarker = results.usersPromise[results.usersPromise.length - 1].email;
         $scope.pagination.next = true;
     }
     $scope.users = results.usersPromise;
     angular.forEach($scope.users, function (user) {
         user.expand = false;
         user.enabledKeys = 0;
         user.disabledKeys = 0;
         angular.forEach(user.accesskeys, function (accesskey) {
             if (accesskey.enabled === true) {
                 user.enabledKeys++;
             } else {
                 user.disabledKeys++;
             }
         });
     });
 }).finally(function () {
                    locationPromises[datacenterIndex].then(function(locationResult) {
                        $scope.locationResults.push(locationResult);
                        $scope.originalSMTPForms[datacenterIndex] = {
                            id: datacenter.id,
                            guid: datacenter.guid,
                            isOriginal: true,
                            isLocked: false,
                            smtp: {
                                server: '', //SMTP server (IP or FQDN)
                                login: '', //SMTP server username
                                password: '', //SMTP server password
                                senderemail: '', //System E-mail address
                                receiver: ['']  //SMTP administrator email
                            }
                        };
                        // Original SNMP forms
                        $scope.originalSNMPForms[datacenterIndex] = {
                            id: datacenter.id,
                            guid: datacenter.guid,
                            isOriginal: true,
                            isLocked: false,
                            snmpPollingString: '', // snmp poll community string
                            snmp: {
                                server: '',  //SNMP trap server (IP or FQDN)
                                port: null //SNMP trap server port number
                            }
                        };
                        $scope.originalSNMPForms[datacenterIndex].snmp['community_name'] = ''; //SNMP trap community string
                        angular.forEach(locationResult.connection, function(locationConnection) {
                            if (locationConnection.connectiontype === 'SMTP') {
                                $scope.originalSMTPForms[datacenterIndex].smtp = locationConnection;
                                if ($scope.originalSMTPForms[datacenterIndex].smtp.receiver.length === 0) {
                                    $scope.originalSMTPForms[datacenterIndex].smtp.receiver = [''];
                                }
                                if ($scope.originalSMTPForms[datacenterIndex].smtp.senderemail === null || $scope.originalSMTPForms[datacenterIndex].smtp.senderemail === undefined) {
                                    $scope.originalSMTPForms[datacenterIndex].smtp.senderemail = '';
                                }
                                if ($scope.originalSMTPForms[datacenterIndex].smtp.server === null || $scope.originalSMTPForms[datacenterIndex].smtp.server === undefined) {
                                    $scope.originalSMTPForms[datacenterIndex].smtp.server = '';
                                }
                                if ($scope.originalSMTPForms[datacenterIndex].smtp.login === null || $scope.originalSMTPForms[datacenterIndex].smtp.login === undefined) {
                                    $scope.originalSMTPForms[datacenterIndex].smtp.login = '';
                                }
                                if ($scope.originalSMTPForms[datacenterIndex].smtp.password === null || $scope.originalSMTPForms[datacenterIndex].smtp.password === undefined) {
                                    $scope.originalSMTPForms[datacenterIndex].smtp.password = '';
                                }
                            } else if (locationConnection.connectiontype === 'SNMP') {
                                $scope.originalSNMPForms[datacenterIndex].snmp = locationConnection;
                                if ($scope.originalSNMPForms[datacenterIndex].snmp['community_name'] === null || $scope.originalSNMPForms[datacenterIndex].snmp['community_name'] === undefined) {
                                    $scope.originalSNMPForms[datacenterIndex].snmp['community_name'] = '';
                                }
                                if ($scope.originalSNMPForms[datacenterIndex].snmp.server === null || $scope.originalSNMPForms[datacenterIndex].snmp.server === undefined) {
                                    $scope.originalSNMPForms[datacenterIndex].snmp.server = '';
                                }
                                if ($scope.originalSNMPForms[datacenterIndex].snmp.port === undefined) {
                                    $scope.originalSNMPForms[datacenterIndex].snmp.port = 162;
                                }
                                $scope.hasSNMPResults[datacenterIndex] = true;
                            }
                        });
                        //get snmp poll comm string for each site
                        var getSnmpPollCommStrPromise = marvinService.getSNMPConfig({});
                        getSnmpPollCommStrPromise.then(function (result) {
                            $scope.originalSNMPForms[datacenterIndex].snmpPollingString = result.payload.data;
                            $scope.currentSNMPForms[datacenterIndex] = angular.copy($scope.originalSNMPForms[datacenterIndex]);
                            console.log('Successfully get SNMP Config' , result);
                        }).catch(function(error){
                            console.log('Failed to get SNMP Config' , error);
                        });

                        angular.forEach($scope.hasSNMPResults, function(hasSNMPResult) {
                            if (hasSNMPResult === false) {
                                $scope.originalSNMPForms[datacenterIndex].snmp.port = 162;
                            }
                        });

                        $scope.currentSMTPForms = angular.copy($scope.originalSMTPForms);
                        console.debug('currentSMTPForms', $scope.currentSMTPForms);
                        $scope.currentSNMPForms = angular.copy($scope.originalSNMPForms);
                        console.debug('currentSNMPForms', $scope.currentSNMPForms);
                        $scope.selectedSMTPTabId = $scope.currentSMTPForms[0].id;
                        $scope.selectedSNMPTabId = $scope.currentSNMPForms[0].id;
                    });
Esempio n. 21
0
                rsvp.hash(promises).then(function (results) {
                    var overallRequestRateData = results.requestRatePromise;
                    var overallRequestRatePoints = overallRequestRateData.points;
                    var overallRequestRateRacks = overallRequestRateData.racks;
                    if (overallRequestRateData !== undefined && overallRequestRateData.racks !== undefined) {
                        dataRateIndex = overallRequestRateData.racks.length;
                    }
                    angular.forEach(overallRequestRatePoints, function(overallRequestRatePoint, index) {
                        var overallRequestRateValue = Math.round(overallRequestRatePoint.requestRate * 100) / 100;
                        $scope.overallRequestRate[index] = [overallRequestRatePoint.time, overallRequestRateValue];
                        $scope.requestRateUnit = overallRequestRatePoint.unit;
                    });
                    $scope.overallRequestRate.reverse();
                    angular.forEach(overallRequestRateRacks, function(overallRequestRateRack, index) {
                        $scope.racksRequestRate[index] = {name: overallRequestRateRack.alias || overallRequestRateRack.name, data: []};
                        angular.forEach(overallRequestRateRack.points, function(overallRequestRateRackPoint, childIndex) {
                            var overallRequestRatePerRack = Math.round(overallRequestRateRackPoint.requestRate * 100) / 100;
                            $scope.racksRequestRate[index].data[childIndex] = [overallRequestRateRackPoint.time, overallRequestRatePerRack];
                        });
                        $scope.racksRequestRate[index].data.reverse();
                    });

                    $scope.throughputChartPackage = [{
                        name: 'Overall RequestRate',
                        data: $scope.overallRequestRate,
                        dataGrouping: {
                            approximation: 'average'
                        }
                    }];
                    dataRateIndex++;
                    $scope.racksRequestRate.forEach(function (racksRequestRateLine) {
                        requestRateIndex++;
                        $scope.throughputChartPackage[requestRateIndex] = {
                            name: 'RequestRate: ' + racksRequestRateLine.name,
                            data: racksRequestRateLine.data,
                            dataGrouping: {
                                approximation: 'average'
                            }
                        };
                    });
                    var overallDataRateData = results.dataRatePromise;
                    var overallDataRatePoints = overallDataRateData.points;
                    var overallDataRateRacks = overallDataRateData.racks;
                    angular.forEach(overallDataRatePoints, function(overallDataRatePoint, index) {
                        var overallDataRateValue = Math.round(overallDataRatePoint.dataRate * 100) / 100;
                        $scope.overallDataRate[index] = [overallDataRatePoint.time, overallDataRateValue];
                        $scope.dataRateUnit = overallDataRatePoint.unit;
                    });
                    $scope.overallDataRate.reverse();
                    angular.forEach(overallDataRateRacks, function(overallDataRateRack, index) {
                        $scope.racksDataRate[index] = {name: overallDataRateRack.alias || overallDataRateRack.name, data: []};
                        angular.forEach(overallDataRateRack.points, function(overallDataRateRackPoint, childIndex) {
                            var overallDataRatePerRack = Math.round(overallDataRateRackPoint.dataRate * 100) / 100;
                            $scope.racksDataRate[index].data[childIndex] = [overallDataRateRackPoint.time, overallDataRatePerRack];
                        });
                        $scope.racksDataRate[index].data.reverse();
                    });
                    $scope.throughputChartPackage[dataRateIndex] = {
                        name: 'Overall DataRate',
                        data: $scope.overallDataRate,
                        dataGrouping: {
                            approximation: 'average'
                        }
                    };
                    $scope.racksDataRate.forEach(function (racksDataRateLine) {
                        dataRateIndex++;
                        $scope.throughputChartPackage[dataRateIndex] = {
                            name: 'DataRate: ' + racksDataRateLine.name,
                            data: racksDataRateLine.data,
                            dataGrouping: {
                                approximation: 'average'
                            }
                        };
                    });
                }).finally(function () {
Esempio n. 22
0
 locationPromises[datacenterIndex].then(function(locationResult) {
     $scope.locationResults.push(locationResult);
     $scope.originalSMTPForms[datacenterIndex] = {
         id: datacenter.id,
         guid: datacenter.guid,
         isOriginal: true,
         isLocked: false,
         smtp: {
             server: '', //SMTP server (IP or FQDN)
             login: '', //SMTP server username
             password: '', //SMTP server password
             senderemail: '', //System E-mail address
             receiver: ['']  //SMTP administrator email
         }
     };
     // Original SNMP forms
     $scope.originalSNMPForms[datacenterIndex] = {
         id: datacenter.id,
         guid: datacenter.guid,
         isOriginal: true,
         isLocked: false,
         snmpPollingString: '', // snmp poll community string
         snmp: {
             server: '',  //SNMP trap server (IP or FQDN)
             port: null //SNMP trap server port number
         }
     };
     $scope.originalSNMPForms[datacenterIndex].snmp['community_name'] = ''; //SNMP trap community string
     angular.forEach(locationResult.connection, function(locationConnection) {
         if (locationConnection.connectiontype === 'SMTP') {
             $scope.originalSMTPForms[datacenterIndex].smtp = locationConnection;
             if ($scope.originalSMTPForms[datacenterIndex].smtp.receiver.length === 0) {
                 $scope.originalSMTPForms[datacenterIndex].smtp.receiver = [''];
             }
             if ($scope.originalSMTPForms[datacenterIndex].smtp.senderemail === null || $scope.originalSMTPForms[datacenterIndex].smtp.senderemail === undefined) {
                 $scope.originalSMTPForms[datacenterIndex].smtp.senderemail = '';
             }
             if ($scope.originalSMTPForms[datacenterIndex].smtp.server === null || $scope.originalSMTPForms[datacenterIndex].smtp.server === undefined) {
                 $scope.originalSMTPForms[datacenterIndex].smtp.server = '';
             }
             if ($scope.originalSMTPForms[datacenterIndex].smtp.login === null || $scope.originalSMTPForms[datacenterIndex].smtp.login === undefined) {
                 $scope.originalSMTPForms[datacenterIndex].smtp.login = '';
             }
             if ($scope.originalSMTPForms[datacenterIndex].smtp.password === null || $scope.originalSMTPForms[datacenterIndex].smtp.password === undefined) {
                 $scope.originalSMTPForms[datacenterIndex].smtp.password = '';
             }
         } else if (locationConnection.connectiontype === 'SNMP') {
             $scope.originalSNMPForms[datacenterIndex].snmp = locationConnection;
             if ($scope.originalSNMPForms[datacenterIndex].snmp['community_name'] === null || $scope.originalSNMPForms[datacenterIndex].snmp['community_name'] === undefined) {
                 $scope.originalSNMPForms[datacenterIndex].snmp['community_name'] = '';
             }
             if ($scope.originalSNMPForms[datacenterIndex].snmp.server === null || $scope.originalSNMPForms[datacenterIndex].snmp.server === undefined) {
                 $scope.originalSNMPForms[datacenterIndex].snmp.server = '';
             }
             if ($scope.originalSNMPForms[datacenterIndex].snmp.port === undefined) {
                 $scope.originalSNMPForms[datacenterIndex].snmp.port = null;
             }
         }
     });
     $scope.currentSMTPForms = angular.copy($scope.originalSMTPForms);
     console.debug('currentSMTPForms', $scope.currentSMTPForms);
     $scope.currentSNMPForms = angular.copy($scope.originalSNMPForms);
     console.debug('currentSNMPForms', $scope.currentSNMPForms);
     $scope.selectedSMTPTabId = $scope.currentSMTPForms[0].id;
     $scope.selectedSNMPTabId = $scope.currentSNMPForms[0].id;
 });