Skip to content

fix VM detection, automated testing fixes, use newer chatmail-turn and move to standard BIND DNS zone format#912

Merged
hpk42 merged 5 commits intomainfrom
hpk/preparelxc
Apr 8, 2026
Merged

fix VM detection, automated testing fixes, use newer chatmail-turn and move to standard BIND DNS zone format#912
hpk42 merged 5 commits intomainfrom
hpk/preparelxc

Conversation

@hpk42
Copy link
Copy Markdown
Contributor

@hpk42 hpk42 commented Apr 6, 2026

minimizes and supersedes #907 #884 which added "cmdeploy lxc-*" subcommands but also added a lot of code that we don't really want in the cmdeploy repository. Instead i am working on a new "cmlxc" command (work title) that lives in a separate repository. It will run tests inside a container which has access to local DNS resolution (the same PowerDNS setup as in the superseded PRs), so no dns-over-ssh resultion is needed anymore, further simplifying the PR.It now focuses on a few neccessary fixes and enhancements, that can be independently merged and are useful fixes and improvements by themselves, even without any lxc:

  • fix: make "cmdeploy test --config ..." work, without requiring or implicitely falling back to a "chatmail.ini" in parent dirs

  • refactor: unify DNS zone-file to standard BIND format

  • feat: update chatmail-turn to support private addresses

  • refactor: various deployer improvements (VM detection, mailboxes dir ensured to be there, proper unbound on ipv4)

  • fix: properly terminate and wait on subprocesses on test teardown

For those concerned, LLM tooling was involved in pulling code out and refining some parts. All LOCs were manually reviewed and edited.

@hpk42 hpk42 temporarily deployed to staging2.testrun.org April 6, 2026 14:46 — with GitHub Actions Inactive
@hpk42 hpk42 temporarily deployed to staging-ipv4.testrun.org April 6, 2026 14:46 — with GitHub Actions Inactive
Comment thread cmdeploy/src/cmdeploy/dovecot/deployer.py Outdated
@hpk42 hpk42 changed the title prepare lxc container runs to be used from an external "cmlxc" tool fix VM detection, automated testing fixes and move to standard BIND DNS zone format Apr 6, 2026
@hpk42 hpk42 changed the title fix VM detection, automated testing fixes and move to standard BIND DNS zone format fix VM detection, automated testing fixes, use newer chatmail-turn and move to standard BIND DNS zone format Apr 6, 2026
@hpk42 hpk42 temporarily deployed to staging-ipv4.testrun.org April 6, 2026 15:50 — with GitHub Actions Inactive
@hpk42 hpk42 temporarily deployed to staging2.testrun.org April 6, 2026 15:50 — with GitHub Actions Inactive
Comment thread cmdeploy/src/cmdeploy/deployers.py Outdated
@hpk42 hpk42 temporarily deployed to staging-ipv4.testrun.org April 6, 2026 17:53 — with GitHub Actions Inactive
@hpk42 hpk42 temporarily deployed to staging2.testrun.org April 6, 2026 17:53 — with GitHub Actions Inactive
Copy link
Copy Markdown
Contributor

@j4n j4n left a comment

Choose a reason for hiding this comment

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

lgtm :)

Comment thread cmdeploy/src/cmdeploy/dovecot/deployer.py Outdated
@hpk42 hpk42 temporarily deployed to staging2.testrun.org April 7, 2026 22:13 — with GitHub Actions Inactive
@hpk42 hpk42 temporarily deployed to staging-ipv4.testrun.org April 7, 2026 22:13 — with GitHub Actions Inactive
"""Run local and online tests for chatmail deployment."""

env = os.environ.copy()
env["CHATMAIL_INI"] = str(args.inipath.absolute())
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I don't fully understand what "make "cmdeploy test --config ..." work, without requiring or implicitely falling back to a "chatmail.ini" in parent dirs" means. Looks like --config was never required and the bug was that its value was not passed into pytest. That's also why this is only in the test subcommand.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

it was meant to say that a chatmail.ini (in parent dirs of a test) was required despite "cmdeploy test --config" specifying one.

@hpk42 hpk42 merged commit 59e5dea into main Apr 8, 2026
6 checks passed
@hpk42 hpk42 deleted the hpk/preparelxc branch April 8, 2026 17:05
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