pcp
[Top] [All Lists]

pcp updates: bug fixes, merges, prep for point release

To: pcp@xxxxxxxxxxx
Subject: pcp updates: bug fixes, merges, prep for point release
From: Nathan Scott <nathans@xxxxxxxxxx>
Date: Fri, 19 Apr 2013 00:41:09 -0400 (EDT)
Delivered-to: pcp@xxxxxxxxxxx
In-reply-to: <2096276533.3238413.1366346463281.JavaMail.root@xxxxxxxxxx>
Reply-to: Nathan Scott <nathans@xxxxxxxxxx>
Thread-index: P1n2I2u2YjfSidM9vvnZ91fYf73ydw==
Thread-topic: pcp updates: bug fixes, merges, prep for point release
Changes committed to git://oss.sgi.com/pcp/pcp.git dev

 CHANGELOG                       |   26 +-
 build/rpm/GNUmakefile           |    1 
 build/rpm/fedora.spec           |   10 
 build/rpm/pcp.spec.in           |    2 
 debian/changelog                |    4 
 qa/.gitignore                   |    1 
 qa/008                          |   20 +
 qa/008.out.bozo+sdc             |   59 +++++
 qa/023.out.1                    |    9 
 qa/023.out.2                    |    9 
 qa/024                          |    3 
 qa/062.out                      |    3 
 qa/199                          |    7 
 qa/200                          |   20 +
 qa/200.out                      |   23 ++
 qa/200.out.1                    |   38 +++
 qa/200.out.2                    |   61 +++++
 qa/205                          |    4 
 qa/205.out                      |   17 -
 qa/244.out.1                    |    6 
 qa/244.out.2                    |    6 
 qa/273                          |    1 
 qa/287.out.x86_64               |  312 +++++++++++++++---------------
 qa/297                          |    1 
 qa/348                          |    2 
 qa/439                          |    3 
 qa/455                          |   23 ++
 qa/587                          |    2 
 qa/643                          |    2 
 qa/712                          |    3 
 qa/group                        |    2 
 qa/src/GNUlocaldefs             |    2 
 qa/src/multithread2.c           |    4 
 qa/src/pducheck.c               |    9 
 src/include/pcp/impl.h          |    6 
 src/libpcp/src/access.c         |  329 ++++++++++++++++---------------
 src/libpcp/src/auxconnect.c     |   54 +++--
 src/libpcp/src/ipc.c            |    2 
 src/libpcp/src/nss_connect.c    |   37 ++-
 src/libpcp/src/pdu.c            |  414 ++++++++++++++++++----------------------
 src/libpcp_gui/src/timeclient.c |    2 
 src/libpcp_pmda/src/open.c      |    2 
 src/pmcd/src/dopdus.c           |    2 
 src/pmdbg/pmdbg.c               |    4 
 src/pmlogger/ports.c            |    2 
 45 files changed, 914 insertions(+), 635 deletions(-)

commit b06116c16f87bf986a4be1bf6578948887c20b92
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Fri Apr 19 14:37:48 2013 +1000

    Remove the code behind TIMEOUT_ASYNC (and back-compat macro)
    
    The pduread code is obfuscated enough already without having
    this in the way.  While reviering other changes in the area,
    this was found wanting in several areas.  Nothing is using
    it anymore, so just return an error if ASYNC requested.  In
    a major release or two, we could remove the macros as well.

commit d4ade59cbdb55c8af42f6d6df61aade7d9949dfa
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Fri Apr 19 09:53:19 2013 +1000

    Add new fixhosts qa helper script into installed packages

commit 3fd47227430c58669f0727d79a4ebf3c77e2763b
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Fri Apr 19 09:52:32 2013 +1000

    Resolve fedora/rpm specific bug due to condrestart on pmcd
    
    If pmcd (start script) is never run on a machine, but someone
    attempts pmstat locally, it fails with:
    
    localhost:~# pmstat
    Error Parsing ASCII PMNS: Cannot open "/var/lib/pcp/pmns/root"
    pmstat: pmLookupName: PMNS not accessible
    
    We need to make sure there's a root namespace at the end of the
    RPM installation process.  Doesn't affect other platforms as we
    always (re)start pmcd over there as part of the package install.
    
    Thanks to Marko Myllynen for reporting (Fedora bug 952977).

commit 89d438c34ef95194a1a52fb7edd8127c557ea1c3
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Fri Apr 19 09:47:38 2013 +1000

    Update changelogs for planned release later today

commit 1e5218743842923a2e01308a19c9dbcd401c718f
Merge: 08dd0c7 4ab4232
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date:   Fri Apr 19 08:38:39 2013 +1000

    Merge branch 'brolley/dev' of git://sourceware.org/git/pcpfans into dev

commit 4ab4232a9e90f411d5d102503bb0348803d3d636
Author: Dave Brolley <brolley@xxxxxxxxxx>
Date:   Thu Apr 18 18:07:28 2013 -0400

    Add a 'family' argument to __pmLoopBackAddress() and __pmSockAddrInit().
    
    This allows these functions to manipulate IPv6 addresses.
    A simplification of __pmSockAddrIsLoopBack() was made possible.
    All callers updated.

commit 990b0597c9341cafa5c186b3b0f349fac7f47fed
Author: Dave Brolley <brolley@xxxxxxxxxx>
Date:   Thu Apr 18 10:19:17 2013 -0400

    pmcd access control: global wildcard for IPv6.
    
    - Extend the existing global wildcard, "*", to also refer to IPv6 addresses.
    - Add support for ".*" global wildcard which refers only to inet (IPv4) 
addresses.
    - Add support for ":*" global wildcard which refers only to IPv6 addresses.
    
    With these changes, the global wild card, "*", now has the intended effect 
of
    referring to all hosts. The user may separately restrict access for IPv6 and
    inet hosts as a whole by using the new ".:" and ".*" wildcards respectively.
    
    Also included are the necessary updates to the expected qa test output.

commit 2c044ef8899e42f3837ab0adbda2c75764043e65
Author: Dave Brolley <brolley@xxxxxxxxxx>
Date:   Thu Apr 18 10:18:17 2013 -0400

    __pmSockAddrIsLoopBack(): Handle IPv6 loopback address.

commit 08dd0c7d176b824d8528e849910bd75df25c9e37
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date:   Thu Apr 18 15:32:43 2013 +1000

    libpcp - killer bug in PCP PDU layer exposed by secure sockets
    
    One of the long-standing assumptions in the PCP PDU layer, is
    that since we only ever write PDUs with a fixed sized header
    plus a variable amount of data, on the receiver side an atomic
    read()/recv() requesting the header size (or a whole word and
    word-aligned part thereof) will return _all_ of the requested data,
    else it is treated as an PM_ERR_IPC error and the show is over.
    
    For regular sockets (pmcd/pmproxy/pmda/client connections) and files
    (PCP archives) this assumption has stood the test of time across more
    TCP/IP implementations than you could hit with a big stick.
    
    But with secure sockets lurking under the covers and the various
    and assorted handshake, encyption and compression games in play,
    the assumption no longer stands and we have seen requests for 4,
    8, 12 bytes returning data of length 1, 5, 7, ... bytes followed
    by the remainder of the data in one or more subesquent recv()s
    (so returning a shorter than expected buffer it is _not_ the end
    of the data stream).
    
    This commit re-engineers the _entire_ PDU assembly logic in
    pduread() to match the brave new world reality.
    
    With this change, secure socket connections from clients to pmcd
    and/or pmproxy are working for me, and all of QA is passing on
    at least one host so far.

commit c9df92432930c3978a8fd9f1fe1809f6495f9dba
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date:   Thu Apr 18 15:29:49 2013 +1000

    qa/199,348,587,643 - maintain pmcd configuration state
    
    For tests that Install and/or Remove PMDAs, it is important
    that they leave the pmcd configuration, PMDA configuration and
    PMNS configuration in the same state as they were before the
    test was run.

commit 2c7c14593e03dfa2e0ead02376d021368a76df78
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date:   Thu Apr 18 15:24:18 2013 +1000

    qa/712 - undo debug changes

commit 4ed4298c0f7aea41a8b70434ae494b7973f7b49c
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date:   Thu Apr 18 15:21:26 2013 +1000

    libpcp - __pmRecv additional diagnostics
    
    We have multiple flavours of __pmRecv() that might be used, so
    add diagnostics to identify which flavour and low-level details
    of packets received (under the conjuncted control of DBG_TRACE_PDU
    and DBG_TRACE_DESPERATE).

commit a8e123efaa14758dea24b004104dad3882f23a08
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date:   Thu Apr 18 15:17:05 2013 +1000

    pmcd - add flags field of credentials exchange to diag

commit 172e443a2410531a7fcf41f464833832f954b67e
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date:   Thu Apr 18 14:53:20 2013 +1000

    libpcp/ipc.c - hide noisy diagnostic behind DBG_TRACE_DESPERATE
    
    The DBG_TRACE_CONTEXT diagnostic
        __pmDataIPC: fd=<n>, data=<addr>(sz=<k>)
    is generated a _lot_, and is not all that helpful amongst the other
    -Dcontext diagnostics, so hide this one behind the (new) conjuncted
    DBG_TRACE_DESPERATE flag.
    
    -Dcontext,desperate will make it appear again if needed.

commit 9036f208d27e2c331db29933524b15cb50f012eb
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date:   Thu Apr 18 14:44:31 2013 +1000

    Diagnostics - add DBG_TRACE_DESPERATE support
    
    One level of additional verbosity control in the diagnostics.
    
    Set from the command line with one or more flags, e.g -D pdu,desperate
    and execution is guarded by a predictate like
        if ((pmDebug & DBG_TRACE_PDU) && (pmDebug & DBG_TRACE_DESPERATE))
    
    The intention is that only the desperate developer would (a) add
    diagnositics under the conjuncted DBG_TRACE_DESPERATE control,
    (b) be interested in the output from these diagnostics.
    
    For example uses in libpcp, see the subsequent commits to pdu.c and ipc.c.

commit e2d1042b3da0a9197337678ae0030ebb82bc4b3c
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date:   Thu Apr 18 14:42:43 2013 +1000

    qa/group - test 193 belongs in the pdu group

commit b225ceb1ac8251d41f27f4eddb34d00e006df08c
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date:   Thu Apr 18 14:41:09 2013 +1000

    qa/439 - filter refinement
    
    Treat "TCP connection reset by peer" as equivalent to "Connection refused"
    for this test.

commit 4c20cd69d2114ae0b1fdcb06f4dea72630fa9654
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date:   Thu Apr 18 14:39:13 2013 +1000

    qa/455 - rsyslog pmda testing
    
    A couple of changes needed here:
    a) maintain pmcd configuration state ... if the PMDA is installed
       before this test runs, make sure it is installed after the test
       has been run, else if the PMDA is NOT installed before this
       this test runs, make sure it is NOT installed after the test
       has been run
    b) add a small amount of checking for the named pipe creation
       ($PCP_LOG_DIR/rsyslog/stats) to avoid a race between the Install
       and the QA test that can leave the QA test hanging on the write
       to the named pipe.

commit 2de4cef4382f368b36ddb232529b16eed47c6e33
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date:   Thu Apr 18 11:17:19 2013 +1000

    qa/297 - filter out __pmConnect diag added in PCP 3.7.2

commit 0c7f69d1d374e8c603f2f6c763fbe8aff10cd860
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date:   Thu Apr 18 11:05:26 2013 +1000

    Revert "qa/287 - slightly different floating point precision for x86_64"
    
    This reverts commit 8704c97674c69da4ac7704b61dd7978d5a6fb4e3.

commit 473e4ac9e19b35863fb31c0ab37fc6fec74cdc25
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date:   Thu Apr 18 11:03:07 2013 +1000

    qa/273 - filter out __pmConnect diag added in PCP 3.7.2

commit 14f5d6e60b50f95d77983b70c3753664981eded3
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date:   Thu Apr 18 10:59:17 2013 +1000

    qa/200 - handle new __pmConnect diag added in PCP 3.7.2

commit b548b989bd80702156691f6f8ce8e241b9ae71ec
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date:   Thu Apr 18 10:49:22 2013 +1000

    qa/024 - filter out __pmConnect diag added in PCP 3.7.2

commit cf7e2d5bed688669ee95e5d18390e5b0e007a665
Author: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Date:   Thu Apr 18 10:25:31 2013 +1000

    qa/008 - fix disk non-determinism for host bozo

<Prev in Thread] Current Thread [Next in Thread>
  • pcp updates: bug fixes, merges, prep for point release, Nathan Scott <=