-
Notifications
You must be signed in to change notification settings - Fork 189
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
Remove the virtualization code #9276
base: master
Are you sure you want to change the base?
Conversation
👋 Hello! Thanks for contributing to our project. If you are unsure the failing tests are related to your code, you can check the "reference jobs". These are jobs that run on a scheduled time with code from master. If they fail for the same reason as your build, it means the tests or the infrastructure are broken. If they do not fail, but yours do, it means it is related to your code. Reference tests: KNOWN ISSUES Sometimes the build can fail when pulling new jar files from download.opensuse.org . This is a known limitation. Given this happens rarely, when it does, all you need to do is rerun the test. Sorry for the inconvenience. For more tips on troubleshooting, see the troubleshooting guide. Happy hacking! |
Showing the topology is still possible in the |
But who send the data from the libvirt host about the available VMs? |
rhnActionVirtVcpu, | ||
rhnActionVirtVolDelete CASCADE; | ||
|
||
DELETE FROM rhnActionType WHERE label LIKE 'virt.%'; |
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 am not sure if this is a good idea. Would this change the Event History of systems which used such an action before?
I think changing the event history is critical. I would like to have the OK from @admd before doing it.
Is there maybe a way to drop these tables and classes but keep the event history?
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.
Changing the history for actions that are supposed to not be used shouldn't be a problem. If that is a problem, it probably mean we need to keep the whole feature because someone uses it.
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.
It's a tricky one from legal perspective. Ideally, we should not remove any history from the systems, at least for a pre-defined time(6 months or so, different companies have different policies)
If we can somehow keep the history while removing the feature itself, that would be ideal. If that's not feasible and requires a lot more work, I would just go ahead with this change. However, would add a note in release notes that this will happen.
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.
The problem is that we will have to keep a dozen of tables and the matching Java code, just to show empty content because no-one was using it.
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.
Ok if there is no easy way, we go ahead with your change. We will add a note in release notes when times comes.
There is a libvirt host gatherer that we could add. The engine was somewhat fragile and is now removed. |
@cbosdo would the Virtual Host field on this page https://suma-long-43-srv.mgr.suse.de/rhn/manager/systems/list/virtual still be populated after the engine removal and we can see the relation between virtual host & virtual systems? |
Yes it will be populated: the hardware refresh and the virtual host gatherer are the ones involved on this IIRC. |
Good! We just need to make sure that we don't break that part. |
It will break, as the admin has to setup the libvirt module. Especially when an authentication is required. |
@admd I have created https://github.com/SUSE/spacewalk/issues/25437 and added it to the planning board |
I don't care if there is a migration path and the user have to take action.... otherwise we keep everything for ever! Either we want to remove the WHOLE feature or NOTHING! |
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.
ok, but we need to work on the replacement to keep the host <=> VM relation
Remember that the libvirt engine was only set up if the Virtualization Host Addon type was enabled on the host. The host / VM relation was there before... Everything else was there before |
@mcalmer how was this information added and used? Was it part of the data that is sent to SCC? We should not reduce the data quality we send to SCC. We should have a look and see if adding the connection to libvirt on "Virtual Host Managers" is enough (I think it should be, since this is also the case for other providers). |
Before looking at the libvirt virtual host gatherer, we need to check what happens with just the regular hardware update. For sure you will not know about the unregistered VM running on a host... but that has always been the case without the Virtualization Addon. My point here is that we should not discuss keeping data that are gathered only using the virtualization addon as this thing is not supposed to be used |
Agree. But we first need to check if is being used and what could be broken. Then plan on how to replace that data. |
@cbosdo yes, it was working before you implemented the new virtualization feature. But we had this "Poller" in the past from the traditional stack and when I remember correctly, this was removed when you implemented the new way with the salt engine. @rjmateus yes, this is used when sending data to SCC |
@cbosdo do you remember anything around this? @meaksh any thoughts on this one topic. We would like to remove this whole vritualization feature but would still like to show the relationship between Virtual host and it's guests. More discussion around this topic #9276 (comment) |
I don't remember but git does: 9ffc5bc2 the virtpoller beacon was only added on systems that had the virtualization entitlement... that one has been removed. Even before that the |
Thank you Cedric for digging up. So we either need poller back in or virtual-host-gatherer-libvirt. Please do correct me if I am missing something. I believe , we will be going this way https://github.com/SUSE/spacewalk/issues/25437 . We can proceed with merging the PR but we will need to get this https://github.com/SUSE/spacewalk/issues/25437 done before the 5.1 FCS. I wonder how much work this would require. |
@admd nothing else from my side. I think we can/should move forward with this PR being merged, but we need to make sure we have a solution for the link between VM's and hostOS before 5.1 FCS as you mentioned. |
The libvirt gatherer module was never tested in real environments. |
Thank you @mcalmer |
Ohh, not "that" poller. |
@mcalmer I was thinking about this beacon, which looks to be firing salt events to the server: 9ffc5bc2#diff-e574bf1fbaa404654ba3a68642f6c2a4095f6e8db4f7283576031ed51a6b23d8L18 Did I get it wrong? I just look at the code in diagonal :\ |
Ok, we mean the same. This is the "new" poller. And I think this was still in use with the virtualization support. The old was from spacewalk times and that cannot work anymore. When you said |
ah ok :) |
The beacon is gone... see the commit in 2020. But I think it's the easiest thing to get some mapping. |
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.
Sorry to join late on the discussion. I would also vote for bringing back the virtpoller
beacon that was removed when introducing the virtualization code that we are dropping now in this PR.
That should be enough to keep the mapping between VMs and virthost, particularly in the context of Virtual Host Managers.
What does this PR change?
Trash virtualization features.
GUI diff
The whole
Virtualization
tab in the systems details is gone!Documentation
Documentation issue was created: Link for SUSE Manager contributors, Link for community contributors.
API documentation added: please review the Wiki page Writing Documentation for the API if you have any changes to API documentation.
(OPTIONAL) Documentation PR
DONE
Test coverage
ℹ️ If a major new functionality is added, it is strongly recommended that tests for the new functionality are added to the Cucumber test suite
No tests: removing code and related tests will probably increase the code coverage in the end 😉
DONE
Links
Issue(s): #
Port(s): # add downstream PR(s), if any
Changelogs
Make sure the changelogs entries you are adding are compliant with https://github.com/uyuni-project/uyuni/wiki/Contributing#changelogs and https://github.com/uyuni-project/uyuni/wiki/Contributing#uyuni-projectuyuni-repository
If you don't need a changelog check, please mark this checkbox:
If you uncheck the checkbox after the PR is created, you will need to re-run
changelog_test
(see below)Re-run a test
If you need to re-run a test, please mark the related checkbox, it will be unchecked automatically once it has re-run:
Before you merge
Check How to branch and merge properly!