Rundeck OS Permissions Issue?

2,347 views
Skip to first unread message

Rilindo Foster

unread,
Jan 15, 2016, 2:24:40 PM1/15/16
to rundeck-discuss
I am currently getting current release of rundeck up and running and I am encountering some odd issues permissions.

Specifically, if I were to run a command as the rundeck user, I am able to access the file system with no issues (provide that I got appropriate permissions). Here is a ls command that ran bot's elasticcache directory:

ls -la /usr/local/lib/python2.7/dist-packages/boto/elasticache

total 152

drwxr-s---  2 root staff  4096 Dec 28 22:07 .

drwxr-s--- 57 root staff  4096 Dec 28 22:07 ..

-rw-r-----  1 root staff  1669 Dec 28 22:07 __init__.py

-rw-r-----  1 root staff   970 Dec 28 22:07 __init__.pyc

-rw-r-----  1 root staff 73538 Dec 28 22:07 layer1.py

-rw-r-----  1 root staff 63613 Dec 28 22:07 layer1.pyc

rundeck@rundeck:~$ 

In this case,  the boto directory is owned by root/staff and the rundeck user is able to access the directory as it is in the staff group.

However, running the same command in the rundeck web console, I am denied access:

12:52:05 Executing '/bin/sh' with arguments:'-c'
'ls -la /usr/local/lib/python2.7/dist-packages/boto/elasticache'

The ' characters around the executable and arguments are
not part of the command.
12:52:05 Execute:Java13CommandLauncher: Executing '/bin/sh' with arguments:'-c'
'ls -la /usr/local/lib/python2.7/dist-packages/boto/elasticache'

The ' characters around the executable and arguments are
not part of the command.
12:52:05 ls: cannot access /usr/local/lib/python2.7/dist-packages/boto/elasticache: Permission denied
12:52:06 Setting project property: 1452883925815.node.localhost.LocalNodeExecutor.result -> 2
12:52:06 Result: 2
12:52:06 Failed: NonZeroResultCode: Result code was 2

Same command, running under the rundeck user, with the rundeck process running as the rundeck user.

I could work around it by wrapper the command around sudo, but that meant an escalation of access that I prefer not to allow.

At any event, this meant that I can't run build scripts or other external commands on the rundeck server, so some direction is greatly appreciated.

Environment into

Ubuntu 12.04
Rundeck 2.6.1, running under the rundeck user (fronted by an Apache Proxy).

dagu...@simplifyops.com

unread,
Jan 18, 2016, 7:25:14 AM1/18/16
to rundeck-discuss
Hi, are you sure that the user in the rundeck web console is the rundeck user?.


Best

Rilindo Foster

unread,
Jan 18, 2016, 11:05:44 AM1/18/16
to rundeck...@googlegroups.com
To clarify, when I say rundeck user, I mean the user that the rundeck process and web console is running under. 

Here is the output of the env variable, if it helps.


Setting environment variable: RD_JOB_URL=http://localhost:4440/project/<REDACTED>/execution/follow/410
15:39:29 Setting environment variable: RD_NODE_DESCRIPTION=Rundeck server node
15:39:29 Setting environment variable: RD_NODE_OS_ARCH=amd64
15:39:29 Setting environment variable: RD_JOB_NAME=Ansible User Bastion Check
15:39:29 Setting environment variable: RD_JOB_WASRETRY=false
15:39:29 Setting environment variable: RD_JOB_ID=5ad0e51f-5f71-45b7-97cd-0729087acf23
15:39:29 Setting environment variable: RD_JOB_RETRYATTEMPT=0
15:39:29 Setting environment variable: RD_JOB_EXECID=410
15:39:29 Setting environment variable: RD_NODE_HOSTNAME=localhost
15:39:29 Setting environment variable: RD_NODE_TAGS=
15:39:29 Setting environment variable: RD_JOB_SERVERURL=http://localhost:4440/
15:39:29 Setting environment variable: RD_NODE_NAME=localhost
15:39:29 Setting environment variable: RD_JOB_PROJECT=<REDACTED>
15:39:29 Setting environment variable: RD_JOB_USER_NAME=rfoster
15:39:29 Setting environment variable: RD_JOB_LOGLEVEL=DEBUG
15:39:29 Setting environment variable: RD_NODE_OS_VERSION=3.13.0-74-generic
15:39:29 Setting environment variable: RD_NODE_USERNAME=rundeck
15:39:29 Setting environment variable: RD_NODE_OS_FAMILY=unix
15:39:29 Setting environment variable: RD_JOB_USERNAME=rfoster
15:39:29 Setting environment variable: RD_JOB_GROUP=Scheduled/Compliance
15:39:29 Setting environment variable: RD_NODE_OS_NAME=Linux

-- 
Rilindo Foster


--
You received this message because you are subscribed to the Google Groups "rundeck-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rundeck-discu...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rundeck-discuss/54edc71a-12dc-4499-bba0-1cbd153918b0%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Alex Honor

unread,
Jan 18, 2016, 11:09:09 AM1/18/16
to rundeck...@googlegroups.com
Hi Rilindo,

Is this an ad-hoc command or Job? Also, if this is a Job is it a Local Command or is this being executed via Node Executor (eg, via node filter)?

thanks


For more options, visit https://groups.google.com/d/optout.



--

Alex Honor

[SimplifyOps, Inc | a...@simplifyops.com ]

Be sure to comment and vote on Rundeck Feature Development!

Rilindo Foster

unread,
Jan 18, 2016, 11:22:22 AM1/18/16
to rundeck...@googlegroups.com
It is a job. I had the problem running the command as an inline script and remote command. Your comment about it being local command got me thinking, so I reset the job as a local command. Unfortunately, it has the same issue:

[workflow] finishExecuteNodeStep(localhost): NodeDispatch: NonZeroResultCode: Result code was 1
10:19:04 1: Workflow step finished, result: Dispatch failed on 1 nodes: [localhost: NonZeroResultCode: Result code was 1]
10:19:04 [workflow] Finish step: 1,NodeDispatch
10:19:04 2. Local Command [workflow] Begin step: 2,NodeDispatch
10:19:04 2: Workflow step executing: StepExecutionItem{type='NodeDispatch', keepgoingOnSuccess=false, hasFailureHandler=false}
10:19:04 preparing for sequential execution on 1 nodes
10:19:04 Executing command on node: localhost, NodeEntryImpl{tags=[], attributes={osFamily=unix, username=rundeck, osVersion=3.13.0-74-generic, osArch=amd64, description=Rundeck server node, hostname=localhost, nodename=localhost, osName=Linux}, project='null'}
10:19:04 [workflow] beginExecuteNodeStep(localhost): NodeDispatch: StepExecutionItem{type='NodeDispatch', keepgoingOnSuccess=false, hasFailureHandler=false}
10:19:04 LocalExecNodeStepPlugin, running command (3): 'ls''-la''/usr/local/lib/python2.7/dist-packages/boto/elasticache'
10:19:04 ls: cannot access /usr/local/lib/python2.7/dist-packages/boto/elasticache: Permission denied
10:19:04 Failed: NonZeroResultCode: Result code was 2
10:19:04 [workflow] finishExecuteNodeStep(localhost): NodeDispatch: NonZeroResultCode: Result code was 2
10:19:04 2: Workflow step finished, result: Dispatch failed on 1 nodes: [localhost: NonZeroResultCode: Result code was 2]
10:19:04 [workflow] Finish step: 2,NodeDispatch
10:19:04 [workflow] Finish execution:  rundeck-workflow-node-first: [Workflow result: , step failures: {1=Dispatch failed on 1 nodes: [localhost: NonZeroResultCode: Result code was 1], 2=Dispatch failed on 1 nodes: [localhost: NonZeroResultCode: Result code was 2]}, Node failures: {localhost=[NonZeroResultCode: Result code was 1, NonZeroResultCode: Result code was 2]}, flow control: Continue, status: failed]
10:19:04 [Workflow result: , step failures: {1=Dispatch failed on 1 nodes: [localhost: NonZeroResultCode: Result code was 1], 2=Dispatch failed on 1 nodes: [localhost: NonZeroResultCode: Result code was 2]}, Node failures: {localhost=[NonZeroResultCode: Result code was 1, NonZeroResultCode: Result code was 2]}, flow control: Continue, status: failed]
10:19:04 Execution failed: 431: [Workflow result: , step failures: {1=Dispatch failed on 1 nodes: [localhost: NonZeroResultCode: Result code was 1], 2=Dispatch failed on 1 nodes: [localhost: NonZeroResultCode: Result code was 2]}, Node failures: {localhost=[NonZeroResultCode: Result code was 1, NonZeroResultCode: Result code was 2]}, flow control: Continue, status: failed]


It is worth noting that the jobs were imported from an earlier version of rundeck and they executed the jobs just fine, even if they were set to execute remotely on the local server (yeah, I know, it doesn’t sound like it made sense).
-- 
Rilindo Foster

Alex Honor

unread,
Jan 18, 2016, 11:25:41 AM1/18/16
to rundeck...@googlegroups.com
In the output I do see it using the local executor (ie, "LocalExecNodeStepPlugin"). Can you create a simple test job which is similar to this one except it just does a "groups" unix command? I am curious why the environment is different.


For more options, visit https://groups.google.com/d/optout.

Rilindo Foster

unread,
Jan 18, 2016, 11:35:30 AM1/18/16
to rundeck...@googlegroups.com
Alright. Here is the output with the groups command for local command execution:

[workflow] Begin execution: rundeck-workflow-node-first context: null
10:32:23 preparing for sequential execution on 1 nodes
10:32:23 Executing command on node: localhost, NodeEntryImpl{tags=[], attributes={osFamily=unix, username=rundeck, osVersion=3.13.0-74-generic, osArch=amd64, description=Rundeck server node, hostname=localhost, nodename=localhost, osName=Linux}, project='null'}
10:32:23 NodeSet: MultiNodeSelector{nodenames=[localhost]}
10:32:23 Workflow: com.dtolabs.rundeck.core.execution.workflow.StepFirstWorkflowStrategy$stepFirstWrapper@6e30fdcc
10:32:23 data context:  {node={tags=, username=rundeck, os-version=3.13.0-74-generic, description=Rundeck server node, name=localhost, os-arch=amd64, hostname=localhost, os-name=Linux, os-family=unix}, job={loglevel=DEBUG, wasRetry=false, url=http://localhost:4440/project/<REDACTED>/execution/follow/432, id=30937da6-0092-4e99-a297-8ae74c73615d, project=<REDACTED>, username=rfoster, retryAttempt=0, user.name=rfoster, name=Test, serverUUID=null, group=Testing/Commands, execid=432, serverUrl=http://localhost:4440/}, option={}}
10:32:23 1. Local Command [workflow] Begin step: 1,NodeDispatch
10:32:23 1: Workflow step executing: StepExecutionItem{type='NodeDispatch', keepgoingOnSuccess=false, hasFailureHandler=false}
10:32:23 preparing for sequential execution on 1 nodes
10:32:23 Executing command on node: localhost, NodeEntryImpl{tags=[], attributes={osFamily=unix, username=rundeck, osVersion=3.13.0-74-generic, osArch=amd64, description=Rundeck server node, hostname=localhost, nodename=localhost, osName=Linux}, project='null'}
10:32:23 [workflow] beginExecuteNodeStep(localhost): NodeDispatch: StepExecutionItem{type='NodeDispatch', keepgoingOnSuccess=false, hasFailureHandler=false}
10:32:23 LocalExecNodeStepPlugin, running command (1): 'groups'
10:32:23 rundeck
10:32:23 [workflow] finishExecuteNodeStep(localhost): NodeDispatch: Step successful
10:32:23 1: Workflow step finished, result: Dispatch successful (1 nodes)
10:32:23 [workflow] Finish step: 1,NodeDispatch
10:32:23 [workflow] Finish execution:  rundeck-workflow-node-first: [Workflow result: , Node failures: {localhost=[]}, flow control: Continue, status: succeeded]

Here is one for remote execution:

[workflow] Begin step: 2,NodeDispatch
10:33:59 2: Workflow step executing: com.dtolabs.rundeck.execution.ExecutionItemFactory$4@13986e6c
10:33:59 preparing for sequential execution on 1 nodes
10:33:59 Executing command on node: localhost, NodeEntryImpl{tags=[], attributes={osFamily=unix, username=rundeck, osVersion=3.13.0-74-generic, osArch=amd64, description=Rundeck server node, hostname=localhost, nodename=localhost, osName=Linux}, project='null'}
10:33:59 [workflow] beginExecuteNodeStep(localhost): NodeDispatch: com.dtolabs.rundeck.execution.ExecutionItemFactory$4@13986e6c
10:33:59 Current OS is Linux
10:33:59 Adding reference: ant.PropertyHelper
10:33:59 Project base dir set to: /var/log/rundeck
10:33:59 Setting environment variable: RD_JOB_URL=http://localhost:4440/project/<REDACTED>/execution/follow/433
10:33:59 Setting environment variable: RD_NODE_DESCRIPTION=Rundeck server node
10:33:59 Setting environment variable: RD_NODE_OS_ARCH=amd64
10:33:59 Setting environment variable: RD_JOB_NAME=Test
10:33:59 Setting environment variable: RD_JOB_WASRETRY=false
10:33:59 Setting environment variable: RD_JOB_ID=30937da6-0092-4e99-a297-8ae74c73615d
10:33:59 Setting environment variable: RD_JOB_RETRYATTEMPT=0
10:33:59 Setting environment variable: RD_JOB_EXECID=433
10:33:59 Setting environment variable: RD_NODE_HOSTNAME=localhost
10:33:59 Setting environment variable: RD_NODE_TAGS=
10:33:59 Setting environment variable: RD_JOB_SERVERURL=http://localhost:4440/
10:33:59 Setting environment variable: RD_NODE_NAME=localhost
10:33:59 Setting environment variable: RD_JOB_PROJECT=<REDACTED>
10:33:59 Setting environment variable: RD_JOB_USER_NAME=rfoster
10:33:59 Setting environment variable: RD_JOB_LOGLEVEL=DEBUG
10:33:59 Setting environment variable: RD_NODE_OS_VERSION=3.13.0-74-generic
10:33:59 Setting environment variable: RD_NODE_USERNAME=rundeck
10:33:59 Setting environment variable: RD_NODE_OS_FAMILY=unix
10:33:59 Setting environment variable: RD_JOB_USERNAME=rfoster
10:33:59 Setting environment variable: RD_JOB_GROUP=Testing/Commands
10:33:59 Setting environment variable: RD_NODE_OS_NAME=Linux
10:33:59 Executing '/bin/sh' with arguments:'-c'
'groups'

The ' characters around the executable and arguments are
not part of the command.
10:33:59 Execute:Java13CommandLauncher: Executing '/bin/sh' with arguments:'-c'
'groups'

The ' characters around the executable and arguments are
not part of the command.
10:33:59 rundeck
10:34:00 Setting project property: 1453134839727.node.localhost.LocalNodeExecutor.result -> 0
10:34:00 [workflow] finishExecuteNodeStep(localhost): NodeDispatch: Succeeded
10:34:00 2: Workflow step finished, result: Dispatch successful (1 nodes)
10:34:00 [workflow] Finish step: 2,NodeDispatch
10:34:00 [workflow] Finish execution:  rundeck-workflow-node-first: [Workflow result: , Node failures: {localhost=[]}, flow control: Continue, status: succeeded]


-- 
Rilindo Foster


Alex Honor

unread,
Jan 18, 2016, 1:23:38 PM1/18/16
to rundeck...@googlegroups.com
In both cases, I see "rundeck" as the only group listed. Not sure why that would be yet.


For more options, visit https://groups.google.com/d/optout.

Rilindo Foster

unread,
Jan 18, 2016, 2:49:17 PM1/18/16
to rundeck...@googlegroups.com
Argh. Upstart bug?!


I am running Ubuntu Precise 12.04, which has upstart 1.5. Apparently that version does not allow you to apply supplemental groups to the user in upstart.

So I just booted up rundeck with the SysV init (instead of upstart) and now I see the supplemental groups for remote, local and unscript script (see below). Is this what we should see?

13:43:44 localhost [workflow] Begin execution: rundeck-workflow-node-first context: null
13:43:44 preparing for sequential execution on 1 nodes
13:43:44 Executing command on node: localhost, NodeEntryImpl{tags=[], attributes={osFamily=unix, username=rundeck, osVersion=3.13.0-74-generic, osArch=amd64, description=Rundeck server node, hostname=localhost, nodename=localhost, osName=Linux}, project='null'}
13:43:44 NodeSet: MultiNodeSelector{nodenames=[localhost]}
13:43:44 Workflow: com.dtolabs.rundeck.core.execution.workflow.StepFirstWorkflowStrategy$stepFirstWrapper@ecbced4c
13:43:44 data context:  {node={tags=, username=rundeck, os-version=3.13.0-74-generic, description=Rundeck server node, name=localhost, os-arch=amd64, hostname=localhost, os-name=Linux, os-family=unix}, job={loglevel=DEBUG, wasRetry=false, url=http://localhost:4440/project/ConnectedHealth-Operations-us-east-1/execution/follow/439, id=30937da6-0092-4e99-a297-8ae74c73615d, project=ConnectedHealth-Operations-us-east-1, username=rfoster, retryAttempt=0, user.name=rfoster, name=Test, serverUUID=null, group=Testing/Commands, execid=439, serverUrl=http://localhost:4440/}, option={}}
13:43:44 1. Local Command [workflow] Begin step: 1,NodeDispatch
13:43:44 1: Workflow step executing: StepExecutionItem{type='NodeDispatch', keepgoingOnSuccess=false, hasFailureHandler=false}
13:43:44 preparing for sequential execution on 1 nodes
13:43:44 Executing command on node: localhost, NodeEntryImpl{tags=[], attributes={osFamily=unix, username=rundeck, osVersion=3.13.0-74-generic, osArch=amd64, description=Rundeck server node, hostname=localhost, nodename=localhost, osName=Linux}, project='null'}
13:43:44 [workflow] beginExecuteNodeStep(localhost): NodeDispatch: StepExecutionItem{type='NodeDispatch', keepgoingOnSuccess=false, hasFailureHandler=false}
13:43:44 LocalExecNodeStepPlugin, running command (1): 'groups'
13:43:44 rundeck sudo staff deploy
13:43:44 [workflow] finishExecuteNodeStep(localhost): NodeDispatch: Step successful
13:43:44 1: Workflow step finished, result: Dispatch successful (1 nodes)
13:43:44 [workflow] Finish step: 1,NodeDispatch
13:43:44 2. Command [workflow] Begin step: 2,NodeDispatch
13:43:44 2: Workflow step executing: com.dtolabs.rundeck.execution.ExecutionItemFactory$4@5a93299
13:43:44 preparing for sequential execution on 1 nodes
13:43:44 Executing command on node: localhost, NodeEntryImpl{tags=[], attributes={osFamily=unix, username=rundeck, osVersion=3.13.0-74-generic, osArch=amd64, description=Rundeck server node, hostname=localhost, nodename=localhost, osName=Linux}, project='null'}
13:43:44 [workflow] beginExecuteNodeStep(localhost): NodeDispatch: com.dtolabs.rundeck.execution.ExecutionItemFactory$4@5a93299
13:43:44 Current OS is Linux
13:43:44 Adding reference: ant.PropertyHelper
13:43:44 Project base dir set to: /var/log/rundeck
13:43:44 Setting environment variable: RD_NODE_DESCRIPTION=Rundeck server node
13:43:44 Setting environment variable: RD_NODE_OS_ARCH=amd64
13:43:44 Setting environment variable: RD_JOB_NAME=Test
13:43:44 Setting environment variable: RD_JOB_WASRETRY=false
13:43:44 Setting environment variable: RD_JOB_ID=30937da6-0092-4e99-a297-8ae74c73615d
13:43:44 Setting environment variable: RD_JOB_RETRYATTEMPT=0
13:43:44 Setting environment variable: RD_JOB_EXECID=439
13:43:44 Setting environment variable: RD_NODE_HOSTNAME=localhost
13:43:44 Setting environment variable: RD_NODE_TAGS=
13:43:44 Setting environment variable: RD_JOB_SERVERURL=http://localhost:4440/
13:43:44 Setting environment variable: RD_NODE_NAME=localhost
13:43:44 Setting environment variable: RD_JOB_PROJECT=ConnectedHealth-Operations-us-east-1
13:43:44 Setting environment variable: RD_JOB_USER_NAME=rfoster
13:43:44 Setting environment variable: RD_JOB_LOGLEVEL=DEBUG
13:43:44 Setting environment variable: RD_NODE_OS_VERSION=3.13.0-74-generic
13:43:44 Setting environment variable: RD_NODE_USERNAME=rundeck
13:43:44 Setting environment variable: RD_NODE_OS_FAMILY=unix
13:43:44 Setting environment variable: RD_JOB_USERNAME=rfoster
13:43:44 Setting environment variable: RD_JOB_GROUP=Testing/Commands
13:43:44 Setting environment variable: RD_NODE_OS_NAME=Linux
13:43:44 Executing '/bin/sh' with arguments:'-c'
'groups'

The ' characters around the executable and arguments are
not part of the command.
13:43:44 Execute:Java13CommandLauncher: Executing '/bin/sh' with arguments:'-c'
'groups'

The ' characters around the executable and arguments are
not part of the command.
13:43:44 rundeck sudo staff deploy
13:43:45 Setting project property: 1453146224648.node.localhost.LocalNodeExecutor.result -> 0
13:43:45 [workflow] finishExecuteNodeStep(localhost): NodeDispatch: Succeeded
13:43:45 2: Workflow step finished, result: Dispatch successful (1 nodes)
13:43:45 [workflow] Finish step: 2,NodeDispatch
13:43:45 3. Script [workflow] Begin step: 3,NodeDispatch
13:43:45 3: Workflow step executing: com.dtolabs.rundeck.execution.ExecutionItemFactory$1@2738ddb6
13:43:45 preparing for sequential execution on 1 nodes
13:43:45 Executing command on node: localhost, NodeEntryImpl{tags=[], attributes={osFamily=unix, username=rundeck, osVersion=3.13.0-74-generic, osArch=amd64, description=Rundeck server node, hostname=localhost, nodename=localhost, osName=Linux}, project='null'}
13:43:45 [workflow] beginExecuteNodeStep(localhost): NodeDispatch: com.dtolabs.rundeck.execution.ExecutionItemFactory$1@2738ddb6
13:43:45 Current OS is Linux
13:43:45 Adding reference: ant.PropertyHelper
13:43:45 Project base dir set to: /var/log/rundeck
13:43:45 Setting environment variable: RD_JOB_URL=http://localhost:4440/project/<REDACTED>/execution/follow/439
13:43:45 Setting environment variable: RD_NODE_DESCRIPTION=Rundeck server node
13:43:45 Setting environment variable: RD_NODE_OS_ARCH=amd64
13:43:45 Setting environment variable: RD_JOB_NAME=Test
13:43:45 Setting environment variable: RD_JOB_WASRETRY=false
13:43:45 Setting environment variable: RD_JOB_ID=30937da6-0092-4e99-a297-8ae74c73615d
13:43:45 Setting environment variable: RD_JOB_RETRYATTEMPT=0
13:43:45 Setting environment variable: RD_JOB_EXECID=439
13:43:45 Setting environment variable: RD_NODE_HOSTNAME=localhost
13:43:45 Setting environment variable: RD_NODE_TAGS=
13:43:45 Setting environment variable: RD_JOB_SERVERURL=http://localhost:4440/
13:43:45 Setting environment variable: RD_NODE_NAME=localhost
13:43:45 Setting environment variable: RD_JOB_PROJECT=<REDACTED>
13:43:45 Setting environment variable: RD_JOB_USER_NAME=rfoster
13:43:45 Setting environment variable: RD_JOB_LOGLEVEL=DEBUG
13:43:45 Setting environment variable: RD_NODE_OS_VERSION=3.13.0-74-generic
13:43:45 Setting environment variable: RD_NODE_USERNAME=rundeck
13:43:45 Setting environment variable: RD_NODE_OS_FAMILY=unix
13:43:45 Setting environment variable: RD_JOB_USERNAME=rfoster
13:43:45 Setting environment variable: RD_JOB_GROUP=Testing/Commands
13:43:45 Setting environment variable: RD_NODE_OS_NAME=Linux
13:43:45 Executing '/bin/sh' with arguments:'-c'

The ' characters around the executable and arguments are
not part of the command.
13:43:45 Execute:Java13CommandLauncher: Executing '/bin/sh' with arguments:'-c'

The ' characters around the executable and arguments are
not part of the command.
13:43:45 Setting project property: 1453146225166.node.localhost.LocalNodeExecutor.result -> 0
13:43:45 Current OS is Linux
13:43:45 Adding reference: ant.PropertyHelper
13:43:45 Project base dir set to: /var/log/rundeck
13:43:45 Setting environment variable: RD_JOB_URL=http://localhost:4440/project/<REDACTED>/execution/follow/439
13:43:45 Setting environment variable: RD_NODE_DESCRIPTION=Rundeck server node
13:43:45 Setting environment variable: RD_NODE_OS_ARCH=amd64
13:43:45 Setting environment variable: RD_JOB_NAME=Test
13:43:45 Setting environment variable: RD_JOB_WASRETRY=false
13:43:45 Setting environment variable: RD_JOB_ID=30937da6-0092-4e99-a297-8ae74c73615d
13:43:45 Setting environment variable: RD_JOB_RETRYATTEMPT=0
13:43:45 Setting environment variable: RD_JOB_EXECID=439
13:43:45 Setting environment variable: RD_NODE_HOSTNAME=localhost
13:43:45 Setting environment variable: RD_NODE_TAGS=
13:43:45 Setting environment variable: RD_JOB_SERVERURL=http://localhost:4440/
13:43:45 Setting environment variable: RD_NODE_NAME=localhost
13:43:45 Setting environment variable: RD_JOB_PROJECT=ConnectedHealth-Operations-us-east-1
13:43:45 Setting environment variable: RD_JOB_USER_NAME=rfoster
13:43:45 Setting environment variable: RD_JOB_LOGLEVEL=DEBUG
13:43:45 Setting environment variable: RD_NODE_OS_VERSION=3.13.0-74-generic
13:43:45 Setting environment variable: RD_NODE_USERNAME=rundeck
13:43:45 Setting environment variable: RD_NODE_OS_FAMILY=unix
13:43:45 Setting environment variable: RD_JOB_USERNAME=rfoster
13:43:45 Setting environment variable: RD_JOB_GROUP=Testing/Commands
13:43:45 Setting environment variable: RD_NODE_OS_NAME=Linux
13:43:45 Executing '/bin/sh' with arguments:'-c'

The ' characters around the executable and arguments are
not part of the command.
13:43:45 Execute:Java13CommandLauncher: Executing '/bin/sh' with arguments:'-c'

The ' characters around the executable and arguments are
not part of the command.
13:43:45 rundeck sudo staff deploy
13:43:45 19:43:45 up 2 days, 23:50,  1 user,  load average: 0.69, 0.62, 0.59
13:43:46 Setting project property: 1453146225598.node.localhost.LocalNodeExecutor.result -> 0
13:43:46 Current OS is Linux
13:43:46 Adding reference: ant.PropertyHelper
13:43:46 Project base dir set to: /var/log/rundeck
13:43:46 Setting environment variable: RD_JOB_URL=http://localhost:4440/project/<REDACTED>/execution/follow/439
13:43:46 Setting environment variable: RD_NODE_DESCRIPTION=Rundeck server node
13:43:46 Setting environment variable: RD_NODE_OS_ARCH=amd64
13:43:46 Setting environment variable: RD_JOB_NAME=Test
13:43:46 Setting environment variable: RD_JOB_WASRETRY=false
13:43:46 Setting environment variable: RD_JOB_ID=30937da6-0092-4e99-a297-8ae74c73615d
13:43:46 Setting environment variable: RD_JOB_RETRYATTEMPT=0
13:43:46 Setting environment variable: RD_JOB_EXECID=439
13:43:46 Setting environment variable: RD_NODE_HOSTNAME=localhost
13:43:46 Setting environment variable: RD_NODE_TAGS=
13:43:46 Setting environment variable: RD_JOB_SERVERURL=http://localhost:4440/
13:43:46 Setting environment variable: RD_NODE_NAME=localhost
13:43:46 Setting environment variable: RD_JOB_PROJECT=<REDACTED>
13:43:46 Setting environment variable: RD_JOB_USER_NAME=rfoster
13:43:46 Setting environment variable: RD_JOB_LOGLEVEL=DEBUG
13:43:46 Setting environment variable: RD_NODE_OS_VERSION=3.13.0-74-generic
13:43:46 Setting environment variable: RD_NODE_USERNAME=rundeck
13:43:46 Setting environment variable: RD_NODE_OS_FAMILY=unix
13:43:46 Setting environment variable: RD_JOB_USERNAME=rfoster
13:43:46 Setting environment variable: RD_JOB_GROUP=Testing/Commands
13:43:46 Setting environment variable: RD_NODE_OS_NAME=Linux
13:43:46 Executing '/bin/sh' with arguments:'-c'

The ' characters around the executable and arguments are
not part of the command.
13:43:46 Execute:Java13CommandLauncher: Executing '/bin/sh' with arguments:'-c'

The ' characters around the executable and arguments are
not part of the command.
13:43:46 Setting project property: 1453146226034.node.localhost.LocalNodeExecutor.result -> 0
13:43:46 [workflow] finishExecuteNodeStep(localhost): NodeDispatch: Succeeded
13:43:46 3: Workflow step finished, result: Dispatch successful (1 nodes)
13:43:46 [workflow] Finish step: 3,NodeDispatch
13:43:46 [workflow] Finish execution:  rundeck-workflow-node-first: [Workflow result: , Node failures: {localhost=[]}, flow control: Continue, status: succeeded]

-- 
Rilindo Foster


Alex Honor

unread,
Jan 18, 2016, 2:50:41 PM1/18/16
to rundeck...@googlegroups.com
I'm not an upstart expert but hopefully somebody else can shed some light.


For more options, visit https://groups.google.com/d/optout.

Rilindo Foster

unread,
Jan 18, 2016, 2:59:23 PM1/18/16
to rundeck...@googlegroups.com
I was able to successfully run commands and builds now with rundeck started via the SysV init script. Yay!

From what I can tell, the problem seems to be confined to just Ubuntu Precise, since the ability to apply supplemental groups is in Upstart 1.7, which comes with Ubuntu 14.04 LTS

It looks you can work around by disabling the setuid and setgid in /etc/init/rundeckd.conf, but that would mean that rundeck will run as root; that, obviously, presents an issue for some folks. ;)

-- 
Rilindo Foster


Reply all
Reply to author
Forward
0 new messages