【发布时间】:2016-04-07 14:36:29
【问题描述】:
我一直在学习基本的厨师教程,并设置了一个 WinServer2012 虚拟机,并使用 vagrant 成功地部署了我的厨房,其中包含基本的很棒的客户食谱。
但是,在尝试为 sql 启用安全性时,我遇到了障碍。我已经按照教程创建了一个加密的 sql 密码文件以及 encrypted_data_bag_secret。运行厨房融合时,我进入“将文件传输到 MACHINE_NAME”阶段,然后出现此访问被拒绝错误
>>>>>> ------Exception-------
>>>>>> Class: Kitchen::ActionFailed
>>>>>> Message: Failed to complete #converge action: [[WinRM::FS::Core::FileTransporter] Upload failed (exitcode: 1)
sc : Access to the path 'C:\Users\vagrant\AppData\Local\Temp\kitchen' is
denied.
At line:2 char:66
+ function Decode-Base64File($src, $dst) {folder (split-path $dst);sc -force
-Enco ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~
+ CategoryInfo : NotSpecified: (:) [Set-Content], UnauthorizedAcc
essException
+ FullyQualifiedErrorId : System.UnauthorizedAccessException,Microsoft.Pow
erShell.Commands.SetContentCommand
]
>>>>>> ----------------------
>>>>>> Please see .kitchen/logs/kitchen.log for more details
>>>>>> Also try running `kitchen diagnose --all` for configuration
我已将问题追溯到 .kitchen.yml 文件中的这一行:
provisioner:
encrypted_data_bag_secret_key_path: "../../.chef/encrypted_data_bag_secret"
我在具有权限的 vm 中看不到任何问题,'C:\Users\vagrant\AppData\Local\Temp\kitchen' 存在并且可供 vagrant 用户访问。它似乎与我正在运行的食谱无关,因为我可以将它们全部删除,但仍然遇到同样的问题。我的同事使用相同的设置也有同样的问题。
有人对可能发生的事情有任何想法或指示吗?我在 Windows 7 上,使用 VirtualBox 和 vagrant。我的 Kitchen.yml 文件如下(虽然与教程几乎相同)
---
driver:
name: vagrant
network:
- ["private_network", {ip: "192.168.35.35"}]
provisioner:
name: chef_zero_scheduled_task
platforms:
- name: windows-2012r2
driver:
customize:
memory: 2048
suites:
- name: default
data_bags_path: "../../data_bags"
run_list:
- recipe[mock_emr::default]
provisioner:
encrypted_data_bag_secret_key_path: "../../.chef/encrypted_data_bag_secret"
attributes:
mock_emr:
secret_file: 'C:/Users/vagrant/AppData/Local/Temp/kitchen/encrypted_data_bag_secret'
sql_server:
sysadmins: ['Administrator', 'vagrant']
【问题讨论】:
标签: windows-7 vagrant chef-infra virtualbox test-kitchen