【问题标题】:Kitchen converge fails with Access Denied when copying password secret复制密码时,厨房会聚失败并拒绝访问
【发布时间】: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


    【解决方案1】:

    这是一个已知的错误 (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,应该修好了。

    【讨论】:

    • 你说得对。不敢相信我错过了那个教程页面上的 cmets。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-17
    • 1970-01-01
    • 2012-01-16
    • 2017-06-24
    • 1970-01-01
    • 2019-11-06
    • 2015-01-05
    相关资源
    最近更新 更多