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

iscsi: Fix ibft boot with network-manager module #697

Closed
wants to merge 2 commits into from

Conversation

ryncsn
Copy link
Contributor

@ryncsn ryncsn commented Dec 15, 2019

Currently with 35network-manager iscsi ibft won't work because parse-ibft hook is missing and the iscsi cmdline could be duplicated and flawed. This PR should fix it. Tested on Fedora.

Only generate rd.iscsi.ibft=1 or rd.iscsi.firmware=1 once and ensure
they are space separated.

Signed-off-by: Kairui Song <kasong@redhat.com>
Currently with 35network-manager iscsi ibft won't work because
parse-ibft hook is only installed by 35network-legacy. Let 95iscsi
install it instead.

Signed-off-by: Kairui Song <kasong@redhat.com>
@centos-ci
Copy link
Collaborator

Can one of the admins verify this patch?

@lkundrak
Copy link
Contributor

No, this is completely wrong.
nm-initrd-generator is doing the ibft parsing.

@lkundrak
Copy link
Contributor

If it won't work for you, please file an issue with details.

@ryncsn
Copy link
Contributor Author

ryncsn commented Dec 30, 2019

@lkundrak Yes you are right, but I have a question, nm-initrd-generator seems to expect one to pass ip=ibft to work, but the parse-ibft.sh will automatically append the network configure required by ibtf to cmdline when ever it found there is ibft info. So some previous working enviroment is
now broken.
So when using network-manager module, should we let dracut append ip=ibft to cmdline when ibft is detected?

@ryncsn
Copy link
Contributor Author

ryncsn commented Dec 30, 2019

I think anyway the second commit is useless then, the first commit should still be a valid fix.

lkundrak added a commit to NetworkManager/NetworkManager that referenced this pull request Jan 11, 2020
Do process the connections from the iBFT block if the rd.iscsi.ibft or
rd.iscsi.ibft=1 argument is present.

This is supposed to fix what was originally reported by Kairui Song
<kasong@redhat.com> here: dracutdevs/dracut#697
@lkundrak
Copy link
Contributor

@lkundrak Yes you are right, but I have a question, nm-initrd-generator seems to expect one to pass ip=ibft to work, but the parse-ibft.sh will automatically append the network configure required by ibtf to cmdline when ever it found there is ibft info. So some previous working enviroment is
now broken.
So when using network-manager module, should we let dracut append ip=ibft to cmdline when ibft is detected?

Thanks for the response. You need some way to tell the nm-initrd-generator to parse the iBFT. What does your kernel command line look like?

If you were already using rd.iscsi.ibft, then the last commit here https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/393 should fix the issue,

lkundrak added a commit to NetworkManager/NetworkManager that referenced this pull request Jan 14, 2020
Do process the connections from the iBFT block if the rd.iscsi.ibft or
rd.iscsi.ibft=1 argument is present.

This is supposed to fix what was originally reported by Kairui Song
<kasong@redhat.com> here: dracutdevs/dracut#697
lkundrak added a commit to NetworkManager/NetworkManager that referenced this pull request Jan 14, 2020
Do process the connections from the iBFT block if the rd.iscsi.ibft or
rd.iscsi.ibft=1 argument is present.

This is supposed to fix what was originally reported by Kairui Song
<kasong@redhat.com> here: dracutdevs/dracut#697

(cherry picked from commit 39e1e72)
@haraldh
Copy link
Collaborator

haraldh commented Jan 17, 2020

@lkundrak what's the status?

@ryncsn
Copy link
Contributor Author

ryncsn commented Jan 17, 2020

@lkundrak Yes you are right, but I have a question, nm-initrd-generator seems to expect one to pass ip=ibft to work, but the parse-ibft.sh will automatically append the network configure required by ibtf to cmdline when ever it found there is ibft info. So some previous working enviroment is
now broken.
So when using network-manager module, should we let dracut append ip=ibft to cmdline when ibft is detected?

Thanks for the response. You need some way to tell the nm-initrd-generator to parse the iBFT. What does your kernel command line look like?

If you were already using rd.iscsi.ibft, then the last commit here https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/393 should fix the issue,

I remember before the network-manager dracut module is introduced, dracut can just detect and read ibft from firmware interface and don't need extra cmdline.
Now it always need "ip=ibft"? On the machine I can access which have ibft support, network-legacy doesn't need this cmdline param.

@bengal
Copy link
Contributor

bengal commented Mar 13, 2020

I remember before the network-manager dracut module is introduced, dracut can just detect and read ibft from firmware interface and don't need extra cmdline.
Now it always need "ip=ibft"? On the machine I can access which have ibft support, network-legacy doesn't need this cmdline param.

What is your kernel command line? With commit [1] (available in NM 1.20.6) ip=ibft is not required if you already have rd.iscsi.ibft set.

[1] https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/9fddb395d5ed17f989773ec4ecf78120e6740848

@ryncsn
Copy link
Contributor Author

ryncsn commented Apr 1, 2020

I think adding rd.iscsi.ibft will just fix the issue now, thanks.

@ryncsn ryncsn closed this Apr 1, 2020
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.

None yet

5 participants