Commit facdb3f8 authored by Mark Beierl's avatar Mark Beierl
Browse files

PowerDNS from UBITech



UBITech took on PowerDNS as their challenge and provided
descriptors for both Helm and Juju

Signed-off-by: default avatarMark Beierl <mark.beierl@canonical.com>
parent d8a67d4b
Loading
Loading
Loading
Loading
Loading
+40 −0
Original line number Diff line number Diff line
# K8s-At-Home PowerDNS NS

Descriptors that installs a PowerDNS chart from K8s-At-Home repo.

There is one VNF (powerdns\_vnf) with only one KDU.

There is one NS that connects the VNF to a mgmt network

## Onboarding and instantiation

```bash
osm nfpkg-create powerdns_knf.tar.gz
osm nspkg-create powerdns_ns.tar.gz
osm ns-create --ns_name powerdns --nsd_name powerdns_ns --vim_account <VIM_ACCOUNT_NAME>|<VIM_ACCOUNT_ID> --ssh_keys ${HOME}/.ssh/id_rsa.pub
```

### Instantiation option

Some parameters could be passed during the instantiation.

```bash
osm ns-create --ns_name powerdns --nsd_name powerdns_ns --vim_account <VIM_ACCOUNT_NAME>|<VIM_ACCOUNT_ID> --config '{additionalParamsForVnf: [{"member-vnf-index": "openldap", "additionalParams": {"replicaCount": "2"}}]}'
osm ns-create --ns_name powerdns --nsd_name powerdns_ns --vim_account <VIM_ACCOUNT_NAME>|<VIM_ACCOUNT_ID> --config_file params.yaml
```

## Test deployment

```bash
helm -n <PROJECT_ID> list
kubectl -n <PROJECT_ID> get all
kubectl -n <PROJECT_ID> get service
```

## Testing PowerDNS server

```bash
PROJECT_ID="$(osm project-list | grep "_43" | awk '{ print $4 }')"
UDP_NODE_PORT="$(k -n "${PROJECT_ID}" get svc | grep udp | awk '{ print $5 }' | sed 's#53\:\([0-9]*\)/UDP#\1#g')"
dig @<NODE_IP> -p "${UDP_NODE_PORT}" google.com
```
+18 −0
Original line number Diff line number Diff line
vnfd:
  description: KNF with single KDU using a helm-chart for PowerDNS
  df:
  - id: default-df
  ext-cpd:
  - id: mgmt-ext
    k8s-cluster-net: mgmtnet
  id: powerdns_knf
  k8s-cluster:
    nets:
    - id: mgmtnet
  kdu:
  - name: powerdns
    helm-chart: k8s-at-home/powerdns
  mgmt-cp: mgmt-ext
  product-name: powerdns_knf
  provider: UBITECH Ltd.
  version: '1.0'
+16 −0
Original line number Diff line number Diff line
vld:
- name: mgmtnet
  vim-network-name: osm-ext
additionalParamsForVnf:
- member-vnf-index: powerdns
  additionalParamsForKdu:
  - kdu_name: powerdns
    additionalParams:
      # replicaCount: 2  
      # service.loadBalancerIP: '172.21.251.X' # MetalLB IP Address
      # service.type: NodePort
      service:
        type: NodePort
        # loadBalancerIP: '172.21.251.X' # MetalLB IP Address
      env:
        TZ: "Europe/Athens"
+22 −0
Original line number Diff line number Diff line
nsd:
  nsd:
  - description: NS consisting of a single KNF powerdns_knf connected to mgmt network
    designer: OSM
    df:
    - id: default-df
      vnf-profile:
      - id: powerdns
        virtual-link-connectivity:
        - constituent-cpd-id:
          - constituent-base-element-id: powerdns
            constituent-cpd-id: mgmt-ext
          virtual-link-profile-id: mgmtnet
        vnfd-id: powerdns_knf
    id: powerdns_ns
    name: powerdns_ns
    version: '1.0'
    virtual-link-desc:
    - id: mgmtnet
      mgmt-network: 'true'
    vnfd-id:
    - powerdns_knf
+5 −0
Original line number Diff line number Diff line
FROM psitrax/powerdns:4.4.1

LABEL maintainer=vnapostolop@gmail.com

RUN apk add --update python3 py3-pip
 No newline at end of file
Loading