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

Support for iLO interfaces that don't report IP but dns name. #140

Open
yoshi314 opened this issue Jul 15, 2016 · 14 comments
Open

Support for iLO interfaces that don't report IP but dns name. #140

yoshi314 opened this issue Jul 15, 2016 · 14 comments

Comments

@yoshi314
Copy link

yoshi314 commented Jul 15, 2016

I've noticed that if ilo interface has dns name instead of IP, it doesn't get reported.

This small patch makes FA look for dns name and translates it into IP address, and the iLO interface appears on the list of interfaces of a given machine.

This diff is against 2.2.3-8 from debian wheezy. It should apply easily, though.


--- iLO.pm  2012-06-14 00:00:00.000000000 +0200
+++ /usr/share/fusioninventory/lib/FusionInventory/Agent/Task/Inventory/Input/Linux/iLO.pm  2016-07-15 12:54:11.058693554 +0200
@@ -2,6 +2,7 @@

 use strict;
 use warnings;
+use Socket;

 use FusionInventory::Agent::Tools;
 use FusionInventory::Agent::Tools::Network;
@@ -23,8 +24,12 @@
         MANAGEMENT  => 'iLO',
         STATUS      => 'Down',
     };
+    my $name='';
+    my $domainname='';

     while (my $line = <$handle>) {
+
+   
         if ($line =~ /<IP_ADDRESS VALUE="($ip_address_pattern)"\/>/) {
             $interface->{IPADDRESS} = $1 unless $1 eq '0.0.0.0';
         }
@@ -34,6 +39,12 @@
         if ($line =~ /<GATEWAY_IP_ADDRESS VALUE="($ip_address_pattern)"\/>/) {
             $interface->{IPGATEWAY} = $1;
         }
+   if ($line =~ /<DNS_NAME VALUE="(\w+)"\/>/) {
+       $name=$1;
+   }
+   if ($line =~ /<DOMAIN_NAME VALUE="(\S+)"\/>/) {
+       $domainname=$1;
+   }
         if ($line =~ /<NIC_SPEED VALUE="([0-9]+)"\/>/) {
             $interface->{SPEED} = $1;
         } 
@@ -47,6 +58,14 @@
         }
     }
     close $handle;
+
+    if (!$name eq '') {
+       if (!$domainname eq '') {
+           $name = $name . '.' . $domainname ;
+       }
+       $interface->{IPADDRESS} = inet_ntoa(inet_aton($name));
+       }
+
     $interface->{IPSUBNET} = getSubnetAddress(
         $interface->{IPADDRESS}, $interface->{IPMASK}
     );

@yoshi314
Copy link
Author

if ($line =~ /<DNS_NAME VALUE="(\w+)"\/>/) {

should be

if ($line =~ /<DNS_NAME VALUE="(\S+)"\/>/) {

for some hosts that have "-" in the name, etc.

@yoshi314
Copy link
Author

This needs a few more addons to pass the testsuite. I'll post them in a few hours.

@yoshi314
Copy link
Author

--- iLO.pm.org  2016-07-20 13:09:54.446096603 +0200
+++ iLO.pm  2016-07-20 13:09:05.149596889 +0200
@@ -2,6 +2,7 @@

 use strict;
 use warnings;
+use Socket;

 use FusionInventory::Agent::Tools;
 use FusionInventory::Agent::Tools::Network;
@@ -23,10 +24,16 @@
         MANAGEMENT  => 'iLO',
         STATUS      => 'Down',
     };
+    my $name='';
+    my $domainname='';
+    my $resolvedip='';

     while (my $line = <$handle>) {
+
+   
         if ($line =~ /<IP_ADDRESS VALUE="($ip_address_pattern)"\/>/) {
             $interface->{IPADDRESS} = $1 unless $1 eq '0.0.0.0';
+       $resolvedip = $1 unless $1 eq '0.0.0.0';
         }
         if ($line =~ /<SUBNET_MASK VALUE="($ip_address_pattern)"\/>/) {
             $interface->{IPMASK} = $1;
@@ -34,6 +41,12 @@
         if ($line =~ /<GATEWAY_IP_ADDRESS VALUE="($ip_address_pattern)"\/>/) {
             $interface->{IPGATEWAY} = $1;
         }
+   if ($line =~ /<DNS_NAME VALUE="(\S+)"\/>/) {
+       $name=$1;
+   }
+   if ($line =~ /<DOMAIN_NAME VALUE="(\S+)"\/>/) {
+       $domainname=$1;
+   }
         if ($line =~ /<NIC_SPEED VALUE="([0-9]+)"\/>/) {
             $interface->{SPEED} = $1;
         }
@@ -47,6 +60,17 @@
         }
     }
     close $handle;
+
+    if ((!$name eq '') && ($resolvedip eq '')) {
+       if (!$domainname eq '') {
+           $name = $name . '.' . $domainname ;
+       }
+    if (defined inet_aton($name)) { 
+      $resolvedip = inet_ntoa(inet_aton($name));
+      $interface->{IPADDRESS} = $resolvedip;
+    }
+       }
+
     $interface->{IPSUBNET} = getSubnetAddress(
         $interface->{IPADDRESS}, $interface->{IPMASK}
     );

fixed for names that are impossible to resolve (configured but not in dns records).

@guillomovitch
Copy link
Contributor

It may be a stupid remark, but I don't understand how a device without an IP address would be able to autoconfigure itself, even with a DNS hostname: in order to resolve it, it should be able to send a query to a DNS server... through a unicast UDP or TCP communication, both of them requiring a valid IP source address.
If such settings (ie, no IP address, just an hostname) results in a non-functional device, why should the agent report it as it it was functional ?

@yoshi314
Copy link
Author

I think the problem is that if hponcfg only returns dns name + domainname in some cases, and no ip address.

I have plenty of machines like that.

If that is just a case of missing dns entries, i can go fix it. But i had a few cases where the name resolved, which is puzzling.

@yoshi314
Copy link
Author

yoshi314 commented Jul 21, 2016

This is either specific to ilo 1.x or ilo that gets its address off dhcp. It may be a stupid policy, but i have no say in the matter.

@yoshi314
Copy link
Author

updated the script to return ilo ip if it is stated directly (missed that one before)

package FusionInventory::Agent::Task::Inventory::Linux::Networks::iLO;

use strict;
use warnings;
use Socket;

use FusionInventory::Agent::Tools;
use FusionInventory::Agent::Tools::Network;

sub isEnabled {
    return canRun('hponcfg');
}

sub _parseHponcfg {
    my (%params) = @_;

    my $handle = getFileHandle(%params);

    return unless $handle;

    my $interface = {
        DESCRIPTION => 'Management Interface - HP iLO',
        TYPE        => 'ethernet',
        MANAGEMENT  => 'iLO',
        STATUS      => 'Down',
    };
    my $name='';
    my $domainname='';
    my $resolvedip='';

    while (my $line = <$handle>) {


        if ($line =~ /<IP_ADDRESS VALUE="($ip_address_pattern)"\/>/) {
            $interface->{IPADDRESS} = $1 unless $1 eq '0.0.0.0';
        $resolvedip = $1 unless $1 eq '0.0.0.0';
        }
        if ($line =~ /<SUBNET_MASK VALUE="($ip_address_pattern)"\/>/) {
            $interface->{IPMASK} = $1;
        }
        if ($line =~ /<GATEWAY_IP_ADDRESS VALUE="($ip_address_pattern)"\/>/) {
            $interface->{IPGATEWAY} = $1;
        }
   if ($line =~ /<DNS_NAME VALUE="(\S+)"\/>/) {
       $name=$1;
   }
   if ($line =~ /<DOMAIN_NAME VALUE="(\S+)"\/>/) {
       $domainname=$1;
   }
        if ($line =~ /<NIC_SPEED VALUE="([0-9]+)"\/>/) {
            $interface->{SPEED} = $1;
        }
        if ($line =~ /<ENABLE_NIC VALUE="Y"\/>/) {
            $interface->{STATUS} = 'Up';
        }
        if ($line =~ /not found/) {
            chomp $line;
            $params{logger}->error("error in hponcfg output: $line")
                if $params{logger};
        }
    }
    close $handle;

    if (!$resolvedip eq '') {
       $interface->{IPADDRESS} = $resolvedip;
    }

    if ((!$name eq '') && ($resolvedip eq '')) {
       if (!$domainname eq '') {
           $name = $name . '.' . $domainname ;
       }
     if (defined inet_aton($name)) { 
       $resolvedip = inet_ntoa(inet_aton($name));
       $interface->{IPADDRESS} = $resolvedip;
     }
       }

    $interface->{IPSUBNET} = getSubnetAddress(
        $interface->{IPADDRESS}, $interface->{IPMASK}
    );

    return $interface;
}

sub doInventory {
    my (%params) = @_;

    my $inventory = $params{inventory};
    my $logger    = $params{logger};

    my $entry = _parseHponcfg(
        logger => $logger,
        command => 'hponcfg -aw -'
    );

    $inventory->addEntry(
        section => 'NETWORKS',
        entry   => $entry
    );
}

1;

@guillomovitch
Copy link
Contributor

No need to past so much code, as long as I'm not convinced about the exact use case.

If I understand correctly, those device could either be configured statically, or dynamically through DHCP. In this last case, there won't be any IP address in the configuration, for obvious reasons, and we should rely on another mechanism to retrieve the actual device state. Am I correct ?

Now I have two questions:

  • how can we identify the device uses DHCP ? Is there any explicit static/dynamic configuration setting, or is just the lack of static IP address enough ?
  • if the device uses DHCP, why should we trust the other network configuration settings (netmask, gateway, etc...), as they are probably overidded by DHCP parameters ?
  • is there any other way to retrieve current device state, through another command invocation, for instance ?

Providing samples of 'hponcfg -aw -' output, demonstrating those different cases, would help understanding the issue (and build related tests, also).

@yoshi314
Copy link
Author

yoshi314 commented Jul 25, 2016

Yes. I think hponcfg output should say something about network configuration

Sample hponcfg from an iLOv3 with dhcp enabled; i've redacted the hostname and domain.

DHCP_ENABLE VALUE is apparently the information that indicates the dhcp client setup.

From looking around in ilo, enabling dhcp disables customization of any ipv4/ipv6 settings, you can only set the hostname, and domain is configured to be obtained via dhcp (it's optional).

<!-- HPONCFG VERSION = "4.2.0" -->
<!-- Device: iLO3  Firmware Version : 1.87 -->
<RIBCL VERSION="2.0">
  <LOGIN USER_LOGIN="admin" PASSWORD="password">
<RIB_INFO mode="write"><MOD_NETWORK_SETTINGS>
    <ENABLE_NIC VALUE="Y"/>
    <SHARED_NETWORK_PORT VALUE="N"/>
    <VLAN_ENABLED VALUE="N"/>

    <SPEED_AUTOSELECT VALUE="Y"/>


    <DHCP_ENABLE VALUE="Y"/>
    <DHCP_GATEWAY VALUE="Y"/>
    <DHCP_DNS_SERVER VALUE="Y"/>
    <DHCP_WINS_SERVER VALUE="Y"/>
    <DHCP_STATIC_ROUTE VALUE="Y"/>
    <DHCP_DOMAIN_NAME VALUE="Y"/>
    <DHCP_SNTP_SETTINGS VALUE="Y"/>
    <REG_WINS_SERVER VALUE="Y"/>
    <REG_DDNS_SERVER VALUE="Y"/>
    <PING_GATEWAY VALUE="Y"/>


    <SUBNET_MASK VALUE="255.255.254.0"/>

    <DNS_NAME VALUE="hostname"/>
    <DOMAIN_NAME VALUE="domain.com"/>



    <PRIM_WINS_SERVER VALUE="0.0.0.0"/>
    <SEC_WINS_SERVER VALUE="0.0.0.0"/>
    <SNTP_SERVER1 VALUE="192.168.190.254"/>
    <SNTP_SERVER2 VALUE=""/>
    <TIMEZONE VALUE="Europe/London"/>
    <STATIC_ROUTE_1 DEST="0.0.0.0" MASK="0.0.0.0" GATEWAY="0.0.0.0"/>
    <STATIC_ROUTE_2 DEST="0.0.0.0" MASK="0.0.0.0" GATEWAY="0.0.0.0"/>
    <STATIC_ROUTE_3 DEST="0.0.0.0" MASK="0.0.0.0" GATEWAY="0.0.0.0"/>

    <IPV6_STATIC_ROUTE_1 IPV6_DEST="::" PREFIXLEN="0" IPV6_GATEWAY="::" ADDR_STATUS="INACTIVE"/>
    <IPV6_STATIC_ROUTE_2 IPV6_DEST="::" PREFIXLEN="0" IPV6_GATEWAY="::" ADDR_STATUS="INACTIVE"/>
    <IPV6_STATIC_ROUTE_3 IPV6_DEST="::" PREFIXLEN="0" IPV6_GATEWAY="::" ADDR_STATUS="INACTIVE"/>
    <IPV6_PRIM_DNS_SERVER VALUE="::"/>
    <IPV6_SEC_DNS_SERVER VALUE="::"/>
    <IPV6_TER_DNS_SERVER VALUE="::"/>
    <IPV6_DEFAULT_GATEWAY VALUE="::"/>
    <IPV6_PREFERRED_PROTOCOL VALUE="Y"/>
    <IPV6_ADDR_AUTOCFG VALUE="Y"/>
    <IPV6_REG_DDNS_SERVER VALUE="Y"/>
    <DHCPV6_STATELESS_ENABLE VALUE="Y"/>
    <DHCPV6_STATEFUL_ENABLE VALUE="Y"/>
    <DHCPV6_RAPID_COMMIT VALUE="N"/>
    <DHCPV6_DOMAIN_NAME VALUE="N"/>
    <DHCPV6_SNTP_SETTINGS VALUE="Y"/>
    <DHCPV6_DNS_SERVER VALUE="Y"/>
</MOD_NETWORK_SETTINGS></RIB_INFO>
<RIB_INFO mode="write"><MOD_GLOBAL_SETTINGS>
    <SESSION_TIMEOUT VALUE="30"/>
    <ILO_FUNCT_ENABLED VALUE="Y"/>
    <F8_PROMPT_ENABLED VALUE="Y"/>
    <F8_LOGIN_REQUIRED VALUE="N"/>
    <HTTPS_PORT VALUE="443"/>
    <HTTP_PORT VALUE="80"/>
    <REMOTE_CONSOLE_PORT VALUE="17990"/>
    <VIRTUAL_MEDIA_PORT VALUE="17988"/>
    <SSH_PORT VALUE="22"/>
    <SSH_STATUS VALUE="Y"/>
    <SERIAL_CLI_STATUS VALUE="3"/>
    <SERIAL_CLI_SPEED VALUE="5"/>
    <MIN_PASSWORD VALUE="8"/>
    <AUTHENTICATION_FAILURE_LOGGING VALUE="3"/>
    <RBSU_POST_IP VALUE="Y"/>
    <ENFORCE_AES VALUE="N"/>
    <IPMI_DCMI_OVER_LAN_ENABLED VALUE="Y"/>
    <PROPAGATE_TIME_TO_HOST VALUE="N"/>
</MOD_GLOBAL_SETTINGS></RIB_INFO>
<DIR_INFO mode="write"><MOD_DIR_CONFIG>
    <DIR_AUTHENTICATION_ENABLED VALUE="Y"/>
    <DIR_LOCAL_USER_ACCT VALUE="Y"/>
    <DIR_SERVER_ADDRESS VALUE="lubsdca01.company.com"/>
    <DIR_SERVER_PORT VALUE="636"/>
    <DIR_OBJECT_DN VALUE="CN=server,OU=iLO,OU=Servers,OU=company,DC=com"/>
    <DIR_USER_CONTEXT_1 VALUE="OU=iLO,OU=Servers,OU=company,DC=com"/>
    <DIR_USER_CONTEXT_2 VALUE="OU=DC,OU=Users,OU=company,DC=com"/>
    <DIR_USER_CONTEXT_3 VALUE=""/>
    <DIR_USER_CONTEXT_4 VALUE=""/>
    <DIR_USER_CONTEXT_5 VALUE=""/>
    <DIR_USER_CONTEXT_6 VALUE=""/>
    <DIR_USER_CONTEXT_7 VALUE=""/>
    <DIR_USER_CONTEXT_8 VALUE=""/>
    <DIR_USER_CONTEXT_9 VALUE=""/>
    <DIR_USER_CONTEXT_10 VALUE=""/>
    <DIR_USER_CONTEXT_11 VALUE=""/>
    <DIR_USER_CONTEXT_12 VALUE=""/>
    <DIR_USER_CONTEXT_13 VALUE=""/>
    <DIR_USER_CONTEXT_14 VALUE=""/>
    <DIR_USER_CONTEXT_15 VALUE=""/>
    <DIR_ENABLE_GRP_ACCT VALUE="N"/>
    <DIR_GRPACCT1_NAME VALUE="Administrators"/>
    <DIR_GRPACCT1_PRIV VALUE="1,2,3,4,5,6"/>
    <DIR_GRPACCT1_SID VALUE=""/>
    <DIR_GRPACCT2_NAME VALUE="Authenticated Users"/>
    <DIR_GRPACCT2_PRIV VALUE="6"/>
    <DIR_GRPACCT2_SID VALUE="S-1-5-11"/>
    <DIR_KERBEROS_ENABLED VALUE="N"/>
    <DIR_KERBEROS_REALM VALUE=""/>
    <DIR_KERBEROS_KDC_ADDRESS VALUE=""/>
    <DIR_KERBEROS_KDC_PORT VALUE="88"/>
</MOD_DIR_CONFIG></DIR_INFO>
<RIB_INFO mode="write"><MOD_SNMP_IM_SETTINGS>
    <SNMP_ADDRESS_1 VALUE=""/>
    <SNMP_ADDRESS_2 VALUE=""/>
    <SNMP_ADDRESS_3 VALUE=""/>
    <RIB_TRAPS VALUE="Y"/>
    <OS_TRAPS VALUE="Y"/>
    <SNMP_PASSTHROUGH_STATUS VALUE="Y"/>
    <WEB_AGENT_IP_ADDRESS VALUE="hostname"/>
    <CIM_SECURITY_MASK VALUE="3"/>
</MOD_SNMP_IM_SETTINGS></RIB_INFO>
<SERVER_INFO mode="write"><SET_HOST_POWER_SAVER HOST_POWER_SAVER="3"/></SERVER_INFO>
<USER_INFO mode="write">
<ADD_USER USER_NAME="Administrator" USER_LOGIN="Administrator" PASSWORD="%user_password%"><ADMIN_PRIV value="Y"/><REMOTE_CONS_PRIV value="Y"/><RESET_SERVER_PRIV value="Y"/><VIRTUAL_MEDIA_PRIV value="Y"/><CONFIG_ILO_PRIV value="Y"/></ADD_USER>
<ADD_USER USER_NAME="admin" USER_LOGIN="admin" PASSWORD="%user_password%"><ADMIN_PRIV value="Y"/><REMOTE_CONS_PRIV value="Y"/><RESET_SERVER_PRIV value="Y"/><VIRTUAL_MEDIA_PRIV value="Y"/><CONFIG_ILO_PRIV value="Y"/></ADD_USER>
</USER_INFO>
<SSO_INFO mode="write"><MOD_SSO_SETTINGS><TRUST_MODE VALUE="DISABLED"/><USER_ROLE LOGIN_PRIV="Y"/><USER_ROLE REMOTE_CONS_PRIV="N"/><USER_ROLE VIRTUAL_MEDIA_PRIV="N"/><USER_ROLE RESET_SERVER_PRIV="N"/><USER_ROLE CFG_ILO_PRIV="N"/><USER_ROLE ADMIN_PRIV="N"/><OPERATOR_ROLE LOGIN_PRIV="Y"/><OPERATOR_ROLE REMOTE_CONS_PRIV="Y"/><OPERATOR_ROLE VIRTUAL_MEDIA_PRIV="Y"/><OPERATOR_ROLE RESET_SERVER_PRIV="Y"/><OPERATOR_ROLE CFG_ILO_PRIV="N"/><OPERATOR_ROLE ADMIN_PRIV="N"/><ADMINISTRATOR_ROLE LOGIN_PRIV="Y"/><ADMINISTRATOR_ROLE REMOTE_CONS_PRIV="Y"/><ADMINISTRATOR_ROLE VIRTUAL_MEDIA_PRIV="Y"/><ADMINISTRATOR_ROLE RESET_SERVER_PRIV="Y"/><ADMINISTRATOR_ROLE CFG_ILO_PRIV="Y"/><ADMINISTRATOR_ROLE ADMIN_PRIV="Y"/></MOD_SSO_SETTINGS></SSO_INFO>
<SERVER_INFO mode="write"><SERVER_AUTO_PWR VALUE="RESTORE"/></SERVER_INFO>

</LOGIN>
</RIBCL>

@Stoatwblr
Copy link
Contributor

Stoatwblr commented Aug 31, 2017

I know I'm about a year late, but how does your ilo respond (assuming linux) if you use "ipmitool lan print" on the machine in question?

This would allow the system to crosscheck that the mac address is correct, etc.

Here's what I've got - as you can see it not only indicates dhcp/static configuration, it also shows the assigned DHCP address

ipmitool lan print

Set in Progress : Set Complete
Auth Type Support : NONE MD2 MD5 PASSWORD
Auth Type Enable : Callback : MD2 MD5 PASSWORD
: User : MD2 MD5 PASSWORD
: Operator : MD2 MD5 PASSWORD
: Admin : MD2 MD5 PASSWORD
: OEM : MD2 MD5 PASSWORD
IP Address Source : DHCP Address
IP Address : 192.168.141.2
Subnet Mask : 255.255.255.0
MAC Address : ac:1f:6b:03:ca:f8
SNMP Community String : public
IP Header : TTL=0x00 Flags=0x00 Precedence=0x00 TOS=0x00
BMC ARP Control : ARP Responses Enabled, Gratuitous ARP Disabled
Default Gateway IP : 192.168.141.252
Default Gateway MAC : 90:17:ac:b5:1a:ad
Backup Gateway IP : 0.0.0.0
Backup Gateway MAC : 00:00:00:00:00:00
802.1q VLAN ID : Disabled
802.1q VLAN Priority : 0
RMCP+ Cipher Suites : 1,2,3,6,7,8,11,12
Cipher Suite Priv Max : XaaaXXaaaXXaaXX
: X=Cipher Suite Unused
: c=CALLBACK
: u=USER
: o=OPERATOR
: a=ADMIN
: O=OEM
Bad Password Threshold : Not Available

(Yes, I know it shows the snmp community. That's not enabled)

@yoshi314
Copy link
Author

yoshi314 commented Sep 5, 2017

I'll check this out in a few hours. So far i get missing /dev/ipmi0 device, i'll have to look into that.

@yoshi314
Copy link
Author

I got it working, i just need to load extra kernel modules.

On one server that reports only fqdn but no ip via hponcfg :

Auth Type Support       : 
Auth Type Enable        : Callback : 
                        : User     : 
                        : Operator : 
                        : Admin    : MD2 PASSWORD OEM 
                        : OEM      : NONE MD2 PASSWORD 
IP Address Source       : DHCP Address
IP Address              : 192.168.191.119
Subnet Mask             : 255.255.252.0
MAC Address             : 00:1b:78:df:c7:48
BMC ARP Control         : ARP Responses Enabled, Gratuitous ARP Disabled
Gratituous ARP Intrvl   : 0.0 seconds
Default Gateway IP      : 192.168.190.254
802.1q VLAN ID          : Disabled
802.1q VLAN Priority    : 0
Cipher Suite Priv Max   : Not Available

the output of hponcfg -aw - :

  <LOGIN USER_LOGIN="admin" PASSWORD="password">
<RIB_INFO mode="write"><MOD_NETWORK_SETTINGS>
    <ENABLE_NIC VALUE="Y"/>
    <SPEED_AUTOSELECT VALUE="Y"/>
    <NIC_SPEED VALUE="10"/>
    <FULL_DUPLEX VALUE="N"/>
    <DHCP_ENABLE VALUE="Y"/>
    <DHCP_GATEWAY VALUE="Y"/>
    <DHCP_DNS_SERVER VALUE="Y"/>
    <DHCP_WINS_SERVER VALUE="Y"/>
    <DHCP_STATIC_ROUTE VALUE="Y"/>
    <DHCP_DOMAIN_NAME VALUE="Y"/>
    <REG_WINS_SERVER VALUE="Y"/>
    <REG_DDNS_SERVER VALUE="Y"/>
    <PING_GATEWAY VALUE="N"/>
    <GRATUITOUS_ARP VALUE="N"/>
    
    
    <SUBNET_MASK VALUE="255.255.252.0"/>
    
    <DNS_NAME VALUE="unused"/>
    <DOMAIN_NAME VALUE="company.com"/>
    
    
    
    <PRIM_WINS_SERVER VALUE="0.0.0.0"/>
    <SEC_WINS_SERVER VALUE="0.0.0.0"/>
    <STATIC_ROUTE_1 DEST="0.0.0.0" GATEWAY="0.0.0.0"/>
    <STATIC_ROUTE_2 DEST="0.0.0.0" GATEWAY="0.0.0.0"/>
    <STATIC_ROUTE_3 DEST="0.0.0.0" GATEWAY="0.0.0.0"/>
</MOD_NETWORK_SETTINGS></RIB_INFO>

The blank lines ought to have ip configuration, afaik.

@g-bougard
Copy link
Contributor

Hi @yoshi314
since v2.3.15, agent supports an Ipmi module to parse ipmitool lan print command. Btw this should report your iLO card interface with a 'bmc' description. Did you see that on related servers ?
In that case you may even have duplicated interface as we can see 2 times the same interface using 2 different commands. This may be a mistake.
That said, next agent release will be able to discover and inventory iLO cards via Netdiscovery and Netinventory tasks as PR #382 is now included.

@yoshi314
Copy link
Author

I haven't noticed this update yet, but i'll give it a shot. The network scan should also resolve a lot of headaches, but i am not sure how will it bind ilo ip to a server in glpi.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants