Tôi đang thêm một số vở kịch Ansible của mình vào AWX/Ansible Tower, sử dụng Azure DevOps làm repo git phía sau, nhưng sau khi chuyển đổi chúng thành một cấu trúc dựa trên vai trò hơn, tôi đã phát hiện ra rằng một số vở kịch nhất định dường như ẩn trong lựa chọn Playbook tùy chọn trong Mẫu công việc AWX. Điều này dường như phụ thuộc vào vị trí của chúng trong cấu trúc thư mục.
Vấn đề chính là tôi không thể chỉ định và thực thi bất kỳ sách giải trí nào trực tiếp từ thư mục con nhiệm vụ - ý định của tôi là sử dụng task/main.yml làm danh sách import_task tham chiếu các sách giải trí khác trong thư mục đó.
tôi đã sử dụng ansible-galaxy init vai trò
để tạo một mẫu chuẩn, tôi đã thêm nó vào repo, nhưng tôi phát hiện ra rằng sau khi tải lên và đồng bộ hóa, chỉ có tệp mẫu nằm trong tests/test.yml được hiển thị ban đầu (bao gồm bất kỳ tệp mẫu main.yml nào được tạo tự động) và bất kỳ các tệp nằm trong thư mục con nhiệm vụ không có sẵn để chọn.Khi tôi bắt đầu thêm các tệp playbook của riêng mình, những tệp này cũng không có sẵn trong AWX.
Nếu tôi cố gắng nhập đường dẫn và tên tệp theo cách thủ công, tôi sẽ gặp lỗi cho biết "Không tìm thấy Playbook cho dự án". khi tôi cố lưu dự án.
Các bước thực hiện:
Dự án đã được đồng bộ hóa với repo vô số lần.
Tôi biết rằng một số kiểm tra cú pháp được AWX thực hiện trên các tệp YML, nhưng tôi đã kiểm tra bằng cách sử dụng mẫu cơ bản sau và nếu tôi tạo tệp YMl thử nghiệm trong thư mục gốc hoặc tests/, defaults/ hoặc handlers/ AWX có thể nhìn thấy nó, vì vậy điều này sẽ loại bỏ nội dung tập tin. Tuy nhiên, nếu tôi đặt nó trong các tác vụ hoặc một thư mục con được đặt tên ngẫu nhiên khác (ví dụ: vai trò, blahblahtest) thì nó không được AWX chọn.
- tên: Alma Linux VM Post Deployment Tasks
máy chủ: tất cả
trở thành: vâng
- Tôi cũng đã kiểm tra quyền của tệp ở cấp độ dòng lệnh và không có sự bất thường nào.
Có vẻ như có một số loại hạn chế truy cập vào các thư mục nhất định.
Dưới đây là tóm tắt đầy đủ về cấu trúc thư mục cho biết tệp nào hiển thị để AWX lựa chọn. Tất cả các tệp được đánh dấu là VISIBLE hoặc INVISIBLE đều có cùng nội dung và bất kỳ tệp nào khác ngoài mẫu Jinja đều có cú pháp YML/Ansible hợp lệ nhưng AWX cũng không nhìn thấy.
root@dcbutlawx03:/awx/projects/_126__common_alma_linux# cây
.
âââ mặc định
â âââ main.yml (HIVIBLE)
âââ xử lý
â âââ main.yml (HIVIBLE)
âââ main.yml (VISIBLE)
âââ meta
â âââ main.yml
âââ README.md
âââ nhiệm vụ
â âââ dca-alma-ad.yml
â âââ install-graylog-agent.yml
â âââ cài đặt-zabbix-agent.yml
â âââ main.yml (VÔ HÌNH - CÙNG NỘI DUNG!)
â âââ playbook.yml
â âââ post-vmdeploy-t task.yml
â âââ testtest.yml (VÔ HÌNH - CÙNG NỘI DUNG!)
â âââ test.yml (VÔ HÌNH - CÙNG NỘI DUNG!)
âââ mẫu
â  âââ alma-ad
â âââ krb5.conf.j2
â âââ smb.conf.j2
â âââ sshd_config.j2
â âââ sssd.conf.j2
â âââ zts_sudoers.j2
âââ kiểm tra
â  âââ hàng tồn kho
â âââ playbook.yml (HIVIBLE)
â âââ test.yml (HÌNH THẤY)
âââ vars
âââ dca-alma-ad
â âââ dca-vars.yml
âââ main.yml
âââ tf-alma-ad
âââ tf-vars.yml
Máy chủ AWX thuộc về nơi làm việc của tôi, nhưng có vẻ như họ sẽ không ngẫu nhiên áp đặt các hạn chế theo phong cách riêng như thế này, nếu điều đó thậm chí có thể thực hiện được. Người đã xây dựng máy chủ và viết hầu hết các sách giải trí hiện có không còn làm việc cho công ty, do đó, có lỗ hổng kiến thức trong lĩnh vực này giữa các nhân viên hiện tại.
Về mặt kỹ thuật, tôi có thể sử dụng tệp main.yml hoặc tệp tương tự từ thư mục gốc, nhưng tôi tin rằng điều này trái với nguyên tắc và tôi sẽ sớm tìm cách tạo một repo chính dựa trên sản phẩm chứa nhiều vai trò chia sẻ các biến nhóm chung, v.v., vì vậy điều này sẽ chỉ là một sửa chữa ngắn hạn.
Tôi đã tìm các tệp nhật ký trên máy chủ để thử tham chiếu chéo lỗi trên, nhưng không có thư mục nào sau đây tồn tại, có vẻ như đó là nơi chúng thường nằm.
/var/log/tháp/
/var/log/giám sát viên/
Có ai có bất kỳ ý tưởng nào về vấn đề có thể là gì không, hoặc tôi có thể đi đâu tiếp theo về các bước khắc phục sự cố?
Cảm ơn trước.