2010-12-13 33 views
24

Tôi đang sử dụng con rối để định cấu hình máy chủ. Tôi muốn in tên máy (nút) hiện tại trong mẫu * .erb. Có tên máy chủ biến, nhưng điều này giữ tên máy chủ puppetmaster. Có bất kỳ tài liệu tham khảo/danh sách tốt nào liên quan đến chủ đề này không?nút máy chủ tên rối

Trả lời

28

Có vẻ như tôi đã bỏ lỡ một nơi nào đó. Tôi có thể lấy (in) nút-hostname đơn giản bằng cách gọi đoạn mã sau vào * mẫu .erb:

<%= @hostname %> 

Chỉnh sửa: Tính đến Múa rối 3, sử dụng các biến địa phương (tức hostname bị phản đối; Múa rối 4 sẽ loại bỏ hỗ trợ cho họ . hoàn toàn cách đề nghị là sử dụng các biến dụ (bắt đầu bằng @ Vì vậy, trong trường hợp này, @hostnameSource

+0

ah chính xác, tôi thật sự rất bối rối, bởi vì trong trường hợp của tôi cho "FQDN" tôi nhận được đầy đủ tên máy (như "myhost.acnemcom"), trong khi đối với "hostname" Tôi nhận được phiên bản ngắn (phiên bản được trả về bởi tên máy chủ lưu trữ-s), như "myhost". Trong mọi trường hợp tôi không nhận được máy chủ puppetmaster. – PierluigiVernetto

23

Bước vào lệnh sau vào thiết bị đầu cuối của bạn sẽ trở lại các biến có sẵn trong file eRB của bạn:..

facter --puppet 
+1

Tuyệt vời! Điều đó giúp ích rất nhiều. –

+1

Có! Đây là một phần kiến ​​thức hữu ích. – JCotton

+1

Câu trả lời này cho thấy rằng tôi không muốn 'tên máy chủ' nhưng 'fqdn' thay vì tạo thành ứng dụng của tôi. –

6

Có cho tất cả những điều trên; bạn cũng có thể tìm thấy biến số fqdn hữu ích, tùy thuộc vào những gì bạn đang làm.

Nếu bạn thấy mình cần thông tin của máy chủ con rối trong mẫu, bạn có thể sử dụng các biến servername, serveripserverversion (From the FAQ).

2

Lưu ý rằng, đây là tên máy chủ thay vì tên nút (mà bạn đã yêu cầu ban đầu). Trong 99% trường hợp, chúng sẽ giống nhau. AFAIK không có cách nào để lấy tên nút thực trong các mẫu (và nếu có, tôi rất muốn nghe nó).

4

Rõ ràng bây giờ bạn có thể sử dụng

<%= fqdn %> 

và nhận được DNS đảo ngược tên.

Nếu bạn cần thành chữ thường nó, sử dụng

<%= fqdn.downcase %> 
Các vấn đề liên quan