SaltStack: เรียกสถานะไฟล์ sls หนึ่งสถานะ


12

ฉันไม่สามารถเรียกไฟล์สถานะ sls เดียวได้

ไฟล์ sls ทั้งหมดทำงาน

งานนี้:

salt-ssh w123 state.sls monitoring

งานนี้:

salt-ssh w123 state.show_sls monitoring

หนึ่งรายการของเอาต์พุตด้านบน:

monitoring_packages:
    ----------
    __env__:
        base
    __sls__:
        monitoring.packages
    pkg:
        |_
          ----------
          pkgs:
              - python-psutil
        - installed
        |_
          ----------
          order:
              10000

สิ่งที่ฉันพยายาม

ตอนนี้ฉันต้องการโทรเท่านั้นmonitoring_packagesไม่ใช่ไฟล์ sls ทั้งหมด:

ล้มเหลว:

salt:/srv # salt-ssh w123 state.sls_id monitoring_packages  monitoring
w123:
    Data failed to compile:
----------
    No matching sls found for 'monitoring' in env 'base'

ล้มเหลว:

salt:/srv # salt-ssh w123 state.single monitoring.monitoring_packages
w123:
    TypeError encountered executing state.single: single() takes at least 2 arguments (1 given)

คำถาม

จะเรียกสถานะเดี่ยวของฉันได้monitoring_packagesอย่างไร

รุ่น

salt:/srv # salt-ssh --version
salt-ssh 2015.8.3 (Beryllium)

คำตอบ:


11

ฉันเจอโพสต์นี้ในขณะที่พยายามหาวิธีทำด้วยการเรียกเกลือทั่วไป(เช่นไม่ใช่เกลือ -shsh )

หากคุณมีไฟล์ SLS ต่อไปนี้ (foo.sls):

bar:
   file.managed:
       - source: salt://some/file

คุณสามารถรันคำสั่งต่อไปนี้เพื่อรันรายการนั้นในไฟล์สถานะ:

salt '*' state.sls_id bar foo

และอีกครั้งฉันก็ไม่รู้เรื่องนี้เหมือนกัน ผมพบคำตอบในความคิดเห็นในการอภิปรายกลุ่ม Googleซึ่งชี้ไปที่การกระทำที่นี่



0
salt '*target*' state.sls  monitoring.<sls_file_name> <task name> -l debug

ตัวอย่าง: สมมติว่าฉันมีสถานะสำหรับ elasticserach ด้วยไฟล์ sls ชื่อ settings.sls และภายในไฟล์นั้นสมมติว่าฉันมีงาน restart_elastic_search ตอนนี้ฉันต้องการเรียกภารกิจนี้โดยเฉพาะ

salt '*elastic*' state.sls  elasticsearch.settings restart_elastic_search -l debug
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.