Skip to content

Install powerdns svc in the marvin box for smoke test#226

Open
sudo87 wants to merge 8 commits into
masterfrom
dockerService
Open

Install powerdns svc in the marvin box for smoke test#226
sudo87 wants to merge 8 commits into
masterfrom
dockerService

Conversation

@sudo87

@sudo87 sudo87 commented Jun 11, 2026

Copy link
Copy Markdown
Member

With this PR, powerdns will be setup in marvin box as docker service. This will be used to run integration tests for DNS framework

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.yml under 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.

Comment on lines +119 to +123
- name: Pre-pull Docker images for PowerDNS
shell: docker compose pull
args:
chdir: /marvin/pdns

Comment thread Ansible/roles/marvin/tasks/main.yml
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"
Comment on lines +8 to +11
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 weizhouapache left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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?

@sudo87

sudo87 commented Jun 11, 2026

Copy link
Copy Markdown
Member Author

@weizhouapache thank you for reviewing the changes. I have not compared the configuration time, but it wasn't noticeably different.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants