Hari ini Carbonio rilis versi 26.6.0, jadi langsung saya coba upgrade di server single-server saya pakai metode resmi berbasis Ansible. Prosesnya sebenarnya cukup mulus, cuma di akhir saya sempat kena masalah carbonio-tasks yang tidak jalan. Berikut catatan lengkapnya, dari kondisi awal sampai troubleshoot.
Cek Versi Awal
Sebelum mulai, saya cek dulu versi yang terpasang. Kebiasaan yang selalu saya lakukan, biar tahu titik awalnya dan bisa dibandingkan setelah upgrade.
root@mail:~# su - zextras -c "zmcontrol -v"
Carbonio Release 26.3.2
Advanced module version:
CLI versions:
zextras_version 26.3.1
zextras_commit 97dbab6a7491843684b80e95ecb2fb0d1d2442b0
zal_version 26.3.1
zal_commit 6db124701ef6e49a44951a025c432fc4f4f2bd9d
Server versions:
version 26.3.1
commit 97dbab6a7491843684b80e95ecb2fb0d1d2442b0
system_type carbonio
product Carbonio
zal_version 26.3.1
zal_commit 6db124701ef6e49a44951a025c432fc4f4f2bd9d

Posisi saya di 26.3.x dan target hari ini 26.6.0.
Install atau Update Collection carbonio_upgrade
Metode upgrade via Ansible dijalankan dari Control Node, bukan dari server Carbonio-nya. Pertama, pastikan collection upgrade selalu versi terbaru. Flag -U artinya install kalau belum ada, atau update ke versi terbaru kalau sudah ada.
root@ansible:~# ansible-galaxy collection install \ zxbot.carbonio_upgrade -U
Cek Inventory
Sebelum jalan, saya cek dulu file inventory. Ini file yang sama yang dipakai waktu instalasi awal, isinya daftar node dan group sesuai infrastruktur. Untuk single-server semuanya menunjuk ke satu host yang sama.
Sebelum menjalankan playbook, ada beberapa hal yang wajib kalian sadari. Ini bukan sekadar formalitas, saya sudah baca di dokumentasi resminya dan memang perlu diperhatikan:
| Hal | Kenapa penting |
|---|---|
| Playbook menghapus dependency yang tidak terpakai | Tambahkan --extra-vars skip_autoremove=1 kalau tidak mau ada paket yang otomatis dibuang |
| Playbook update SEMUA paket dari repo yang aktif | Bukan cuma paket Carbonio. Nonaktifkan atau komentari repo yang tidak ingin diikutkan |
| Bisa di-run ulang | Kalau proses gagal di tengah jalan, jalankan lagi. Task yang sudah sukses akan di-skip |
| Legacy Chats tidak disentuh | Kalau masih pakai Chats lama, tidak akan dihapus, dijadikan read-only, atau dimigrasi otomatis |
Poin soal “update semua paket dari repo aktif” ini yang menurut saya paling penting. Kalau ada repo pihak ketiga aktif, pastikan aman diikutkan, atau matikan dulu.
Jalankan Upgrade
Masuk ke direktori yang berisi inventory, lalu jalankan playbook upgrade.
root@ansible:~# cd single-server-deploy
root@ansible:~/single-server-deploy# ansible-playbook \ zxbot.carbonio_upgrade.carbonio_upgrade -u root -i \ inventory.yaml
Setelah itu tinggal ditunggu. Prosesnya cukup lama karena mengunduh dan memasang banyak paket, jalankan bootstrap database, lalu register ulang ke Carbonio Mesh. Sabar saja, jangan diinterupsi di tengah jalan.
Hasil
Setelah menunggu cukup lama, hasilnya sesuai harapan:
zextras@mail:~$ zmcontrol -v
Carbonio Release 26.6.0

Upgrade dari 26.3.x ke 26.6.0 berhasil.
Penutup
Upgrade via Ansible ini menurut saya cara paling nyaman untuk Carbonio, karena bootstrap database dan register Mesh sudah otomatis di dalam playbook. Yang perlu diwaspadai justru dua hal: perilaku autoremove dan update semua paket dari repo aktif.
Catatan: perintah bootstrap dan sidecar di atas berbasis dokumentasi resmi dan forum Zextras. Kalau nama service atau path di versi kalian berbeda, selalu konfirmasi ke dokumentasi resmi versi yang kalian pakai sebelum dijalankan.
Referensi
- Upgrade Using Ansible (Carbonio Admin Guide): https://docs.zextras.com/carbonio/html/upgrade/ansible.html
- Advanced Administration Tasks / pending-setups (Carbonio Admin Guide): https://docs.zextras.com/carbonio/html/admincli/advancedadmin.html
- Tasks component (Carbonio CE Admin Docs): https://docs.zextras.com/carbonio-ce/html/architecture/components/component-tasks.html


Leave a Reply