Skip to content

Add OpenConfig DNS provider implementation - #469

Closed
rgildein wants to merge 1 commit into
ironcore-dev:mainfrom
rgildein:feat/openconfig-dns
Closed

Add OpenConfig DNS provider implementation#469
rgildein wants to merge 1 commit into
ironcore-dev:mainfrom
rgildein:feat/openconfig-dns

Conversation

@rgildein

@rgildein rgildein commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

Implement EnsureDNS and DeleteDNS for the OpenConfig provider targeting SR Linux via gNMI. Maps DNSSpec. Domain to /system/dns/config/search and DNSSpec.Servers to /system/dns/servers/server list.
Rejects unsupported fields (adminState: Down, sourceInterfaceName, vrfName) with explicit UnsupportedFieldError.

How I tested it

$ kubectl apply -f - <<EOF
  apiVersion: networking.metal.ironcore.dev/v1alpha1
  kind: DNS
  metadata:
    name: dns
    namespace: default
  spec:
    deviceRef:
      name: leaf1
    domain: example.com
    servers:
      - address: 8.8.8.8
      - address: 1.1.1.1
EOF
dns.networking.metal.ironcore.dev/dns configured
$ gnmic -a 172.20.20.2 --port 57400 -u admin -p 'NokiaSrl1!' --skip-verify --encoding JSON_IETF get --path "openconfig-system:system/dns"
[
  {
    "source": "172.20.20.2",
    "timestamp": 1785331298950342192,
    "time": "2026-07-29T15:21:38.950342192+02:00",
    "updates": [
      {
        "Path": "openconfig-system:system/dns",
        "values": {
          "openconfig-system:system/dns": {
            "config": {
              "search": [
                "example.com"
              ]
            },
            "host-entries": {},
            "servers": {
              "server": [
                {
                  "address": "8.8.8.8",
                  "config": {
                    "address": "8.8.8.8"
                  },
                  "state": {
                    "address": "8.8.8.8"
                  }
                },
                {
                  "address": "1.1.1.1",
                  "config": {
                    "address": "1.1.1.1"
                  },
                  "state": {
                    "address": "1.1.1.1"
                  }
                }
              ]
            },
            "state": {
              "search": [
                "example.com"
              ]
            }
          }
        }
      }
    ]
  }
]

Implement EnsureDNS and DeleteDNS for the OpenConfig provider targeting
SR Linux via gNMI. Maps DNSSpec.Domain to /system/dns/config/search and
DNSSpec.Servers to /system/dns/servers/server list. Rejects unsupported
fields (adminState: Down, sourceInterfaceName, vrfName) with explicit
UnsupportedFieldError.

Signed-off-by: Robert Gildein <rgildein@users.noreply.github.com>
@rgildein rgildein self-assigned this Jul 29, 2026
@rgildein rgildein added area/switch-automation Automation processes for network switch management and operations. size/M labels Jul 29, 2026
@rgildein rgildein closed this Jul 30, 2026
@rgildein
rgildein deleted the feat/openconfig-dns branch July 30, 2026 12:28
@rgildein
rgildein restored the feat/openconfig-dns branch July 30, 2026 12:33
@rgildein rgildein reopened this Jul 30, 2026
@rgildein

Copy link
Copy Markdown
Contributor Author

replaced by: #471

@rgildein rgildein closed this Jul 30, 2026
@rgildein
rgildein deleted the feat/openconfig-dns branch July 30, 2026 12:37
@hardikdr hardikdr added this to Roadmap Aug 21, 2026
@github-project-automation github-project-automation Bot moved this to Done in Roadmap Aug 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/switch-automation Automation processes for network switch management and operations. size/M

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants