-
Notifications
You must be signed in to change notification settings - Fork 897
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
Allow use of systemd for worker management #18648
Allow use of systemd for worker management #18648
Conversation
f5b311f
to
225cd1f
Compare
8b62825
to
9ba6c3a
Compare
Some comments on commits agrare/manageiq@ff0febc~...9ba6c3a lib/workers/bin/run_single_worker.rb
|
Checked commits agrare/manageiq@ff0febc~...9ba6c3a with ruby 2.3.3, rubocop 0.69.0, haml-lint 0.20.0, and yamllint 1.10.0 app/models/miq_worker/systemd_common.rb
lib/miq_environment.rb
lib/vmdb/loggers.rb
lib/workers/bin/run_single_worker.rb
|
@carbonin it is ready from my side |
So this is still off by default. Do we know who from QE we should rope in to see if they can run some tests with this enabled? |
@dmetzger57 can we get QE to setup an appliance with this feature turned on? |
I'll work with QE to get a resource(s) allocated for initial testing, @agrare should I have then contact you directly with any specific questions? |
Definitely not 😆 of course |
Make systemd optional on systemd enabled systems Api/web service worker needs ui-classic as it can try to read an existing UI session, which can contain serialized classes from ui-classic. Previously, we tried removing fork here: ManageIQ#16130 It was reverted here: ManageIQ#16154 Some of the followups needed to fix the original problems including passing down ems_id to per ems workers, resolved in: ManageIQ#16199 and ManageIQ#18648 At this point, things should just work.
Make systemd optional on systemd enabled systems Api/web service worker needs ui-classic as it can try to read an existing UI session, which can contain serialized classes from ui-classic. Previously, we tried removing fork here: ManageIQ#16130 It was reverted here: ManageIQ#16154 Some of the followups needed to fix the original problems including passing down ems_id to per ems workers, resolved in: ManageIQ#16199 and ManageIQ#18648 At this point, things should just work.
Make systemd optional on systemd enabled systems Api/web service worker needs ui-classic as it can try to read an existing UI session, which can contain serialized classes from ui-classic. Previously, we tried removing fork here: ManageIQ#16130 It was reverted here: ManageIQ#16154 Some of the followups needed to fix the original problems including passing down ems_id to per ems workers, resolved in: ManageIQ#16199 and ManageIQ#18648 At this point, things should just work.
Make systemd optional on systemd enabled systems Api/web service worker needs ui-classic as it can try to read an existing UI session, which can contain serialized classes from ui-classic. Previously, we tried removing fork here: ManageIQ#16130 It was reverted here: ManageIQ#16154 Some of the followups needed to fix the original problems including passing down ems_id to per ems workers, resolved in: ManageIQ#16199 and ManageIQ#18648 At this point, things should just work.
Make systemd optional on systemd enabled systems Api/web service worker needs ui-classic as it can try to read an existing UI session, which can contain serialized classes from ui-classic. Previously, we tried removing fork here: ManageIQ#16130 It was reverted here: ManageIQ#16154 Some of the followups needed to fix the original problems including passing down ems_id to per ems workers, resolved in: ManageIQ#16199 and ManageIQ#18648 At this point, things should just work.
Allow for workers to be run and managed by systemd. This follows exactly the containerized worker model so it doesn't remove a lot of code, but I see this as a way to get it in and start testing.
A worker consists of the following component:
A target which groups multiple logical units together so they can be managed as a group
A service template which defines the options for the service, this is the basis for multiple unit services like most queue workers
A settings directory where the per worker settings are stored:
When running it looks like this:
We can get logs by slice:
And also only for example show log levels warn or above,
journalctl --unit=cfme-generic.slice --priority=warning
TODO:
Depends on: ManageIQ/manageiq-loggers#5