Berkshelf:挂起只获取特定的食谱

Berkshelf: hanging fetching only a specific cookbook

我正在使用 Chef 为 ELK 堆栈创建自定义食谱。

我在 Chef 超市找到了一本 ELK stack 食谱,我正尝试使用 Berkshelf 将其作为依赖项下载。

我的 Berksfile 包含:

source 'https://supermarket.chef.io'

metadata

cookbook 'elkstack', '~> 6.0.4'

metadata.rb

name             'myelkstack'
maintainer       'YOUR_COMPANY_NAME'
maintainer_email 'YOUR_EMAIL'
license          'All rights reserved'
description      'Installs/Configures cmselkstack'
long_description  IO.read(File.join(File.dirname(__FILE__), 'README.md'))
version          '0.1.0'
depends          'elkstack'

我打算在本地 运行 这本食谱,所以我使用 berks vendor 而不是 berks install。当我 运行 berks vendor 我希望下载依赖项时,它挂起:

$ berks vendor /home/pviana/berks 
Resolving cookbook dependencies...
Fetching 'cmselk' from source at .
Fetching cookbook index from https://supermarket.chef.io...

但是,如果我 运行 knife cookbook site download elkstack,它可以完美运行并下载 v6.0.4。此外,如果我将食谱从 elkstack 更改为另一本食谱(以及适当的版本),则该命令有效并且所有依赖项都已下载。

我可能遗漏了什么吗?

谢谢。

我试图构建的食谱非常复杂 (elkstack),需要用户在 运行 berks vendor 之前手动编辑 Berksfile。除非仔细解决依赖关系,否则默认情况下会出现这种挂起行为。