Install powerdns svc in the marvin box for smoke test#226
Conversation
There was a problem hiding this comment.
Pull request overview
Sets up a PowerDNS (PDNS) Docker Compose stack on the “marvin” VM to support DNS framework integration/smoke testing by provisioning Docker prerequisites and staging a compose file on the box.
Changes:
- Install additional Marvin prerequisites (notably Docker Engine/Compose plugin and
bind-utils). - Add a PowerDNS + MySQL + PowerDNS-Admin
docker-compose.ymlunder the Marvin role files. - Create
/marvin/pdns, copy the compose file there, and pre-pull the images.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 11 comments.
| File | Description |
|---|---|
| Ansible/roles/marvin/tasks/main.yml | Creates /marvin/pdns, copies the PDNS compose file, and pre-pulls container images. |
| Ansible/roles/marvin/tasks/install_marvin_prereqs.yml | Installs Docker dependencies, configures Docker CE repo, installs Docker/Compose, and adds bind-utils. |
| Ansible/roles/marvin/files/powerdns-docker-compose.yml | Defines the PDNS stack (MySQL + PDNS + PowerDNS-Admin) and publishes required ports. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| - name: Pre-pull Docker images for PowerDNS | ||
| shell: docker compose pull | ||
| args: | ||
| chdir: /marvin/pdns | ||
|
|
| name: | ||
| - nftables | ||
| - libnftnl | ||
| state: latest |
| url: https://download.docker.com/linux/centos/docker-ce.repo | ||
| dest: /etc/yum.repos.d/docker-ce.repo | ||
| mode: "0644" | ||
| validate_certs: no |
| ports: | ||
| - "53:53/udp" | ||
| - "53:53/tcp" | ||
| - "8081:8081" |
| MYSQL_ROOT_PASSWORD: rootpassword | ||
| MYSQL_DATABASE: pdns | ||
| MYSQL_USER: pdns | ||
| MYSQL_PASSWORD: pdnspassword |
| PDNS_gmysql_user: pdns | ||
| PDNS_gmysql_password: pdnspassword | ||
| PDNS_api: "yes" | ||
| PDNS_api_key: supersecretapikey |
| ports: | ||
| - "9191:80" | ||
| environment: | ||
| SECRET_KEY: "ReplaceWithARandomString" |
| retries: 10 | ||
|
|
||
| pdns: | ||
| image: pschiffe/pdns-mysql:latest |
| - pdns-net | ||
|
|
||
| pdns-admin: | ||
| image: ngoduykhanh/powerdns-admin:latest |
weizhouapache
left a comment
There was a problem hiding this comment.
code lgtm
I have just a concern: it will increase the time on configuration of marvin node.
@sudo87 have you compared the marvin configuration time with/without this change?
|
@weizhouapache thank you for reviewing the changes. I have not compared the configuration time, but it wasn't noticeably different. |
With this PR, powerdns will be setup in marvin box as docker service. This will be used to run integration tests for DNS framework