Di panduan ini saya jelaskan cara meng-upgrade instalasi Carbonio yang sudah ada menggunakan Ansible playbook. Sebelum memulai, pastikan kalian sudah memenuhi semua requirement yang ada di bagian Requirements & Preliminaries di bawah.
Requirements & Preliminaries
Sebelum memulai prosedur upgrade dengan Ansible, perhatikan poin-poin berikut:
- Versi terbaru dari collection Ansible Galaxy
carbonio_upgradeharus sudah terpasang. - Prosedur upgrade ini tetap berjalan meskipun Carbonio awalnya diinstall secara manual, selama inventory diisi dengan benar sesuai data infrastruktur kalian.
- Versi Carbonio saat ini tidak jadi masalah. Kalian bisa upgrade dari versi supported mana pun, dan sistem akan di-upgrade ke release terbaru yang tersedia.
- Collection Ansible Galaxy ini meng-update semua system package yang tersedia dari repository yang aktif, bukan hanya package Carbonio. Untuk menghindari upgrade yang tidak diinginkan, disable atau comment repository yang tidak ingin dipakai Ansible sebelum menjalankan playbook.
- Prosedur upgrade tidak mengubah sistem chat yang sedang dipakai. Kalau kalian masih memakai legacy Chats, itu akan dibiarkan apa adanya, tidak dihapus, tidak diset read-only, dan tidak dimigrasi ke sistem Chats yang baru.
Install atau Upgrade Collection carbonio_upgrade
Untuk menginstall atau meng-update collection Ansible Galaxy carbonio_upgrade, jalankan perintah berikut:
ansible-galaxy collection install zxbot.carbonio_upgrade -U
Flag -U memastikan collection akan diinstall jika belum ada, atau di-update ke versi terbaru jika sudah terpasang. Perintah ini memasang seluruh infrastruktur Ansible yang dibutuhkan untuk melakukan upgrade Carbonio.
Menjalankan Upgrade
Untuk menjalankan upgrade, pindah dulu ke direktori tempat file inventory instalasi kalian berada (di bagian Ansible Setup namanya data), lalu jalankan perintah di bawah. Sebelum menjalankannya, perhatikan hal berikut:
- Perintah ini secara otomatis akan menghapus semua dependency yang tidak lagi terpakai di sistem. Untuk mencegah perilaku ini, tambahkan opsi
--extra-vars skip_autoremove=1pada command line. - Package yang diinstall manual dan sudah tidak dipakai lagi tidak akan dihapus otomatis. Kalian perlu menghapusnya sendiri.
ansible-playbook zxbot.carbonio_upgrade.carbonio_upgrade
-u root -i carbonio-inventory
Kalau prosedur tidak selesai dengan sukses, kalian bisa menjalankan perintah tersebut sekali lagi. Pada percobaan kedua, task yang sudah berhasil dijalankan akan dilewati. Untuk detailnya, lihat bagian Troubleshooting Ansible Installation.
Penutup
Intinya, upgrade Carbonio via Ansible cukup ringkas: install atau update collection carbonio_upgrade, masuk ke direktori inventory, lalu jalankan playbook. Yang perlu diingat, playbook ini menyentuh semua package dari repository aktif, jadi rapikan dulu repository dan pertimbangkan opsi skip_autoremove=1 kalau kalian tidak mau dependency lama ikut kehapus.