Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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
Add scripts for setting up hoeve #620
Add scripts for setting up hoeve #620
Changes from 6 commits
6608fac
ead12c1
aa1f9c4
eca82c4
fe915fa
53e954d
d8887aa
12d36f9
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you want to prevent the runner from running if this script failed? Because
Wanted
is not strong enough for that.If it's just about ordering, that's already taken care of by
Before=network.target
.[edit]
Silly me.
Wanted
doesn't do ordering in the first place. Sorry, please explain what you're trying to accomplish, so we can work out what to do.[/edit]
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes.
How would you specify this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would add this to the runner:
but if you want the runner to be able to run if you
systemctl disable fpganet.service
, you could add this tofpganet.service
:But this seems weird. Why would it suddenly no longer require the service just because you
systemctl disable
d it? On the other hand, if you do that, you might have good reason to? I dunno :-).[edit]
Fixed dumb copy-paste error in latter config snippet.
[/edit]
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was under the (possibly naive) impression that just doing:
would be good enough to make sure that first the
fpganet.service
gets started, and thenisc-dhcp-server.service
, somewhere during boot up of the machine.If you want to do it "really properly" you should probably add a dependency between the runner and the dhcp server.
Just depending on the setting up of the bridge isn't strictly enough.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't really understand what you mean, but I don't see any ordering in the commands you give. Those commands will certainly not start the
fpganet.service
beforeisc-dhcp-server.service
.[edit]
Well, it depends on what is taken as a given. As written currently, clearly
fpganet.service
will run beforeisc-dhcp-server.service
becausefpganet.service
isBefore=network-online.target
andisc-dhcp-server.service
isAfter=network-online.target
andWants=network-online.target
. But I meant that your commands did not create this ordering; it is a pre-existing ordering, your commands do not establish it.[/edit]
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Doing that (if I understand what you mean correctly) means that during bootup, it will wait for the DHCP server to be started before launching the runners. But the DHCP server doesn't need to be available until well into a CI run, not for the runner to be able to start. So I think this is overkill and not really the systemd "we want boot to be quick and ordering dependencies to be few" philosophy. I think we needed
fpganet.service
to be well and truly before the runner because otherwise Docker would not be able to bind the bridge interface into its runtime; in other words, the runner truly does depend onfpganet.service
to be available when it is starting.But I may be misinterpreting, there are so many ways to interpret "add a dependency" in systemd land.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was an earlier experiment, for the current version, the runner can start fine without the bridge. Obviously CI jobs that need the bridge will fail without it, but the runner starts fine and other jobs run fine.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This contains some redundancies:
systemctl enable fpganet.service
:Start
fpganet.service
on every bootsystemctl add-wants isc-dhcp-server.service fpganet.service
:If
isc-dhcp-serve.service
starts, also startfpganet.service
systemctl enable isc-dhcp-server.service
:Start
isc-dhcp-server.service
on every bootEither point makes the other redundant in regard to the starting of
fpganet.service
. I'll delete the add-wants.