Add simple autofill for hostname and ip address
Change-Id: I5fb624634a3ee8429795ce574936d5db16c5bc41
This commit is contained in:
parent
6e72d6bed3
commit
15cf7b3cb5
@ -103,9 +103,6 @@ compassAppDev.run(function($httpBackend, settings, $http) {
|
||||
"os": "CentOS",
|
||||
"adapter": "OpenStack",
|
||||
"roles": [{
|
||||
"display_name": "Compute",
|
||||
"name": "os-compute-worker"
|
||||
}, {
|
||||
"display_name": "Controller",
|
||||
"name": "os-controller"
|
||||
}, {
|
||||
@ -136,6 +133,146 @@ compassAppDev.run(function($httpBackend, settings, $http) {
|
||||
}],
|
||||
"network": {},
|
||||
"state": "Successful"
|
||||
}, {
|
||||
"machine_id": 12,
|
||||
"mac": "28.e5.ee.47.ee.32",
|
||||
"switch_ip": "172.29.8.40",
|
||||
"vlan": "2",
|
||||
"port": "3",
|
||||
"name": "sv-3",
|
||||
"clusters": ["cluster1"],
|
||||
"os": "CentOS",
|
||||
"adapter": "OpenStack",
|
||||
"roles": [{
|
||||
"display_name": "Network",
|
||||
"name": "os-network"
|
||||
}],
|
||||
"network": {},
|
||||
"state": "Successful"
|
||||
}, {
|
||||
"machine_id": 13,
|
||||
"mac": "28.e5.ee.47.33.66",
|
||||
"switch_ip": "172.29.8.40",
|
||||
"vlan": "2",
|
||||
"port": "4",
|
||||
"name": "sv-4",
|
||||
"clusters": ["cluster1"],
|
||||
"os": "CentOS",
|
||||
"adapter": "OpenStack",
|
||||
"roles": [{
|
||||
"display_name": "Compute",
|
||||
"name": "os-compute-worker"
|
||||
}, {
|
||||
"display_name": "Storage",
|
||||
"name": "os-block-storage-worker"
|
||||
}],
|
||||
"network": {},
|
||||
"state": "Successful"
|
||||
}, {
|
||||
"machine_id": 14,
|
||||
"mac": "28.e5.ee.47.2c.22",
|
||||
"switch_ip": "172.29.8.40",
|
||||
"vlan": "2",
|
||||
"port": "5",
|
||||
"name": "sv-5",
|
||||
"clusters": ["cluster1"],
|
||||
"os": "CentOS",
|
||||
"adapter": "OpenStack",
|
||||
"roles": [{
|
||||
"display_name": "Compute",
|
||||
"name": "os-compute-worker"
|
||||
}],
|
||||
"network": {},
|
||||
"state": "Successful"
|
||||
}, {
|
||||
"machine_id": 15,
|
||||
"mac": "28.e5.ee.47.55.19",
|
||||
"switch_ip": "172.29.8.40",
|
||||
"vlan": "2",
|
||||
"port": "6",
|
||||
"name": "sv-6",
|
||||
"clusters": ["cluster1"],
|
||||
"os": "CentOS",
|
||||
"adapter": "OpenStack",
|
||||
"roles": [{
|
||||
"display_name": "Storage",
|
||||
"name": "os-block-storage-worker"
|
||||
}],
|
||||
"network": {},
|
||||
"state": "Successful"
|
||||
}, {
|
||||
"machine_id": 16,
|
||||
"mac": "28.e5.ee.47.41.b2",
|
||||
"switch_ip": "172.29.8.41",
|
||||
"vlan": "2",
|
||||
"port": "7",
|
||||
"name": "sv-7",
|
||||
"clusters": ["cluster1"],
|
||||
"os": "CentOS",
|
||||
"adapter": "OpenStack",
|
||||
"roles": [{
|
||||
"display_name": "Network",
|
||||
"name": "os-network"
|
||||
}, {
|
||||
"display_name": "Storage",
|
||||
"name": "os-block-storage-worker"
|
||||
}],
|
||||
"network": {},
|
||||
"state": "Successful"
|
||||
}, {
|
||||
"machine_id": 17,
|
||||
"mac": "28.e5.ee.47.25.33",
|
||||
"switch_ip": "172.29.8.41",
|
||||
"vlan": "8",
|
||||
"port": "8",
|
||||
"name": "sv-8",
|
||||
"clusters": ["cluster1"],
|
||||
"os": "CentOS",
|
||||
"adapter": "OpenStack",
|
||||
"roles": [{
|
||||
"display_name": "Network",
|
||||
"name": "os-network"
|
||||
}, {
|
||||
"display_name": "Storage",
|
||||
"name": "os-block-storage-worker"
|
||||
}],
|
||||
"network": {},
|
||||
"state": "Successful"
|
||||
}, {
|
||||
"machine_id": 18,
|
||||
"mac": "28.e5.ee.47.5a.60",
|
||||
"switch_ip": "172.29.8.41",
|
||||
"vlan": "9",
|
||||
"port": "9",
|
||||
"name": "sv-9",
|
||||
"clusters": ["cluster1"],
|
||||
"os": "CentOS",
|
||||
"adapter": "OpenStack",
|
||||
"roles": [{
|
||||
"display_name": "Network",
|
||||
"name": "os-network"
|
||||
}, {
|
||||
"display_name": "Storage",
|
||||
"name": "os-block-storage-worker"
|
||||
}],
|
||||
"network": {},
|
||||
"state": "Successful"
|
||||
}, {
|
||||
"machine_id": 19,
|
||||
"mac": "28.e5.ee.47.c1.82",
|
||||
"switch_ip": "172.29.8.41",
|
||||
"vlan": "10",
|
||||
"port": "10",
|
||||
"name": "sv-10",
|
||||
"clusters": ["cluster1"],
|
||||
"os": "CentOS",
|
||||
"adapter": "OpenStack",
|
||||
"roles": [{
|
||||
"display_name": "Compute",
|
||||
"name": "os-compute-worker"
|
||||
}, ],
|
||||
"network": {},
|
||||
"state": "Successful"
|
||||
}];
|
||||
console.log(servers);
|
||||
return [200, servers, {}];
|
||||
@ -332,15 +469,13 @@ compassAppDev.run(function($httpBackend, settings, $http) {
|
||||
|
||||
$httpBackend.whenPOST(/\.*\/clusters\/[1-9][0-9]*\/action/).respond(function(method, url, data) {
|
||||
console.log(method, url, data);
|
||||
var machines = JSON.parse(data)["add_hosts"]["machines"];
|
||||
angular.forEach(machines, function(machine) {
|
||||
machine.id = Math.floor((Math.random() * 500) + 1);
|
||||
})
|
||||
var actionResponse = {
|
||||
"hosts": [{
|
||||
"id": Math.floor((Math.random() * 100) + 1),
|
||||
"machine_id": 10
|
||||
}, {
|
||||
"id": Math.floor((Math.random() * 100) + 1),
|
||||
"machine_id": 11
|
||||
}]
|
||||
}
|
||||
"hosts": machines
|
||||
};
|
||||
return [200, actionResponse, {}];
|
||||
});
|
||||
|
||||
|
@ -129,6 +129,7 @@ angular.module('compass.services', [])
|
||||
|
||||
|
||||
.factory('wizardFactory', [
|
||||
|
||||
function() {
|
||||
var wizard = {};
|
||||
wizard.init = function() {
|
||||
|
@ -112,10 +112,9 @@
|
||||
Hostname
|
||||
</label>
|
||||
<div class="col-sm-9">
|
||||
<select class="col-xs-10 col-sm-5 ng-pristine ng-valid">
|
||||
<select id="hostname-rule" class="col-xs-10 col-sm-5 ng-pristine ng-valid">
|
||||
<option value="host">Host</option>
|
||||
<option value="switch_ip">Switch IP</option>
|
||||
<option value="switch_alias">Switch Alias</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
@ -125,8 +124,8 @@
|
||||
{{name}} IP
|
||||
</label>
|
||||
<div class="col-sm-9">
|
||||
<input type="text" placeholder="IP Start">
|
||||
<select>
|
||||
<input id="{{name}}-ipstart" type="text" placeholder="IP Start">
|
||||
<select id="{{name}}-increase-num">
|
||||
<option value="1">Increase by 1</option>
|
||||
<option value="2">Increase by 2</option>
|
||||
<option value="3">Increase by 3</option>
|
||||
|
@ -36,7 +36,7 @@
|
||||
|
||||
<div class="row">
|
||||
<div class="table-responsive">
|
||||
<table ng-table="tableParams" class="table table-hover">
|
||||
<table ng-table="tableParams" class="table table-hover table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>
|
||||
|
@ -19,7 +19,7 @@ angular.module('compass.wizard', [
|
||||
if ($stateParams.config == "true") {
|
||||
dataService.getWizardPreConfig().success(function(data) {
|
||||
wizardFactory.preConfig(data);
|
||||
$scope.cluster = wizardFactory.getClusterInfo();
|
||||
$scope.cluster = wizardFactory.getClusterInfo();
|
||||
});
|
||||
}
|
||||
|
||||
@ -78,7 +78,9 @@ angular.module('compass.wizard', [
|
||||
}
|
||||
break;
|
||||
case "review":
|
||||
$state.go("cluster.overview", {'id':$scope.cluster.id});
|
||||
$state.go("cluster.overview", {
|
||||
'id': $scope.cluster.id
|
||||
});
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@ -537,9 +539,66 @@ angular.module('compass.wizard', [
|
||||
};
|
||||
|
||||
$scope.autofill = function() {
|
||||
//TODO: add auto fill
|
||||
alert("Autofill coming soon");
|
||||
// Autofill IP for each interface
|
||||
angular.forEach($scope.interfaces, function(value, key) {
|
||||
var ip_start = $("#" + key + "-ipstart").val();
|
||||
var interval = parseInt($("#" + key + "-increase-num").val());
|
||||
$scope.fillIPBySequence(ip_start, interval, key);
|
||||
})
|
||||
|
||||
// Autofill hostname
|
||||
var hostname_rule = $("#hostname-rule").val();
|
||||
$scope.fillHostname(hostname_rule);
|
||||
};
|
||||
|
||||
$scope.fillHostname = function(rule) {
|
||||
switch (rule) {
|
||||
case "host":
|
||||
var server_index = 1;
|
||||
angular.forEach($scope.servers, function(server) {
|
||||
server.name = "host-" + server_index;
|
||||
server_index++;
|
||||
})
|
||||
break;
|
||||
case "switch_ip":
|
||||
angular.forEach($scope.servers, function(server) {
|
||||
server.name = server.switch_ip.replace(/\./g, "-") + "-p" + server.port;
|
||||
})
|
||||
break;
|
||||
}
|
||||
};
|
||||
|
||||
$scope.fillIPBySequence = function(ipStart, interval, interface) {
|
||||
if (ipStart == "")
|
||||
return;
|
||||
var ipStartParts = ipStart.split(".");
|
||||
var ipParts = ipStartParts.map(function(x) {
|
||||
return parseInt(x);
|
||||
});
|
||||
|
||||
angular.forEach($scope.servers, function(server) {
|
||||
if (ipParts[3] > 255) {
|
||||
ipParts[3] = ipParts[3] - 256;
|
||||
ipParts[2]++;
|
||||
}
|
||||
if (ipParts[2] > 255) {
|
||||
ipParts[2] = ipParts[2] - 256;
|
||||
ipParts[1]++;
|
||||
}
|
||||
if (ipParts[1] > 255) {
|
||||
ipParts[1] = ipParts[1] - 256;
|
||||
ipParts[0]++;
|
||||
}
|
||||
if (ipParts[0] > 255) {
|
||||
server.network[interface].ip = "";
|
||||
return;
|
||||
} else {
|
||||
var ip = ipParts[0] + "." + ipParts[1] + "." + ipParts[2] + "." + ipParts[3]
|
||||
server.network[interface].ip = ip;
|
||||
ipParts[3] = ipParts[3] + interval;
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
.controller('partitionCtrl', function($scope, wizardFactory, dataService) {
|
||||
@ -837,10 +896,10 @@ angular.module('compass.wizard', [
|
||||
|
||||
$scope.currentTab = $scope.tabs[0].url;
|
||||
|
||||
$scope.onClickTab = function (tab) {
|
||||
$scope.onClickTab = function(tab) {
|
||||
$scope.currentTab = tab.url;
|
||||
}
|
||||
|
||||
|
||||
$scope.isActiveTab = function(tabUrl) {
|
||||
return tabUrl == $scope.currentTab;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user