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

Implement StopUnit and flesh out Job object #106

Merged
merged 12 commits into from
Feb 2, 2023

Conversation

alexlarsson
Copy link
Contributor

We now support both starting and stopping object, and there are some initial work on properties for the job and node (although no property change notification yet).

Also includes some overall cleanups and fixing up the dbus API where it differs from the implemented API (primarily in the internals).

We want to use this code for all operations that create a job.
Also, make it refcount to streamline some of the memory ownership
tracking.

Signed-off-by: Alexander Larsson <alexl@redhat.com>
All the operations that track a job like StartUnit can reuse this
type. Also, make it refcounted to make the ownership handling
clearer.

Signed-off-by: Alexander Larsson <alexl@redhat.com>
Signed-off-by: Alexander Larsson <alexl@redhat.com>
We use a filter that runs before the vtable functions and ensure
that all Node operations always handle offline nodes in a central
place. This simplifies the method implementations and makes sure
we don't miss the check somewhere.

Signed-off-by: Alexander Larsson <alexl@redhat.com>
This is similar to _SD_DEFINE_POINTER_CLEANUP_FUNC and means we don't
have to repeat all these identical cleanup functions.

Signed-off-by: Alexander Larsson <alexl@redhat.com>
The actual implementation of the job side in the agent ended
up a bit different, as we don't need a real job object for the
agent side. We just reuse the unique id of the public job object
to hang everything off.

Signed-off-by: Alexander Larsson <alexl@redhat.com>
Whereever we have `if(ptr) unref(ptr)` we now use unrefp(&ptr) which
makes the code cleaner with less unneccesary indentation.

Signed-off-by: Alexander Larsson <alexl@redhat.com>
After implementing this I don't think we need to do any queueing
on the manager side. We already pass the mode to the agent which
will give it to systemd, which does the queueing. We just need
to propagate the WAITING => RUNNING state change.

Signed-off-by: Alexander Larsson <alexl@redhat.com>
Signed-off-by: Alexander Larsson <alexl@redhat.com>
Signed-off-by: Alexander Larsson <alexl@redhat.com>
Signed-off-by: Alexander Larsson <alexl@redhat.com>
src/manager/node.c Outdated Show resolved Hide resolved
src/manager/node.c Show resolved Hide resolved
Signed-off-by: Alexander Larsson <alexl@redhat.com>
@alexlarsson alexlarsson merged commit da7866b into eclipse-bluechi:main Feb 2, 2023
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.

2 participants