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

confignetwork fails when BMC interfaces are defined in the 'nics' table #4538

Closed
kcgthb opened this issue Dec 15, 2017 · 5 comments
Closed
Assignees
Labels
Milestone

Comments

@kcgthb
Copy link
Member

kcgthb commented Dec 15, 2017

The confignetwork postscript returns an error when BMC interfaces are defined in the 'nics` table.

For instance, with the following node definition:

Object name: sh-06-34
    nicaliases.bmc=sh-06-34
    nicaliases.ib0=sh-06-34
    nicextraparams.ib0=MTU=65520 CONNECTED_MODE=yes
    nicips.bmc=10.11.06.34
    nicips.ib0=10.8.06.34
    nicnetworks.bmc=net_ipmi
    nicnetworks.ib0=net_ib_56
    nictypes.bmc=bmc
    nictypes.ib0=infiniband
# updatenode sh-06-34 -P confignetwork
sh-06-34: xcatdsklspost: downloaded postscripts successfully
sh-06-34: Fri Dec 15 09:23:49 PST 2017 Running postscript: confignetwork
sh-06-34: [I]: All valid nics and device list:
sh-06-34: [I]: bmc
sh-06-34: [I]: ib0
sh-06-34: [I]: NetworkManager is inactive.
sh-06-34: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
sh-06-34: configure nic and its device : bmc
sh-06-34: [E]:Error: Check the NIC data in the 'nics' table.
sh-06-34: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
sh-06-34: configure nic and its device : ib0
sh-06-34: [I]: Call configib for IB nics: ib0, ports:
sh-06-34: [I]: NIC_IBNICS=ib0 NIC_IBAPORTS= configib
sh-06-34: em1!MTU=9000
sh-06-34: ib0!MTU=65520 CONNECTED_MODE=yes
sh-06-34: array_nic_params 0=MTU=65520 CONNECTED_MODE=yes
sh-06-34:   0: name=MTU value=65520
sh-06-34:   1: name=CONNECTED_MODE value=yes
sh-06-34: postscript: confignetwork exited with code 1
sh-06-34: Running of postscripts has completed.

The script produces an error for the bmc interface:

[E]:Error: Check the NIC data in the 'nics' table.

which kind of makes sense, since the OS doesn't really see the BMC interface and can't configure it. Yet bmc is a valid interface type in the nics table, as mentioned in the documentation. So the script should not exit with an error.

We need a way to define IP <-> hostname resolution for our BMC interfaces, so they get generated by makehosts and makedns.

So, what's the way to define hostname and IP addresses for BMC interfaces now?

@kcgthb
Copy link
Member Author

kcgthb commented Dec 15, 2017

PR in #4539

@mattaezell
Copy link
Contributor

Hi @kcgthb. We use otherinterfaces. It ties in with makehosts, but I'm not sure about makedns

@bybai
Copy link
Contributor

bybai commented Dec 18, 2017

Hi @kcgthb, We recommend to use otherinterfaces in hosts table. Please refer to doc http://xcat-docs.readthedocs.io/en/stable/QA/makehosts.html#q-how-to-configure-aliases , thanks.

@kcgthb
Copy link
Member Author

kcgthb commented Dec 18, 2017

Well, that's what I used to do in earlier versions of xCAT, until the introduction of the nics table and the confignetwork postscript, which deprecated otherinterfaces.

For a time, there was a mention of the deprecation in the Domain Name Resolution page of the documentation:

For now the “otherinterfaces” attribute will still be supported but it may be dropped in future releases.Any new network interface information should be provided using the new nic attributes.

That mention has been recently removed (in commit 29ff06b) with the following message:

Remove otherinterfaces which has been replaced by the nic attributes starting in xCAT 2.8.1

I'll go back to using otherinterfaces now, but it's all very confusing. It would be a good thing to update the documentation to state things more clearly: what is deprecated, what is not, how should users define IP addresses for interfaces that confignetwork cannot set up.

@kcgthb
Copy link
Member Author

kcgthb commented Dec 18, 2017

Well, I gave otherinterfaces a try, but it doesn't fit my use case: I need to have the same hostname defined for a node and its BMC interface in 2 separate domaines. Like cn.local and cn.ipmi. Turns out I can do this with nics+confignetwork, but not with otherinterfaces as those other interfaces require a suffix.
I've seen https://xcat-docs.readthedocs.io/en/stable/QA/makehosts.html#q-how-to-handle-the-same-short-hostname-in-different-domains but I don't want to define 2 objets in the DB for every single node.

So I'm back with my initial solution of defining the BMC IP address in nics and ignoring interfaces of type bmc in confignetwork. I don't think it would hurt to skip those NIC types in the confignetwork script anyway.

@bybai bybai added this to the 2.13.10 milestone Dec 20, 2017
@bybai bybai added the sprint1 label Dec 20, 2017
@bybai bybai closed this as completed Dec 20, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants