Chef infra 使用Chef remote_目录用空格编码子目录

Chef infra 使用Chef remote_目录用空格编码子目录,chef-infra,aws-opsworks,Chef Infra,Aws Opsworks,我有一本使用Test Kitchen和vagrant运行良好的食谱,但在AWS OpsWorks上,它在使用remote_目录从我的食谱中的文件复制目录结构时出错,因为它正在加载服务器并通过URL访问文件。我是厨师新手,所以不确定我应该如何处理这种情况。在这种情况下,我可以在没有空格的情况下重命名所有内容,但在其他情况下这是不可能的 URI::InvalidURIError -------------------- cookbook_file[/var/lib/jenkins/jobs/aws

我有一本使用Test Kitchen和vagrant运行良好的食谱,但在AWS OpsWorks上,它在使用remote_目录从我的食谱中的文件复制目录结构时出错,因为它正在加载服务器并通过URL访问文件。我是厨师新手,所以不确定我应该如何处理这种情况。在这种情况下,我可以在没有空格的情况下重命名所有内容,但在其他情况下这是不可能的

URI::InvalidURIError
--------------------
cookbook_file[/var/lib/jenkins/jobs/aws configuration info/config.xml] (dynamically defined) had an error: URI::InvalidURIError: bad URI(is not URI?): http://127.0.0.1:8889/file_store/repo/cookbooks/bb-jenkins-master/files/default/jenkins/jobs/aws configuration info/config.xml

Resource Declaration:
---------------------
# In /var/lib/aws/opsworks/cache.stage2/cookbooks/jenkins-master/recipes/default.rb

28: remote_directory '/var/lib/jenkins/jobs' do
29:   source      'jenkins/jobs'
30:   owner       'jenkins'
31:   group       'jenkins'
32:   mode        '0755'
33:   files_owner 'jenkins'
34:   files_group 'jenkins'
35:   files_mode  '0644'
36: end 

已关闭,因为您必须自己使用URI转义序列(例如,空格为%20)对类似的内容进行编码。但是,除了自己使用ruby迭代目录而不使用remote_目录之外,我还没有找到一个明确的方法来实现这一点。

我认为这意味着在您的食谱中的files/default/jenkins/jobs/name子目录aws%20configuration%20info下。但是我不确定最终的目录是什么。哎呀,我刚刚发现了,所以我应该在我的测试厨房里使用它。@Tensibai,是的,这会导致奇怪的目录名,我希望这只是一个配方配置问题,而不是资源结构问题。