[pve-devel] [PATCH manager] HA: Add a warning/info message for HA setups < 3 votes fix: #1228
Caspar Smit
casparsmit at supernas.eu
Fri Mar 3 14:57:45 CET 2017
Hi dev team,
This commit introduces a permission denied screen when not logged in as
'root at pam' and clicking on Datacenter->HA->Resources->Add (or Edit)
After clicking the permission denied screen away, you can still add/edit
the HA resource so it has no use at all.
Kind regards,
Caspar Smit
2016-12-29 12:04 GMT+01:00 Emmanuel Kasper <e.kasper at proxmox.com>:
> ---
> www/manager6/ha/ResourceEdit.js | 37 ++++++++++++++++++++++++++++++
> ++++++-
> 1 file changed, 36 insertions(+), 1 deletion(-)
>
> diff --git a/www/manager6/ha/ResourceEdit.js b/www/manager6/ha/
> ResourceEdit.js
> index 4dc7474..06dda10 100644
> --- a/www/manager6/ha/ResourceEdit.js
> +++ b/www/manager6/ha/ResourceEdit.js
> @@ -22,6 +22,7 @@ Ext.define('PVE.ha.VMResourceInputPanel', {
>
> initComponent : function() {
> var me = this;
> + var MIN_QUORUM_VOTES = 3;
>
> var disabledHint = Ext.createWidget({
> xtype: 'displayfield', //submitValue is false, so we don't get
> submitted
> @@ -31,6 +32,39 @@ Ext.define('PVE.ha.VMResourceInputPanel', {
> hidden: true
> });
>
> + var fewVotesHint = Ext.createWidget({
> + itemId: 'fewVotesHint',
> + xtype: 'displayfield',
> + userCls: 'pve-hint',
> + updateValue: function(votes) {
> + var me = this;
> + me.setValue(gettext('You need at least three quorum votes
> for a reliable HA cluster. ' +
> + 'See the online help for details. Current votes: ') +
> votes);
> + },
> + hidden: true
> + });
> +
> + PVE.Utils.API2Request({
> + url: '/cluster/config/nodes',
> + method: 'GET',
> + failure: function(response) {
> + Ext.Msg.alert(gettext('Error'), response.htmlStatus);
> + },
> + success: function(response) {
> + var nodes = response.result.data;
> + var votes = 0;
> + Ext.Array.forEach(nodes, function(node) {
> + var vote = parseInt(node.quorum_votes, 10); // parse
> as base 10
> + votes += vote || 0; // parseInt might return NaN,
> which is false
> + });
> +
> + if (votes < MIN_QUORUM_VOTES) {
> + fewVotesHint.updateValue(votes);
> + fewVotesHint.setVisible(true);
> + }
> + }
> + });
> +
> me.column1 = [
> {
> xtype: me.vmid ? 'displayfield' : 'pveGuestIDSelector',
> @@ -100,7 +134,8 @@ Ext.define('PVE.ha.VMResourceInputPanel', {
> xtype: 'textfield',
> name: 'comment',
> fieldLabel: gettext('Comment')
> - }
> + },
> + fewVotesHint
> ];
>
> me.callParent();
> --
> 2.1.4
>
>
> _______________________________________________
> pve-devel mailing list
> pve-devel at pve.proxmox.com
> http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
>
More information about the pve-devel
mailing list