复制密码机密时,Kitchen 收敛失败并拒绝访问
Kitchen converge fails with Access Denied when copying password secret
我已经 运行 完成了基本的厨师教程,并设置了 WinServer2012 虚拟机,并使用 vagrant 成功地部署了我的厨房和基本的很棒的客户食谱。
但是,我在尝试为 sql 启用安全性时遇到了障碍。我已经按照教程创建了一个加密的 sql 密码文件以及 encrypted_data_bag_secret。当 运行 kitchen 收敛时,我进入 'Transferring files to 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"
我在具有权限的虚拟机中看不到任何问题,'C:\Users\vagrant\AppData\Local\Temp\kitchen' 存在并且流浪用户可以访问。它似乎与我 运行 的食谱无关,因为我可以将它们全部删除并仍然遇到相同的问题。我使用相同设置的同事遇到了同样的问题。
有没有人对可能发生的事情有任何想法或指示?我在 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']
这是一个已知错误 (https://learn.chef.io/manage-a-web-app/windows/configure-sql-server/)
将您的测试厨房更新到最新版本:
$ chef gem install appbundle-updater
$ appbundle-updater chefdk test-kitchen v1.7.3
再Converge一下,应该修好了
我已经 运行 完成了基本的厨师教程,并设置了 WinServer2012 虚拟机,并使用 vagrant 成功地部署了我的厨房和基本的很棒的客户食谱。
但是,我在尝试为 sql 启用安全性时遇到了障碍。我已经按照教程创建了一个加密的 sql 密码文件以及 encrypted_data_bag_secret。当 运行 kitchen 收敛时,我进入 'Transferring files to 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"
我在具有权限的虚拟机中看不到任何问题,'C:\Users\vagrant\AppData\Local\Temp\kitchen' 存在并且流浪用户可以访问。它似乎与我 运行 的食谱无关,因为我可以将它们全部删除并仍然遇到相同的问题。我使用相同设置的同事遇到了同样的问题。
有没有人对可能发生的事情有任何想法或指示?我在 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']
这是一个已知错误 (https://learn.chef.io/manage-a-web-app/windows/configure-sql-server/)
将您的测试厨房更新到最新版本:
$ chef gem install appbundle-updater
$ appbundle-updater chefdk test-kitchen v1.7.3
再Converge一下,应该修好了