pcp
[Top] [All Lists]

pcp updates: more container work: pcp-base container, layered builds and

To: pcp <pcp@xxxxxxxxxxx>
Subject: pcp updates: more container work: pcp-base container, layered builds and some bug fixes only affecting container environments
From: Mark Goodwin <mgoodwin@xxxxxxxxxx>
Date: Tue, 02 Jun 2015 22:39:22 +1000
Delivered-to: pcp@xxxxxxxxxxx
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0
This fixes some container related bugs in the pmlogger rc script
and introduces the pcp-base container, upon which all the other
containers are now layered.

Still no cron service for the pmlogger_{check,daily} scripts,
and no top-level build integration (needs configure checks
for functioning "sudo docker"), and Makeimages --with-docker.

The changes to the pmlogger_check and pmlogger rc scripts could
do with some rv. Should be no effective change for non-container
environments and QA should be unaffected. See commits f6e3da702b,
9870afc6e8bc and d34314c53b04b

Note this still in the master branch in my tree - not merged yet.

Changes committed to git://git.pcp.io/markgw/pcp/pcp.git master

commit 5138de1a2424d0a9077bc4fe70ee9614edb43ce3
Author: Mark Goodwin <mgoodwin@xxxxxxxxxx>
Date:   Tue Jun 2 20:08:01 2015 +1000

    Use the pcp-test repo from the pcp-base image.

    Now that the containers are based on the pcp-base image, the
    pcp-test yum repo is already set up so we don't need to duplicate
    that for the layered containers.

        modified:   build/containers/pcp-base/Dockerfile
        modified:   build/containers/pcp-collector/Dockerfile
        modified:   build/containers/pcp-collector/GNUmakefile
        modified:   build/containers/pcp-monitor/Dockerfile
        modified:   build/containers/pcp-monitor/GNUmakefile
        modified:   build/containers/pcp-pmlogger/Dockerfile
        modified:   build/containers/pcp-pmlogger/GNUmakefile
        modified:   build/containers/pcp-testsuite/Dockerfile
        modified:   build/containers/pcp-testsuite/GNUmakefile

commit f6e3da702b16f00cc467e0cf8799c51aaceb7a27
Author: Mark Goodwin <mgoodwin@xxxxxxxxxx>
Date:   Tue Jun 2 19:56:13 2015 +1000

    Use full path to pmlogger in pmlogger_check.

    In a container, the PATH has $PCP_SHARE_DIR/lib ahead of $PCP_BINADM_DIR,
    so trying to run "pmlogger" in pmlogger_check is going to relaunch the
    rc script (recursively). Using the full path to $PCP_BINADM_DIR/pmlogger
    in pmlogger_check fixes it.

        modified:   src/pmlogger/pmlogger_check.sh

commit d34314c53b04bd593d6007cc05104ab613847cb0
Author: Mark Goodwin <mgoodwin@xxxxxxxxxx>
Date:   Tue Jun 2 16:49:01 2015 +1000

Print a bit more detail on why pmlogger thinks there's already a primary pmlogger running.

        modified:   src/pmlogger/src/ports.c

commit f54dfd6c570254f62233c129358112eecee4e73d
Author: Mark Goodwin <mgoodwin@xxxxxxxxxx>
Date:   Tue Jun 2 16:35:49 2015 +1000

    rc scripts require /usr/bin/which

    'which' is not in the fedora base container image.

        modified:   build/rpm/pcp.spec.in

commit cb9442257ae547daccbc778f2014813dbab2aaf0
Author: Mark Goodwin <mgoodwin@xxxxxxxxxx>
Date:   Tue Jun 2 16:31:51 2015 +1000

    Use pcp-base as the base image for all other PCP containers.

        modified:   build/containers/pcp-base/Dockerfile
        modified:   build/containers/pcp-collector/Dockerfile
        modified:   build/containers/pcp-monitor/Dockerfile
        modified:   build/containers/pcp-pmlogger/Dockerfile
        modified:   build/containers/pcp-testsuite/Dockerfile

commit 6dc60318ceff2781a39b6f54e0afd17cc274954c
Author: Mark Goodwin <mgoodwin@xxxxxxxxxx>
Date:   Tue Jun 2 14:21:54 2015 +1000

    Add pcp-base container.

    Add pcp-base container, based on f22/rawhide to avoid the pcp-compat
    dependency that drags in everything under the sun. This container is
    not ment to be run - it's the base of other layered containers.

        modified:   build/containers/GNUmakefile
        new file:   build/containers/pcp-base/Dockerfile
        new file:   build/containers/pcp-base/GNUmakefile

commit 3652f761ac18dac80aae39b5f82ac091d09f4eda
Author: Mark Goodwin <mgoodwin@xxxxxxxxxx>
Date:   Tue Jun 2 14:10:46 2015 +1000

    Ignore build targets and temp RPMS directory

        modified:   build/containers/.gitignore

commit 9870afc6e8bc13936c535c044591a7512a6a6b55
Author: Mark Goodwin <mgoodwin@xxxxxxxxxx>
Date:   Tue Jun 2 13:52:18 2015 +1000

    Don't fork pmcheck co-processes in a container environment.

    In a container environment, pmpause is used to prevent the rc
    script exiting until a SIGCHLD is received. In the rc script,
    we can't run start_pmcheck in the background, otherwise when
    each start_pmcheck co-process exits, pmpause would be signalled
    to reap the child (start_pmcheck) rather than the grandchild
    (pmlogger), and then exit - causing the whole container to exit.

        modified:   src/pmlogger/rc_pmlogger

commit 5d271f7ed7fc5cf9b2644557b9577beb0c51ec1c
Merge: 1995716 9478ca0
Author: Mark Goodwin <mgoodwin@xxxxxxxxxx>
Date:   Tue Jun 2 13:41:10 2015 +1000

    Merge branch 'master' of git://oss.sgi.com/pcp/pcp

<Prev in Thread] Current Thread [Next in Thread>
  • pcp updates: more container work: pcp-base container, layered builds and some bug fixes only affecting container environments, Mark Goodwin <=