4.16.09 Proses Rollback

Jika terjadi error selama update ke Edge 4.16.09, Anda dapat me-roll back komponen yang menyebabkan error, lalu mencoba update lagi. Misalnya, jika update ke Postgres 9.4 gagal, Anda dapat me-rollback node Postgres saja dan mencoba update lagi.

Ada dua skenario saat Anda mungkin ingin melakukan rollback:

  1. Rollback ke rilis yang lebih lama. Misalnya, dari 4.16.09 ke 4.16.05.
  2. Rollback ke versi lama dalam rilis yang sama.

Gunakan prosedur di bawah untuk melakukan rollback untuk kedua skenario.

Siapa yang dapat melakukan rollback

Pengguna yang melakukan rollback harus sama dengan pengguna yang awalnya mengupdate Edge, atau pengguna yang berjalan sebagai root.

Secara default, komponen Edge berjalan sebagai pengguna "apigee". Dalam beberapa kasus, Anda mungkin menjalankan komponen Edge sebagai pengguna yang berbeda. Misalnya, jika Router harus mengakses port dengan hak istimewa, seperti port di bawah 1000, Anda harus menjalankan Router sebagai root atau sebagai pengguna yang memiliki akses ke port tersebut. Atau, Anda dapat menjalankan satu komponen sebagai satu pengguna, dan komponen lain sebagai pengguna lain.

Komponen yang dapat di-roll back

Anda harus memperhatikan kondisi berikut saat melakukan rollback:

  • Lima komponen Edge yang tercantum di bawah memiliki kode yang sama. Oleh karena itu, untuk me-roll back salah satu dari lima komponen pada node, Anda harus me-roll back salah satu dari lima komponen yang diinstal pada node. Misalnya, jika Anda telah menginstal Server Pengelolaan, Router, dan Message Processor di node, untuk me-roll back salah satunya, Anda harus me-roll back ketiganya.
    Lima komponen yang berbagi kode adalah:
    • Server Pengelolaan
    • Router
    • Message Processor
    • Server Qpid
    • Server Postgres
  • Jika Anda mengupdate dari Edge 4.16.01, jangan rollback Cassandra. Rilis Edge ini berisi versi Cassandra yang diupdate. Jika Anda melakukan rollback komponen apa pun, biarkan Cassandra pada versi 4.16.09.
  • Rilis ini tidak berisi versi baru qpidd. Oleh karena itu, Anda tidak perlu melakukan rollback qpidd.

Me-roll back 4.16.09

Bagian ini berisi prosedur untuk me-roll back Edge 4.16.09 ke versi sebelumnya. Bagian ini dibagi menjadi dua bagian:

  • Me-roll back update Postgres ke versi 9.4
    Bagian akhir dari setiap prosedur update adalah mengupdate node Postgres ke versi 9.4. Jika update tersebut gagal, Anda dapat menggunakan prosedur ini untuk me-roll back update.
  • Me-roll back semua komponen Edge lainnya
    Gunakan prosedur ini untuk me-roll back komponen Edge lainnya.

Untuk melakukan rollback update Postgres 9.4

Untuk me-roll back update Postgres saat mengupdate Postgres dalam konfigurasi master-standby, Anda:

  • Promosikan node standby baru untuk menjadi master Postgres. Master Postgres baru akan memiliki versi yang sama dengan penginstalan Edge Anda sebelumnya.
  • Konfigurasikan node standby lama menjadi node standby master baru. Node standby lama akan memiliki versi yang sama dengan penginstalan Edge sebelumnya.
  • Daftarkan node master dan standby baru ke grup analisis dan konsumen.

Setelah Anda selesai melakukan rollback, node master lama tidak akan diperlukan lagi. Kemudian, Anda dapat menonaktifkan node master lama.

  1. Pastikan node Postgres standby yang baru berjalan:
    > /opt/apigee/apigee-service/bin/apigee-all status

    Jika Postgres tidak berjalan, mulai:
    > /opt/apigee/apigee-service/bin/apigee-all start
  2. Pastikan Postgres dihentikan di node master lama dan node standby lama:
    > /opt/apigee/apigee-service/bin/apigee-all status

    Jika Postgres berjalan, hentikan:
    > /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
    > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
  3. Jika diinstal, mulai Qpid di node standby lama:
    > /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server start

    Catatan: Dalam banyak konfigurasi, node standby lama hanya akan menghosting Postgres, bukan Qpid.
  4. Promosikan node standby baru sebagai master Postgres:
    1. Promosikan node standby baru menjadi master baru:
      > apigee-service apigee-postgresql promote-standby-to-master new_standby_IP

      Jika diminta, masukkan sandi Postgres untuk pengguna 'apigee', yang secara default adalah "postgres".
    2. Edit file konfigurasi yang Anda gunakan untuk menginstal Edge versi saat ini guna menentukan hal berikut:
      # Alamat IP master baru:
      PG_MASTER=new_standby_IP
      # Alamat IP node standby lama
      PG_STANDBY=old_standby_IP
    3. Konfigurasikan master baru:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFile
  5. Bangun ulang node standby lama:
    1. Edit file konfigurasi yang Anda gunakan untuk menginstal Edge versi saat ini guna menentukan hal berikut:
      # Alamat IP master baru:
      PG_MASTER=new_standby_IP
      # Alamat IP node standby lama
      PG_STANDBY=old_standby_IP
    2. Hapus direktori data pada node standby lama:
      > cd /opt/apigee/data/apigee-postgresql/pgdata
      > rm -rf *
    3. Konfigurasi ulang node standby lama menjadi node standby master baru:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
    4. Pastikan Postgres berjalan di node standby lama:
      > /opt/apigee/apigee-service/bin/apigee-all status

      Jika tidak berjalan, mulai:
      > /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server start
  6. Pastikan node standby baru telah ditambahkan dengan melihat file /opt/apigee/apigee-postgresql/conf/pg_hba.conf di master baru.
  7. Lihat informasi grup konsumen dan analisis saat ini dengan menjalankan perintah berikut di Server Pengelolaan:
    > curl -u sysAdminEmail:password http://<ms_IP>:8080/v1/analytics/groups/ax

    Perintah ini menampilkan nama grup analisis di kolom name, dan nama grup konsumen di kolom name di bagian consumer-groups. Tindakan ini juga menampilkan UUID node master dan standby Postgres lama di kolom postgres-server, dan di kolom datastores. Anda akan melihat output dalam bentuk:

    {
    "name" : "axgroup-001",
    "properties" : {
    },
    "scopes" : [ "VALIDATE~test", "sgilson~prod" ],
    "uuids" : {
    "qpid-server" : [ "8381a053-433f-4382-bd2a-100fd37a1592", "4b6856ec-ef05-498f-bac6-ef5f0d5f6521" ],
    "postgres-server" : [ "ab1158bd-1d59-4e2a-9c95-24cc2cfa6edc:27f90844-efab-4b32-8a23-8f85cdc9a256" ]
    },
    "consumer-groups" : [ {
    "name" : "consumer-group-001",

    "consumers" : [ "8381a053-433f-4382-bd2a-100fd37a1592", "4b6856ec-ef05-498f-bac6-ef5f0d5f6521" ],
    "datastores" : [ "ab1158bd-1d59-4e2a-9c95-24cc2cfa6edc:27f90844-efab-4b32-8a23-8f85cdc9a256" ],
    "properties" : { }
    } ],
    "data-processors" : {
    }
    }
  8. Dapatkan alamat UUID master lama dengan menjalankan perintah cURL berikut pada node master lama:
    > curl -u sysAdminEmail:password http://<node_IP>:8084/v1/servers/self

    Anda akan melihat UUID node di akhir output, dalam bentuk:
    "type" : [ "postgres-server" ],
    "uUID" : "599e8ebf-5d69-4ae4-aa71-154970a8ec75"


    Catatan: Layanan edge-postgres-server harus berjalan. Jika server Postgres tidak berjalan, Anda dapat menjalankan perintah berikut di Server Pengelolaan untuk menentukan UUID:
    > curl -u sysAdminEmail:password http://<ms_IP>:8080/v1/servers?pod=analytics

    Output perintah ini mencantumkan UUID untuk alamat IP setiap node Postres.
  9. Ulangi langkah sebelumnya untuk mendapatkan alamat IP node standby lama dan master baru.
  10. Hapus node master dan standby lama dari grup konsumen:
    > curl -u sysAdminEmail:password -X DELETE "http://<ms_IP>:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/datastores/masterUUID,standbyUUID" -v

    dengan axgroup-001 dan consumer-group-001 adalah nama default grup analisis dan konsumen. masterUUID,standbyUUID berada dalam urutan yang sama seperti yang muncul di atas saat Anda melihat informasi grup konsumen dan analisis saat ini di atas. Anda mungkin harus menentukannya sebagai standbyUUID,masterUUID.

    Properti datastores untuk consumer-groups sekarang seharusnya kosong.
  11. Hapus node master dan standby lama dari grup analisis:
    > curl -u sysAdminEmail:password -X DELETE "http://<ms_IP>:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=masterUUID,standbyUUID&type=postgres-server" -v

    Properti postgres-server di bagian uuids sekarang seharusnya kosong.
  12. Daftarkan node master dan standby PG baru dengan grup analisis dan konsumen:
    > curl -u sysAdminEmail:password -X POST -H "Content-Type: application/json" -d '' "http://<ms_IP>:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=masterUUID,standbyUUID&type=postgres-server" -v

    > curl -u sysAdminEmail:password -X POST -H "Content-Type: application/json" -d '' "http://<ms_IP>:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/datastores?uuid=masterUUID,standbyUUID" -v
  13. Validasi grup analisis:
    > curl -u sysAdminEmail:password http://<ms_IP>:8080/v1/analytics/groups/ax

    Anda akan melihat UUID node master dan standby baru yang tercantum dalam grup analisis dan grup konsumen.
  14. Mulai ulang Edge Management Server:
    > /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
  15. Mulai ulang semua server Qpid:
    > /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
  16. Mulai ulang semua server Postgres:
    > /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
  17. Verifikasi status replikasi dengan menjalankan skrip berikut di kedua server. Sistem harus menampilkan hasil yang sama di kedua server untuk memastikan replikasi berhasil:

    Di master baru, jalankan:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master

    Validasi bahwa sistem menyatakan bahwa server tersebut adalah master.

    Di node standby lama:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby

    Validasi bahwa node tersebut adalah standby.
  18. Ulangi langkah sebelumnya setelah membuat beberapa permintaan API untuk memastikan bahwa node telah disinkronkan.
  19. Nonaktifkan master Postgres lama menggunakan prosedur di Mengupdate Apigee Edge ke 4.16.09.

    Catatan: Jika node master lama menjalankan Qpid, Anda dapat membiarkan server tersebut tetap aktif untuk menjalankan Qpid. Pastikan instance berjalan. Jika belum, mulai:
    > /opt/apigee/apigee-service/bin/apigee-service edge-management-server start

    Atau, Anda dapat meng-uninstal Qpid dari master lama dan menginstal Qpid di node master baru, seperti yang dijelaskan di bawah. Setelah meng-uninstal Qpid, Anda dapat menonaktifkan node master lama.

Meng-uninstal Qpid dari master lama dan menginstal Qpid di master baru

Gunakan prosedur berikut untuk meng-uninstal Qpid dari master lama dan menginstalnya di master baru:

  1. Blokir akses ke port Qpid 5672 di master lama dari akses oleh Message Processor dengan menjalankan perintah berikut di semua Message Processor:
    > iptables -A OUTPUT -p tcp -d 10.233.147.20 --dport 5672 -j DROP
  2. Pastikan antrean pesan Qpid kosong dengan menjalankan perintah berikut. Anda tidak dapat meng-uninstal Qpid hingga Qpid memproses semua pesan yang tertunda:
    > qpid-stat -q

    Perintah ini menampilkan tabel yang berisi jumlah untuk msg, msgIn, dan msgOut. Semua pesan akan diproses saat msg=0, dan msgIn=msgOut.
  3. Tentukan UUID server Qpid di master lama dengan menjalankan perintah berikut di master lama. Simpan informasi ini untuk digunakan nanti dalam prosedur:
    > curl -u sysAdminEmail:password http://<node_IP>::8083/v1/servers/self
  4. Hentikan Qpid di master lama:
    > /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
    > /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd stop
  5. Uninstal server Qpid:
    > /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server uninstall
    > /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd uninstall
  6. Hapus server Qpid lama dari grup analisis dan konsumen:
    > curl -u sysAdminEmail:password -X DELETE -H "Content-Type: application/json" -d '' "http://<ms_IP>:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/consumers/qpid_UUID" -v

    > curl -u sysAdminEmail:password -X DELETE "http://<ms_IP>:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=qpid_UUID&type=qpid-server" -v
  7. Hapus server Qpid lama dari Zookeeper:
    > curl -u sysAdminEmail:password -X DELETE http://<ms_IP>:8080/v1/servers/qpid_UUID
  8. Instal Qpid di master baru:
    > /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile
  9. Tentukan UUID server Qpid di master baru dengan menjalankan perintah berikut di master baru. Simpan informasi ini untuk digunakan nanti dalam prosedur:
    > curl -u sysAdminEmail:password http://<node_IP>::8083/v1/servers/self
  10. Daftarkan server Qpid baru dengan grup analisis dan konsumen:
    > curl -u sysAdminEmail:password -X POST -H "Content-Type: application/json" -d '' "http://<ms_IP>:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=qpid_UUID&type=qpid-server" -v

    > curl -u sysAdminEmail:password -X POST -H "Content-Type: application/json" -d '' "http://<ms_IP>:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/consumers?uuid=qpid_UUID" -v
  11. Mulai ulang semua Message Processor:
    > /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
  12. Jalankan perintah berikut di server Qpid baru untuk memeriksa apakah antrean telah dibuat:
    > qpid-stat -q

    Pastikan Anda melihat msg, msgIn, dan msgOut diperbarui saat server Qpid memproses pesan.

Untuk melakukan rollback setiap komponen dari 4.16.09

Sebagai bagian dari melakukan rollback, Anda harus mendownload file bootstrap.sh untuk versi Edge saat ini:

  • Untuk melakukan roll back ke 4.16.05, download bootstrap_4.16.05.sh
  • Untuk melakukan roll back ke 4.16.01, download bootstrap.sh

Untuk setiap node yang menghosting komponen yang akan di-roll back:

  1. Hentikan komponen yang akan di-roll back:
    1. Jika Anda me-roll back salah satu komponen berikut pada node, Anda harus menghentikan semuanya: Server Pengelolaan, Router, Message Processor, Server Qpid, atau Server Postgres:
      • > apigee-service edge-management-server stop
      • > apigee-service edge-router stop
      • > apigee-service edge-message-processor stop
      • > apigee-service edge-qpid-server stop
      • > apigee-service edge-postgres-server stop
    2. Jika Anda melakukan roll back komponen lain pada node, hentikan komponen tersebut saja:
      • > apigee-service comp stop
  2. Jika Anda melakukan roll back Monetisasi, uninstal dari semua node Server Pengelolaan dan Message Processor:
    > apigee-service edge-mint-gateway uninstall
  3. Uninstal komponen untuk melakukan rollback pada node:
    1. Jika Anda me-roll back salah satu komponen berikut pada node, uninstal semuanya: Server Pengelolaan, Router, Message Processor, Server Qpid, atau Server Postgres:
      > apigee-service edge-gateway uninstall
    2. Jika Anda me-roll back komponen lain pada node, uninstal komponen tersebut saja:
      > apigee-service comp uninstall
  4. Jika Anda me-roll back Router, Anda harus menghapus konten /opt/nginx/conf.d:
    > cd /opt/nginx/conf.d
    > rm -rf *
  5. Untuk me-roll back komponen:
    1. Uninstal apigee-setup versi 4.16.09:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
    2. Download bootstrap.sh untuk rilis 4.16.01 atau 4.16.05:
      Untuk 4.16.01:
      > curl https://software.apigee.com/bootstrap.sh -o /tmp/bootstrap.sh

      Untuk 4.16.05:
      > curl https://software.apigee.com/bootstrap_4.16.05.sh -o /tmp/bootstrap.sh
    3. Instal utilitas dan dependensi apigee-service 4.16.01 atau 4.16.05:
      > sudo bash /tmp/bootstrap.sh apigeeuser=uName apigeepassword=pWord

      dengan uName dan pWord adalah nama pengguna dan sandi yang Anda terima dari Apigee. Jika Anda menghilangkan pWord, Anda akan diminta untuk memasukkannya.
    4. Instal apigee-setup versi 4.16.01 atau 4.16.05:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-setup install
    5. Instal komponen versi 4.16.01 atau 4.16.05:
      > /opt/apigee/apigee-setup/bin/setup.sh -p comp -f configFile

      dengan comp adalah komponen yang akan diinstal dan configFile adalah file konfigurasi 4.16.01 atau 4.16.05 Anda.
  6. Untuk melakukan rollback komponen ke versi tertentu dari rilis 4.16.05:
    1. Download versi komponen tertentu:
      > /<instal_dir>/apigee/apigee-service/bin/apigee-service comp-version install

      dengan comp-version adalah komponen dan versi yang akan diinstal. Contoh:
      > /<instal_dir>/apigee/apigee-service/bin/apigee-service edge-ui-4.16.05-0.0.3649 install

      Jika menggunakan repo online Apigee, Anda dapat menentukan versi komponen yang tersedia dengan menggunakan perintah berikut:
      > yum --showduplicates list comp

      Contoh:
      > yum --showduplicates list edge-ui
    2. Gunakan apigee-setup untuk menginstal komponen:
      > /<install_dir>/apigee/apigee-setup/bin/setup.sh -p comp -f configFile

      Misalnya:
      > /<install_dir>/apigee/apigee-setup/bin/setup.sh -p ui -f configFile

      Perhatikan bahwa Anda hanya menentukan nama komponen saat melakukan penginstalan.

Hubungi Dukungan Apigee jika Anda mengalami masalah saat melakukan roll back.