]> git.proxmox.com Git - pve-manager.git/blobdiff - www/manager6/dc/Cluster.js
ui: realm: clarify that the sync jobs really are for the realm
[pve-manager.git] / www / manager6 / dc / Cluster.js
index 5880fbfc68d265d9c6ead9f6163f92c64920ff70..22b62cc8cfaec2995f37ff16bdd81ed8170d1086 100644 (file)
@@ -62,9 +62,19 @@ Ext.define('PVE.ClusterAdministration', {
                    view.on('destroy', view.store.stopUpdate);
                },
 
-               onLoad: function(store, records, success) {
-                   var vm = this.getViewModel();
-                   if (!success || !records || !records[0].data) {
+               onLoad: function(store, records, success, operation) {
+                   let vm = this.getViewModel();
+
+                   let data = records?.[0]?.data;
+                   if (!success || !data || !data.nodelist?.length) {
+                       let error = operation.getError();
+                       if (error) {
+                           let msg = Proxmox.Utils.getResponseErrorMessage(error);
+                           if (error.status !== 424 && !msg.match(/node is not in a cluster/i)) {
+                               // an actual error, not just the "not in a cluster one", so show it!
+                               Proxmox.Utils.setErrorMask(this.getView(), msg);
+                           }
+                       }
                        vm.set('totem', {});
                        vm.set('isInCluster', false);
                        vm.set('nodelist', []);
@@ -75,14 +85,11 @@ Ext.define('PVE.ClusterAdministration', {
                        });
                        return;
                    }
-                   var data = records[0].data;
                    vm.set('totem', data.totem);
                    vm.set('isInCluster', !!data.totem.cluster_name);
                    vm.set('nodelist', data.nodelist);
 
-                   var nodeinfo = Ext.Array.findBy(data.nodelist, function(el) {
-                       return el.name === data.preferred_node;
-                   });
+                   let nodeinfo = data.nodelist.find(el => el.name === data.preferred_node);
 
                    let links = {};
                    let ring_addr = [];
@@ -101,9 +108,9 @@ Ext.define('PVE.ClusterAdministration', {
                },
 
                onCreate: function() {
-                   var view = this.getView();
+                   let view = this.getView();
                    view.store.stopUpdate();
-                   var win = Ext.create('PVE.ClusterCreateWindow', {
+                   Ext.create('PVE.ClusterCreateWindow', {
                        autoShow: true,
                        listeners: {
                            destroy: function() {
@@ -114,8 +121,9 @@ Ext.define('PVE.ClusterAdministration', {
                },
 
                onClusterInfo: function() {
-                   var vm = this.getViewModel();
-                   var win = Ext.create('PVE.ClusterInfoWindow', {
+                   let vm = this.getViewModel();
+                   Ext.create('PVE.ClusterInfoWindow', {
+                       autoShow: true,
                        joinInfo: {
                            ipAddress: vm.get('preferred_node.addr'),
                            fingerprint: vm.get('preferred_node.fp'),
@@ -124,13 +132,12 @@ Ext.define('PVE.ClusterAdministration', {
                            totem: vm.get('totem'),
                        },
                    });
-                   win.show();
                },
 
                onJoin: function() {
-                   var view = this.getView();
+                   let view = this.getView();
                    view.store.stopUpdate();
-                   var win = Ext.create('PVE.ClusterJoinNodeWindow', {
+                   Ext.create('PVE.ClusterJoinNodeWindow', {
                        autoShow: true,
                        listeners: {
                            destroy: function() {
@@ -228,7 +235,7 @@ Ext.define('PVE.ClusterAdministration', {
                        rstore: view.rstore,
                        sorters: {
                            property: 'nodeid',
-                           order: 'DESC',
+                           direction: 'ASC',
                        },
                    }));
                    Proxmox.Utils.monStoreErrors(view, view.rstore);
@@ -237,8 +244,8 @@ Ext.define('PVE.ClusterAdministration', {
                },
 
                onLoad: function(store, records, success) {
-                   var view = this.getView();
-                   var vm = this.getViewModel();
+                   let view = this.getView();
+                   let vm = this.getViewModel();
 
                    if (!success || !records || !records.length) {
                        vm.set('nodecount', 0);
@@ -247,13 +254,11 @@ Ext.define('PVE.ClusterAdministration', {
                    vm.set('nodecount', records.length);
 
                    // show/hide columns according to used links
-                   var linkIndex = view.columns.length;
-                   var columns = Ext.each(view.columns, (col, i) => {
+                   let linkIndex = view.columns.length;
+                   Ext.each(view.columns, (col, i) => {
                        if (col.linkNumber !== undefined) {
                            col.setHidden(true);
-
-                           // save offset at which link columns start, so we
-                           // can address them directly below
+                           // save offset at which link columns start, so we can address them directly below
                            if (i < linkIndex) {
                                linkIndex = i;
                            }
@@ -265,7 +270,7 @@ Ext.define('PVE.ClusterAdministration', {
                            if (linknum > 7) {
                                return;
                            }
-                           view.columns[linkIndex+linknum].setHidden(false);
+                           view.columns[linkIndex + linknum].setHidden(false);
                        },
                    );
                },