kitchen-dokken
kitchen-dokken copied to clipboard
Permission denied error when passing dokken provisioner nodes_path for fixture node data
This is either a missing feature or a bug on my specific platform.
The relevant config works under kitchen-docker
with the chef_zero
provisioner, so if it's a missing feature it should either be added or documented as missing.
In my .kitchen.dokken.yml
, I want to specify:
provisioner:
nodes_path: 'test/fixtures/nodes'
in order to load a fixture node object.
Under dokken
as the driver and provisioner, I get this error:
-----> Converging <client-setup-ubuntu-1604>...
Creating kitchen sandbox in /home/sirosen/.dokken/kitchen_sandbox/e8f3b31dec-client-setup-ubuntu-1604
Preparing dna.json
Resolving cookbook dependencies with Berkshelf 5.6.4...
Removing non-cookbook files before transfer
Preparing nodes
>>>>>> ------Exception-------
>>>>>> Class: Kitchen::ActionFailed
>>>>>> Message: 1 actions failed.
>>>>>> Failed to complete #converge action: [Permission denied @ rb_sysopen - /home/sirosen/.dokken/kitchen_sandbox/e8f3b31dec-client-setup-ubuntu-1604/nodes/testnode.json] on client-setup-ubuntu-1604
>>>>>> ----------------------
>>>>>> Please see .kitchen/logs/kitchen.log for more details
>>>>>> Also try running `kitchen diagnose --all` for configuration
If I take a look at that directory, I can see that, indeed, permissions are not friendly:
$ ls -ld /home/sirosen/.dokken/kitchen_sandbox/e8f3b31dec-client-setup-ubuntu-1604/nodes
drwx------ 2 root root 4096 Sep 24 21:15 /home/sirosen/.dokken/kitchen_sandbox/e8f3b31dec-client-setup-ubuntu-1604/nodes
I can manually sudo chown sirosen:sirosen
that dir, and then it works to kitchen test
.
This all works under kitchen-docker
just fine.
I'm running Debian 9 (stretch), with docker installed and configured to allow sudo-less access.
Today this is working fine, though I haven't updated my version of dokken, chefdk, or anything else that I'd imagine to be relevant.
If nobody else is seeing this, perhaps this should be closed as a CNR.
I actually had this issue too. I had to go manually change the permissions.