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

Bug 1845885: templates: add node-valid-hostname.service for hostname check #1813

Merged
merged 1 commit into from
Jun 17, 2020
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions templates/common/_base/units/node-valid-hostname.service
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: node-valid-hostname.service
enabled: true
contents: |
[Unit]
Description=Ensure hostname is not localhost
# Only run when the host has a localhost name.
ConditionHost=|localhost
ConditionHost=|localhost.localdomain
Before=network-online.target

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStartPre=/bin/echo "Node has localhost hostname. Waiting for new hostname."
# Get the short hostname. This is more reliable than a regex.
ExecStartPre=/bin/bash -c 'while [ `hostname -s` == "localhost" ]; do sleep 1; done;'
ExecStart=/bin/sh -c "echo Node changed hostname to `hostname`"
# Wait up to 5min for the node to get a real hostname.
TimeoutSec=300
Copy link
Member

Choose a reason for hiding this comment

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

You can also write TimeoutSec=5m FWIW.


[Install]
WantedBy=multi-user.target
Copy link
Member

Choose a reason for hiding this comment

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

I don't think we need this - if network-online.target isn't requested then we shouldn't run.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Copy link
Member

Choose a reason for hiding this comment

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

Right, I'm talking about removing the
WantedBy=multi-user.target

# Ensure that network-online.target will not complete until the node has a real hostname.
RequiredBy=network-online.target