#3815 makedhcp has problems for service node pool case

2.8.4
closed
None
general
5
2014-04-09
2013-10-07
Ling
No

Customer has a flat network and would like to setup the service node pools for the compute nodes. They have some questions and also encountered some problems. Here is the summary. Can we verify and fix all of them and update the doc if necessary?

  1. What should be the value for networks.dhcpserver?
    The tabdump -d networks show this attribute is required for the service node pools.
    After searching the doc, we found out that it says that the value can be any service node.
    http://sourceforge.net/apps/mediawiki/xcat/index.php?title=Setting_Up_a_Linux_Hierarchical_Cluster#Setup_networks_Table
    Please verify that these statements are correct.

  2. How does the dynamaic range get handled?
    If multiple service nodes handle the dynamic range, then there may be conflicts.
    Is the dynamic range handled by the service node that is defined in the networks.dhcpserver.
    Please verify this.

  3. makedhcp -n does not update the dhcpd.conf file
    Here is how to create it.
    networks.tftpserver=\<xcatmaster>
    makedhcp -n
    Note that "next-server" in dhcpd.conf will be \<xcatmaster> on all the service nodes.
    Now make networks.tftpserver blank
    run nakedhcp -n again
    Note that the "next-server" in dhcpd.conf stays the same.
    They had to remove the the dhcpd.conf file in order to get correct dhcpd.conf file on all the service nodes.
    Please verify and fix it.

  4. makedhcp -a does not add nodes to the .leases files
    run "makedhcp -a" (or "psh service makedhcp -a"), the .leases file on the service nodes have 0 lenth except the one that is defined in networks.dhcpserver.
    Please verify and fix it.

Related

Bugs: #3815

Discussion

  • Ling

    Ling - 2013-10-07
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -13,9 +13,9 @@
    
     3. makedhcp -n does not update the dhcpd.conf file
     Here is how to create it.
    -networks.tftpserver=<xcatmaster>
    +networks.tftpserver=\<xcatmaster\>
     makedhcp -n
    -Note that "next-server" in dhcpd.conf will be <xcatmaster> on all the service nodes.
    +Note that "next-server" in dhcpd.conf will be \<xcatmaster\> on all the service nodes.
     Now make networks.tftpserver blank
     run nakedhcp -n  again
     Note that the "next-server" in dhcpd.conf stays the same. 
    
     
  • Lissa Valletta

    Lissa Valletta - 2013-10-08
     
  • Lissa Valletta

    Lissa Valletta - 2013-10-08

    Customer (Ex) rep (Turner) has provided an xcatsnap to service (Saul)

     
  • Guang Cheng Li

    Guang Cheng Li - 2013-10-12

    Let me try to answer these questions, I do not have too much experience on configuring service node pool, Lissa and Jie Hua have more experience on configuring service node pool.

    1. What should be the value for networks.dhcpserver?
      I think we do not need to explicitly setup the networks.dhcpserver for service node pool configuration.

    2. How does the dynamaic range get handled?
      The multiple service nodes should have the same dynamic range configuration, the identical configuration makes it possible that any service node may respond the compute nodes.

    3. makedhcp -n does not update the dhcpd.conf file
      The makedhcp -n will create dhcpd.conf on all service nodes. The next-server could be the same as the dhcp server. No matter which service node responses the DHCP request, this service node will continue serve linux kernel and initrd through tftp and serve os image files through http to the compute nodes, we are not using next-server to point to another service node.

    4. makedhcp -a does not add nodes to the .leases files
      As long as the nodes' mac addresses are set, and the nodes' attribute servicenode is set to a set of service nodes.

    The doc link https://sourceforge.net/apps/mediawiki/xcat/index.php?title=Setting_Up_a_Linux_Hierarchical_Cluster#Service_Node_Pools has some information of setting up service node pool.

    Do you think we need to setup a service node pool cluster to verify the service node configuration and debug the problems for this customer?

     
  • Ling

    Ling - 2013-10-14

    Guang Cheng,
    1. tabdump -d networks has the following description for dhcpserver
    attribute:
    dhcpserver: The DHCP server that is servicing this network.
    Required to be explicitly set for pooled service node operation.
    If this is no longer correct, then please correct the Schema.pm file.

    1. If 2 service nodes are responding the dhcp requests from 2 different
      nodes at the same time, will they give the same ip address and result in
      ip conflict?

    2. From the code, it looks like the next-server takes value from
      networks.tfptserver, if it is not defined then it take the ip of the local
      node. However, the customer saw that the value did not get changed after
      networks.tftpserver changes value, so we need to test it.

    3. the customer do have the mac defined in the mac table.

    Since we have made a lot of changes in makedhcp etc in the recent releases
    and have not tested them with service node pool, we should really test it.
    And we should put the service node pool as a standard test case for all
    the releases.

    Ling

    Ling Gao
    Poughkeepsie Unix Development Lab
    IBM Systems and Technology Group
    Internal: T/L 293-5692
    External: linggao@us.ibm.com, 845-433-5692

    "I never worry about the future. It comes soon enough." --- Albert
    Einstein

    From: "Guang Cheng Li" ligc@users.sf.net
    To: "[xcat:bugs] " 3815@bugs.xcat.p.re.sf.net,
    Date: 10/12/2013 04:40 AM
    Subject: [xcat:bugs] #3815 makedhcp has problems for service node
    pool case

    Let me try to answer these questions, I do not have too much experience on
    configuring service node pool, Lissa and Jie Hua have more experience on
    configuring service node pool.
    1. What should be the value for networks.dhcpserver?
    I think we do not need to explicitly setup the networks.dhcpserver for
    service node pool configuration.
    2. How does the dynamaic range get handled?
    The multiple service nodes should have the same dynamic range
    configuration, the identical configuration makes it possible that any
    service node may respond the compute nodes.
    3. makedhcp -n does not update the dhcpd.conf file
    The makedhcp -n will create dhcpd.conf on all service nodes. The
    next-server could be the same as the dhcp server. No matter which service
    node responses the DHCP request, this service node will continue serve
    linux kernel and initrd through tftp and serve os image files through http
    to the compute nodes, we are not using next-server to point to another
    service node.
    4. makedhcp -a does not add nodes to the .leases files
    As long as the nodes' mac addresses are set, and the nodes' attribute
    servicenode is set to a set of service nodes.
    The doc link
    https://sourceforge.net/apps/mediawiki/xcat/index.php?title=Setting_Up_a_Linux_Hierarchical_Cluster#Service_Node_Pools
    has some information of setting up service node pool.
    Do you think we need to setup a service node pool cluster to verify the
    service node configuration and debug the problems for this customer?

    [bugs:#3815] makedhcp has problems for service node pool case
    Status: open
    Created: Mon Oct 07, 2013 03:58 PM UTC by Ling
    Last Updated: Tue Oct 08, 2013 01:26 PM UTC
    Owner: Guang Cheng Li
    Customer has a flat network and would like to setup the service node pools
    for the compute nodes. They have some questions and also encountered some
    problems. Here is the summary. Can we verify and fix all of them and
    update the doc if necessary?
    1. What should be the value for networks.dhcpserver?
    The tabdump -d networks show this attribute is required for the service
    node pools.
    After searching the doc, we found out that it says that the value can be
    any service node.
    http://sourceforge.net/apps/mediawiki/xcat/index.php?title=Setting_Up_a_Linux_Hierarchical_Cluster#Setup_networks_Table

    Please verify that these statements are correct.
    2. How does the dynamaic range get handled?
    If multiple service nodes handle the dynamic range, then there may be
    conflicts.
    Is the dynamic range handled by the service node that is defined in the
    networks.dhcpserver.
    Please verify this.
    3. makedhcp -n does not update the dhcpd.conf file
    Here is how to create it.
    networks.tftpserver=\<xcatmaster>
    makedhcp -n
    Note that "next-server" in dhcpd.conf will be \<xcatmaster> on all the
    service nodes.
    Now make networks.tftpserver blank
    run nakedhcp -n again
    Note that the "next-server" in dhcpd.conf stays the same.
    They had to remove the the dhcpd.conf file in order to get correct
    dhcpd.conf file on all the service nodes.
    Please verify and fix it.
    4. makedhcp -a does not add nodes to the .leases files
    run "makedhcp -a" (or "psh service makedhcp -a"), the .leases file on the
    service nodes have 0 lenth except the one that is defined in
    networks.dhcpserver.
    Please verify and fix it.

    Sent from sourceforge.net because you indicated interest in
    https://sourceforge.net/p/xcat/bugs/3815/
    To unsubscribe from further messages, please visit
    https://sourceforge.net/auth/subscriptions/

     

    Related

    Bugs: #3815

  • Bruce

    Bruce - 2013-10-14

    About the dynamic range, it is risky to have 2 dhcp svrs on the same subnet to both have dynamic ranges defined, even if they are the same range. Even though dhcp tries not to give out an IP that the other already has given out, there are timing windows that could cause problems. This is why our code in the dhpc.pm plugin has this logic:

                if ($ent and $ent->{dynamicrange})
                {
                    unless ($ent->{dhcpserver}
                            and xCAT::NetworkUtils->thishostisnot($ent->{dhcpserver}))
                    {    #If specific, only one dhcp server gets a dynamic range
                        $range = $ent->{dynamicrange};
                        $range =~ s/[,-]/ /g;
                    }
                }
    

    and why the note in https://sourceforge.net/apps/mediawiki/xcat/index.php?title=Setting_Up_a_Linux_Hierarchical_Cluster#Setup_networks_Table says:

    "Note:If using service node pools, the networks table dhcpserver attribute can be set to any single service node in your pool. The networks tftpserver, and nameserver attributes should be left blank."

     
  • Ling

    Ling - 2013-10-28

    We have discussed this defect in xCAT meeting. The decision is:
    1. verify #3 and #4, please fix them in 2.8.3 release if they are actual bug.
    2. please verify service node pools is working for 2.8.3.
    3. For long term, i.e. 2.8.4 or later, make changes to networks.dynamicrange so that to spread out the dynamicrange assignment to different service nodes
    nodeworts.dynamicrange=servicenode1:xxxxx-xxxxx,servicenode2:yyyyy-yyyy.

     
    Last edit: Ling 2013-10-29
  • Lissa Valletta

    Lissa Valletta - 2013-10-29

    xcatsnap is in /data3/hiller/exxon on the service machine. See Saul

     
  • Guang Cheng Li

    Guang Cheng Li - 2013-10-30
    • assigned_to: Guang Cheng Li --> wang huazhong
     
  • wang huazhong

    wang huazhong - 2013-11-05

    have discussed this bug and decided to fix problem 3 and 4 in xcat 2.8.3.
    will continue to verify other service node pool stuff in 2.8.4.

     
  • wang huazhong

    wang huazhong - 2013-11-06

    fixed problem 3 and 4 with:
    4624c6 and 957403 in master
    bc7ddd and c9c4bc in 2.8.

    Moving this bug to 2.8.4 for other service node pool problem.

     
  • wang huazhong

    wang huazhong - 2013-11-06
    • Milestones: 2.8.3 --> 2.8.4
     
  • wang huazhong

    wang huazhong - 2013-12-30

    fixing with revision 045f33 in master and 940387 in 2.8

     
  • wang huazhong

    wang huazhong - 2013-12-30
    • status: open --> pending
     
  • junxiaw

    junxiaw - 2014-01-09

    makedhcp -n doesnot work on the latest build.
    How to produce:
    [root@p7hvjs22r12 ~]# lsdef -v
    lsdef - Version 2.8.4 (built Wed Jan 8 19:23:33 PST 2014)
    [root@p7hvjs22r12 ~]#
    [root@p7hvjs22r12 ~]# cat /etc/redhat-release
    Red Hat Enterprise Linux Server release 6.4 (Santiago)
    [root@p7hvjs22r12 ~]# uname -a
    Linux p7hvjs22r12 2.6.32-358.el6.ppc64 #1 SMP Tue Jan 29 11:43:27 EST 2013 ppc64 ppc64 ppc64 GNU/Linux
    [root@p7hvjs22r12 ~]#makedhcp -n

    after makedhcp -n no dhcpd.conf file under /etc/dhcp/

     
  • Jing Sun

    Jing Sun - 2014-01-10

    This is caused by last fix, "makedhcp -n" does not work because of check_options returning wrong value.

    I have fixed it in master and branch 2.8.

    Efix was put on junxia's test cluster.

     
  • Ling

    Ling - 2014-04-09
    • status: pending --> closed
    • component: --> general