Cluster mode and type options in creation form
This commit is contained in:
parent
95325b4e16
commit
f932227039
@ -26,6 +26,14 @@ define(function() {
|
||||
if (!attrs.release) {
|
||||
errors.release = 'Please choose OpenStack release';
|
||||
}
|
||||
if (attrs.mode == 'ha') {
|
||||
var redundancy = parseInt(attrs.redundancy, 10);
|
||||
if (_.isNaN(redundancy)) {
|
||||
errors.redundancy = 'Please enter integer number';
|
||||
} else if (redundancy < 2 || redundancy > 9) {
|
||||
errors.redundancy = 'Please enter number between 2 and 9';
|
||||
}
|
||||
}
|
||||
return _.isEmpty(errors) ? null : errors;
|
||||
},
|
||||
locked: function() {
|
||||
|
@ -12,7 +12,7 @@ function(models, createClusterDialogTemplate) {
|
||||
events: {
|
||||
'click .create-cluster-btn': 'createCluster',
|
||||
'keydown input': 'onInputKeydown',
|
||||
'click .dialog-node': 'toggleNode'
|
||||
'change input[name=mode]': 'toggleRedundancyInput'
|
||||
},
|
||||
createCluster: function() {
|
||||
this.$('.help-inline').text('');
|
||||
@ -26,21 +26,25 @@ function(models, createClusterDialogTemplate) {
|
||||
}, this);
|
||||
cluster.set({
|
||||
name: this.$('input[name=name]').val(),
|
||||
release: this.$('select[name=release]').val()
|
||||
release: this.$('select[name=release]').val(),
|
||||
type: this.$('input[name=type]:checked').val(),
|
||||
mode: this.$('input[name=mode]:checked').val(),
|
||||
redundancy: this.$('input[name=redundancy]').val()
|
||||
});
|
||||
if (cluster.isValid()) {
|
||||
if (cluster.get('mode') != 'ha') cluster.unset('redundancy');
|
||||
cluster.save({}, {success: _.bind(function() {
|
||||
this.collection.fetch();
|
||||
}, this)});
|
||||
this.$el.modal('hide');
|
||||
}
|
||||
},
|
||||
toggleRedundancyInput: function() {
|
||||
this.$('.redundancy-control-group').toggleClass('hide', this.$('input[name=mode]:checked').val() != 'ha');
|
||||
},
|
||||
onInputKeydown: function(e) {
|
||||
if (e.which == 13) this.createCluster();
|
||||
},
|
||||
toggleNode: function(e) {
|
||||
$(e.currentTarget).toggleClass('node-checked').toggleClass('node-unchecked');
|
||||
},
|
||||
renderReleases: function(e) {
|
||||
var input = this.$('select[name=release]');
|
||||
input.html('');
|
||||
|
@ -8,17 +8,54 @@
|
||||
<div class="control-group">
|
||||
<label class="control-label">Name</label>
|
||||
<div class="controls">
|
||||
<input type="text" class="span4" name="name">
|
||||
<input type="text" class="input-large" name="name">
|
||||
<span class="help-inline"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label">OpenStack Release</label>
|
||||
<div class="controls">
|
||||
<select class="span4" name="release"></select>
|
||||
<select class="input-large" name="release"></select>
|
||||
<span class="help-inline"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label">Deployment Mode</label>
|
||||
<div class="controls">
|
||||
<label class="radio">
|
||||
<input type="radio" name="mode" value="simple" checked>
|
||||
Simple mode
|
||||
</label>
|
||||
<label class="radio">
|
||||
<input type="radio" name="mode" value="ha">
|
||||
HA mode
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group redundancy-control-group hide">
|
||||
<label class="control-label">Number of controllers</label>
|
||||
<div class="controls">
|
||||
<input type="number" class="input-mini" name="redundancy" value="2">
|
||||
<span class="help-inline"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label">Cluster Type</label>
|
||||
<div class="controls">
|
||||
<label class="radio">
|
||||
<input type="radio" name="type" value="both" checked>
|
||||
Compute and storage
|
||||
</label>
|
||||
<label class="radio">
|
||||
<input type="radio" name="type" value="compute">
|
||||
Compute only
|
||||
</label>
|
||||
<label class="radio">
|
||||
<input type="radio" name="type" value="storage">
|
||||
Storage only
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
</form>
|
||||
</div>
|
||||
|
Loading…
Reference in New Issue
Block a user