हम नमक द्वारा प्रबंधित हमारे minions पर कई पायथन वर्चुअल वातावरण चलाते हैं।साल्टस्टैक: एसएलएस फाइलों के डेटा के लिए गुण (गणना मूल्य)?
प्रणाली के नाम पर इस स्कीमा द्वारा का निर्माण होता है:
project_customer_stage
उदाहरण:
supercms_favoritcustomer_p
स्तंभ डेटा:
systems:
- customer: favoritcustomer
project: supercms
stage: p
- customer: favoritcustomer
project: supercms
stage: q
हर virtualenv के लिए हमारे पास एक linux उपयोगकर्ता । अब तक हम इस तरह "घर" जैसे मानों की गणना करते हैं:
{% for system in pillar.systems %}
{% set system_name = system.project + '_' + system.customer + '_' + system.stage %}
{% set system_home = '/home/' + system_name %}
...
लेकिन यह अनावश्यक है।
हम कॉपी + पेस्टिंग {% set system_home = ...%}
से कैसे बच सकते हैं?
मैं जिस तरह से वस्तु उन्मुख प्रोग्रामिंग की तरह कर रहा हूँ काम करता है:
- आप
- किसी विशेष परिस्थिति में एक अलग घर में निर्देशिका की जरूरत है, तो आप उपवर्ग सकता है घर निर्देशिका के लिए एक संपत्ति निर्धारित कर सकते हैं बेस क्लास और बेस क्लास काम करने के तरीके को ओवरराइट करें।
नमक में आपके पास वाईएएमएल और टेम्पलेटिंग है ... दोनों अच्छी चीजें हैं। लेकिन मेरे मामले में ओओपी अच्छा होगा।
मैं आपसे सहमत हूं: "ये जिनजा-भारी एसएलएस फाइलें पढ़ने के लिए थोड़ा मुश्किल हो जाती हैं"। मुझे लगता है कि मैं एक अजगर रेंडरर का उपयोग करूंगा। धन्यवाद। – guettli