]> git.proxmox.com Git - pve-manager.git/blobdiff - www/manager6/node/Config.js
Revert "ui: temporary disable repo config entry"
[pve-manager.git] / www / manager6 / node / Config.js
index 8b2b802a00a94fe604b445636df2273658edac82..4c54da3bc3c833c715dd66be92f03f89c5fbb48f 100644 (file)
@@ -16,7 +16,7 @@ Ext.define('PVE.node.Config', {
 
        me.statusStore = Ext.create('Proxmox.data.ObjectStore', {
            url: "/api2/json/nodes/" + nodename + "/status",
-           interval: 1000
+           interval: 5000,
        });
 
        var node_command = function(cmd) {
@@ -27,7 +27,7 @@ Ext.define('PVE.node.Config', {
                waitMsgTarget: me,
                failure: function(response, opts) {
                    Ext.Msg.alert(gettext('Error'), response.htmlStatus);
-               }
+               },
            });
        };
 
@@ -45,10 +45,10 @@ Ext.define('PVE.node.Config', {
                                nodename: nodename,
                                title: gettext('Bulk Start'),
                                btnText: gettext('Start'),
-                               action: 'startall'
+                               action: 'startall',
                            });
                            win.show();
-                       }
+                       },
                    },
                    {
                        text: gettext('Bulk Stop'),
@@ -58,10 +58,10 @@ Ext.define('PVE.node.Config', {
                                nodename: nodename,
                                title: gettext('Bulk Stop'),
                                btnText: gettext('Stop'),
-                               action: 'stopall'
+                               action: 'stopall',
                            });
                            win.show();
-                       }
+                       },
                    },
                    {
                        text: gettext('Bulk Migrate'),
@@ -71,16 +71,16 @@ Ext.define('PVE.node.Config', {
                                nodename: nodename,
                                title: gettext('Bulk Migrate'),
                                btnText: gettext('Migrate'),
-                               action: 'migrateall'
+                               action: 'migrateall',
                            });
                            win.show();
-                       }
-                   }
-               ]
-           })
+                       },
+                   },
+               ],
+           }),
        });
 
-       var restartBtn = Ext.create('Proxmox.button.Button', {
+       let restartBtn = Ext.create('Proxmox.button.Button', {
            text: gettext('Reboot'),
            disabled: !caps.nodes['Sys.PowerMgmt'],
            dangerous: true,
@@ -88,7 +88,7 @@ Ext.define('PVE.node.Config', {
            handler: function() {
                node_command('reboot');
            },
-           iconCls: 'fa fa-undo'
+           iconCls: 'fa fa-undo',
        });
 
        var shutdownBtn = Ext.create('Proxmox.button.Button', {
@@ -99,14 +99,14 @@ Ext.define('PVE.node.Config', {
            handler: function() {
                node_command('shutdown');
            },
-           iconCls: 'fa fa-power-off'
+           iconCls: 'fa fa-power-off',
        });
 
        var shellBtn = Ext.create('PVE.button.ConsoleButton', {
            disabled: !caps.nodes['Sys.Console'],
            text: gettext('Shell'),
            consoleType: 'shell',
-           nodename: nodename
+           nodename: nodename,
        });
 
        me.items = [];
@@ -114,130 +114,143 @@ Ext.define('PVE.node.Config', {
        Ext.apply(me, {
            title: gettext('Node') + " '" + nodename + "'",
            hstateid: 'nodetab',
-           defaults: { statusStore: me.statusStore },
-           tbar: [ restartBtn, shutdownBtn, shellBtn, actionBtn]
+           defaults: {
+               statusStore: me.statusStore,
+           },
+           tbar: [restartBtn, shutdownBtn, shellBtn, actionBtn],
        });
 
        if (caps.nodes['Sys.Audit']) {
            me.items.push(
                {
+                   xtype: 'pveNodeSummary',
                    title: gettext('Summary'),
                    iconCls: 'fa fa-book',
                    itemId: 'summary',
-                   xtype: 'pveNodeSummary'
                },
                {
+                   xtype: 'pveNotesView',
                    title: gettext('Notes'),
                    iconCls: 'fa fa-sticky-note-o',
                    itemId: 'notes',
-                   xtype: 'pveNotesView'
-               }
+               },
            );
        }
 
        if (caps.nodes['Sys.Console']) {
            me.items.push(
                {
+                   xtype: 'pveNoVncConsole',
                    title: gettext('Shell'),
                    iconCls: 'fa fa-terminal',
                    itemId: 'jsconsole',
-                   xtype: 'pveNoVncConsole',
                    consoleType: 'shell',
                    xtermjs: true,
-                   nodename: nodename
-               }
+                   nodename: nodename,
+               },
            );
        }
 
        if (caps.nodes['Sys.Audit']) {
            me.items.push(
                {
+                   xtype: 'proxmoxNodeServiceView',
                    title: gettext('System'),
                    iconCls: 'fa fa-cogs',
                    itemId: 'services',
                    expandedOnInit: true,
+                   restartCommand: 'reload', // avoid disruptions
                    startOnlyServices: {
                        'pveproxy': true,
                        'pvedaemon': true,
-                       'pve-cluster': true
+                       'pve-cluster': true,
                    },
                    nodename: nodename,
                    onlineHelp: 'pve_service_daemons',
-                   xtype: 'proxmoxNodeServiceView'
                },
                {
+                   xtype: 'proxmoxNodeNetworkView',
                    title: gettext('Network'),
                    iconCls: 'fa fa-exchange',
                    itemId: 'network',
+                   showApplyBtn: true,
                    groups: ['services'],
                    nodename: nodename,
                    onlineHelp: 'sysadmin_network_configuration',
-                   xtype: 'proxmoxNodeNetworkView'
                },
                {
+                   xtype: 'pveCertificatesView',
                    title: gettext('Certificates'),
                    iconCls: 'fa fa-certificate',
                    itemId: 'certificates',
                    groups: ['services'],
                    nodename: nodename,
-                   xtype: 'pveCertificatesView'
                },
                {
+                   xtype: 'proxmoxNodeDNSView',
                    title: gettext('DNS'),
                    iconCls: 'fa fa-globe',
                    groups: ['services'],
                    itemId: 'dns',
                    nodename: nodename,
                    onlineHelp: 'sysadmin_network_configuration',
-                   xtype: 'proxmoxNodeDNSView'
                },
                {
+                   xtype: 'proxmoxNodeHostsView',
                    title: gettext('Hosts'),
                    iconCls: 'fa fa-globe',
                    groups: ['services'],
                    itemId: 'hosts',
                    nodename: nodename,
                    onlineHelp: 'sysadmin_network_configuration',
-                   xtype: 'proxmoxNodeHostsView'
                },
                {
+                   xtype: 'proxmoxNodeTimeView',
                    title: gettext('Time'),
                    itemId: 'time',
                    groups: ['services'],
                    nodename: nodename,
-                   xtype: 'proxmoxNodeTimeView',
-                   iconCls: 'fa fa-clock-o'
+                   iconCls: 'fa fa-clock-o',
                });
        }
 
        if (caps.nodes['Sys.Syslog']) {
            me.items.push({
+               xtype: 'proxmoxJournalView',
                title: 'Syslog',
                iconCls: 'fa fa-list',
                groups: ['services'],
                disabled: !caps.nodes['Sys.Syslog'],
                itemId: 'syslog',
-               xtype: 'proxmoxLogView',
-               url: "/api2/extjs/nodes/" + nodename + "/syslog",
-               log_select_timespan: 1
+               url: "/api2/extjs/nodes/" + nodename + "/journal",
            });
 
            if (caps.nodes['Sys.Modify']) {
                me.items.push({
+                   xtype: 'proxmoxNodeAPT',
                    title: gettext('Updates'),
                    iconCls: 'fa fa-refresh',
+                   expandedOnInit: true,
                    disabled: !caps.nodes['Sys.Console'],
                    // do we want to link to system updates instead?
                    itemId: 'apt',
-                   xtype: 'proxmoxNodeAPT',
                    upgradeBtn: {
                        xtype: 'pveConsoleButton',
                        disabled: Proxmox.UserName !== 'root@pam',
                        text: gettext('Upgrade'),
                        consoleType: 'upgrade',
-                       nodename: nodename
+                       nodename: nodename,
                    },
-                   nodename: nodename
+                   nodename: nodename,
+               });
+
+               me.items.push({
+                   xtype: 'proxmoxNodeAPTRepositories',
+                   title: gettext('Repositories'),
+                   iconCls: 'fa fa-files-o',
+                   itemId: 'aptrepositories',
+                   nodename: nodename,
+                   groups: ['apt'],
                });
            }
        }
@@ -251,7 +264,7 @@ Ext.define('PVE.node.Config', {
                    allow_iface: true,
                    base_url: '/nodes/' + nodename + '/firewall/rules',
                    list_refs_url: '/cluster/firewall/refs',
-                   itemId: 'firewall'
+                   itemId: 'firewall',
                },
                {
                    xtype: 'pveFirewallOptions',
@@ -261,7 +274,7 @@ Ext.define('PVE.node.Config', {
                    groups: ['firewall'],
                    base_url: '/nodes/' + nodename + '/firewall/options',
                    fwtype: 'node',
-                   itemId: 'firewall-options'
+                   itemId: 'firewall-options',
                });
        }
 
@@ -269,35 +282,38 @@ Ext.define('PVE.node.Config', {
        if (caps.nodes['Sys.Audit']) {
            me.items.push(
                {
+                   xtype: 'pmxDiskList',
                    title: gettext('Disks'),
                    itemId: 'storage',
                    expandedOnInit: true,
                    iconCls: 'fa fa-hdd-o',
-                   xtype: 'pveNodeDiskList'
+                   nodename: nodename,
+                   includePartitions: true,
+                   supportsWipeDisk: true,
                },
                {
+                   xtype: 'pveLVMList',
                    title: 'LVM',
                    itemId: 'lvm',
                    onlineHelp: 'chapter_lvm',
                    iconCls: 'fa fa-square',
                    groups: ['storage'],
-                   xtype: 'pveLVMList'
                },
                {
+                   xtype: 'pveLVMThinList',
                    title: 'LVM-Thin',
                    itemId: 'lvmthin',
                    onlineHelp: 'chapter_lvm',
                    iconCls: 'fa fa-square-o',
                    groups: ['storage'],
-                   xtype: 'pveLVMThinList'
                },
                {
+                   xtype: 'pveDirectoryList',
                    title: Proxmox.Utils.directoryText,
                    itemId: 'directory',
                    onlineHelp: 'chapter_storage',
                    iconCls: 'fa fa-folder',
                    groups: ['storage'],
-                   xtype: 'pveDirectoryList'
                },
                {
                    title: 'ZFS',
@@ -305,48 +321,56 @@ Ext.define('PVE.node.Config', {
                    onlineHelp: 'chapter_zfs',
                    iconCls: 'fa fa-th-large',
                    groups: ['storage'],
-                   xtype: 'pveZFSList'
+                   xtype: 'pveZFSList',
                },
                {
+                   xtype: 'pveNodeCephStatus',
                    title: 'Ceph',
                    itemId: 'ceph',
                    iconCls: 'fa fa-ceph',
-                   xtype: 'pveNodeCephStatus'
-               },
-               {
-                   xtype: 'pveReplicaView',
-                   iconCls: 'fa fa-retweet',
-                   title: gettext('Replication'),
-                   itemId: 'replication'
                },
                {
                    xtype: 'pveNodeCephConfigCrush',
                    title: gettext('Configuration'),
                    iconCls: 'fa fa-gear',
                    groups: ['ceph'],
-                   itemId: 'ceph-config'
+                   itemId: 'ceph-config',
                },
                {
-                   xtype: 'pveNodeCephMonList',
+                   xtype: 'pveNodeCephMonMgr',
                    title: gettext('Monitor'),
                    iconCls: 'fa fa-tv',
                    groups: ['ceph'],
-                   itemId: 'ceph-monlist'
+                   itemId: 'ceph-monlist',
                },
                {
                    xtype: 'pveNodeCephOsdTree',
                    title: 'OSD',
                    iconCls: 'fa fa-hdd-o',
                    groups: ['ceph'],
-                   itemId: 'ceph-osdtree'
+                   itemId: 'ceph-osdtree',
+               },
+               {
+                   xtype: 'pveNodeCephFSPanel',
+                   title: 'CephFS',
+                   iconCls: 'fa fa-folder',
+                   groups: ['ceph'],
+                   nodename: nodename,
+                   itemId: 'ceph-cephfspanel',
                },
                {
                    xtype: 'pveNodeCephPoolList',
                    title: 'Pools',
                    iconCls: 'fa fa-sitemap',
                    groups: ['ceph'],
-                   itemId: 'ceph-pools'
-               }
+                   itemId: 'ceph-pools',
+               },
+               {
+                   xtype: 'pveReplicaView',
+                   iconCls: 'fa fa-retweet',
+                   title: gettext('Replication'),
+                   itemId: 'replication',
+               },
            );
        }
 
@@ -359,16 +383,17 @@ Ext.define('PVE.node.Config', {
                    groups: ['firewall'],
                    onlineHelp: 'chapter_pve_firewall',
                    url: '/api2/extjs/nodes/' + nodename + '/firewall/log',
-                   itemId: 'firewall-fwlog'
+                   itemId: 'firewall-fwlog',
                },
                {
+                   xtype: 'cephLogView',
                    title: gettext('Log'),
                    itemId: 'ceph-log',
                    iconCls: 'fa fa-list',
                    groups: ['ceph'],
                    onlineHelp: 'chapter_pveceph',
-                   xtype: 'proxmoxLogView',
-                   url: "/api2/extjs/nodes/" + nodename + "/ceph/log"
+                   url: "/api2/extjs/nodes/" + nodename + "/ceph/log",
+                   nodename: nodename,
                });
        }
 
@@ -378,25 +403,31 @@ Ext.define('PVE.node.Config', {
                iconCls: 'fa fa-list',
                itemId: 'tasks',
                nodename: nodename,
-               xtype: 'proxmoxNodeTasks'
+               xtype: 'proxmoxNodeTasks',
+               extraFilter: [
+                   {
+                       xtype: 'pveGuestIDSelector',
+                       fieldLabel: gettext('VMID'),
+                       allowBlank: true,
+                       name: 'vmid',
+                   },
+               ],
            },
            {
                title: gettext('Subscription'),
                iconCls: 'fa fa-support',
                itemId: 'support',
                xtype: 'pveNodeSubscription',
-               nodename: nodename
-           }
+               nodename: nodename,
+           },
        );
 
        me.callParent();
 
-       me.mon(me.statusStore, 'load', function(s, records, success) {
-           var uptimerec = s.data.get('uptime');
-           var powermgmt = uptimerec ? uptimerec.data.value : false;
-           if (!caps.nodes['Sys.PowerMgmt']) {
-               powermgmt = false;
-           }
+       me.mon(me.statusStore, 'load', function(store, records, success) {
+           let uptimerec = store.data.get('uptime');
+           let powermgmt = caps.nodes['Sys.PowerMgmt'] && uptimerec && uptimerec.data.value;
+
            restartBtn.setDisabled(!powermgmt);
            shutdownBtn.setDisabled(!powermgmt);
            shellBtn.setDisabled(!powermgmt);
@@ -409,5 +440,5 @@ Ext.define('PVE.node.Config', {
        me.on('destroy', function() {
            me.statusStore.stopUpdate();
        });
-    }
+    },
 });