On 03/02/2015 12:23 PM, Nathan Scott wrote:
----- Original Message -----
This is on opensuse13.1 ...
kenj@vm24:~/src/pcp/qa$ pminfo -f pmcd.feature.containers
pmcd.feature.containers
value 1
kenj@vm24:~/src/pcp/qa$ src/grind_ctx -h local:?container=fe4564ddf901
Iteration 4
pmNewContext(host=local:?container=fe4564ddf901): Operation not supported
Because pmcd.feature.contatiners is 1, qa/977 is run but immediately trips
over the grind_ctx error.
Looks like there's another path through to -EOPNOTSUPP, but I'm not seeing
it so far. Does this platform/build HAVE_SETNS? (src/include/pcp/config.h)
The platform I was seeing this on has HAVE_SETNS, but for some reason
it built _without_ HAVE_SECURE_SOCKETS. No idea why, but it did - probably
a missing ssl or nss library or header or something. Ken, does your OpenSuSE
build HAVE_SECURE_SOCKETS ?
To test the theory that secure sockets are required for container
support, on my RHEL70 platform (that has been working with containers),
I ran the following experiment :
[rhel70]$ ./Makepkgs --with-secure-sockets=0
...
[rhel70]$ grep HAVE_SECURE_SOCKETS pcp-3.10.3/src/include/pcp/config.h
/* #undef HAVE_SECURE_SOCKETS */
... install the just built packages (with --force --nodeps if needed)
and than start up a container:
[rhel70]$ sudo docker run fedora:latest sleep 9999999 &
[rhel70]$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED
STATUS PORTS NAMES
bdb58746deaf fedora:21 "sleep 9999999" 15 seconds ago
Up 14 seconds berserk_mcclintock
Check we can still connect to pmcd (not asking for secure sockets) :
[rhel70]$ pminfo -h localhost -f hinv.ncpu
hinv.ncpu
value 2
Same again, but this time for the container :
[rhel70]$ pminfo -h localhost --container bdb58746deaf -f hinv.ncpu
pminfo: Cannot connect to PMCD on host "localhost": Operation not supported
Here's the -DTRACE,DESPERATE trace :
[rhel70]$ pminfo DCONTEXT,DESPERATE -h localhost --container bdb58746deaf -f
hinv.ncpu
pminfo: Cannot connect to PMCD on host "localhost": Operation not supported
[mgoodwin@ocean pcp]$ pminfo -DCONTEXT,DESPERATE -h localhost --container
bdb58746deaf -f hinv.ncpu
__pmConnectPMCD: trying __pmAuxConnectPMCDPort(localhost, 44321) ...
auxconnect.c:__pmGetAddrInfo(localhost) -> (null)
__pmSetSocketIPC: fd=3
IPC table fd(PDU version):
auxconnect.c:__pmHostEntFree(hostent=0x7c73d0) name=(nil) ((null))
addresses=0x7c84c0
__pmDecodeXtendError: got error PDU (code=0, datum=1073742082, version=2)
__pmSetVersionIPC: fd=3 version=2
IPC table fd(PDU version): 3(2,1)
__pmSendCreds: #0 = 1020040
__pmConnectPMCD(localhost): pmcd connection port=44321 failed: Operation not
supported
pmNewContext(1, localhost) -> -95, curcontext=-1
pminfo: Cannot connect to PMCD on host "localhost": Operation not supported
Nathan, there seems to be a path thru __pmConnectPMCD where the containers
feature requires the secure sockets feature. Is this expected?
Cheers
-- Mark
|