Tôi đang sử dụng Vagrant để bắt đầu một số cấu hình Puppet ban đầu và bối rối về cách bao gồm / chạy nhiều bảng kê khai (ngoài trang web.pp) trong quy trình thực thi con rối mà không tạo các biểu hiện bổ sung vào các mô-đun và bao gồm chúng theo cách đó.
Trong thư mục biểu hiện con rối mà tôi trỏ Vagrant (xem bên dưới) tôi có hai bảng kê khai mà tôi muốn thực hiện: site.pp và hierasetup.pp.
config.vm.provision "puppet" do |puppet|
puppet.manifests_path = "puppet_files/manifests"
puppet.module_path = "puppet_files/modules"
puppet.manifest_file = "site.pp"
puppet.options = "--verbose --debug"
end
Hiện tại tôi đang có site.pp là bảng kê khai gọi hierasetup.pp. Trang web của tôi.pp trông như thế này:
File {
owner => 'root',
group => 'root',
mode => '0644',
}
import "hierasetup.pp"
include jboss
Nhưng tôi nhận được lỗi này về sự phản đối của "nhập khẩu":
Cảnh báo: Việc sử dụng 'nhập khẩu' không được chấp nhận tại /tmp/vagrant-puppet-1/manifests/site.pp:33. Xem http://links.puppetlabs.com/puppet-import-deprecation (tại grammar.ra: 610: in `_reduce_190 ')
Theo URL được tham chiếu trong "Những điều cần thử thay thế", nó nói " Để giữ các định nghĩa nút của bạn trong các tệp riêng biệt, hãy chỉ định một thư mục làm tệp kê khai chính của bạn ".
Hơn nữa tài liệu con rối này trên các bảng kê khai chính nói:
" Khuyến nghị: Nếu bạn đang sử dụng bảng kê khai chính thay vì dựa vào ENC, hãy cân nhắc thay đổi cài đặt bảng kê khai thành $ confdir / bảng kê khai. Điều này cho phép bạn chia mã cấp cao nhất của mình thành nhiều tệp trong khi tránh từ khóa nhập. cũng sẽ phù hợp với hành vi của những môi trường đơn giản. "
Dường như Puppet có thể tham chiếu toàn bộ thư mục thay vì chỉ một tệp kê khai cụ thể, do đó tôi mong rằng Vagrant sẽ cung cấp điều này và cho phép tôi bỏ dòng " Puppet.manifest_file =" site.pp "và trỏ đến thay vào đó, thư mục mẹ trong đó tất cả các tệp * .pp sẽ được thực thi. Tuy nhiên, việc xóa dòng đó trong Vagrant chỉ tạo ra một khiếu nại về một "default.pp" dự kiến thay cho nó:
Người cung cấp con rối: * Bản kê khai rối được cấu hình bị thiếu. Vui lòng chỉ định đường dẫn đến một bảng kê khai hiện có: /some/path/puppet_files/manifests/default.pp
Vì thế:
- Đầu tiên, tôi có hiểu cách gọi "mới" (không nhập) một cách chính xác không, trong đó một thư mục sẽ được trỏ tới trong đó tất cả các tệp * .pp bên trong nó sẽ được thực thi?
- Và thứ hai, Vagrant có "bắt kịp" với thay đổi mới này để phù hợp với việc tham chiếu các thư mục kết hợp với sự phản đối "nhập khẩu" của Puppet không?
Cập nhật: Nhờ Shane, vấn đề với # 2 (Mã của Vagrant không bị bắt để cho phép trỏ đến các thư mục bảng kê khai rối) đã được báo cáo trên trang web theo dõi vấn đề GitHub của Vagrant và đã được vá: https://github.com/mitchellh/vagrant / vấn đề / 4169