- From: Adam Jacob <
>
- To:
- Subject: [chef] Re: Help - Creating a "First Run Only" Resource
- Date: Mon, 7 Nov 2011 14:00:38 -0800
It should look like this. Let's say you have a cookbook called "partition"
and a recipe called "default.rb".
# partition/attributes/default.rb
node.default[:partitioned] = false
# partition/recipes/default.rb
if node[:partitioned] == false
… put all your recipe stuff that you want to run one time right here …
node.normal[:partitioned] = true
node.save
end
That will ensure that, if there has been no error in partitioning, you won't
ever try again.
Adam
---
Opscode, Inc.
Adam Jacob, Chief Product Officer
T: (206) 619-7151 E:
On Nov 7, 2011, at 12:15 PM, Van Fossan,Randy wrote:
>
I was thinking that parts of this code needed to be a resource provider
>
under cookbookname/provider..
>
>
-----Original Message-----
>
From: Maxim Kulkin
>
[mailto:
>
>
Sent: Monday, November 07, 2011 3:12 PM
>
To:
>
>
Subject: [chef] Re: Help - Creating a "First Run Only" Resource
>
>
What do you mean by "resource" ? You can just put this text into your
>
recipe and that's it.
>
>
On Nov 7, 2011, at 23:44, Van Fossan,Randy wrote:
>
>
> In the examples, are they to go into a resource or a recipe? I just
>
> don't have enough to build on..
>
>
>
> Example from Chef Wiki------
>
> execute "some_command" do
>
> command "command to run once"
>
> notifies :create, "ruby_block[some_command_run_flag]", :immediately
>
> not_if { node.attribute?("some_command_complete") } end
>
>
>
> ruby_block "some_command_run_flag" do
>
> block do
>
> node.set['some_command_complete'] = true node.save end action :nothing
>
>
> end
>
> ---------------
>
>
>
>
>
> -----Original Message-----
>
> From: Maxim Kulkin
>
> [mailto:
>
> Sent: Monday, November 07, 2011 2:37 PM
>
> To:
>
>
>
> Subject: [chef] Re: Help - Creating a "First Run Only" Resource
>
>
>
> What exactly you do not understand ? First boot recipe uses attribute
>
> on node to signal if it was already executed on that node.
>
>
>
> On Nov 7, 2011, at 21:47, Van Fossan,Randy wrote:
>
>
>
>> I am still learning to write cookbooks and need to Create a "First
>
>> Run
>
> Only" Resource. I am looking at the Wiki Creating a "First Run Only"
>
> Resource
>
>> (http://wiki.opscode.com/pages/viewpage.action?pageId=15728818) and
>
>> am
>
> having some difficulties interpreting the example. Does anyone have a
>
>
> cookbook with a complete example?
>
>>
>
>> Basically, I have a recipe (config_disk.rb) that needs to do the
>
> following only once.
>
>>
>
>> ------Begin snippet ---
>
>> bash "Configure_Disk" do
>
>> user "root"
>
>> cwd "/tmp"
>
>> code <<-EOH
>
>> #### Partition sda (Name and Data node) /sbin/fdisk /dev/sda << EOF n
>
>
>> p
>
>>
>
>>
>
>> w
>
>> EOF
>
>> /sbin/partprobe /dev/sda
>
>> #######Partition sdb (Name and Data node) /sbin/fdisk /dev/sdb << EOF
>
>
>> n p
>
>> 1
>
>>
>
>>
>
>> w
>
>> EOF
>
>> EOH
>
>> end
>
>> ----End of snippet-----
>
>>
>
>> Thanks
>
>> Randy
>
>> OCLC Inc.
>
>
>
>
>
>
>
>
>
Archive powered by MHonArc 2.6.16.