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

These are not the droids you're looking for #2348

Closed
wants to merge 8 commits into from
Closed

These are not the droids you're looking for #2348

wants to merge 8 commits into from

Conversation

ludeeus
Copy link
Member

@ludeeus ludeeus commented Dec 5, 2020

Proposed change

Type of change

  • Dependency upgrade
  • Bugfix (non-breaking change which fixes an issue)
  • New feature (which adds functionality to the supervisor)
  • Breaking change (fix/feature causing existing functionality to break)
  • Code quality improvements to existing code or addition of tests

Additional information

  • This PR fixes or closes issue: fixes #
  • This PR is related to issue:
  • Link to documentation pull request:

Checklist

  • The code change is tested and works locally.
  • Local tests pass. Your PR cannot be merged unless tests pass
  • There is no commented out code in this PR.
  • I have followed the development checklist
  • The code has been formatted using Black (black --fast supervisor tests)
  • Tests have been added to verify that the new code works.

If API endpoints of add-on configuration are added/changed:

@ludeeus ludeeus added the new-feature A new feature label Dec 6, 2020
@pvizeli
Copy link
Member

pvizeli commented Dec 6, 2020

Looks fine. We need a concept, how the API should look like to be usable. I think maybe we need also something like this:

MyXy(JobGroup):

    job_group = "xy"

   @Job(lock=True, wait=False, name="Optional name if not method")
   def xy():

And generate /xy/update which is set on the first context and gets inherit to child jobs. So the frontend can get the correct root job. We can also lock future access over this JobGroup. The question is, how we deal with sub progress etc.

API:

job id task parent progress
/supervisor/update 13kj123lk1j2 Supervisor.update null null
jkfjsdwlf23423 DockerSupervisor.install 13kj123lk1j2 20%

That is just an idea. We need maybe write an RFC and implement that. So that we can start to implement this.

@github-actions
Copy link

github-actions bot commented Feb 4, 2021

There hasn't been any activity on this pull request recently. This pull request has been automatically marked as stale because of that and will be closed if no further activity occurs within 7 days.
Thank you for your contributions.

@github-actions github-actions bot added the stale label Feb 4, 2021
@ludeeus
Copy link
Member Author

ludeeus commented Feb 4, 2021

In due time @github-actions, in due time.

@github-actions github-actions bot removed the stale label Feb 4, 2021
@github-actions
Copy link

github-actions bot commented Apr 5, 2021

There hasn't been any activity on this pull request recently. This pull request has been automatically marked as stale because of that and will be closed if no further activity occurs within 7 days.
Thank you for your contributions.

@ludeeus
Copy link
Member Author

ludeeus commented Apr 13, 2021

I think each root activity (started by API access or system), should generate a JobGroup
The JobManager would manage the JobGroup and the JobGroup would manage (create/update/remove) and track individual jobs.

So if you call /supervisor/update:

  1. JobManager creates a new JobGroup with a uuid and that API path tracked as the name.
  2. The JobGroup will then spawn individual SupervisorJob (jobs) that is needed (update apparmor, install new image, update ) to complete the API call
  3. All processes are tracked individually in the jobs, and the JobGroup will keep overall progress.
  4. The JobGroup will remove all associated jobs, and request removal of itself by the JobManager when the process is complete (success/fail)

@pvizeli
Copy link
Member

pvizeli commented Jun 9, 2021

make sense, yes

@github-actions
Copy link

github-actions bot commented Aug 8, 2021

There hasn't been any activity on this pull request recently. This pull request has been automatically marked as stale because of that and will be closed if no further activity occurs within 7 days.
Thank you for your contributions.

@github-actions github-actions bot added the stale label Aug 8, 2021
@pvizeli pvizeli removed the stale label Aug 9, 2021
@github-actions
Copy link

github-actions bot commented Oct 8, 2021

There hasn't been any activity on this pull request recently. This pull request has been automatically marked as stale because of that and will be closed if no further activity occurs within 7 days.
Thank you for your contributions.

@github-actions github-actions bot added the stale label Oct 8, 2021
@github-actions github-actions bot closed this Oct 15, 2021
@ludeeus ludeeus reopened this Oct 15, 2021
@ludeeus ludeeus removed the stale label Oct 15, 2021
@ludeeus ludeeus closed this Nov 29, 2021
@github-actions github-actions bot locked and limited conversation to collaborators Dec 1, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants