XMLWordPrintable

Details

    • False
    • None
    • False
    • Not Started
    • Not Started
    • Not Started
    • Not Started
    • Not Started
    • Not Started
    • Important

    Description

      When the NGiNX child process die into APIcast for any reason, the APIcast spawn a new child with the previous configuration.

      To replicate the behavior, follow the steps:

      1. Get any example product (echo API for example) working and add a HTTP Status Code Overwrite policy to change the return code to 200 (used only for debug purposes)
      2. Check if the rule is working and returning the configured status code
      3. Changed the policy HTTP Status Code Overwrite of Response Code to return 201
      4. Manually promote to production and staging
      5. Wait for the loop response code to present the publication result 201
      6. Execute inside the APIcast POD:
      $ oc rsh dc/apicast-production
      > kill $(ls -l /proc/*/exe | grep nginx | sed -n '2p' | awk -F/ '{print $3}')
      1. After killing the second NGiNX process of the POD, the old response code 200 is returned, indicating that the master NGiNX process spawned a child with the configuration fetched at the boot process, and not with the updated configuration fetched at step 4. The child wont be updated until another configuration promotion.

      Tested on 3scale 2.13, and customer reported to also happen on 2.12 and 2.11.

      The quick workaround was to rollout APIcast to latest version.

      Attachments

        Activity

          People

            Unassigned Unassigned
            rhn-support-eazevedo Ernani Azevedo
            Jakub Urban Jakub Urban
            Eguzki Astiz Lezaun Eguzki Astiz Lezaun
            Votes:
            1 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: