failed to get network profiles

Hi,

HP Vertica doesn't appear to allow creating a database when I have 2 private ip interfaces.
Steps to reproduce:
1. Server has 2 private interfaces: 10.0.0.100 and 10.10.0.100.
2. Install HP Vertica using:  /opt/vertica/sbin/install_vertica --hosts 10.0.0.100 --rpm vertica-7.1.1-0.x86_64.RHEL5.rpm
3. Create database using: admintools -t create_db -s 10.0.0.100 -d testdb --password=testdb
This will fail with the following error messages:

Database with 1  or 2 nodes cannot be k-safe and it may lose data if it crashes
Distributing changes to cluster.
                        10.0.0.100 OK [vertica][(7, 1, 1)][000][x86_64]
        Error: failed to get network profiles
        Could not find a suitable network interface: 10.0.0.100
Error: Failed to get network profiles



If I disable the second private address (eg. ifdown eth0:0), then the database creation succeeds.
If in step 2 I used the loopback interface, then step 3's database creation also succeeds.


Is this user error or script error?

Best regards,
Bob.

Comments

  • You may want to try using localhost. The caveat being this will only be a single-node install.
  • Hi Norbert,
    I _have_ used localhost during testing on a single server.
    Now I am trying to test the next step which is to have 3 servers running. This requires using ips instead of loopbacks.
    Any additonal feedback is welcomed.

    Bob.

  • Would you mind showing the "ifconfig -a" output
  • eth0      Link encap:Ethernet  HWaddr C0:3F:D5:61:2E:11
              inet addr:10.0.0.95  Bcast:10.0.0.255  Mask:255.255.255.0
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:11195997 errors:0 dropped:0 overruns:0 frame:0
              TX packets:14496692 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:6376945498 (5.9 GiB)  TX bytes:8284265277 (7.7 GiB)
              Interrupt:20 Memory:f7d00000-f7d20000 
    eth0:0    Link encap:Ethernet  HWaddr C0:3F:D5:61:2E:11  
              inet addr:10.10.0.95  Bcast:10.10.0.255  Mask:255.255.255.0
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              Interrupt:20 Memory:f7d00000-f7d20000 
    lo        Link encap:Local Loopback  
              inet addr:127.0.0.1  Mask:255.0.0.0
              UP LOOPBACK RUNNING  MTU:16436  Metric:1
              RX packets:10327167 errors:0 dropped:0 overruns:0 frame:0
              TX packets:10327167 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0 
              RX bytes:5977348369 (5.5 GiB)  TX bytes:5977348369 (5.5 GiB)
    wlan0     Link encap:Ethernet  HWaddr 80:86:F2:52:4A:DB  
              BROADCAST MULTICAST  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
  • Which IPs are being used in the install_vertica line?
  • 10.0.0.95 is being used.

  • An issue with this from the network side -
    eth0      Link encap:Ethernet  HWaddr C0:3F:D5:61:2E:11
    eth0:0    Link encap:Ethernet  HWaddr C0:3F:D5:61:2E:11
    The two interfaces have the same MAC address.
     
  • An issue with this from the network side -
    eth0      Link encap:Ethernet  HWaddr C0:3F:D5:61:2E:11
    eth0:0    Link encap:Ethernet  HWaddr C0:3F:D5:61:2E:11
    The two interfaces have the same MAC address.
     
  • It is 2 ips on the same NIC. This is a very common practice. There is no reason why Vertica configuration script should abort for that.
  • Hi!

    What is output of:
    /sbin/ip -oneline -family inet addr
    Daniel
  • 1: lo    inet 127.0.0.1/8 scope host lo
    2: eth0    inet 10.0.0.95/24 brd 10.0.0.255 scope global eth0
    2: eth0    inet 10.10.0.95/24 brd 10.10.0.255 scope global eth0:0

  • Hi Bob!

    Everything looks ok, have no idea where is a problem. I have no configuration like yours so I can't test it by myself. If you can run a python debugger. Exception thrown from:
    /opt/vertica/share/eggs/vertica/network/SSH.py [Lines 986-991]
     986         answer = None
    987 for (name, iface) in interfaces.iteritems():
    988 if answer is None and iface['address'] == host:
    989 answer = iface
    990 if iface['broadcast'] == subnet:
    991 answer = iface
    992
    993 if answer is None:
    994 raise StandardError("Could not find a suitable network interface: %s" % host)

    (Vertica version 7.1.0-4)

    PS
    What the awful python programmers:
    answer = None
    ...
    if answer is None...
    Of cause its None! Awful programmers. :)
  • Sorry, I don't know python so I can't debug it. I managed to scratch my head and follow that the python code was spawning /sbin/ip to do the work, but I can't figure out what it does with that information and why it fails. I can only assume that the python code is not expecting alias's and maybe partially duplicate names.  I appreciate your help though.
    Is this community monitored by staff? It is difficult to believe I'm the only one experiencing this problem. NIC aliasing is a common practice.
  • Hi!

    >> I don't know python
    Ok, I will try to emulate your configuration in VMWare (2 ips on same NIC) and will try to find a fix.
    ***

    >> but I can't figure out what it does with that information and why it fails
    From my observation:
    interfaces.iteritems()

    returns None.
    ***

    If you want to install it now - so you can inject manually correct values to source code and don't wait for fix.
    /opt/vertica/share/eggs/vertica/network/SSH.py:1013

    hostnets[host] = [<address>, <broad cast>]
    and comment next lines:
     993         if answer is None:
    994 raise StandardError("Could not find a suitable network interface: %s" % host)

    PS
    I agree - its a standard configuration, but its non-standard installation for Vertica and I can't understand why Support do not interested in your issue.
    :((((
  • Perhaps this user should actually contact Support?
  • @bob

    Norbert here - founder of www.vertica.tips (not owner, but founder! Why not CEO or CTO?) He will help you, he is better than me - im just an idiot.

    Regards idiot.
  • To answer an earlier question -- Vertica folks do occasionally wander through these forums; but if you want a guarantee that your issue will be noticed, then yes, please do file a Support case if you're able to do so.

    This is, believe it or not, the first time I've personally heard of someone running into this particular issue.  Maybe someone has that I haven't heard of; quite possible.  And it does seem like a reasonable thing to do.
  • >> but if you want a guarantee that your issue will be noticed
    Yes, it will guarantee that your issue will be noticed, but not guarantee that will be solved.

    To point on open bugs for more than 2 years? (ticket is open by EE customer):
    https://community.vertica.com/vertica/topics/copy_issue_loading_enclosed_data_with_nulls

    DATA
    $ cat /tmp/data.csv
    '1','Adam'
    '2','id10t'
    '','Bob'
    TABLE
    CREATE TABLE bug
    (
        row_id int,   -- nullable
        name varchar
    );

    COPY
    daniel=> copy bug from '/tmp/data.csv' direct delimiter ',' enclosed by e'' abort on error;
    ERROR 2035: COPY: Input record 3 has been rejected (Invalid integer format '' for column 1 (row_id))
    ERROR 2035: COPY: Input record 3 has been rejected (Invalid integer format '' for column 1 (row_id))

    And it isn't a CSV format issue. And don't tell that Vertica supports for DSV and not for CSV because its same things except a delimiter.
    http://en.wikipedia.org/wiki/Delimiter-separated_values

    PS
    Parser removed some chars in COPY statement, but COPY is correct.
  • (ticket is open by EE customer):
    This was actually opened by my colleague, not an EE customer.

    I've submitted plenty of enhancement requests or raised strange behaviors. Just as with any software, there are some "bugs" that won't be fixed.
  • Careful -- go read the CSV spec; you will find that it is in fact nontrivially different from what COPY supports:

    https://tools.ietf.org/html/rfc4180

    I'm afraid the issue you linked to isn't a Support bug.  It's a forum post :-)  Support uses SalesForce for tracking customer cases; they're not tracked on the forums.

    Regarding "bug":  For our purposes, we consider something to be a "bug" when Vertica does not behave as specified.  There are many classes of issues that don't meet this criteria but that are real problems for real users.  (Often described as "Vertica doesn't behave like I want".)  We certainly consider those as well, but they can get complicated for reasons that may not be easy to explain in a public forum post.  But if our documentation says that we do X and we instead do Y, then either X or Y is clearly wrong, so we'll fix it.

    This case is along those lines:  We say we couldn't find a suitable network interface, but there clearly is a suitable network interface, so something's funny...  Either our error message is wrong, or our detection code is wrong.

    We know we can't make everyone 100% happy all the time.  Not practical.  If you think we're doing it wrong, come fix it; we're hiring :-)  Also, Vertica is quite extensible; if a particular patch or extension becomes popular, we're certainly going to take a very close look.
  • @Norbert Krupa
    This was actually opened by my colleague, not an EE customer.
    Yes, Norbert Krupa - you are the only here with your friend. Only you and your friend can open a ticket.

    BTW: You always knows better than me what Im talking about. How is it?

    @adam
    Ticket is opened - 100% (and opened by EE customer - I can't post a company name). One of Vertica Engineers from Israel also created a ticket and got a lot of garbage to mail with different workarounds(I saw it personally) - its means Vertica won't to fix it.
  • Hi Adam!
    ...fix it; we're hiring :-)
    I suggested my help for free before but didn't get an answer.
    Yes I want to help with python especially and you already saw that Im not noob and I can add a value. Should I sign any agreement?

    PS
    I signed an agreement as contributor for GitHUB, sent signed agreement to Vertica... and nothing... silence. Vertica actually do not interested in users help, only idle talk...
  • Norbert, Adam: Thank you for your input.  Can non-paying customers/users file a Support case?

  • @Bob:  Unfortunately, only paying customers can file Support cases.  I as an engineer love building something that everyone can use.  But something has to pay our bills; part of that is support.  We do keep an eye on the forums, but, no guarantees about anything.

    @id10t:  Haven't seen any github pull requests from you :-)  You can see our history; we do accept them.  We could try running your contributor agreement through gcc, but I don't think it'll compile...

Leave a Comment

BoldItalicStrikethroughOrdered listUnordered list
Emoji
Image
Align leftAlign centerAlign rightToggle HTML viewToggle full pageToggle lights
Drop image/file