Details
-
Type:
Bug
-
Status:
Open
-
Priority:
Major
-
Resolution: Unresolved
-
Affects Version/s: 0.9.12
-
Fix Version/s: None
-
Component/s: None
-
Labels:None
Description
Start chef-run, currently run_list has A in it.
Use knife to edit the node (run_list, etc), make it has A, and B in it, save,
chef-run finishes, save the node. Now run_list becomes A again.
When chef-client saves the node, it should retrieve the current state first.
Issue Links
- is duplicated by
-
CHEF-2710
Chef-client doesn't save changes made by knife while it was running
-
Activity
Nuo Yan
made changes -
| Field | Original Value | New Value |
|---|---|---|
| Description |
Start chef-run, currently run_list has A in it. Use knife to edit the node (run_list, etc), make it has A, and B in it, save, chef-run finishes, save the node. Now run_list becomes A again. When chef-client saves the node, it should retrieve the current state first. |
Start chef-run, currently run_list has A in it. Use knife to edit the node (run_list, etc), make it has A, and B in it, save, chef-run finishes, save the node. Now run_list becomes A again. -When chef-client saves the node, it should retrieve the current state first.- |
Nuo Yan
made changes -
| Comment | [ Not suggesting solution. Wrote what on the top of my head when I created the ticket but probably wrong. ] |
Bryan McLellan [Opscode]
made changes -
Bryan McLellan [Opscode]
made changes -
| Workflow | jira [ 12496 ] | New OSS [ 17346 ] |
Bryan McLellan [Opscode]
made changes -
| Workflow | New OSS [ 17346 ] | OSS: Product Management [ 25977 ] |
| Status | In Progress [ 3 ] | Open [ 1 ] |
| Transition | Time In Source Status | Execution Times | Last Executer | Last Execution Date | |||||
|---|---|---|---|---|---|---|---|---|---|
|
785d 16h 35m | 1 | ${tran.lastUpdater} | 20/Dec/12 3:13 PM | |||||
|
16s | 1 | ${tran.lastUpdater} | 20/Dec/12 3:13 PM | |||||
|
81d 7h 27m | 1 | Bryan McLellan [Opscode] | 11/Mar/13 10:41 PM |
I'm confused how simply retrieving the current state can help here.
Recipes can modify any of the node's attributes (not just the run_list), and if chef-client just retrieves the current state without doing either a lock or a very complex merge process it will a) overwrites any intentional changes that cookbooks attempted to make, and b) only reduce the likelihood of a race condition, rather than eliminate it.