Điểm:0

ansible không tìm thấy vai trò được đề cập trong playbook

lá cờ uz

Tôi khá mới với Ansible nên tôi có thể định cấu hình sai
[Tôi có một bộ chứa Docker đang chạy dịch vụ Ansible trong đó
Tôi có một kho lưu trữ Ansible bao gồm các tệp Ansible (đây là kho lưu trữ .Git]

ý muốn của tôi là tự động hoàn nguyên mỗi phòng thí nghiệm trong máy chủ vCenter thành một ảnh chụp nhanh cụ thể
Vì vậy, tôi (với sự giúp đỡ của ansible-roles-explained-with-ví dụ hướng dẫn):

  • Tạo một vai trò với ansible-galaxy init tên lệnh vcenter (xem cây thư mục bên dưới)
  • Đã tạo một số tệp tác vụ vcenter bên trong nhiệm vụ thư mục (xem cây thư mục bên dưới). Đây là một ví dụ về rever.yml tập tin nhiệm vụ:
- tên: Hoàn nguyên về ảnh chụp nhanh
  vmware_guest_snapshot:
    tên máy chủ: "{{ vcenter_hostname }}"
    tên người dùng: "{{ vcenter_username }}"
    mật khẩu: "{{ vcenter_password }}"
    trung tâm dữ liệu: "{{ datacenter_name }}"
    trạng thái: hoàn nguyên
    snapshot_name: SẠCH
  ủy nhiệm_to: máy chủ cục bộ
  • Đã cung cấp thông tin đăng nhập vCenter trong vcenter\vars\main.yml tập tin, như thế này:
# tệp vars cho vcenter
vcenter_hostname: vcenter.foo.com
vcenter_username: [email protected]
vcenter_password: f#0$o#1$0o
  • Bao gồm các nhiệm vụ trong nhiệm vụ\main.yml tập tin với nhiệm vụ nhập khẩu chìa khóa, như thế này:
---
# tệp nhiệm vụ cho vai trò/vcenter
- nhập_tác vụ: poweroff.yml
- nhập_tác vụ: poweron.yml
- nhập_tác vụ: hoàn nguyên.yml
- nhập_tác vụ: shutdown.yml
  • Tạo ra một revert_lab.yml vở kịch bao gồm vai trò, như thế này
---
- tên: hoàn nguyên phòng thí nghiệm onpremis
  máy chủ: tất cả
  vai trò:
  - vcenter

Trước khi tôi thực hiện playbook để hoàn nguyên tất cả các máy trong phòng thí nghiệm, tôi đã kiểm tra một chút của cú pháp playbook:

ansible-playbook playbooks/revert_lab.yml --syntax-check

Lỗi tôi nhận được là:

[CẢNH BÁO]: Ansible đang được chạy trong một thư mục có thể ghi trên thế giới (/ansible), bỏ qua nó dưới dạng nguồn ansible.cfg. Để biết thêm thông tin xem
https://docs.ansible.com/ansible/devel/reference_appendices/config.html#cfg-in-world-writable-dir
[CẢNH BÁO KHÔNG DÙNG]: Ansible sẽ yêu cầu Python 3.8 trở lên trên bộ điều khiển bắt đầu với Ansible 2.12. Phiên bản hiện tại: 3.6.8 (mặc định, ngày 16 tháng 11 năm 2020, 16:55:22) [GCC
 4.8.5 20150623 (Mũ đỏ 4.8.5-44)]. Tính năng này sẽ bị xóa khỏi ansible-core trong phiên bản 2.12. Cảnh báo khấu hao có thể bị vô hiệu hóa bằng cách cài đặt 
deprecation_warnings=Sai trong ansible.cfg.
[CẢNH BÁO]: Không có khoảng không quảng cáo nào được phân tích cú pháp, chỉ có localhost tiềm ẩn
[CẢNH BÁO]: danh sách máy chủ được cung cấp trống, chỉ có máy chủ cục bộ. Lưu ý rằng localhost ngầm định không khớp với 'tất cả'
LỖI! không tìm thấy vai trò 'vcenter' trong /ansible/playbooks/roles:/root/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles:/ansible/playbooks

Lỗi dường như ở '/ansible/playbooks/revert_lab.yml': dòng 5, cột 5, nhưng có thể
ở nơi khác trong tệp tùy thuộc vào vấn đề cú pháp chính xác.

Dòng vi phạm dường như là:

  vai trò:
  - vcenter
    ^ ở đây

tôi quyết định thêm ansible.cfg vào kho lưu trữ của tôi với a role_path Chìa khóa:

[mặc định]
hàng tồn kho = /ansible/hàng tồn kho
role_path = /ansible/roles
# role_path = ./roles:..~/ansible/roles

Tôi chạy lại --syntax-kiểm tra lệnh nhưng gặp lỗi tương tự. Tôi đã thử các loại thống kê đường dẫn vai trò khác nhau - và gặp lỗi tương tự. Tất nhiên ansible-playbook lệnh không hoạt động (có cùng thông báo lỗi):

ansible-playbook playbooks/revert_lab.yml -i hàng tồn kho/test/onpremis/domain.com/lab_r.yml

Cho nên, Làm cách nào để ansible nhận ra vai trò của tôi?
Làm cách nào để khiến ansible chạy thành công playbook của tôi?
Ansible.cfg có liên quan hay không liên quan đến "câu chuyện"?

Kho lưu trữ của tôi:

C:.
ââââansible
â â ansible.cfg
â ââââhàng tồn kho
â â ââââkiểm tra
â â ââââđám mây
â â ââââonpremis
â â ââââdomain.com
â â â lab_j.yml
â â â lab_r.yml
â â ââââgroup_vars
â â all.yml
â ââââsách vở
â â revert_lab.yml
â ââââvai trò
â ââââvcenter
â âââânhiệm vụ
â â main.yml
â â poweroff.yml
â â poweron.yml
â â revert.yml
â â shutdown.yml
â ââââvars
â main.yml
Điểm:0
lá cờ cz

Ansible nói với bạn những gì là sai:

[CẢNH BÁO]: Ansible đang được chạy trong một thư mục có thể ghi trên thế giới (/ansible), bỏ qua nó dưới dạng nguồn ansible.cfg. Để biết thêm thông tin, hãy xem https://docs.ansible.com/ansible/devel/reference_appendices/config.html#cfg-in-world-writable-dir

Điều này có nghĩa là những thay đổi của bạn trong ansible.cfg sẽ bị bỏ qua.

Sửa các quyền trên thư mục này và thử lại.

lá cờ uz
```chmod o-w``` trên thư mục ansible

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.