In questo post andremo ad affrontare un argomento difficilissimo ed importante, anche alla luce di una situazione di errore che si è verificata dal 4 di Aprile 2022 e che fino alla giornata di Pasqua ha causato diversi disservizi e problemi a 400 titolari di Hosting Cloud Atlassian.
Cronostoria
Il 4 di Aprile 2022 è una giornata che non si dimenticherà di sicuro, un pò come il 25 Aprile 2017, quando successe un problema similare sempre pe il Cloud Atlassian (me lo ricordo bene anche io).
Da quella data circa 400 clienti hanno riscontrato un problema ad accedere ai propri cloud. Il problema che riscontravano era il seguente:
Quanto successo è stato riassunto nel seguente POST ufficiale della Atlassian, dove è stato spiegato che cosa è successo e come la Atlassian ha impiegato tutte le sue energie per arrivare a risolvere il problema.
Il problema è stato causato dalla disattivazione della App Legacy Insight, che è stata completamente integrata nei sistemi cloud. L’esecuzione di uno script ha causato questo malfunzionamento disattivando 400 siti. Dal 4 di Aprile al 18 di Aprile 2022. SI rimanda comunque al post ufficiale di Atlassian per avere tutti i dettagli (per maggiore comodità, il post è disponibile in diverse lingue anche per aiutare meglio la comprensione).
Il punto dolente
Questo errore ha comunque scoperto un nervo molto delicato . se il sito cloud viene bloccato per un qualsiasi motivo, l’operatività di una azienda viene sicuramente bloccata e compromessa. La faccenda è molto seria.
In aggiunta, dalla rilevazione del problema alla risoluzione sono passate diverse giornate: lo abbiamo visto anche dalle testate di alcuni siti specializzati che hanno riportato titoli piuttosto gravi e pesanti. Questo sicuramente non è una cosa buona.
Diamoci da fare
Sono un Partner Atlassian e di conseguenza cerco di supportare i clienti usando tutti gli strumenti a nostra disposizione per poter gestire questa situazione di emergenza. In questo caso voglio applicare un insegnamento che possiamo ricavare da questa citazione:
“Sii come la scogliera contro cui le onde si infrangono continuamente; ma resta saldo e doma la furia dell’acqua che lo circonda”.
Marco Aurelio
Cosa possiamo fare per cercare di rimediare? Una prima soluzione ce la fornisce Mraddon, che in un primo suo post del 2019 ci spiega come realizzare un backup dei dati Cloud e averlo a disposizione in locale. Il tutto si basa su di uno script in Python che permette di poter realizzare questa operazione richiamando le API che lo stesso sito cloud ci mette a disposizione.
In particolare l’ultima versione di questo script, reperibile da questo link, dove abbiamo tutte le istruzioni.
Installiamo su server questo script
Nel post di Mraddon precedentemente citato e nel seguente post viene indicato come impostare lo script su Windows. In questo post vedremo come impostare lo script su Linux Ubuntu, di cui sono un grande FAN 😀
Attivare il terminale ed eseguire i seguenti comndi:
sudo apt-get update
sudo apt-get -y install python3.9-dev python3-pip virtualenv
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.9 1
SI tratta di comandi che eseguono la installazione di Python (versione richiesta) e di PIP ovvero il comando di Python per installare tutte le librerie richieste per potre lanciare lo script. Ovviamente questi comandi devono poi essere aggiornati di conseguenza con l’aggiornamento della versione di Ubuntu.
Scarichiamo il codice presente sul GITHUB su di una cartella locale del server e e da li eseguire i seguenti comandi:
virtualenv venv -p /usr/bin/python
source venv/bin/activate
pip install -r requirements.tx
I tre comandi servono ad attivare python in modo da poter richiamare lo script.
A questo punto occorre che sia configurato lo script impostando sia il Token per la login dell’utente amministratore, dal quale lanciare le API per avere a disposizione il backup.
#Backup Jira
python backup.py -j
#Backup Confluence
python backup.py -c
Conclusioni
Una volta a disposizione questo script, abbiamo la possibilità di avere in locale direttamente i file di Backup. Abbiamo quindi il vantaggio di poter usare questi backup per creare una nuova istanza Cloud e di conseguenza possiamo ripristinare una prima operatività in tempi abbastanza brevi,
In aggiunta possiamo marcare in maniera opportuna tutte le nuove issue che sono create nella nuova istanza in modo da decidere, in fase successiva, il ripristino delle stesse, ma queste saranno oggetto di un altro POST di questo blog, dove andremo a parlare di integrazioni e di come far comunicare due istanze cloud di Jira (ed anche di Confluence…. l’argomento è molto vasto).
In aggiunta credo che le stesse procedure Atlassian di ripristino e di backup saranno sicuramente riviste per garantire un ripristino ed un backup in tempi brevi ed evitare queste situazioni molto pericolose. Tutti noi dobbiamo imparare da queste esperienze.
Anche in questo caso l’esperienza che abbiamo passato non deve essere vista come un problema e basta Occorre anche che ci aiuti a crescere e a migliorarci.
Ringraziamenti Doverosi
Ultimo ma non ultimo, sono i ringraziamenti all’autore dello script, che permette di poter realizzare questa azione.