गैर-डिफ़ॉल्ट निर्देशिका पर काम करने के लिए ARA नहीं मिल सकता है


0

मैं डिफ़ॉल्ट स्थान पर एआरए स्थापित नहीं कर रहा हूं, न ही मेरे पास इस सर्वर पर "रूट" है। तो मैं एक "सेवा खाता" के साथ इंस्टालेशन कर रहा हूं जिसे service_acct कहा जाता है। इससे मुझे इस दूर तक पहुँचने के लिए कुछ चालें चलनी पड़ीं, जहाँ मुझे PYTHONUSERBASE को एक डायरेक्टरी में सेट करना था (ARA इस सर्वर पर पायथन का उपयोग करने वाली एकमात्र चीज़ है, इसलिए यह ठीक होनी चाहिए)।

export PYTHONUSERBASE=/dsk01/software/ara

मैंने ये शर्त लगाई:

gcc python-devel libffi-devel openssl-devel redhat-rpm-config


python get-pip.py --user
pip install --user ara

मैंने ARA को चलाने वाले सिस्टम खाते के लिए पर्यावरण चर को नीचे जोड़ा है, और उपयोगकर्ता खाता जो अन्सिबल नाटकों को चलाएगा। मैं इन मूल्यों को देख सकता हूँ जब मैं "printenv" पकड़ लेता हूँ।

ARA_DATABASE=sqlite:////dsk01/software/ara/.ara/ansible.sqlite
ARA_DIR=/dsk01/software/ara/.ara
ARA_LOG_FILE=/dsk01/software/ara/.ara/ara.log
ARA_HOST=42.34.25.77
ARA_PORT=9191
PYTHONUSERBASE=/dsk01/software/ara

यहाँ asible.cfg है

[defaults]
callback_plugins=/dsk01/software/ara/lib/python2.7/site-packages/ara/plugins/callbacks
action_plugins=/dsk01/software/ara/lib/python2.7/site-packages/ara/plugins/actions


[ara]
dir = /dsk01/software/ara/.ara
host = 42.34.25.77
port = 9191
logfile = /dsk01/software/ara/.ara/ara.log
database = sqlite:////dsk01/software/ara/.ara/ansible.sqlite
local_tmp = /dsk01/software/ara/.ansible/tmp

जब मैं एआरए वेब इंटरफ़ेस का उपयोग करता हूं, लेकिन यह कह रहा है:

एआरए डेटाबेस खाली है या आपके प्लेबुक डेटा को खोजने के लिए वेब एप्लिकेशन को ठीक से कॉन्फ़िगर नहीं किया गया है।

मैं केवल डिफ़ॉल्ट वेबसर्वर और डेटाबेस पर निर्भर हूं। इसलिए मैंने वेबसर्वर सेटिंग्स या कुछ भी sqlite DB पर कॉन्फ़िगर नहीं किया है।

जब मैं एक ऐन्सिबल-प्लेबुक चलाता हूं, तो यह मुझे त्रुटि संदेश दे रहा है:

[चेतावनी]: स्किपिंग प्लगइन (/dsk01/software/ara/lib/python2.7/site-packages/ara/plugins/callbacks/log_ara.py) जैसा लगता है अमान्य होना: हैंडलर 'ara_file' को कॉन्फ़िगर करने में असमर्थ: [Errno 13] अनुमति अस्वीकृत: '/home/service_acct/.ara/ara.log'

एआरए लिखता रहता है कि यह लॉग फाइल /home/service_acct/.ara/ara.log पर है। जब मैं वेबसर्वर को शुरू करता हूं, तो मैं लिख सकता हूं: ara-run runverver। यह कभी भी /dsk01/software/ara/.ara/ara.log पर कुछ भी नहीं लिखता है।

यह अजीब है, क्योंकि एआरए कस्टम सेटिंग्स (उदाहरण के लिए आईपी) का उपयोग कर रहा है जो मैंने सर्वर और पोर्ट के आईपी के रूप में सेट किया है। प्रारंभ तो यह उस स्थान के बजाय सेवा खाते (सेवा_सेक्ट) में लॉग फ़ाइल लिखने का प्रयास करता रहता है, जहां मैंने एआरए सेटअप किया है।

जवाबों:


0

मैं मुद्दे को हल करने में सक्षम था।

प्रलेखन और वास्तव में कोड क्या करता है के बीच एक विसंगति है। तो ऐसा लगता है कि लॉग फ़ाइल को नाम देने के लिए "ARA_LOG_FILE" का उपयोग किया जाता है, लॉग फ़ाइल का पथ नहीं बताता है।

https://github.com/openstack/ara/blob/ce18a5543bf0550be8e727dc18a6453b9c2d111a/ara/config/logger.py#L82-L84

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.