PROXMOX : Désactiver le message You do not have valid subscription
Table des matières
Proxmox Virtual Environment (PVE) est une solution de virtualisation libre basée sur l'hyperviseur Linux KVM, et offre aussi une solution de containers avec LXC.
La popup "No Valid Subscription" est une notification qui s'affiche si vous n'avez pas de souscription valide (Enterprise) pour Proxmox.
Nous allons voir dans cet article comment désactiver cette popup.
Cette astuce fonctionne pour Proxmox Virtual Environment (PVE) ET Proxmox Backup Server (PBS).
Cette pop-up est générée par du Javascript via le fichier : /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
Ce fichier est utilisé par Proxmox Virtual Environment (PVE) et Proxmox Backup Server (PBS).
Avant de modifier ce fichier, on en réalise une copie de sauvegarde :
Il suffit d'éditer ce fichier :
Chercher la ligne contenant ceci (environ à la ligne 520 sur Proxmox 7.3) :
On va modifier cette ligne pour ne rien faire dans ce cas (continuer le script de la section else du dessous) et mettre le bloc du dessous qui génère la popup dans un if toujours invalide :
Déconnectez-vous, et relancez pve-proxy (pour Proxmox Virtual Environment) et/ou proxmox-backup-proxy (pour Proxmox Backup Server) :
Rafraîchissez la page via Ctrl+F5 pour ignorer le cache du navigateur.
Reconnectez-vous et constatez que le message a disparu.
Pour éviter de faire la manip manuellement, je vous propose un petit script à lancer manuellement.
On y place le contenu suivant :
Rendez le script exécutable :
Et voilà, à la prochaine mise à jour, vous naurez qu'à exécuter le script :
Si la page est blanche vous pouvez revenir en arrière via :
Ou bien réémerger le paquet proxmox-widget-toolkit :
Cette pop-up est générée par du Javascript mais est générée dans un fichier PERL : /usr/share/perl5/PVE/API2/Subscription.pm
Il suffit d'éditer ce fichier :
Chercher la ligne contenant ceci (environ à la ligne 117 sur Proxmox 7.3) :
Et de placer la variable status à Active :
Déconnectez-vous, et relancez pve-proxy :
Rafraîchissez la page via Ctrl+F5 pour ignorer le cache du navigateur.
Reconnectez-vous et constatez que le message a disparu.
Pour éviter de faire la manip manuellement, je vous propose un petit script à lancer manuellement.
Voici la commande onliner à lancer dans un shell si vous voulez (car à chaque mise à jour du paquet de proxmox, le fichier PERL sera réinitialisé).
On y place le contenu suivant :
Rendez le script exécutable :
Et voilà, à la prochaine mise à jour, vous naurez qu'à exécuter le script :
Introduction
Proxmox Virtual Environment (PVE) est une solution de virtualisation libre basée sur l'hyperviseur Linux KVM, et offre aussi une solution de containers avec LXC.
La popup "No Valid Subscription" est une notification qui s'affiche si vous n'avez pas de souscription valide (Enterprise) pour Proxmox.
Nous allons voir dans cet article comment désactiver cette popup.
Cette astuce fonctionne pour Proxmox Virtual Environment (PVE) ET Proxmox Backup Server (PBS).
Désactiver la popup
Cette pop-up est générée par du Javascript via le fichier : /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
Ce fichier est utilisé par Proxmox Virtual Environment (PVE) et Proxmox Backup Server (PBS).
Avant de modifier ce fichier, on en réalise une copie de sauvegarde :
Code BASH :
cp /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js.bak
Il suffit d'éditer ce fichier :
Code BASH :
vim /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
Chercher la ligne contenant ceci (environ à la ligne 520 sur Proxmox 7.3) :
Code JAVASCRIPT :
.data.status.toLowerCase() !== 'active') {
On va modifier cette ligne pour ne rien faire dans ce cas (continuer le script de la section else du dessous) et mettre le bloc du dessous qui génère la popup dans un if toujours invalide :
Code JAVASCRIPT :
.data.status.toLowerCase() !== 'active') { orig_cmd(); } else if ( false ) {
Déconnectez-vous, et relancez pve-proxy (pour Proxmox Virtual Environment) et/ou proxmox-backup-proxy (pour Proxmox Backup Server) :
Code BASH :
systemctl restart pveproxy.service
Code BASH :
systemctl restart proxmox-backup-proxy.service
Rafraîchissez la page via Ctrl+F5 pour ignorer le cache du navigateur.
Reconnectez-vous et constatez que le message a disparu.
BONUS : Script à lancer à chaque mise à jour
Pour éviter de faire la manip manuellement, je vous propose un petit script à lancer manuellement.
Code BASH :
vi /root/remove-popup.sh
On y place le contenu suivant :
Code BASH :
#! /bin/bash # Patch du fichier JS sed -i.bak "s/.data.status.toLowerCase() !== 'active') {/.data.status.toLowerCase() !== 'active') { orig_cmd\(\); } else if ( false ) {/" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js # Restart PVE Web systemctl restart pveproxy.service # Restart PBS Web systemctl restart proxmox-backup-proxy.service
Rendez le script exécutable :
Code BASH :
chmod +x /root/remove-popup.sh
Et voilà, à la prochaine mise à jour, vous naurez qu'à exécuter le script :
Code BASH :
/root/remove-popup.sh
Retour arrière en cas de problème
Si la page est blanche vous pouvez revenir en arrière via :
Code BASH :
mv /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js.bak /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
Ou bien réémerger le paquet proxmox-widget-toolkit :
Code BASH :
apt reinstall proxmox-widget-toolkit
ARCHIVES Désactiver la popup (Ancienne méthode )
Cette pop-up est générée par du Javascript mais est générée dans un fichier PERL : /usr/share/perl5/PVE/API2/Subscription.pm
Il suffit d'éditer ce fichier :
Code BASH :
vim /usr/share/perl5/PVE/API2/Subscription.pm
Chercher la ligne contenant ceci (environ à la ligne 117 sur Proxmox 7.3) :
Code PERL :
status => "notfound",
Et de placer la variable status à Active :
Code PERL :
status => "active",
Déconnectez-vous, et relancez pve-proxy :
Code BASH :
systemctl restart pveproxy.service
Rafraîchissez la page via Ctrl+F5 pour ignorer le cache du navigateur.
Reconnectez-vous et constatez que le message a disparu.
ARCHIVES BONUS : Script à lancer à chaque mise à jour (Ancienne méthode )
Pour éviter de faire la manip manuellement, je vous propose un petit script à lancer manuellement.
Voici la commande onliner à lancer dans un shell si vous voulez (car à chaque mise à jour du paquet de proxmox, le fichier PERL sera réinitialisé).
Code BASH :
vi /root/remove-popup.sh
On y place le contenu suivant :
Code BASH :
#! /bin/bash sed -i.bak 's/notfound/active/g' /usr/share/perl5/PVE/API2/Subscription.pm && systemctl restart pveproxy.service
Rendez le script exécutable :
Code BASH :
chmod +x /root/remove-popup.sh
Et voilà, à la prochaine mise à jour, vous naurez qu'à exécuter le script :
Code BASH :
/root/remove-popup.sh