我正在使用我不太熟悉的Ruby的Puppets Learning VM。我坚持练习5.清单和课程,任务2 https://kjhenner.gitbooks.io/puppet-quest-guide/content/quests/manifests_and_classes.html
在上一个任务中,我创建了cowsay.pp:
class cowsayings::cowsay {
package { 'cowsay':
ensure => present,
provider => 'gem',
}
}
然后在任务2中,我想在另一个位置用指令创建相同的文件:
任务2:
如果您要将此代码应用于生产基础架构,则可以使用控制台的节点分类器将需要使用cowsay安装的cowsay的任何节点与您的cowsay类进行分类。但是,在处理模块时,直接应用类很有用。按照惯例,这些测试清单保存在示例目录中。 (您有时也可以在测试目录中看到这些清单。)
要实际声明该类,请在examples目录中创建一个cowsay.pp测试。
vim cowsayings / examples / cowsay.pp 在此清单中,使用include关键字声明cowsay类。
include cowsayings::cowsay
我不知道如何创建第二个文件以及添加此行的位置。我试过了两个:
class cowsayings::coway {
include cowsayings::cowsay
package { 'cowsay':
ensure => present,
provider => 'gem',
}
}
和
class cowsayings{
include cowsayings::cowsay
}
虽然它似乎不起作用,但当我运行它时,它没有在任务3中正确安装cowsay(在我发布的链接上面
答案 0 :(得分:1)
examples目录中的清单只需要一行“include cowsayings :: cowsay”。
木偶有两个任务,“定义”类和“声明”它们。 cowsayings/manifests/cowsay.pp
包含定义,但您需要实际声明该类才能使某些事情发生。
这就是puppet apply cowsayings/examples/cowsay.pp
所做的,它宣告了这个类。