Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clone and restore apps with well-known ports #7157

Closed
DavidePrincipi opened this issue Nov 20, 2024 · 3 comments
Closed

Clone and restore apps with well-known ports #7157

DavidePrincipi opened this issue Nov 20, 2024 · 3 comments
Assignees
Labels
milestone goal 👑 This describes an announced milestone goal verified All test cases were verified successfully

Comments

@DavidePrincipi
Copy link
Member

DavidePrincipi commented Nov 20, 2024

Some applications (e.g., Mail, Dnsmasq, Ejabberd, Samba) are restricted to one instance per node because they bind to well-known TCP/UDP port numbers. While the Software Center enforces this limitation through the org.nethserver.max-per-node=1 label, the clone and restore procedures currently do not respect this label. As a result, these procedures may fail to start the services due to port conflicts.

Proposed Solution:
Ensure that the max-per-node label is honored during restore and clone operations. This would prevent conflicts for apps limited to specific ports. Note that this solution may not address conflicts between distinct modules (e.g., Samba and Dnsmasq), which could compete for the same port (DNS 53).

Alternative Solutions:

  • Use the max-per-node label to issue a warning during the restore and clone process.
  • Modify application behavior to avoid starting services if a port is already occupied. For example, Samba could skip startup if Dnsmasq is already running on port 53, or vice-versa.
  • Provide detailed conflict reports to the user, including which applications or services are affected.

Additional context

N/A

See also

Discussions

@DavidePrincipi DavidePrincipi added the milestone goal 👑 This describes an announced milestone goal label Nov 20, 2024
@DavidePrincipi DavidePrincipi added this to the NethServer M8.3 milestone Nov 20, 2024
@DavidePrincipi DavidePrincipi moved this to ToDo in NethServer Nov 20, 2024
@DavidePrincipi DavidePrincipi self-assigned this Dec 9, 2024
@DavidePrincipi DavidePrincipi moved this from ToDo to In Progress in NethServer Dec 9, 2024
andre8244 added a commit to NethServer/ns8-core that referenced this issue Dec 12, 2024
andre8244 added a commit to NethServer/ns8-core that referenced this issue Dec 12, 2024
andre8244 added a commit to NethServer/ns8-core that referenced this issue Dec 12, 2024
andre8244 added a commit to NethServer/ns8-core that referenced this issue Dec 17, 2024
DavidePrincipi added a commit to NethServer/ns8-core that referenced this issue Dec 17, 2024
Implement determine-restore-eligibility action

Refs NethServer/dev#7157
DavidePrincipi added a commit to NethServer/ns8-core that referenced this issue Dec 17, 2024
fix: limit clone/move/restore app only to eligible nodes

Refs NethServer/dev#7157
@DavidePrincipi
Copy link
Member Author

Test case

With core 3.4.0-dev.1 the max-per-node limits are enforced during restore, clone and move workflows, completing the already existing enforcement of the install procedure.

For example I cannot clone/restore Mail on the same node. I cannot move Mail to another node, if there's another Mail instance already installed.

@DavidePrincipi DavidePrincipi added the testing Packages are available from testing repositories label Dec 17, 2024
@nethbot nethbot moved this from In Progress to Testing in NethServer Dec 17, 2024
@nrauso nrauso self-assigned this Dec 18, 2024
@nrauso
Copy link

nrauso commented Dec 18, 2024

test case: VERIFIED

@nrauso nrauso added verified All test cases were verified successfully and removed testing Packages are available from testing repositories labels Dec 18, 2024
@nethbot nethbot moved this from Testing to Verified in NethServer Dec 18, 2024
@nethbot nethbot moved this from Verified to In Progress in NethServer Dec 18, 2024
@nrauso nrauso added the testing Packages are available from testing repositories label Dec 18, 2024
@github-actions github-actions bot removed the verified All test cases were verified successfully label Dec 18, 2024
@nethbot nethbot moved this from In Progress to Testing in NethServer Dec 18, 2024
@DavidePrincipi DavidePrincipi added the verified All test cases were verified successfully label Dec 18, 2024
@github-actions github-actions bot removed the testing Packages are available from testing repositories label Dec 18, 2024
@nethbot nethbot moved this from Testing to Verified in NethServer Dec 18, 2024
@DavidePrincipi
Copy link
Member Author

@github-project-automation github-project-automation bot moved this from Verified to Done in NethServer Dec 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
milestone goal 👑 This describes an announced milestone goal verified All test cases were verified successfully
Projects
Status: Done
Development

No branches or pull requests

4 participants