Melakukan roll back Apigee Edge 4.19.01

Edge untuk Private Cloud v4.19.01

Jika mengalami error saat mengupdate ke Edge 4.19.01, Anda dapat me-roll back komponen yang menyebabkan error, lalu mencoba update lagi.

Anda dapat melakukan roll back Edge 4.19.01 ke versi Rilis Fitur berikut:

  • Versi 4.18.05
  • Versi 4.18.01
  • Versi 4.17.09*

* Untuk melakukan roll back dari 4.19.01 ke 4.17.09, Anda harus melakukan roll back Postgres selain me-roll back komponen di setiap node. Jika melakukan roll back ke versi 4.18.01 atau 4.18.05, Anda tidak perlu me-roll back Postgres karena proses upgrade tidak menyertakan update Postgres.

Ada dua skenario yang memungkinkan Anda melakukan rollback:

  1. Melakukan roll back ke Rilis Fitur sebelumnya. Misalnya dari 4.19.01 hingga 4.18.05.
  2. Roll back ke versi update sebelumnya dalam rilis yang sama. Misalnya, dari 4.19.01.02 hingga 4.19.01.01.

Untuk mengetahui informasi selengkapnya, lihat proses rilis Apigee Edge.

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 dengan kode umum

Komponen Edge berikut memiliki kode yang sama. Oleh karena itu, untuk melakukan roll back salah satu komponen ini pada node, Anda harus me-roll back semua komponen yang ada di node tersebut.

  • edge-management-server (Server Pengelolaan)
  • edge-message-processor (Pemroses Pesan)
  • edge-router (Router)
  • edge-postgres-server (Server Postgres)
  • edge-qpid-server (Server Qpid)

Misalnya, jika memiliki Server Pengelolaan, Router, dan Pemroses Pesan yang diinstal di node, untuk melakukan roll back salah satunya, Anda harus me-roll back ketiganya.

Melakukan roll back ke Rilis Fitur sebelumnya

Untuk melakukan roll back dari 4.19.01 ke 4.17.09, Anda harus melakukan roll back Postgres selain me-roll back komponen di setiap node. Jika melakukan roll back dari versi 4.18.01 atau 4.18.05, Anda tidak perlu me-roll back Postgres karena proses upgrade tidak menyertakan update Postgres.

Untuk melakukan roll back ke Rilis Fitur sebelumnya, lakukan hal berikut pada setiap node yang menghosting komponen:

  1. Download file bootstrap.sh untuk versi yang ingin Anda roll back:

    • Untuk melakukan roll back ke versi 4.18.05, download bootstrap_4.18.05.sh:
      curl https://software.apigee.com/bootstrap_4.18.05.sh -o /tmp/bootstrap_4.18.05.sh 
    • Untuk melakukan roll back ke versi 4.18.01, download bootstrap_4.18.01.sh:
      curl https://software.apigee.com/bootstrap_4.18.01.sh -o /tmp/bootstrap_4.18.01.sh 
    • Untuk melakukan roll back ke versi 4.17.09, download bootstrap_4.17.09.sh:
      curl https://software.apigee.com/bootstrap_4.17.09.sh -o /tmp/bootstrap_4.17.09.sh 
  2. Hentikan komponen untuk melakukan roll back:
    1. Untuk me-roll back salah satu komponen dengan kode umum pada node, Anda harus menghentikan semuanya, seperti yang ditunjukkan contoh berikut:
      /opt/apigee/apigee-service/bin/apigee-service edge-management-server stop
      /opt/apigee/apigee-service/bin/apigee-service edge-router stop
      /opt/apigee/apigee-service/bin/apigee-service edge-message-processor stop
      /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
    2. Untuk melakukan roll back komponen lain pada node, hentikan hanya komponen tersebut:
      • /opt/apigee/apigee-service/bin/apigee-service component stop
  3. Jika Anda melakukan roll back Monetisasi, uninstal dari semua node Server Pengelolaan dan Pemroses Pesan:
    /opt/apigee/apigee-service/bin/apigee-service edge-mint-gateway uninstall
  4. Uninstal komponen untuk melakukan roll back pada node:
    1. Untuk me-roll back salah satu komponen dengan kode umum pada node, Anda harus meng-uninstal semuanya dengan meng-uninstal grup komponen edge-gateway, seperti yang ditunjukkan contoh berikut:
      /opt/apigee/apigee-service/bin/apigee-service edge-gateway uninstall
    2. Untuk me-roll back komponen lain pada node, hanya uninstal komponen tersebut, seperti yang ditunjukkan dalam contoh berikut:
      /opt/apigee/apigee-service/bin/apigee-service component uninstall

      Dengan component adalah nama komponen.

    3. Untuk me-roll back Router Edge, Anda harus menghapus konten file /opt/nginx/conf.d selain meng-uninstal grup komponen edge-gateway:
      cd /opt/nginx/conf.d
      rm -rf *
  5. Uninstal apigee-setup versi 4.19.01:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
  6. Instal utilitas apigee-service versi 4.18.05, 4.18.01, atau 4.17.09 beserta dependensinya. Contoh berikut menginstal apigee-service versi 4.17.09:
    sudo bash /tmp/bootstrap_4.17.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.

    Jika menerima pesan error, pastikan Anda telah mendownload file bootstrap.sh pada langkah 1.

  7. Instal apigee-setup:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup install
  8. Instal komponen versi lama:
    /opt/apigee/apigee-setup/bin/setup.sh -p component -f configFile

    Dengan component adalah komponen yang akan diinstal dan configFile adalah file konfigurasi untuk versi yang lebih lama.

  9. Jika Anda melakukan roll back Qpid, hapus iptables:
    sudo iptables -F
  10. Ulangi proses ini untuk setiap node yang menghosting komponen yang Anda roll back.

Untuk melakukan roll back dari 4.19.01 ke 4.17.09, Anda harus melakukan roll back Postgres selain me-roll back komponen di setiap node. Jika melakukan roll back dari versi 4.18.01 atau 4.18.05, Anda tidak perlu me-roll back Postgres karena proses upgrade tidak menyertakan update Postgres.

Melakukan roll back ke versi update sebelumnya

Untuk me-roll back komponen ke versi rilis tertentu, lakukan hal berikut pada setiap node yang menghosting komponen tersebut:

  1. Download versi komponen tertentu:
    /opt/apigee/apigee-service/bin/apigee-service component_version install

    Dengan component_version adalah komponen dan versi update 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 menginstalnya, bukan versinya.

  3. Ulangi proses ini untuk setiap node yang menghosting komponen yang Anda roll back.

Untuk melakukan roll back dari 4.19.01 ke 4.17.09, Anda harus melakukan roll back Postgres selain me-roll back komponen di setiap node. Jika melakukan roll back dari versi 4.18.01 atau 4.18.05, Anda tidak perlu me-roll back Postgres karena proses upgrade tidak menyertakan update Postgres.

Me-roll back update Postgres 9.6

Jika mengupgrade ke 4.19.01 dari versi 4.17.09, Anda harus me-roll back update Postgres selain komponen Edge.

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

  • 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. Setelah meng-uninstal Qpid, Anda dapat menonaktifkan node master lama.

Uninstal Qpid dari master lama dan instal Qpid di master baru

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 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 sedang diupdate saat server Qpid memproses pesan.

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