I remember seeing how to do this somewhere along time ago, but I can’t find the original reference. I have been looking, and I see several references that strongly imply these should work, or something similar like making the object name plural (roles_path)
I have tried several permutations, including statements like knife[:role_path] = …, but nothing seems to work.
I remember seeing how to do this somewhere along time ago, but I can’t find
the original reference. I have been looking, and I see several references
that strongly imply these should work, or something similar like making the
object name plural (roles_path)
I have tried several permutations, including statements like
knife[:role_path] = …, but nothing seems to work.
Is it possible What is the correct format?
Thanks in advance.
--
Stephen Corbesero, DevOps Engineer
Synchronoss - Mobile Innovation for a Connected World
According to my understanding of that code, it looks like it should be trying to set the default "top" to be the directory above the cookbooks path. I have two issues with that.
The cookbook path is usually an array, not a simple string. I even made my cookbook path just a string, and it still failed.
When I try to depend on a path for the other objects, I get an error message like the following:
% knife environment from file dev.json
ERROR: Could not find or open file 'dev.json' in current directory or in 'environments/dev.json'
Which is implying that path it is using for the lookup is just "environments/" and not anything that I have set, or anything that knows about the top of the chef-repo
--
Stephen Corbesero, DevOps Engineer
-----Original Message-----
From: AJ Christensen [mailto:aj@junglistheavy.industries]
Sent: Wednesday, January 07, 2015 3:23 PM
To: chef@lists.opscode.com
Subject: [chef] Re: How do I set a path for roles, environments, and data bags in my knife.rb?
I remember seeing how to do this somewhere along time ago, but I can’t
find the original reference. I have been looking, and I see several
references that strongly imply these should work, or something similar
like making the object name plural (roles_path)
I have tried several permutations, including statements like
knife[:role_path] = …, but nothing seems to work.
Is it possible What is the correct format?
Thanks in advance.
--
Stephen Corbesero, DevOps Engineer
Synchronoss - Mobile Innovation for a Connected World
cookbook_path is indeed an array of strings or a string. when
chef_repo_path is set, it is inferred to be chef_repo_path/cookbooks. otherwise it defaults to
[chef_repo_path/cookbooks, chef_repo_path/site-cookbooks]
$ knife upload environments/dev.json
'environment from file' takes a path to a file to upload. I used to
use it with shell loops:
$ for i in environments/*.json ; do knife environment from file $i ; done
I think chef_repo_path is what you are after. With that set correctly,
environments inferred default will be correct, e.g.
CHEF_REPO_PATH/environments.
According to my understanding of that code, it looks like it should be trying to set the default "top" to be the directory above the cookbooks path. I have two issues with that.
The cookbook path is usually an array, not a simple string. I even made my cookbook path just a string, and it still failed.
When I try to depend on a path for the other objects, I get an error message like the following:
% knife environment from file dev.json
ERROR: Could not find or open file 'dev.json' in current directory or in 'environments/dev.json'
Which is implying that path it is using for the lookup is just "environments/" and not anything that I have set, or anything that knows about the top of the chef-repo
--
Stephen Corbesero, DevOps Engineer
-----Original Message-----
From: AJ Christensen [mailto:aj@junglistheavy.industries]
Sent: Wednesday, January 07, 2015 3:23 PM
To: chef@lists.opscode.com
Subject: [chef] Re: How do I set a path for roles, environments, and data bags in my knife.rb?
I remember seeing how to do this somewhere along time ago, but I can’t
find the original reference. I have been looking, and I see several
references that strongly imply these should work, or something similar
like making the object name plural (roles_path)
I have tried several permutations, including statements like
knife[:role_path] = …, but nothing seems to work.
Is it possible What is the correct format?
Thanks in advance.
--
Stephen Corbesero, DevOps Engineer
Synchronoss - Mobile Innovation for a Connected World
where current_dir is expected to be the directory of my knife.rb, which is in .chef under the chef-repo.
--
Stephen Corbesero, DevOps Engineer
-----Original Message-----
From: AJ Christensen [mailto:aj@junglistheavy.industries]
Sent: Wednesday, January 07, 2015 3:48 PM
To: chef@lists.opscode.com
Subject: [chef] Re: RE: Re: How do I set a path for roles, environments, and data bags in my knife.rb?
cookbook_path is indeed an array of strings or a string. when
chef_repo_path is set, it is inferred to be chef_repo_path/cookbooks. otherwise it defaults to
[chef_repo_path/cookbooks, chef_repo_path/site-cookbooks]
$ knife upload environments/dev.json
'environment from file' takes a path to a file to upload. I used to
use it with shell loops:
$ for i in environments/*.json ; do knife environment from file $i ; done
I think chef_repo_path is what you are after. With that set correctly,
environments inferred default will be correct, e.g.
CHEF_REPO_PATH/environments.
According to my understanding of that code, it looks like it should be trying to set the default "top" to be the directory above the cookbooks path. I have two issues with that.
The cookbook path is usually an array, not a simple string. I even made my cookbook path just a string, and it still failed.
When I try to depend on a path for the other objects, I get an error message like the following:
% knife environment from file dev.json
ERROR: Could not find or open file 'dev.json' in current directory or in 'environments/dev.json'
Which is implying that path it is using for the lookup is just "environments/" and not anything that I have set, or anything that knows about the top of the chef-repo
--
Stephen Corbesero, DevOps Engineer
-----Original Message-----
From: AJ Christensen [mailto:aj@junglistheavy.industries]
Sent: Wednesday, January 07, 2015 3:23 PM
To: chef@lists.opscode.com
Subject: [chef] Re: How do I set a path for roles, environments, and data bags in my knife.rb?
I remember seeing how to do this somewhere along time ago, but I can’t
find the original reference. I have been looking, and I see several
references that strongly imply these should work, or something similar
like making the object name plural (roles_path)
I have tried several permutations, including statements like
knife[:role_path] = …, but nothing seems to work.
Is it possible What is the correct format?
Thanks in advance.
--
Stephen Corbesero, DevOps Engineer
Synchronoss - Mobile Innovation for a Connected World
where current_dir is expected to be the directory of my knife.rb, which is in .chef under the chef-repo.
--
Stephen Corbesero, DevOps Engineer
-----Original Message-----
From: AJ Christensen [mailto:aj@junglistheavy.industries]
Sent: Wednesday, January 07, 2015 3:48 PM
To: chef@lists.opscode.com
Subject: [chef] Re: RE: Re: How do I set a path for roles, environments, and data bags in my knife.rb?
cookbook_path is indeed an array of strings or a string. when
chef_repo_path is set, it is inferred to be chef_repo_path/cookbooks. otherwise it defaults to
[chef_repo_path/cookbooks, chef_repo_path/site-cookbooks]
$ knife upload environments/dev.json
'environment from file' takes a path to a file to upload. I used to
use it with shell loops:
$ for i in environments/*.json ; do knife environment from file $i ; done
According to my understanding of that code, it looks like it should be trying to set the default "top" to be the directory above the cookbooks path. I have two issues with that.
The cookbook path is usually an array, not a simple string. I even made my cookbook path just a string, and it still failed.
When I try to depend on a path for the other objects, I get an error message like the following:
% knife environment from file dev.json
ERROR: Could not find or open file 'dev.json' in current directory or in 'environments/dev.json'
Which is implying that path it is using for the lookup is just "environments/" and not anything that I have set, or anything that knows about the top of the chef-repo
--
Stephen Corbesero, DevOps Engineer
-----Original Message-----
From: AJ Christensen [mailto:aj@junglistheavy.industries]
Sent: Wednesday, January 07, 2015 3:23 PM
To: chef@lists.opscode.com
Subject: [chef] Re: How do I set a path for roles, environments, and data bags in my knife.rb?
I remember seeing how to do this somewhere along time ago, but I can’t
find the original reference. I have been looking, and I see several
references that strongly imply these should work, or something similar
like making the object name plural (roles_path)
I have tried several permutations, including statements like
knife[:role_path] = …, but nothing seems to work.
Is it possible What is the correct format?
Thanks in advance.
--
Stephen Corbesero, DevOps Engineer
Synchronoss - Mobile Innovation for a Connected World
-----Original Message-----
From: AJ Christensen [mailto:aj@junglistheavy.industries]
Sent: Wednesday, January 07, 2015 4:08 PM
To: chef@lists.opscode.com
Subject: [chef] Re: RE: Re: RE: Re: How do I set a path for roles, environments, and data bags in my knife.rb?
Use Ruby's File#expand_path or similar to build the chef_repo_path by expanding it. I doubt it understands the '..'.
You can use something like File.dirname(__FILE__) inside of knife.rb to get the directory enclosing it, then join/expand from there.
where current_dir is expected to be the directory of my knife.rb, which is in .chef under the chef-repo.
--
Stephen Corbesero, DevOps Engineer
-----Original Message-----
From: AJ Christensen [mailto:aj@junglistheavy.industries]
Sent: Wednesday, January 07, 2015 3:48 PM
To: chef@lists.opscode.com
Subject: [chef] Re: RE: Re: How do I set a path for roles, environments, and data bags in my knife.rb?
cookbook_path is indeed an array of strings or a string. when
chef_repo_path is set, it is inferred to be chef_repo_path/cookbooks. otherwise it defaults to
[chef_repo_path/cookbooks, chef_repo_path/site-cookbooks]
$ knife upload environments/dev.json
'environment from file' takes a path to a file to upload. I used to
use it with shell loops:
$ for i in environments/*.json ; do knife environment from file $i ;
done
According to my understanding of that code, it looks like it should be trying to set the default "top" to be the directory above the cookbooks path. I have two issues with that.
The cookbook path is usually an array, not a simple string. I even made my cookbook path just a string, and it still failed.
When I try to depend on a path for the other objects, I get an error message like the following:
% knife environment from file dev.json
ERROR: Could not find or open file 'dev.json' in current directory or in 'environments/dev.json'
Which is implying that path it is using for the lookup is just
"environments/" and not anything that I have set, or anything that
knows about the top of the chef-repo
--
Stephen Corbesero, DevOps Engineer
-----Original Message-----
From: AJ Christensen [mailto:aj@junglistheavy.industries]
Sent: Wednesday, January 07, 2015 3:23 PM
To: chef@lists.opscode.com
Subject: [chef] Re: How do I set a path for roles, environments, and data bags in my knife.rb?
I remember seeing how to do this somewhere along time ago, but I
can’t find the original reference. I have been looking, and I see
several references that strongly imply these should work, or
something similar like making the object name plural (roles_path)
I have tried several permutations, including statements like
knife[:role_path] = …, but nothing seems to work.
Is it possible What is the correct format?
Thanks in advance.
--
Stephen Corbesero, DevOps Engineer
Synchronoss - Mobile Innovation for a Connected World
-----Original Message-----
From: AJ Christensen [mailto:aj@junglistheavy.industries]
Sent: Wednesday, January 07, 2015 4:08 PM
To: chef@lists.opscode.com
Subject: [chef] Re: RE: Re: RE: Re: How do I set a path for roles, environments, and data bags in my knife.rb?
Use Ruby's File#expand_path or similar to build the chef_repo_path by expanding it. I doubt it understands the '..'.
You can use something like File.dirname(__FILE__) inside of knife.rb to get the directory enclosing it, then join/expand from there.
where current_dir is expected to be the directory of my knife.rb, which is in .chef under the chef-repo.
--
Stephen Corbesero, DevOps Engineer
-----Original Message-----
From: AJ Christensen [mailto:aj@junglistheavy.industries]
Sent: Wednesday, January 07, 2015 3:48 PM
To: chef@lists.opscode.com
Subject: [chef] Re: RE: Re: How do I set a path for roles, environments, and data bags in my knife.rb?
cookbook_path is indeed an array of strings or a string. when
chef_repo_path is set, it is inferred to be chef_repo_path/cookbooks. otherwise it defaults to
[chef_repo_path/cookbooks, chef_repo_path/site-cookbooks]
$ knife upload environments/dev.json
'environment from file' takes a path to a file to upload. I used to
use it with shell loops:
$ for i in environments/*.json ; do knife environment from file $i ;
done
According to my understanding of that code, it looks like it should be trying to set the default "top" to be the directory above the cookbooks path. I have two issues with that.
The cookbook path is usually an array, not a simple string. I even made my cookbook path just a string, and it still failed.
When I try to depend on a path for the other objects, I get an error message like the following:
% knife environment from file dev.json
ERROR: Could not find or open file 'dev.json' in current directory or in 'environments/dev.json'
Which is implying that path it is using for the lookup is just
"environments/" and not anything that I have set, or anything that
knows about the top of the chef-repo
--
Stephen Corbesero, DevOps Engineer
-----Original Message-----
From: AJ Christensen [mailto:aj@junglistheavy.industries]
Sent: Wednesday, January 07, 2015 3:23 PM
To: chef@lists.opscode.com
Subject: [chef] Re: How do I set a path for roles, environments, and data bags in my knife.rb?
I remember seeing how to do this somewhere along time ago, but I
can’t find the original reference. I have been looking, and I see
several references that strongly imply these should work, or
something similar like making the object name plural (roles_path)
I have tried several permutations, including statements like
knife[:role_path] = …, but nothing seems to work.
Is it possible What is the correct format?
Thanks in advance.
--
Stephen Corbesero, DevOps Engineer
Synchronoss - Mobile Innovation for a Connected World
I have done a little more digging, and here is what I have concluded.
Short answer: knife can't do what I want.
Long answers..
The chef_repo_path seems to only be relevant to the upload and download subcommands
The role_path directive was only recognized by spork. It was not a standard knife feature.
--
Stephen Corbesero, DevOps Engineer
-----Original Message-----
From: AJ Christensen [mailto:aj@junglistheavy.industries]
Sent: Friday, January 09, 2015 3:04 PM
To: chef@lists.opscode.com
Subject: [chef] Re: RE: Re: RE: Re: RE: Re: How do I set a path for roles, environments, and data bags in my knife.rb?
-----Original Message-----
From: AJ Christensen [mailto:aj@junglistheavy.industries]
Sent: Wednesday, January 07, 2015 4:08 PM
To: chef@lists.opscode.com
Subject: [chef] Re: RE: Re: RE: Re: How do I set a path for roles, environments, and data bags in my knife.rb?
Use Ruby's File#expand_path or similar to build the chef_repo_path by expanding it. I doubt it understands the '..'.
You can use something like File.dirname(__FILE__) inside of knife.rb to get the directory enclosing it, then join/expand from there.
where current_dir is expected to be the directory of my knife.rb, which is in .chef under the chef-repo.
--
Stephen Corbesero, DevOps Engineer
-----Original Message-----
From: AJ Christensen [mailto:aj@junglistheavy.industries]
Sent: Wednesday, January 07, 2015 3:48 PM
To: chef@lists.opscode.com
Subject: [chef] Re: RE: Re: How do I set a path for roles, environments, and data bags in my knife.rb?
cookbook_path is indeed an array of strings or a string. when
chef_repo_path is set, it is inferred to be chef_repo_path/cookbooks. otherwise it defaults to
[chef_repo_path/cookbooks, chef_repo_path/site-cookbooks]
$ knife upload environments/dev.json
'environment from file' takes a path to a file to upload. I used to
use it with shell loops:
$ for i in environments/*.json ; do knife environment from file $i ;
done
According to my understanding of that code, it looks like it should be trying to set the default "top" to be the directory above the cookbooks path. I have two issues with that.
The cookbook path is usually an array, not a simple string. I even made my cookbook path just a string, and it still failed.
When I try to depend on a path for the other objects, I get an error message like the following:
% knife environment from file dev.json
ERROR: Could not find or open file 'dev.json' in current directory or in 'environments/dev.json'
Which is implying that path it is using for the lookup is just
"environments/" and not anything that I have set, or anything that
knows about the top of the chef-repo
--
Stephen Corbesero, DevOps Engineer
-----Original Message-----
From: AJ Christensen [mailto:aj@junglistheavy.industries]
Sent: Wednesday, January 07, 2015 3:23 PM
To: chef@lists.opscode.com
Subject: [chef] Re: How do I set a path for roles, environments, and data bags in my knife.rb?
I remember seeing how to do this somewhere along time ago, but I
can’t find the original reference. I have been looking, and I see
several references that strongly imply these should work, or
something similar like making the object name plural (roles_path)
I have tried several permutations, including statements like
knife[:role_path] = …, but nothing seems to work.
Is it possible What is the correct format?
Thanks in advance.
--
Stephen Corbesero, DevOps Engineer
Synchronoss - Mobile Innovation for a Connected World