2016-11-03 13 views
7

Tôi có trách nhiệm trong playbook ansible tôi:Sự khác biệt giữa hai giá trị tùy chọn "trạng thái", "hiện tại" và "đã cài đặt", có sẵn trong mô-đun ys của Ansible?

- name: Install EPEL repo. 
    yum: 
    name: "{{ epel_repo_url }}" 
    state: present 
    register: result 
    until: '"failed" not in result' 
    retries: 5 
    delay: 10 

Một giá trị tôi có thể vượt qua tình trạng được "cài đặt". Sự khác biệt giữa hai là gì? Một số tài liệu có sẵn ở đây: http://docs.ansible.com/ansible/yum_module.html

Trả lời

3

Họ làm điều tương tự, họ có bí danh để eachother, thấy nhận xét này trong mã nguồn của module yum:

# removed==absent, installed==present, these are accepted as aliases

Và làm thế nào chúng được sử dụng trong mã:

if state in ['installed', 'present']: 
    if disable_gpg_check: 
     yum_basecmd.append('--nogpgcheck') 
    res = install(module, pkgs, repoq, yum_basecmd, conf_file, en_repos, dis_repos) 
elif state in ['removed', 'absent']: 
    res = remove(module, pkgs, repoq, yum_basecmd, conf_file, en_repos, dis_repos) 
elif state == 'latest': 
    if disable_gpg_check: 
     yum_basecmd.append('--nogpgcheck') 
    res = latest(module, pkgs, repoq, yum_basecmd, conf_file, en_repos, dis_repos) 
else: 
    # should be caught by AnsibleModule argument_spec 
    module.fail_json(msg="we should never get here unless this all" 
      " failed", changed=False, results='', errors='unexpected state') 

return res 

https://github.com/ansible/ansible-modules-core/blob/devel/packaging/os/yum.py

3

Nhà nước là 'P gửi lại 'và' Cài đặt 'được sử dụng thay thế cho nhau. Cả hai đều làm điều tương tự, tức là nó sẽ đảm bảo rằng một gói mong muốn trong trường hợp 'yum' của bạn được cài đặt.

Trong khi Nhà nước là 'Mới nhất' có nghĩa là ngoài cài đặt, nó sẽ tiếp tục và cập nhật nếu nó không phải là phiên bản mới nhất hiện có.

Bất cứ khi nào bạn đang xây dựng của bạn stack/app hoặc làm việc trên sản xuất, nó luôn luôn khuyến khích sử dụng 'hiện' hoặc 'cài đặt' nhà nước. Điều này là do cập nhật phần mềm, cho dù đó là triển khai ứng dụng của bạn hay một phiên bản phụ thuộc, nó không liên quan gì đến cấu hình máy chủ và thực sự có thể phá vỡ quá trình sản xuất của bạn.

Bạn có thể đọc và hiểu thêm về nó here.

Các vấn đề liên quan