Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-34563

Connect via SRV record fails if the returned record resides in subdomain

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: 3.6.3
    • Fix Version/s: 3.6.6, 4.0.1, 4.1.1
    • Component/s: Networking
    • Labels:
      None
    • Environment:
      Debian GNU/Linux buster/sid
      GKE k8s 1.9.4
      non-privileged
    • Backwards Compatibility:
      Fully Compatible
    • Backport Requested:
      v4.0, v3.6
    • Sprint:
      Platforms 2018-06-18, Platforms 2018-07-02
    • Linked BF Score:
      67

      Description

      Kubernetes supports DNS SRV (service) records for named ports
      For each named port the record in following format is created:* _portname._protocol.service.namespace.svc.cluster.local*
      There is service:mongodb in namespace:default with protocol:tcp and portname:mongodb
      The service endpoint is statefulset:mongodb with instances mongodb-[0...9]
      For each of the instances the following resource record is created
      _mongodb._tcp.mongodb.default.svc.cluster.local service = 10 100 27017 mongodb-N.mongodb.default.svc.cluster.local. <-- A record that resolves to the IP of the instance itself.

      As we can see the host resides in the service subdomain and the software throws an error.
      Besides that it doesnt allow to connect to top-level domain resources requiring the address url must have at least 3 hostname components separated by dots ('.')

        Attachments

        1. bug.jpg
          bug.jpg
          251 kB

          Activity

            People

            Assignee:
            adam.martin ADAM Martin (Inactive)
            Reporter:
            alexeremenko Alexey Eremenko
            Participants:
            Votes:
            0 Vote for this issue
            Watchers:
            12 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: