Làm cách nào để có được tên máy chủ của máy hiện tại như được định nghĩa trong tệp máy chủ Ansible?


166

Tôi đang thiết lập một Playbook Ansible để thiết lập một vài máy chủ. Có một số tác vụ mà tôi chỉ muốn chạy nếu máy chủ hiện tại là máy chủ dev cục bộ của tôi, được đặt tên là "cục bộ" trong tệp máy chủ của tôi. Tôi có thể làm cái này như thế nào? Tôi không thể tìm thấy nó ở bất cứ đâu trong tài liệu.

Tôi đã thử điều này khi tuyên bố, nhưng nó thất bại vì ansible_hostnamegiải quyết tên máy chủ được tạo khi máy được tạo, không phải tên bạn xác định trong tệp máy chủ của mình.

- name: Install this only for local dev machine
  pip: name=pyramid
  when: ansible_hostname == "local"

Câu trả lời:



2

Bạn có thể giới hạn phạm vi của một cuốn sách bằng cách thay đổi tiêu đề máy chủ trong các lần phát của nó mà không cần dựa vào nhãn máy chủ đặc biệt 'cục bộ' trong kho của bạn. Localhost không cần một dòng đặc biệt trong hàng tồn kho.

- name: run on all except local
  hosts: all:!local

hosts: !localhostcó lẽ cũng hoạt động như ví dụ như --limit '!dev'công trình
timdiels

0

Đây là một thay thế:

- name: Install this only for local dev machine
  pip: name=pyramid
  delegate_to: localhost
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.