Uploaded image for project: 'Red Hat 3scale API Management'
  1. Red Hat 3scale API Management
  2. THREESCALE-4752

Fully Qualified Domain Name in the Private Base URL

    XMLWordPrintable

Details

    • Not Started
    • Not Started
    • Not Started
    • Not Started
    • Not Started
    • Not Started
    • -
    • Hide

      Using the Zync's service /status/ready endpoint as an example:

      1. set Private Base Url to:

      http://zync.<project>.svc.cluster.local.:8080/status/ready
      

      2. send request to APIcast
      3. logs from APIcast, which show that an additional dot is added at the end:

      2020/03/18 10:56:23 [debug] 18#18: *565 [lua] resolver.lua:326: lookup(): resolver query: zync.amp271.svc.cluster.local.
      2020/03/18 10:56:23 [debug] 18#18: *565 [lua] cache.lua:122: fetch_answers(): resolver cache miss zync.amp271.svc.cluster.local.
      2020/03/18 10:56:23 [debug] 18#18: *565 [lua] cache.lua:188: get(): resolver cache miss: zync.amp271.svc.cluster.local.
      2020/03/18 10:56:23 [debug] 18#18: *565 [lua] resolver.lua:292: search_dns(): resolver query: zync.amp271.svc.cluster.local. search:  query: zync.amp271.svc.cluster.local..
      2020/03/18 10:56:23 [debug] 18#18: *565 [lua] cache.lua:122: fetch_answers(): resolver cache miss zync.amp271.svc.cluster.local..
      2020/03/18 10:56:23 [debug] 18#18: *565 [lua] cache.lua:188: get(): resolver cache miss: zync.amp271.svc.cluster.local..
      2020/03/18 10:56:23 [debug] 18#18: *565 [lua] dns_client.lua:68: query(): resolver query: zync.amp271.svc.cluster.local.. nameserver: 172.30.0.2:53
      2020/03/18 10:56:23 [debug] 18#18: *565 [lua] dns_client.lua:68: query(): resolver query: zync.amp271.svc.cluster.local.. nameserver: 172.30.0.2:53
      2020/03/18 10:56:23 [debug] 18#18: *565 [lua] resolver.lua:292: search_dns(): resolver query: zync.amp271.svc.cluster.local. search: amp271.svc.cluster.local query: zync.amp271.svc.cluster.local..amp271.svc.cluster.local
      2020/03/18 10:56:23 [debug] 18#18: *565 [lua] cache.lua:122: fetch_answers(): resolver cache miss zync.amp271.svc.cluster.local..amp271.svc.cluster.local
      2020/03/18 10:56:23 [debug] 18#18: *565 [lua] cache.lua:188: get(): resolver cache miss: zync.amp271.svc.cluster.local..amp271.svc.cluster.local
      
      Show
      Using the Zync's service /status/ready endpoint as an example: 1. set Private Base Url to: http: //zync.<project>.svc.cluster.local.:8080/status/ready 2. send request to APIcast 3. logs from APIcast, which show that an additional dot is added at the end: 2020/03/18 10:56:23 [debug] 18#18: *565 [lua] resolver.lua:326: lookup(): resolver query: zync.amp271.svc.cluster.local. 2020/03/18 10:56:23 [debug] 18#18: *565 [lua] cache.lua:122: fetch_answers(): resolver cache miss zync.amp271.svc.cluster.local. 2020/03/18 10:56:23 [debug] 18#18: *565 [lua] cache.lua:188: get(): resolver cache miss: zync.amp271.svc.cluster.local. 2020/03/18 10:56:23 [debug] 18#18: *565 [lua] resolver.lua:292: search_dns(): resolver query: zync.amp271.svc.cluster.local. search: query: zync.amp271.svc.cluster.local.. 2020/03/18 10:56:23 [debug] 18#18: *565 [lua] cache.lua:122: fetch_answers(): resolver cache miss zync.amp271.svc.cluster.local.. 2020/03/18 10:56:23 [debug] 18#18: *565 [lua] cache.lua:188: get(): resolver cache miss: zync.amp271.svc.cluster.local.. 2020/03/18 10:56:23 [debug] 18#18: *565 [lua] dns_client.lua:68: query(): resolver query: zync.amp271.svc.cluster.local.. nameserver: 172.30.0.2:53 2020/03/18 10:56:23 [debug] 18#18: *565 [lua] dns_client.lua:68: query(): resolver query: zync.amp271.svc.cluster.local.. nameserver: 172.30.0.2:53 2020/03/18 10:56:23 [debug] 18#18: *565 [lua] resolver.lua:292: search_dns(): resolver query: zync.amp271.svc.cluster.local. search: amp271.svc.cluster.local query: zync.amp271.svc.cluster.local..amp271.svc.cluster.local 2020/03/18 10:56:23 [debug] 18#18: *565 [lua] cache.lua:122: fetch_answers(): resolver cache miss zync.amp271.svc.cluster.local..amp271.svc.cluster.local 2020/03/18 10:56:23 [debug] 18#18: *565 [lua] cache.lua:188: get(): resolver cache miss: zync.amp271.svc.cluster.local..amp271.svc.cluster.local

    Description

      When the upstream API is a service running in the same OpenShift Cluster, the complete domain of the service in the cluster can be put in the Private Base URL to make the name resolution faster.

      It is possible, for example to use:

      http://<service>.<namespace>.svc.cluster.local:<port>

      But if we attempt to use a FQDN by adding a trailing dot to the domain like so:

      http://<service>.<namespace>.svc.cluster.local.:<port>
      

      The name resolution fails in APIcast and from the logs it appears that the lua resolver is trying to match the domain by appending the search domains, although it's a FQDN.

      Attachments

        Activity

          People

            Unassigned Unassigned
            rhn-support-sillumin Samuele Illuminati (Inactive)
            Michael Coelho Michael Coelho
            Eloy Coto Eloy Coto (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: