शुभ दिन। हसीब पर एक से अधिक बार उल्लेख किया गया था, लेकिन मैंने अणु का उपयोग करते हुए उनकी भूमिकाओं के परीक्षण पर लेख नहीं खोजे, हालांकि मुझे यह ढाँचा बेहद सुविधाजनक लगता है और मैं इसे हबर के दर्शकों के साथ साझा करना चाहूंगा।
लेकिन पहले, मैंने पहले जो इस्तेमाल किया था उसके बारे में थोड़ा।
इससे पहले, मेरे द्वारा बनाई गई अनजानी भूमिकाओं का परीक्षण करने के लिए, मैंने योनि का उपयोग किया, सीधी ड्राइविंग:
$ vagrant init debian/jessie64 $ vagrant up
आभासी मशीनें बनाना, जिसके बाद मैंने भूमिका शुरू करने के लिए इन्वेंट्री और प्लेबुक लिखी, एक दिन तक मुझे अणु का पता चल गया।
अणु क्या दे सकता है?
- प्रारंभिक भूमिका आरंभीकरण
- ड्राइवर / प्रदाता
- बेरोजगारी परीक्षण
- सत्यापन
प्रारंभिक भूमिका आरंभीकरण
यदि एक नई भूमिका निर्दिष्ट की जाती है, तो ansible भूमिका के लिए एक नमूना संरचना बनाता है
ड्राइवर / प्रदाता
अणु हमें डोगर कंटेनर या वर्चुअल मशीन को गिनी पिग के रूप में वैग्रैंट का उपयोग करने की अनुमति देता है, यह निर्धारित किया जाता है कि ड्राइवर को आरंभीकरण के दौरान निर्दिष्ट किया जाता है, या अणु में। क्योंकि अगर मुझे ऑर्केस्ट्रेटिंग कंटेनरों की भूमिकाओं का परीक्षण करना है, तो वैग्रैंट मेरे लिए पसंदीदा ड्राइवर है। एक ड्राइवर के रूप में वैग्रंट को चुनना भी आपको एक प्रदाता का चयन करने की अनुमति देता है।
निम्नलिखित उपलब्ध हैं:
- libvirt
- समानताएं
- वर्चुअलबॉक्स (डिफ़ॉल्ट)
- VMware संलयन
अगला, हम एक प्रदाता के रूप में वर्चुअलबॉक्स के साथ वैरिएंट के एक संस्करण पर विचार करेंगे।
बेरोजगारी परीक्षण
विकी के अनुसार:
किसी ऑब्जेक्ट या ऑपरेशन की संपत्ति जब ऑब्जेक्ट को ऑपरेशन को फिर से लागू करती है, तो यह उसी तरह का परिणाम देता है जब यह एकल होता है।
भूमिका निभाने के संबंध में, जब भूमिका को फिर से शुरू किया जाता है, तो कोई बदलाव नहीं किया जाना चाहिए।
सत्यापन
यह सुनिश्चित करने के लिए कि भूमिका ठीक से काम करती है, किसी भी कार्य को विफल नहीं करना पर्याप्त नहीं है। आखिरकार, आपको यह जांचने की आवश्यकता है कि सेवाएं शुरू हो गई हैं, पोर्ट खुले हैं, आदि।
सत्यापन के लिए निम्नलिखित रूपरेखाएँ उपलब्ध हैं:
- गॉस
- Serverspec
- टेस्टिनफ्रा (डिफ़ॉल्ट)
मुझे गॉस और टेस्टिनफ्रा द्वारा परीक्षण किया गया है। अपने लिए, मैंने टेस्टिनफ्रा को चुना।
उपयोग उदाहरण:
$ molecule init --role sample-role
इस आदेश को क्रियान्वित करने के बाद, हमें एक विशिष्ट भूमिका भूमिका संरचना और आवश्यक यमल फ़ाइलों के साथ एक नमूना-भूमिका निर्देशिका मिलती है:
defaults handlers meta molecule.yml // - molecule playbook.yml // README.md tasks tests // vars
आप --role स्विच को निर्दिष्ट किए बिना शुरू कर सकते हैं, इस मामले में वर्तमान निर्देशिका में अणु.आईएमएल और प्लेबुक.आईएमएल फाइलें बनाई जाएंगी।
ऐसा होता है कि आपको यह सुनिश्चित करने की आवश्यकता है कि भूमिका इस मामले में कई वितरणों पर काम करती है, अणु.कीर्ति में, यह आवारा बक्सों के नाम निर्दिष्ट करने के लायक है (प्लेटफार्मों में):
vagrant: platforms: - name: jessie64 box: debian/jessie64 - name: centos7 box: centos/7
अगला, आवश्यक क्रिया / चर आदि जोड़ें। भूमिका में, जिसके बाद हम सभी विशिष्ट प्लेटफार्मों पर परीक्षण करते हैं:
$ molecule test --platform all
इस अणु के बाद:
- यदि पहले से ही वर्चुअल मशीनें बनाई गई हैं, तो यह उन्हें रोक देगा और हटा देगा
- आवश्यक आभासी मशीनों को बढ़ाएगा
- हमारी भूमिका को टेस्ट-लिंट के साथ परखें
- नव निर्मित कंटेनरों में हमारी भूमिका को पूरा करें
- आलस्य के लिए परीक्षण करेंगे
- टेस्टिनफ्रा टेस्ट चलाएं
- बनाई गई वर्चुअल मशीनों को हटा देगा
जब आप परीक्षण चलाते हैं, तो आपको अणु के व्यवहार को बदलने की आवश्यकता हो सकती है, उदाहरण के लिए, आलस्य के लिए परीक्षण न करें, इसके लिए, अणु में निम्नलिखित जोड़ें।
molecule: test: sequence: - destroy - syntax - create - converge - verify - destroy
आप उपयुक्त आदेश का उपयोग करके प्रत्येक संगत कदम को अलग से भी कह सकते हैं, उदाहरण के लिए:
$ molecule create --platform all $ molecule syntax $ molecule create $ molecule converge $ molecule verify
एक विकल्प के रूप में, प्रत्येक अभिसरण से पहले एक नई वर्चुअल मशीन को हटाएं / न बनाएं।
आप एक विशिष्ट प्लेटफ़ॉर्म निर्दिष्ट कर सकते हैं और इसे अलग से परीक्षण कर सकते हैं:
$ molecule create --platform jessie64 $ molecule syntax $ molecule create $ molecule converge $ molecule verify
आपका ध्यान के लिए धन्यवाद!