Happy

हैप्पी नकली नेटवर्क टोपोलॉजी के हल्के ऑर्केस्ट्रेशन के लिए एक उपकरण है। IoT डिवाइस हार्डवेयर का उपयोग किए बिना एकल Linux विकास मशीन पर नेटवर्क प्रोटोकॉल और अन्य वितरित निष्पादन कार्यक्रमों का परीक्षण करने के लिए इसका उपयोग करें।

यह क्या है?

हैप्पी जटिल नेटवर्क टोपोलॉजी का अनुकरण करता है। एक लिनक्स मशीन पर, हैप्पी नेटवर्क स्टैक के साथ कई नोड्स बना सकता है जो एक दूसरे से स्वतंत्र होते हैं। कुछ नोड्स सिम्युलेटेड थ्रेड नेटवर्क से जुड़े हो सकते हैं, अन्य सिम्युलेटेड वाई-फाई, WAN (इंटरनेट), या सेलुलर नेटवर्क से कनेक्ट हो सकते हैं।

हैप्पी निम्नलिखित उपयोग के मामलों को संबोधित करता है:

  • हार्डवेयर का उपयोग किए बिना एकल लिनक्स विकास मशीन पर नेटवर्क प्रोटोकॉल और अन्य वितरित निष्पादन कार्यक्रमों का परीक्षण करना
  • पूरे नेटवर्क में स्वचालित कार्यात्मक परीक्षण करना
  • परीक्षण थ्रूपुट में सुधार के लिए एक ही सिस्टम पर कई समवर्ती, समानांतर नेटवर्क चलाना

हैप्पी न्यूनतम उपयोगकर्ता ओवरहेड के साथ नेटवर्क टोपोलॉजी एब्स्ट्रैक्शन बनाकर इन समस्याओं को हल करता है। एकल शेल कमांड कॉल के साथ जटिल टोपोलॉजीज बनाई जा सकती हैं। हैप्पी इंटरैक्टिव उपयोग और स्वचालित स्क्रिप्टिंग दोनों का समर्थन करता है।

विकास के दौरान उनके कोड को सेट करने, परीक्षण करने और डीबग करने के लिए हैप्पी शेल कमांड का उपयोग करें। उसी नेटवर्किंग कॉन्फ़िगरेशन और परीक्षण कार्यक्रमों को तब स्क्रिप्ट किया जा सकता है और स्वचालित परीक्षण में उपयोग किया जा सकता है।

शुरू हो जाओ

हैप्पी के साथ आरंभ करने का सबसे तेज़ और आसान तरीका कोडलैब का अध्ययन करना है। यह उपयोगकर्ता को सभी हैप्पी फंडामेंटल के माध्यम से चलता है, जिसमें शामिल हैं:

  • टोपोलॉजी बनाना और हटाना
  • नेटवर्किंग नोड्स एक साथ
  • टोपोलॉजी को सहेजना और पुनर्स्थापित करना
  • टोपोलॉजी को इंटरनेट से जोड़ना
  • बुनियादी बुनें

हैप्पी कोडलैब के साथ शुरुआत करने का प्रयास करें

देखें सेटअप और प्रयोग की स्थापना और मुबारक का उपयोग कर के बारे में अधिक जानकारी के लिए।

आर्किटेक्चर

खुश मॉडल निम्नलिखित:

  • नोड - एक लिनक्स नेटवर्क नाम स्थान। एक निर्दिष्ट नेटवर्क नेमस्पेस के भीतर नोड वाली प्रक्रियाएं चलती हैं।
  • लिंक - एक लिनक्स नेटवर्क इंटरफेस। मुबारक का उपयोग करता veth L3 (आईपी) इंटरफेस और समर्थन करने के लिए नेटवर्क डिवाइस tap नेटवर्क डिवाइस एल 2 बॉक्स से बाहर इंटरफेस का समर्थन करने के लिए।
  • नेटवर्क - एक ईथरनेट उनके भीतर चल रहा पुल के साथ लिनक्स नेटवर्क नामस्थान।

कार्यान्वयन

हैप्पी पायथन मॉड्यूल का एक संग्रह है। कोर हैप्पी मॉड्यूल इसके लिए सार प्रदान करते हैं:

  • नोड एब्स्ट्रैक्शन का प्रबंधन
    • नोड्स जोड़ना, संशोधित करना और हटाना
    • नोड के भीतर प्रक्रियाओं का एक सेट चलाना
  • लिंक प्रबंधित करना
    • लिंक जोड़ना, संशोधित करना और हटाना
    • एक नोड और एक नेटवर्क के लिए लिंक असाइन करना
    • पता असाइनमेंट असाइन करना और संशोधित करना
  • नेटवर्क का प्रबंधन
    • नेटवर्क बनाना, संशोधित करना और नष्ट करना
    • नेटवर्क कनेक्टिविटी
  • एक समेकित फैशन में ढांचे की समग्र स्थिति का प्रबंधन

हैप्पी मॉड्यूल द्वारा लागू किए गए अधिकांश एब्स्ट्रक्शन लिनक्स नेटवर्क टूल्स को लागू करने वाले कमांड में मैप करते हैं।

मुबारक भी में पाया प्लगइन्स का एक सेट होता /plugins । प्लग-इन किसी विशेष तकनीक से संबंधित कार्यक्षमता का एक सेट लपेटते हैं। उदाहरण के लिए, /plugins/weave सहायकों को शामिल कि हैप्पी भीतर निष्पादन के लिए रैप विभिन्न Weave अनुप्रयोगों।

क्रियान्वयन

उपयोगकर्ता दो तरीकों से नकली टोपोलॉजी बना सकते हैं:

  • शैल कमांड - सभी आदेशों में हैं /bin
  • पायथन स्क्रिप्ट - अपनी खुद की पायथन लिपियों में हैप्पी कमांड को कॉल करने के लिए हैप्पी मॉड्यूल आयात करें। मॉड्यूल में हैं /happy

अपने खुद के अजगर स्क्रिप्ट में मुबारक मॉड्यूल का उपयोग कर के बारे में अधिक जानकारी के लिए, अजगर पटकथा