4.18.01 Proses Rollback

Edge untuk Private Cloud v4.18.01

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

Ada dua skenario yang memungkinkan Anda melakukan rollback:

  1. Melakukan rollback ke rilis lama. Misalnya dari 4.18.01 hingga 4.17.01.
  2. Rollback ke versi lama dalam rilis yang sama.

Gunakan prosedur di bawah untuk melakukan rollback bagi kedua skenario tersebut.

Siapa yang dapat melakukan rollback

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

Secara default, komponen Edge dijalankan 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 1.000, maka 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 lainnya sebagai pengguna lain.

Komponen mana yang dapat di-roll back

Anda harus mengetahui kondisi berikut saat melakukan rollback:

  • Lima komponen Edge yang tercantum di bawah memiliki kode yang sama. Oleh karena itu, untuk melakukan rollback salah satu dari lima komponen pada node, Anda harus me-roll back salah satu dari lima komponen yang diinstal pada node. Misalnya, jika Anda memiliki Server Pengelolaan, Router, dan Pemroses Pesan yang diinstal pada node, untuk melakukan roll back salah satunya, Anda harus me-roll back ketiganya.

    Lima komponen yang menggunakan kode yang sama 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 telah diupdate. Jika Anda melakukan rollback komponen apa pun, biarkan Cassandra menggunakan versi 4.18.01.

Melakukan roll back 4.18.01

Bagian ini berisi prosedur untuk melakukan rollback Edge 4.18.01 ke versi sebelumnya. Bagian ini dibagi menjadi dua bagian:

  • Me-roll back update Postgres
    Bagian terakhir dari setiap prosedur update adalah mengupdate node Postgres ke versi 9.6. Jika update tersebut gagal, Anda dapat menggunakan prosedur ini untuk melakukan rollback update.
  • Melakukan roll back semua komponen Edge lainnya
    Gunakan prosedur ini untuk melakukan rollback komponen Edge lainnya.

Untuk melakukan rollback update Postgres 9.6

Untuk melakukan rollback update Postgres saat mengupdate Postgres dalam konfigurasi master-standby, Anda:

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

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

  1. Pastikan node Postgres standby baru sedang 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 sedang 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
  4. Promosikan node standby baru sebagai master Postgres:
    1. Mempromosikan 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 setelan defaultnya adalah "postgres".

    2. Edit file konfigurasi yang Anda gunakan untuk menginstal Edge versi saat ini untuk menentukan hal berikut:
      # IP address of the new master:
      PG_MASTER=new_standby_IP
      # IP address of the old standby node
      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. Build ulang node standby lama:
    1. Edit file konfigurasi yang Anda gunakan untuk menginstal Edge versi saat ini untuk menentukan hal berikut:
      # IP address of the new master:
      PG_MASTER=new_standby_IP
      # IP address of the old standby node
      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 untuk menjadi node standby dari 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 analisis saat ini dan informasi grup konsumen dengan menjalankan perintah berikut di Server Pengelolaan:
    > curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax

    Perintah ini akan menampilkan nama grup analisis di kolom name, dan nama grup konsumen di kolom name pada bagian consumer-groups. Contoh ini juga menampilkan UUID master Postgres dan node standby 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"

  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 ditampilkan di atas saat Anda melihat analisis saat ini dan informasi grup konsumen di atas. Anda mungkin harus menentukannya sebagai standbyUUID,masterUUID.

    Properti datastores untuk consumer-groups sekarang seharusnya kosong.

  11. Hapus node master dan node 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. Mendaftarkan node master dan standby PG baru ke 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 yang baru tercantum di grup analisis dan grup konsumen.

  14. Mulai ulang Server Pengelolaan Edge:
    > /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 mengeluarkan skrip berikut di kedua server. Sistem akan menampilkan hasil yang sama di kedua server untuk memastikan replikasi yang berhasil:

    Di master baru, jalankan:

    > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master

    Pastikan bahwa kata tersebut adalah master. Di node standby lama:

    > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby

    Pastikan bahwa pesan tersebut adalah standby.

  18. Ulangi langkah sebelumnya setelah membuat beberapa permintaan API untuk memastikan bahwa node sinkron.
  19. Penonaktifan master Postgres lama menggunakan prosedur di Update Apigee Edge 4.16.01/4.16.05 hingga 4.17.09.

    Atau, Anda dapat meng-uninstal Qpid dari master lama dan menginstal Qpid pada node master baru, seperti yang dijelaskan di bawah ini. 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 pada master baru:

  1. Blokir akses ke port Qpid 5672 di master lama dari akses oleh Pemroses Pesan dengan menjalankan perintah berikut di semua Pemroses Pesan:
    > 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 selesai memproses semua pesan yang tertunda:
    > qpid-stat -q

    Perintah ini menampilkan tabel yang berisi jumlah untuk msg, msgIn, and msgOut. Semua pesan akan diproses ketika msg=0, dan msgIn=msgOut.

  3. Tentukan UUID server Qpid pada master lama dengan menjalankan perintah berikut pada master lama. Simpan informasi ini untuk digunakan nanti dalam prosedur:
    > curl -u sysAdminEmail:password http://node_IP::8083/v1/servers/self
  4. Menghentikan Qpid pada 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 pada master baru dengan menjalankan perintah berikut pada 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 ke 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 Pemroses Pesan:
    > /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 yang diupdate saat server Qpid memproses pesan.

Untuk melakukan rollback setiap komponen dari 4.18.01

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

  • Untuk melakukan roll back ke versi 4.17.09, download bootstrap_4.17.09.sh
  • Untuk melakukan roll back ke versi 4.17.05, download bootstrap_4.17.05.sh
  • Untuk melakukan roll back ke versi 4.17.01, download bootstrap_4.17.01.sh
  • Untuk melakukan roll back ke versi 4.16.09, download bootstrap_4.16.09.sh
  • Untuk melakukan roll back ke versi 4.16.05, download bootstrap_4.16.05.sh
  • Untuk melakukan roll back ke versi 4.16.01, download bootstrap.sh

Untuk setiap node yang menghosting komponen untuk melakukan roll back:

  1. Hentikan komponen untuk melakukan rollback:
    1. Jika melakukan roll back salah satu komponen berikut pada node, Anda harus menghentikan semuanya: Server Pengelolaan, Router, Prosesor Pesan, 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 hanya komponen tersebut:
      • > apigee-service comp stop
  2. Jika Anda melakukan roll back Monetisasi, uninstal dari semua node Server Pengelolaan dan Pemroses Pesan:
    > apigee-service edge-mint-gateway uninstall
  3. Uninstal komponen untuk melakukan rollback pada node:
    1. Jika Anda melakukan roll back salah satu komponen berikut pada node, uninstal semuanya: Server Pengelolaan, Router, Pemroses Pesan, Server Qpid, atau Server Postgres:
      > apigee-service edge-gateway uninstall
    2. Jika Anda melakukan roll back komponen lain pada node, uninstal komponen tersebut saja:
      > apigee-service comp uninstall
    3. Jika Anda me-roll back Router, Anda harus menghapus isi /opt/nginx/conf.d:
      > cd /opt/nginx/conf.d
      > rm -rf *
  4. Untuk melakukan rollback komponen:
    1. Uninstal apigee-setup versi 4.18.01:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
    2. Download bootstrap.sh untuk rilis yang diinginkan: Misalnya, untuk 4.16.09:
      > curl https://software.apigee.com/bootstrap_4.16.09.sh -o /tmp/bootstrap_4.16.09.sh 
    3. Instal utilitas dan dependensi apigee-service 4.16.01, 4.16.05, atau 4.16.09. Misalnya, untuk 4.16.09:
      > sudo bash /tmp/bootstrap_4.16.09.sh apigeeuser=uName apigeepassword=pWord

      dengan uName dan pWord adalah nama pengguna dan sandi yang Anda terima dari Apigee. Jika menghapus pWord, Anda akan diminta untuk memasukkannya.

    4. Instal apigee-setup:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-setup install
    5. Instal versi komponen yang diinginkan:
      > /opt/apigee/apigee-setup/bin/setup.sh -p comp -f configFile

      dengan comp adalah komponen yang akan diinstal dan configFile adalah file konfigurasi untuk versi yang diinginkan.

    6. Jika Anda melakukan roll back Qpid, hapus iptables:
      > sudo iptables -F
  5. Untuk melakukan rollback komponen ke versi rilis 4.18.01 tertentu:
    1. Download versi komponen tertentu:
      > /opt/apigee/apigee-service/bin/apigee-service comp-version install

      dengan comp-version adalah komponen dan versi yang akan diinstal. Contoh:

      > /opt/apigee/apigee-service/bin/apigee-service edge-ui-4.17.09-0.0.3749 install

      Jika menggunakan repo online Apigee, Anda dapat menentukan versi komponen yang tersedia menggunakan perintah berikut:

      > yum --showduplicates list comp

      Contoh:

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

      Contoh:

      > /opt/apigee/apigee-setup/bin/setup.sh -p ui -f configFile

      Perhatikan bahwa Anda hanya menetapkan nama komponen saat melakukan penginstalan.

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