Điểm:0

Thực thi một nhiệm vụ từ một máy chủ trong một vai trò và ủy thác nhiệm vụ khác cho một máy chủ khác trong vai trò khác

lá cờ ph
azk


Bối cảnh:

Tôi có một dự án với hai vai trò.
Tôi đã giảm số lượng nhiệm vụ thành những nhiệm vụ có vấn đề để hiểu rõ hơn.


Vấn đề:
Tôi chạy một tác vụ từ vai trò 1 trong server1 và cố gắng ủy quyền tác vụ cho trình ảo hóa vmware từ điều kiện trong tác vụ vai trò server1 đầu tiên. Và có 1 host fail vì muốn thực hiện task role thứ 2 (Vmware) trong server1.


Lỗi:

gây tử vong: [máy chủ thử nghiệm]: KHÔNG THÀNH CÔNG! => {"reason": "tuyên bố hành động mâu thuẫn: máy chủ, 
thu thập_facts\n\nCó vẻ như có lỗi trong '/home/ancible/proyects/extend_fs-role/roles/vmwaretaks/tasks/addvmwaredisk.yml': dòng 2, cột 3, 
nhưng có thể\nở đâu đó trong tệp tùy thuộc vào vấn đề tntax.\n\nDòng vi phạm có vẻ là:\n\n---\n- hosts: localhost\n ^ here\n"}


Đây là cấu trúc:

.
âââ bộ sưu tập
â âââ tests.yml
âââ README.md
âââ resizefs_hosts.yml
âââ vai trò
    âââ thay đổi kích thước
    â  âââ mặc định
    â  â  âââ main.yml
    â  âââ xử lý
    â  â  âââ main.yml
    â âââ meta
    â  â  âââ main.yml
    â  âââ nhiệm vụ
    â  â  âââ main.yml
    â  â âââ findfreedisk.yml
    â  âââ kiểm tra
    â  â  âââ hàng tồn kho
    â â  âââ test.yml
    â  âââ vars
    â âââ main.yml
    âââ vmwaretaks
        âââ mặc định
        â âââ main.yml
        âââ tập tin
        âââ xử lý
        â âââ main.yml
        âââ meta
        â âââ main.yml
        âââ README.md
     Â Â âââ nhiệm vụ
      â  âââ main.yml
       â  âââ addvmwaredisk.yml
        âââ mẫu
        âââ kiểm tra
        â  âââ hàng tồn kho
        â âââ test.yml
        âââ vars
            âââ main.yml


Đây là thứ tự thực hiện trong trường hợp không tìm thấy free lun trong host:

resizefs_role_hosts.yml -> role/resizefs/tasks/main.yml -> role/resizefs/tasks/findfreedisk.yml -> \
vai trò/vmwaretaks/tác vụ/main.yml -> vai trò/vmwaretaks/task/addvmwaredisk.yml


Đây là những gì playbooks trông giống như:

$ con mèo resizefs_role_hosts.yml
---
- máy chủ: máy chủ thử nghiệm
  trở thành: vâng
  trở thành_method: sudo
  vai trò:
    - vai trò: 'vai trò/thay đổi kích thước'
$ vai trò con mèo/thay đổi kích thước/tác vụ/main.yml
---
# tệp tác vụ cho create_fs-test
- nhập_tác vụ: findfreedisk.yml
$ vai trò con mèo/thay đổi kích thước/tác vụ/findfreedisk.yml

- tên: Tìm đĩa không có phân vùng
  set_fact:
    đĩa: "/dev/{{outer_item.key}}"
  khi nào:
    - không phải outside_item.value.partitions
    - không phải outside_item.value.links.ids
    - outside_item.key là tìm kiếm ("sd")
  with_dict: '{{ansible_devices}}'
  loop_control:
    loop_var: outside_item
  thông báo:
    - Định dạng_free_disk
  đã thay đổi_khi: đúng

- name: In tên đĩa nếu có
  gỡ lỗi:
    tin nhắn:
      - "{{ disks|default('KHÔNG PHẢI ĐĨA MIỄN PHÍ') }} Có sẵn"

# Nếu không có đĩa add lun mới từ Vmware
- bao gồm_vai trò:
    Tên: vmwaretaks
  khi nào: đĩa không được xác định
$ vai trò mèo/vmwaretaks/tác vụ/main.yml
---
# tệp nhiệm vụ cho add-new-vmware-lun
- nhập_tác vụ: addvmwaredisk.yml
$ vai trò mèo/vmwaretaks/tác vụ/addvmwaredisk.yml

---
- máy chủ: localhost
  thu thập_sự thật: đúng

  lọ:
    vcenter_hostname: 'vcenter.labo.local'
    vcenter_username: 'labo.local\ansible'
    vcenter_password: "{{ vault_pass }}"
    target_host: 'TESTHOST'
    vm_uuid: '4217B33E-014D-E056-0719-45AD3AC1861E'
    vm_unit_number: '5'

  nhiệm vụ:
    - tên: Thêm đĩa vào máy ảo bằng UUID
      vmware_guest_disk:
        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: "{{ vcenter_hostname }}"
        uuid: "{{ vm_uuid | hạ }}"
        xác thực_certs: không
        đĩa:
          - kích thước_gb: 10
            gõ: 'dày'
            trạng thái: 'hiện tại'
            autoselect_datastore: có
            scsi_controller: '0'
            scsi_type: 'ảo'
            số_đơn_vị: '5'
            disk_mode: 'độc lập_kiên trì'
      ủy nhiệm_to: máy chủ cục bộ

Tôi đã cố gắng tìm cách nói với nó rằng vai trò thứ hai không được thực thi trong máy chủ mà trong trình ảo hóa vmware nhưng không gặp may.
Nếu tôi chạy addvmwaredisk.yml dưới dạng playbook thì nó sẽ chạy hoàn hảo

Hy vọng bạn có thể giúp đỡ!

cảm ơn trước!

Điểm:1
lá cờ th

máy chủnhiệm vụ là các từ khóa chơi, chúng không thể được sử dụng trong danh sách nhiệm vụ. Để thực hiện các tác vụ trên một máy chủ khác với máy chủ phát hiện tại, hãy sử dụng phái đoàn; để nhóm các nhiệm vụ liên quan lại với nhau và áp dụng các chỉ thị cho tất cả chúng, hãy sử dụng một chặn.

- ủy nhiệm_to: máy chủ cục bộ
  lọ:
    vcenter_hostname: 'vcenter.labo.local'
    vcenter_username: 'labo.local\ansible'
    vcenter_password: "{{ vault_pass }}"
    target_host: 'TESTHOST'
    vm_uuid: '4217B33E-014D-E056-0719-45AD3AC1861E'
    vm_unit_number: '5'
  chặn:
    - tên: Thêm đĩa vào máy ảo bằng UUID
      vmware_guest_disk:
        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: "{{ vcenter_hostname }}"
        uuid: "{{ vm_uuid | hạ }}"
        xác thực_certs: không
        đĩa:
          - kích thước_gb: 10
            gõ: 'dày'
            trạng thái: 'hiện tại'
            autoselect_datastore: có
            scsi_controller: '0'
            scsi_type: 'ảo'
            số_đơn_vị: '5'
            disk_mode: 'độc lập_kiên trì'
azk avatar
lá cờ ph
azk
Tôi đã cố gắng triển khai giải pháp của bạn nhưng nó báo lỗi: `LỖI! không có mô-đun/hành động nào được phát hiện trong tác vụ. Lỗi dường như nằm trong '/ansible/proyects/extend_fs-role/roles/vmwaretaks/tasks/getvmdiskinfo.yml': dòng 1, cột 3, 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à: - ủy nhiệm_to: máy chủ cục bộ ^ đây` Tìm kiếm mô-đun: `$ ansible-doc -l|grep -i đại biểu zfs_delegate_admin Quản lý quản trị được ủy quyền của ZFS (đặc quyền quản trị viên của người dùng)`
azk avatar
lá cờ ph
azk
$ ansible-playbook --version ansible-playbook 2.9.19
flowerysong avatar
lá cờ th
Điều này ngụ ý rằng bạn gặp vấn đề về cú pháp không có trong đoạn mã mà tôi đã cung cấp (đoạn mã này có một hành động trong tất cả các tác vụ của nó.) Nếu không thấy mã được cập nhật của bạn, chúng tôi không có cách nào để cho bạn biết bạn đã làm sai điều gì.
Điểm:0
lá cờ ph
azk

tốt, gần đây tôi đã giải quyết nó chỉ cần thêm trở thành: không

- ủy nhiệm_to: máy chủ cục bộ
  trở thành: không
  delegate_facts: có

Đă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.