On 3 January 2011 08:17, Mark Burgess <[email protected]> wrote:
>
> the ps issue is already fixed as far as I know in current trunk svn.
Yes, enterprise_stubs.c has been updated to append "-z global" for the
global zone (see below).
I think this still will fail on Solaris, because the use of the -e
option (as set in classes.c) cancels out -z. The following is run in
the global zone on a server with many zones, note how the number of
processes stays the same in the two first commands (showing the total
number for all zones, including global), while the last ps shows
processes for the global zone only (now -e here).
$ ps -eo user|wc -l
1826
$ ps -eo user -z global|wc -l
1826
$ ps -o user -z global|wc -l
248
The code should use either -e or -z global, as in the hack I did.
- Erlend
char *GetProcessOptions()
{
#ifdef HAVE_GETZONEID
zoneid_t zid;
char zone[ZONENAME_MAX];
static psopts[CF_BUFSIZE];
zid = getzoneid();
getzonenamebyid(zid,zone,ZONENAME_MAX);
if (cf_strcmp(zone,"global") == 0)
{
snprintf(psopts,CF_BUFSIZE,"%s -z global",VPSOPTS[VSYSTEMHARDCLASS]);
return psopts;
}
#endif
return VPSOPTS[VSYSTEMHARDCLASS];
}
_______________________________________________
Help-cfengine mailing list
[email protected]
https://cfengine.org/mailman/listinfo/help-cfengine