تراجع Apigee Edge 4.51.00

إذا واجهت خطأ أثناء التحديث إلى Edge 4.51.00، يمكنك التراجع عن المكوّن الذي تسبب في الخطأ ثم محاولة التحديث مرة أخرى.

يمكنك العودة من الإصدار 4.51.00 من Edge إلى نسخ الإصدارات التالية للميزات:

  • الإصدار 4.50.00
  • الإصدار 4.19.06

هناك سيناريوهان قد تحتاج فيهما إلى إجراء عملية تراجع:

  1. العودة إلى إصدار ميزات سابق على سبيل المثال، من 4.51.00 إلى 4.50.00.
  2. العودة إلى إصدار تحديث سابق في الإصدار نفسه على سبيل المثال، من 4.50.00.02 إلى 4.50.00.01.

لمزيد من المعلومات، يُرجى الاطّلاع على عملية إصدار Apigee Edge.

المستخدمون الذين يمكنهم العودة إلى إصدار سابق

يجب أن يكون المستخدم الذي يُجري عملية العودة إلى إصدار سابق هو نفسه المستخدم الذي حدّث Edge في الأصل، أو مستخدمًا لديه إذن الوصول الجذر.

يتم تشغيل مكوّنات Edge تلقائيًا كمستخدم "apigee". في بعض الحالات، قد تكون مكوّنات Edge قيد التشغيل كمستخدمين مختلفين. على سبيل المثال، إذا كان على جهاز التوجيه الوصول إلى منافذ مميزة، مثل تلك التي تقل عن 1000، فعليك تشغيل جهاز التوجيه كجذر أو كمستخدم لديه حق الوصول إلى تلك المنافذ. أو يمكنك تشغيل مكوّن واحد كمستخدم واحد، ومكوّن آخر كمستخدم آخر.

مكوّنات تتضمّن رمزًا شائعًا

تتشارك مكوّنات Edge التالية في الرمز البرمجي الشائع. لذلك، لإعادة أي من هذه المكوّنات إلى إصدار سابق على عقدة، يجب إعادة جميع هذه المكوّنات الموجودة على تلك العقدة إلى إصدار سابق.

  • ‫edge-management-server (خادم الإدارة)
  • ‫edge-message-processor (معالج الرسائل)
  • edge-router (جهاز توجيه)
  • edge-postgres-server (خادم Postgres)
  • edge-qpid-server (خادم Qpid)

على سبيل المثال، إذا كان لديك خادم الإدارة والموجّه ومعالج الرسائل مثبّتًا على العقدة، عليك التراجع عن تثبيت الثلاثة معًا للتراجع عن تثبيت أيّ منها.

العودة إلى إصدار ميزات سابق

للعودة إلى إصدار ميزات سابق، اتّبِع الخطوات التالية على كل عقدة تستضيف المكوّن:

  1. نزِّل ملف bootstrap.sh للإصدار الذي تريد الرجوع إليه:

    • للعودة إلى الإصدار 4.50.00، نزِّل bootstrap_4.50.00.sh:
      curl https://software.apigee.com/bootstrap_4.50.00.sh -o /tmp/bootstrap_4.50.00.sh 
    • للعودة إلى الإصدار 4.19.06، نزِّل bootstrap_4.19.06.sh:
      curl https://software.apigee.com/bootstrap_4.19.01.sh -o /tmp/bootstrap_4.19.01.sh 
  2. أوقِف المكوّن للتراجع عن التغييرات:
    1. لإعادة أي من المكوّنات التي تتضمّن رمزًا شائعًا على العقدة، يجب إيقافها جميعًا، كما يوضّح المثال التالي:
      /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. للتراجع عن أي مكوّن آخر على العقدة، أوقِف هذا المكوّن فقط:
      • /opt/apigee/apigee-service/bin/apigee-service component stop
  3. في حال التراجع عن تثبيت ميزة "تحقيق الربح"، عليك إلغاء تثبيتها من جميع عُقد خادم الإدارة ومعالج الرسائل:
    /opt/apigee/apigee-service/bin/apigee-service edge-mint-gateway uninstall
  4. ألغِ تثبيت المكوّن للعودة إلى الإصدار السابق على العقدة:
    1. للعودة إلى إصدار سابق من أي من المكوّنات التي تتضمّن رمزًا شائعًا على العقدة، يجب إلغاء تثبيتها جميعًا من خلال إلغاء تثبيت مجموعة المكوّنات edge-gateway ، كما يوضّح المثال التالي:
      /opt/apigee/apigee-service/bin/apigee-service edge-gateway uninstall
    2. لإرجاع أي مكوّن آخر على العقدة، عليك إلغاء تثبيت هذا المكوّن فقط، كما هو موضّح في المثال التالي:
      /opt/apigee/apigee-service/bin/apigee-service component uninstall

      حيث component هو اسم المكوّن.

    3. للعودة إلى الإصدار السابق من Edge Router، يجب حذف محتوى ملف /opt/nginx/conf.d بالإضافة إلى إلغاء تثبيت مجموعة مكوّنات edge-gateway:
      cd /opt/nginx/conf.d
      rm -rf *
  5. إلغاء تثبيت الإصدار 4.51.00 من تطبيق apigee-setup:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
  6. ثبِّت الإصدار 4.19.06 أو 4.50.00 من أداة apigee-service المساعدة والتبعيات الخاصة بها. يثبّت المثال التالي الإصدار 4.50.00 من apigee-service:
    sudo bash /tmp/bootstrap_4.50.00.sh apigeeuser=uName apigeepassword=pWord

    حيث uName وpWord هما اسم المستخدم وكلمة المرور اللذان تلقيتهما من Apigee. إذا حذفت pWord، سيُطلب منك إدخاله.

    إذا ظهرت لك رسالة خطأ، تأكَّد من تنزيل ملف bootstrap.sh في الخطوة 1.

  7. تثبيت "apigee-setup":
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup install
  8. ثبِّت الإصدار القديم من المكوّن:
    /opt/apigee/apigee-setup/bin/setup.sh -p component -f configFile

    حيث component هو المكوّن المطلوب تثبيته وconfigFile هو ملف الإعداد للإصدار الأقدم.

  9. في حال التراجع عن Qpid، يمكنك تفريغ iptables:
    sudo iptables -F
  10. كرِّر هذه العملية لكل عقدة تستضيف المكوّن الذي تريد التراجع عنه.

العودة إلى إصدار سابق

لإعادة مكوّن إلى إصدار معيّن من إصدار، اتّبِع الخطوات التالية على كل عقدة تستضيف المكوّن:

  1. نزِّل إصدار المكوّن المحدّد:
    /opt/apigee/apigee-service/bin/apigee-service component_version install

    حيث يمثّل component_version المكوّن وإصدار التحديث المطلوب تثبيته. على سبيل المثال:

    /opt/apigee/apigee-service/bin/apigee-service edge-ui-4.18.05-0.0.3749 install

    إذا كنت تستخدم مستودع Apigee على الإنترنت، يمكنك تحديد إصدارات المكوّنات المتاحة باستخدام الأمر التالي:

    yum --showduplicates list comp

    على سبيل المثال:

    yum --showduplicates list edge-ui
  2. استخدِم apigee-setup لتثبيت المكوّن:
    /opt/apigee/apigee-setup/bin/setup.sh -p comp -f configFile

    على سبيل المثال:

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

    يُرجى العِلم أنّه عليك تحديد اسم المكوّن فقط عند تثبيته، وليس الإصدار.

  3. كرِّر هذه العملية لكل عقدة تستضيف المكوّن الذي تريد التراجع عنه.

العودة إلى إصدار Postgres 10.17

إذا أجريت ترقية إلى الإصدار 4.51.00 من الإصدار 4.19.06 أو 4.50.00، عليك التراجع عن تحديث Postgres بالإضافة إلى مكوّنات Edge.

للتراجع عن تحديث Postgres عند تحديث Postgres في إعدادات "الرئيسي-الاحتياطي":

  • ترقية عقدة الاستعداد الجديدة لتصبح عقدة Postgres الرئيسية سيكون Postgres الرئيسي الجديد هو الإصدار نفسه من تثبيت Edge السابق.
  • اضبط عقدة الاستعداد القديمة لتكون عقدة استعداد للعقدة الرئيسية الجديدة. وستكون العقدة الاحتياطية القديمة بالإصدار نفسه من تثبيت Edge السابق.
  • سجِّل العُقد الرئيسية والاحتياطية الجديدة مع مجموعات الإحصاءات والمستهلكين.

عند الانتهاء من عملية العودة إلى الإصدار السابق، لن تكون العُقدة الرئيسية القديمة ضرورية. ويمكنك بعد ذلك إيقاف تشغيل العقدة الرئيسية القديمة.

  1. تأكَّد من تشغيل عقدة Postgres الاحتياطية الجديدة:
    /opt/apigee/apigee-service/bin/apigee-all status

    إذا لم يكن Postgres قيد التشغيل، ابدأ تشغيله:

    /opt/apigee/apigee-service/bin/apigee-all start
  2. تأكَّد من إيقاف Postgres على العقدة الرئيسية القديمة والعقدة الاحتياطية القديمة:
    /opt/apigee/apigee-service/bin/apigee-all status

    إذا كان Postgres قيد التشغيل، أوقِفه:

    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
  3. في حال تثبيته، ابدأ تشغيل Qpid على العقدة الاحتياطية القديمة:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server start
  4. يمكنك ترقية عقدة الاستعداد الجديدة لتصبح عقدة Postgres الرئيسية:
    1. رقِّ العقدة الاحتياطية الجديدة لتصبح العقدة الرئيسية الجديدة:
      apigee-service apigee-postgresql promote-standby-to-master new_standby_IP

      أدخِل كلمة مرور Postgres لمستخدم "apigee"، والتي تكون تلقائيًا "postgres"، إذا طُلب منك ذلك.

    2. عدِّل ملف الإعداد الذي استخدمته لتثبيت الإصدار الحالي من Edge لتحديد ما يلي:
      # IP address of the new master:
      PG_MASTER=new_standby_IP
      # IP address of the old standby node
      PG_STANDBY=old_standby_IP
    3. اضبط النسخة الرئيسية الجديدة:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFile
  5. إذا سبق لك ترقية عقدة الاستعداد القديمة إلى الإصدار الأحدث، عليك أولاً إرجاع إصدار برنامج Apigee على عقدة الاستعداد القديمة. إذا كان لا يزال لديك الإصدار القديم على العقدة الاحتياطية القديمة، يمكنك تخطّي هذه الخطوة والمتابعة إلى الخطوة 6.
    1. أوقِف Postgres على عقدة الاستعداد القديمة:
      apigee-service apigee-postgresql stop
      apigee-service edge-postgres-server stop
    2. ألغِ تثبيت Postgres من العقدة الاحتياطية القديمة:
      apigee-service apigee-postgresql uninstall
      apigee-service edge-postgres-server uninstall
    3. احذف دليل بيانات Postgres من العقدة الاحتياطية القديمة:
      cd /opt/apigee/data/apigee-postgresql/pgdata > rm -rf *
    4. نزِّل برنامج الإقلاع للإصدار الأقدم (لإصدار Apigee الذي تريد الرجوع إليه) وشغِّله على العقدة الاحتياطية القديمة. قد تختلف الخطوات الدقيقة استنادًا إلى ما إذا كنت تستخدم التثبيت المستند إلى الإنترنت أو التثبيت بلا إنترنت. سيؤدي تشغيل الإصدار القديم من برنامج الإعداد Apigee إلى إعداد مستودعات yum باستخدام بيانات الإصدار القديم من Apigee.
    5. اضبط مكوّنات Postgres على العقدة الاحتياطية القديمة:
      /opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile
    6. تحقَّق من أنّ مكوّنات Postgres على عقدة الاستعداد القديمة قد تمت إعادتها إلى الإصدار الأقدم:
      apigee-service apigee-postgresql version
      apigee-service edge-postgres-server version
  6. أعِد إنشاء العقدة الاحتياطية القديمة:
    1. عدِّل ملف الإعداد الذي استخدمته لتثبيت الإصدار الحالي من Edge لتحديد ما يلي:
      # IP address of the new master:
      PG_MASTER=new_standby_IP
      # IP address of the old standby node
      PG_STANDBY=old_standby_IP
    2. أزِل دليل البيانات في عقدة الاستعداد القديمة:
      cd /opt/apigee/data/apigee-postgresql/pgdata > rm -rf *
    3. أعِد ضبط العقدة الاحتياطية القديمة لتصبح عقدة احتياطية للعقدة الرئيسية الجديدة:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
    4. تأكَّد من تشغيل Postgres على العقدة الاحتياطية القديمة:
      /opt/apigee/apigee-service/bin/apigee-all status

      إذا لم يكن Postgres قيد التشغيل، ابدأ تشغيله:

      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server start
  7. تحقَّق من إضافة العقدة الاحتياطية الجديدة من خلال الاطّلاع على ملف /opt/apigee/apigee-postgresql/conf/pg_hba.conf في العقدة الرئيسية الجديدة.
  8. يمكنك الاطّلاع على معلومات الإحصاءات ومجموعة المستهلكين الحالية من خلال تشغيل الأمر التالي على خادم الإدارة:
    curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax

    يعرض هذا الأمر اسم مجموعة الإحصاءات في الحقل name، واسم مجموعة المستهلكين في الحقل name ضمن consumer-groups. وتعرض أيضًا المعرّفات الفريدة العالمية (UUID) للعُقد الرئيسية والاحتياطية القديمة في Postgres في الحقل postgres-server والحقل datastores. من المفترض أن تظهر لك النتيجة بالشكل التالي:

    {
      "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" : {
      }
    }
  9. احصل على عنوان UUID الخاص بالجهاز الرئيسي القديم من خلال تنفيذ الأمر curl التالي على عقدة الجهاز الرئيسي القديم:
    curl -u sysAdminEmail:password http://node_IP:8084/v1/servers/self

    من المفترض أن يظهر لك معرّف UUID للعقدة في نهاية الناتج، بالشكل التالي:

    "type" : [ "postgres-server" ],
    "uUID" : "599e8ebf-5d69-4ae4-aa71-154970a8ec75"
  10. كرِّر الخطوة السابقة للحصول على عناوين IP للعقدة الاحتياطية القديمة والعقدة الرئيسية الجديدة.
  11. أزِل العُقد الرئيسية والاحتياطية القديمة من مجموعة المستهلكين:
    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

    حيث axgroup-001 وconsumer-group-001 هما الاسمان التلقائيان لمجموعتَي التحليلات والمستهلكين. masterUUID,standbyUUID بالترتيب نفسه الذي ظهرت به أعلاه عند عرض معلومات الإحصاءات ومجموعة المستهلكين الحالية أعلاه. وقد يكون عليك تحديدها على أنّها standbyUUID,masterUUID.

    من المفترض أن تكون السمة datastores لـ consumer-groups فارغة الآن.

  12. أزِل العُقد الرئيسية والاحتياطية القديمة من مجموعة الإحصاءات:
    curl -u sysAdminEmail:password -X DELETE \
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=masterUUID,standbyUUID&type=postgres-server" -v

    من المفترض أن تكون السمة postgres-server ضمن uuids فارغة الآن.

  13. تسجيل عُقد PG الرئيسية والاحتياطية الجديدة مع مجموعات الإحصاءات والمستهلكين:
    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
  14. التحقّق من صحة مجموعة الإحصاءات:
    curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax

    من المفترض أن تظهر لك معرّفات UUID للعُقد الرئيسية والاحتياطية الجديدة المُدرَجة في مجموعة الإحصاءات ومجموعة المستهلكين.

  15. أعِد تشغيل خادم إدارة Edge:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
  16. أعِد تشغيل جميع خوادم Qpid:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
  17. أعِد تشغيل جميع خوادم Postgres:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
  18. تحقَّق من حالة النسخ المتماثل من خلال إصدار النصوص البرمجية التالية على كلا الخادمَين. من المفترض أن يعرض النظام نتائج متطابقة على كلا الخادمَين لضمان نجاح عملية النسخ المتماثل:

    على الجهاز الرئيسي الجديد، نفِّذ ما يلي:

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

    تأكَّد من أنّه الجهاز الرئيسي. على العُقدة الاحتياطية القديمة:

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

    تأكَّد من أنّه الجهاز الاحتياطي.

  19. كرِّر الخطوة السابقة بعد إجراء عدة طلبات بيانات من واجهة برمجة التطبيقات للتأكّد من أنّ العُقد متزامنة.
  20. أوقِف تشغيل Postgres الرئيسي القديم باستخدام الإجراء الوارد في تحديث Apigee Edge من الإصدار 4.16.01/4.16.05 إلى الإصدار 4.17.09.

    بدلاً من ذلك، يمكنك إلغاء تثبيت Qpid من العقدة الرئيسية القديمة وتثبيت Qpid على العقدة الرئيسية الجديدة. بعد إلغاء تثبيت Qpid، يمكنك إيقاف تشغيل العقدة الرئيسية القديمة.

العودة إلى الإصدار السابق من mTLS

للتراجع عن تحديث mTLS، اتّبِع الخطوات التالية على جميع المضيفين:

  1. إيقاف Apigee:
    apigee-all stop
  2. إيقاف mTLS:
    apigee-service apigee-mtls uninstall
  3. أعِد تثبيت mTLS:
    apigee-service apigee-mtls install
    apigee-service apigee-mtls setup -f /opt/silent.conf