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

Edge for Private Cloud الإصدار 4.19.01

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

يمكنك إعادة الإصدار 4.19.01 من Edge إلى إصدارات إصدار الميزات التالية:

  • الإصدار 4.18.05
  • الإصدار 4.18.01
  • الإصدار 4.17.09*

* للعودة من الإصدار 4.19.01 إلى 4.17.09، عليك الرجوع إلى Postgres بالإضافة إلى إعادة العناصر على كل عقدة. في حال العودة إلى الإصدار 4.18.01 أو 4.18.05، لن تحتاج إلى الرجوع إلى إصدار Postgres، لأنّ عملية الترقية لم تتضمّن تحديث Postgres.

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

  1. العودة إلى إصدار ميزة سابق: على سبيل المثال من 4.19.01 إلى 4.18.05.
  2. العودة إلى إصدار تحديث سابق في الإصدار نفسه: على سبيل المثال، من 4.19.01.02 إلى 4.19.01.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)

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

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

للرجوع من 4.19.01 إلى 4.17.09، عليك التراجع عن Postgres بالإضافة إلى إرجاع المكوّنات إلى كل عقدة. في حال العودة من الإصدار 4.18.01 أو 4.18.05، لن تحتاج إلى الرجوع إلى إصدار Postgres، لأنّ عملية الترقية لم تتضمّن تحديث Postgres.

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

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

    • للرجوع إلى الإصدار 4.18.05، يجب تنزيل bootstrap_4.18.05.sh:
      curl https://software.apigee.com/bootstrap_4.18.05.sh -o /tmp/bootstrap_4.18.05.sh 
    • للرجوع إلى الإصدار 4.18.01، يجب تنزيل bootstrap_4.18.01.sh:
      curl https://software.apigee.com/bootstrap_4.18.01.sh -o /tmp/bootstrap_4.18.01.sh 
    • للرجوع إلى الإصدار 4.17.09، يجب تنزيل bootstrap_4.17.09.sh:
      curl https://software.apigee.com/bootstrap_4.17.09.sh -o /tmp/bootstrap_4.17.09.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، عليك حذف محتوى ملف /opt/nginx/conf.d بالإضافة إلى إلغاء تثبيت مجموعة المكوّنات edge-gateway:
      cd /opt/nginx/conf.d
      rm -rf *
  5. ألغِ تثبيت الإصدار 4.19.01 من apigee-setup:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
  6. ثبِّت الإصدار 4.18.05 أو 4.18.01 أو 4.17.09 من الأداة apigee-service وملحقاتها. في المثال التالي، يتم تثبيت الإصدار 4.17.09 من apigee-service:
    sudo bash /tmp/bootstrap_4.17.09.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. كرر هذه العملية لكل عقدة تستضيف المكون الذي تريد التراجع عنه.

للرجوع من 4.19.01 إلى 4.17.09، عليك التراجع عن Postgres بالإضافة إلى إرجاع المكوّنات إلى كل عقدة. في حال العودة من الإصدار 4.18.01 أو 4.18.05، لن تحتاج إلى الرجوع إلى إصدار Postgres، لأنّ عملية الترقية لم تتضمّن تحديث Postgres.

العودة إلى إصدار تحديث سابق

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

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

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

    /opt/apigee/apigee-service/bin/apigee-service edge-ui-4.17.09-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. كرر هذه العملية لكل عقدة تستضيف المكون الذي تريد التراجع عنه.

للرجوع من 4.19.01 إلى 4.17.09، عليك التراجع عن Postgres بالإضافة إلى إرجاع المكوّنات إلى كل عقدة. في حال العودة من الإصدار 4.18.01 أو 4.18.05، لن تحتاج إلى الرجوع إلى إصدار Postgres، لأنّ عملية الترقية لم تتضمّن تحديث Postgres.

إرجاع تحديث Postgres 9.6 إلى إصدار سابق

في حال الترقية إلى الإصدار 4.19.01 من الإصدار 4.17.09، عليك الرجوع إلى إصدار سابق من تحديث Postgres بالإضافة إلى مكوّنات Edge.

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

  • ترقية عقدة وضع الاستعداد الجديدة لتصبح المشرف الرئيسي في Postgres. وسيكون إصدار Postgres الرئيسي الجديد هو الإصدار نفسه الذي تم تثبيته عليه سابقًا.
  • قم بتهيئة عقدة وضع الاستعداد القديمة لتكون عقدة وضع الاستعداد للشريحة الرئيسية الجديدة. وستكون عقدة وضع الاستعداد القديمة هي نفسها إصدار 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. أعِد إنشاء عقدة وضع الاستعداد القديمة:
    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

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

      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server start
  6. تأكَّد من إضافة عقدة وضع الاستعداد الجديدة من خلال عرض ملف /opt/apigee/apigee-postgresql/conf/pg_hba.conf على الشريحة الرئيسية الجديدة.
  7. يمكنك الاطّلاع على الإحصاءات الحالية ومعلومات مجموعة المستهلكين من خلال تنفيذ الأمر التالي على خادم الإدارة:
    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" : {
      }
    }

  8. يمكنك الحصول على عنوان UUID للصفحة الرئيسية القديمة من خلال تشغيل الأمر curl التالي على العقدة الرئيسية القديمة:
    curl -u sysAdminEmail:password http://node_IP:8084/v1/servers/self

    من المفترض أن يظهر لك المعرّف الفريد العالمي للعقدة في نهاية الإخراج، ويكون على النحو التالي:

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

  11. إزالة العُقد الرئيسية القديمة وعقد الاستعداد من مجموعة الإحصاءات:
    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 فارغة الآن.

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

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

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

    على الشريحة الرئيسية الجديدة، نفِّذ ما يلي:

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

    تحقق من أنه يقول أنه رئيسي. في عقدة وضع الاستعداد القديمة:

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

    يُرجى التأكّد من أنّها في وضع الاستعداد.

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

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

إلغاء تثبيت Qpid من الشريحة الرئيسية القديمة وتثبيت Qpid على الشريحة الرئيسية الجديدة

لإلغاء تثبيت Qpid من الشريحة الرئيسية القديمة وتثبيته على الشريحة الرئيسية الجديدة:

  1. احظر وصول معالجات الرسائل إلى منفذ Qpid 5672 على الشريحة الرئيسية القديمة من خلال تنفيذ الأمر التالي على جميع معالجات الرسائل:
    iptables -A OUTPUT -p tcp -d 10.233.147.20 --dport 5672 -j DROP
  2. تأكد من أن قائمة انتظار رسالة Qpid فارغة عن طريق تشغيل الأمر التالي. لا يمكنك إلغاء تثبيت Qpid حتى يعالج جميع الرسائل المعلّقة:
    qpid-stat -q

    يعرض هذا الأمر جدولاً يحتوي على عدد لـ msg, msgIn, and msgOut. ستتم معالجة جميع الرسائل عند msg=0 وmsgIn=msgOut.

  3. حدد المعرّف الفريد العالمي لخادم Qpid على الشريحة الرئيسية القديمة من خلال تشغيل الأمر التالي على الوحدة الرئيسية القديمة. احفظ هذه المعلومات لاستخدامها لاحقًا في الإجراء:
    curl -u sysAdminEmail:password http://node_IP::8083/v1/servers/self
  4. إيقاف Qpid على الشريحة الرئيسية القديمة:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
    /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd stop
  5. إلغاء تثبيت خادم Qpid:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server uninstall
    /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd uninstall
  6. أزِل خادم Qpid القديم من مجموعات الإحصاءات ومجموعات المستهلكين:
    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. إزالة خادم Qpid القديم من Zookeeper:
    curl -u sysAdminEmail:password -X DELETE \
      http://ms_IP:8080/v1/servers/qpid_UUID
  8. تثبيت Qpid على الشريحة الرئيسية الجديدة:
    /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile
  9. حدد المعرّف الفريد العالمي لخادم Qpid على الشريحة الرئيسية الجديدة عن طريق تشغيل الأمر التالي على الوحدة الرئيسية الجديدة. احفظ هذه المعلومات لاستخدامها لاحقًا في الإجراء:
    curl -u sysAdminEmail:password
      http://node_IP::8083/v1/servers/self
  10. سجِّل خادم Qpid الجديد في مجموعات الإحصاءات ومجموعات المستهلكين:
    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. أعِد تشغيل جميع معالِجات الرسائل:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
  12. نفِّذ الأمر التالي على خادم Qpid الجديد للتحقّق من إنشاء قوائم الانتظار:
    qpid-stat -q

    تأكَّد من أنّه يتم تحديث msg وmsgIn وmsgOut أثناء معالجة خادم Qpid للرسائل.

يُرجى التواصل مع فريق دعم Apigee Edge في حال مواجهة مشاكل عند الرجوع إلى إصدار سابق.