# Chef Push jobs primer/tutorial?

**URL:** <https://discourse.chef.io/t/chef-push-jobs-primer-tutorial/6219>\
**Category:** Chef Infra (archive)\
**Created:** [January 27, 2015, 9:34pm UTC](https://discourse.chef.io/t/chef-push-jobs-primer-tutorial/6219 "2015-01-27T21:34:19Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Chris\_F](https://avatars.discourse-cdn.com/v4/letter/c/fbc32d/32.png) [@Chris\_F](https://discourse.chef.io/u/Chris_F)\
**Post date:** [January 27, 2015, 9:34pm UTC](https://discourse.chef.io/t/chef-push-jobs-primer-tutorial/6219/1 "2015-01-27T21:34:19Z")

</div>

[https://docs.chef.io/install\_push\_jobs.html](https://docs.chef.io/install_push_jobs.html)

I’m trying to use Chef push for orchestrating my node configurations, and the best information I can find is in the above link. However, it’s still lack-luster. Is there a better tutorial somewhere? (I’ve looked)

For example, what does item #3 in above link mean?

- Add the following default attributes on all nodes that are managed by Chef push jobs:  
“push\_jobs”: {  
“package\_url”: “\<package\_url\>”,  
“package\_checksum”: “”  
}

What is \<package\_url\> and , or where do I get those?

Chris

---

<div class="post-metadata">

**Author:** ![Chris\_F](https://avatars.discourse-cdn.com/v4/letter/c/fbc32d/32.png) [@Chris\_F](https://discourse.chef.io/u/Chris_F)\
**Post date:** [January 28, 2015, 8:15pm UTC](https://discourse.chef.io/t/chef-push-jobs-primer-tutorial/6219/2 "2015-01-28T20:15:49Z")

</div>

I got further along with setting up push job. Now when I try the start a push job on a node, I get this. How can I grant user “jenkins” access to this object? User “Jenkins” is not in the admins group, which is intentional.

NOTE: I can do other knife commands.

knife job start ‘chef-client’ [mynode.domain.com](http://mynode.domain.com)  
ERROR: You authenticated successfully to [https://chef-server.domain.com/organizations/arq-dev](https://chef-server.domain.com/organizations/arq-dev) as jenkins but you are not authorized for this action  
Response: User or client ‘jenkins’ does not have access to that action on this server.

From: Fouts, Chris [[mailto:Chris.Fouts@Sensus.com](mailto:Chris.Fouts@Sensus.com)]  
Sent: Tuesday, January 27, 2015 4:34 PM  
To: [chef@lists.opscode.com](mailto:chef@lists.opscode.com)  
Subject: [chef] Chef Push jobs primer/tutorial?

[https://docs.chef.io/install\_push\_jobs.html](https://docs.chef.io/install_push_jobs.html)

I’m trying to use Chef push for orchestrating my node configurations, and the best information I can find is in the above link. However, it’s still lack-luster. Is there a better tutorial somewhere? (I’ve looked)

For example, what does item #3 in above link mean?

- Add the following default attributes on all nodes that are managed by Chef push jobs:  
“push\_jobs”: {  
“package\_url”: “\<package\_url\>”,  
“package\_checksum”: “”  
}

What is \<package\_url\> and , or where do I get those?

Chris

---

<div class="post-metadata">

**Author:** ![Mark\_Anderson1](https://avatars.discourse-cdn.com/v4/letter/m/838e76/32.png) [@Mark\_Anderson1](https://discourse.chef.io/u/Mark_Anderson1)\
**Post date:** [January 29, 2015, 9:21pm UTC](https://discourse.chef.io/t/chef-push-jobs-primer-tutorial/6219/3 "2015-01-29T21:21:16Z")

</div>

Hi there.

By default we check if the user is part of the group pushy\_job\_writers, and  
if that is not present, we check if they are an admin before letting them  
run the job.

So you will need to create the special group 'pushy\_job\_writers' and add  
your jenkins user to that group to get access. To examine the state of jobs  
you will need 'pushy\_job\_readers' membership.

You can use either the manage console or the knife-acl plugin (  
[GitHub - chef-boneyard/knife-acl: knife plugin for working with ACLs on Chef Server](https://github.com/chef/knife-acl)) to create a group and add users.

On Wed, Jan 28, 2015 at 12:15 PM, Fouts, Chris [Chris.Fouts@sensus.com](mailto:Chris.Fouts@sensus.com)  
wrote:

> I got further along with setting up push job. Now when I try the start a  
> push job on a node, I get this. How can I grant user “jenkins” access to  
> this object? User “Jenkins” is not in the admins group, which is  
> intentional.
> 
> NOTE: I can do other knife commands.
> 
> knife job start 'chef-client' [mynode.domain.com](http://mynode.domain.com)
> 
> ERROR: You authenticated successfully to  
> [https://chef-server.domain.com/organizations/arq-dev](https://chef-server.domain.com/organizations/arq-dev) as jenkins but you  
> are not authorized for this action
> 
> Response: User or client 'jenkins' does not have access to that action on  
> this server.
> 
> _From:_ Fouts, Chris [[mailto:Chris.Fouts@Sensus.com](mailto:Chris.Fouts@Sensus.com)]  
> _Sent:_ Tuesday, January 27, 2015 4:34 PM  
> _To:_ [chef@lists.opscode.com](mailto:chef@lists.opscode.com)  
> _Subject:_ [chef] Chef Push jobs primer/tutorial?
> 
> [https://docs.chef.io/install\_push\_jobs.html](https://docs.chef.io/install_push_jobs.html)
> 
> I’m trying to use Chef push for orchestrating my node configurations, and  
> the best information I can find is in the above link. However, it’s still  
> lack-luster. Is there a better tutorial somewhere? (I’ve looked)
> 
> For example, what does item #3 in above link mean?
> 
> · Add the following default attributes on all nodes that are managed by  
> Chef push jobs:
> 
> "push\_jobs": {
> 
> "package\_url": "\<package\_url\>",
> 
> "package\_checksum": ""
> 
> }
> 
> What is \<package\_url\> and , or where do I get those?
> 
> Chris

--

_Mark Anderson - Community Engineering_

[mark@chef.io](mailto:mark@chef.io) [brian@opscode.com](mailto:brian@opscode.com)

---

<div class="post-metadata">

**Author:** ![Chris\_F](https://avatars.discourse-cdn.com/v4/letter/c/fbc32d/32.png) [@Chris\_F](https://discourse.chef.io/u/Chris_F)\
**Post date:** [January 29, 2015, 11:29pm UTC](https://discourse.chef.io/t/chef-push-jobs-primer-tutorial/6219/4 "2015-01-29T23:29:55Z")

</div>

Thanks!

I did include user “Jenkins” in the admin group, but liked this solution better so that is what I ended up doing. It is actually documented here [https://docs.chef.io/server\_orgs.html](https://docs.chef.io/server_orgs.html), but I wish it was also documented here [https://docs.chef.io/server\_orgs.html#push-jobs-title-groups](https://docs.chef.io/server_orgs.html#push-jobs-title-groups)

Chris

From: Mark Anderson [[mailto:mark@chef.io](mailto:mark@chef.io)]  
Sent: Thursday, January 29, 2015 4:21 PM  
To: [chef@lists.opscode.com](mailto:chef@lists.opscode.com)  
Subject: [chef] Re: RE: Chef Push jobs primer/tutorial?

Hi there.

By default we check if the user is part of the group pushy\_job\_writers, and if that is not present, we check if they are an admin before letting them run the job.

So you will need to create the special group ‘pushy\_job\_writers’ and add your jenkins user to that group to get access. To examine the state of jobs you will need ‘pushy\_job\_readers’ membership.

You can use either the manage console or the knife-acl plugin ([https://github.com/chef/knife-acl](https://github.com/chef/knife-acl)) to create a group and add users.

On Wed, Jan 28, 2015 at 12:15 PM, Fouts, Chris \<[Chris.Fouts@sensus.com](mailto:Chris.Fouts@sensus.com)[mailto:Chris.Fouts@sensus.com](mailto:Chris.Fouts@sensus.com)\> wrote:  
I got further along with setting up push job. Now when I try the start a push job on a node, I get this. How can I grant user “jenkins” access to this object? User “Jenkins” is not in the admins group, which is intentional.

NOTE: I can do other knife commands.

knife job start ‘chef-client’ [mynode.domain.com](http://mynode.domain.com)[http://mynode.domain.com](http://mynode.domain.com)  
ERROR: You authenticated successfully to [https://chef-server.domain.com/organizations/arq-dev](https://chef-server.domain.com/organizations/arq-dev) as jenkins but you are not authorized for this action  
Response: User or client ‘jenkins’ does not have access to that action on this server.

From: Fouts, Chris [[mailto:Chris.Fouts@Sensus.com](mailto:Chris.Fouts@Sensus.com)[mailto:Chris.Fouts@Sensus.com](mailto:Chris.Fouts@Sensus.com)]  
Sent: Tuesday, January 27, 2015 4:34 PM  
To: [chef@lists.opscode.com](mailto:chef@lists.opscode.com)[mailto:chef@lists.opscode.com](mailto:chef@lists.opscode.com)  
Subject: [chef] Chef Push jobs primer/tutorial?

[https://docs.chef.io/install\_push\_jobs.html](https://docs.chef.io/install_push_jobs.html)

I’m trying to use Chef push for orchestrating my node configurations, and the best information I can find is in the above link. However, it’s still lack-luster. Is there a better tutorial somewhere? (I’ve looked)

For example, what does item #3 in above link mean?

• Add the following default attributes on all nodes that are managed by Chef push jobs:  
“push\_jobs”: {  
“package\_url”: “\<package\_url\>”,  
“package\_checksum”: “”  
}

What is \<package\_url\> and , or where do I get those?

Chris

–

Mark Anderson - Community Engineering

[mark@chef.io](mailto:mark@chef.io)[mailto:brian@opscode.com](mailto:brian@opscode.com)
