تراجع Apigee Edge 4.51.00

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

يمكنك الرجوع إلى إصدارات الإصدارات التجريبية التالية من Edge 4.51.00:

  • الإصدار 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 Server)
  • 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. لإلغاء تثبيت أيّ من المكوّنات التي تتضمّن رمزًا شائعًا في node، يجب إلغاء تثبيتها كلها من خلال إلغاء تثبيت مجموعة المكوّنات 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 master الجديد هو نفسه إصدار تثبيت 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 على العقدة الاحتياطية القديمة. إذا كان لا يزال لديك الإصدار القديم على node الاحتياطية القديمة، يمكنك تخطّي هذه الخطوة والمتابعة إلى الخطوة 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 bootstrap إلى إعداد مستودعات 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. سجِّل عقدة رئيسية جديدة وعقدة احتياطية في مجموعة المعالجة التحليلية ومجموعات المستهلكين:
    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