Vagrant có thể trỏ đến một thư mục của các biểu hiện rối để thực hiện không?


9

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ế:

  1. Đầ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?
  2. 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

Câu trả lời:


6

Đầ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âng, bạn làm. Xem tại đây :

Nếu bạn đang sử dụng bảng kê khai chính thay vì dựa vào ENC, hãy xem xét 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.

Hơn nữa, manifestmodulepathcũng đang bị phản đối có lợi cho môi trường thư mục và hành vi thư mục tệp kê khai, xem tại đây :

Bây giờ môi trường thư mục đã hoàn thành, môi trường tệp cấu hình không được dùng nữa. Việc xác định các khối môi trường trong Puppet.conf sẽ gây ra cảnh báo không dùng nữa, cũng như bất kỳ việc sử dụng các cài đặt modulepath, tệp kê khai và config_version trong Puppet.conf.

Đây là một thay đổi khá lớn đối với rất nhiều triển khai, nhưng sẽ là một cải tiến tốt trong dài hạn.


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?

Không, nó không có; từ tài liệu của họ:

manifest_file (chuỗi) - Tên của tệp kê khai sẽ đóng vai trò là điểm khởi đầu cho việc chạy rối. Tệp kê khai này dự kiến ​​sẽ tồn tại trong tệp kê khai được định cấu hình

Để sử dụng với Vagrant, hiện tại bạn đang bị mắc kẹt với việc xử lý các cảnh báo khấu hao, điều này thật đáng tiếc. Nhưng, nhập khẩu không được dự kiến ​​loại bỏ cho đến 4.x, vì vậy điều này mang lại cho Vagrant một thời gian để bắt kịp.


Chà, thật tốt khi biết rằng tôi sẽ không phát điên vì tôi đã cố gắng tìm ra thỏa thuận này trong hơn một giờ. Các nhà phát triển Vagrant có nhận thức được sự cần thiết của tính năng đó không, hoặc nếu không có nơi nào để đề xuất các bổ sung như vậy?
SeligkeitIstInGott

Có vẻ như nó chưa được hỏi về họ - xem tại đây . Đặt một vấn đề trong đó để làm cho nó phù hợp hơn với con rối hiện đại (hoặc tôi sẽ làm điều đó nếu bạn không có tài khoản github)!
Shane Madden

Tôi nghĩ tất cả đồng nghiệp phát triển của tôi đều có tài khoản github, nhưng nếu tôi có tài khoản, tôi thậm chí không biết đăng nhập của mình sẽ là gì. Tôi không có nhu cầu vì tôi là IT và không phải là lập trình viên. Bạn có phiền khi làm điều đó không?
SeligkeitIstInGott

1
@SeligkeitIstInGott Chắc chắn, tôi sẽ nhận được một cái gì đó nộp!
Shane Madden

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.