Happy, simüle edilmiş ağ topolojilerinin hafif orkestrasyonu için bir araçtır. IoT cihaz donanımını kullanmadan tek bir Linux geliştirme makinesinde ağ protokollerini ve diğer dağıtılmış yürütme programlarını test etmek için kullanın.
Bu ne?
Happy, karmaşık ağ topolojilerini simüle eder. Happy, tek bir Linux makinesinde birbirinden bağımsız ağ yığınlarıyla birden çok düğüm oluşturabilir. Bazı düğümler simüle edilmiş Thread ağlarına, diğerleri simüle edilmiş Wi-Fi, WAN (İnternet) veya hücresel ağlara bağlanabilir.
Happy, aşağıdaki kullanım durumlarını ele alır:
- Donanım kullanmadan tek bir Linux geliştirme makinesinde ağ protokollerini ve diğer dağıtılmış yürütme programlarını test etme
- Bir ağ üzerinde otomatikleştirilmiş işlevsel testler gerçekleştirme
- Test verimini artırmak için aynı sistemde birden fazla eşzamanlı, paralel ağ çalıştırma
Happy, minimum kullanıcı yükü ile ağ topolojisi soyutlamaları oluşturarak bu sorunları çözer. Tek bir kabuk komut çağrısı ile karmaşık topolojiler oluşturulabilir. Happy, hem etkileşimli kullanımı hem de otomatik komut dosyası oluşturmayı destekler.
Geliştirme sırasında kodlarını kurmak, test etmek ve hatalarını ayıklamak için Happy kabuk komutlarını kullanın. Aynı ağ yapılandırması ve test programları daha sonra komut dosyası haline getirilebilir ve otomatik testlerde kullanılabilir.
Başlamak
Happy'i kullanmaya başlamanın en hızlı ve en kolay yolu Codelab'den geçmektir. Kullanıcıyı aşağıdakiler de dahil olmak üzere tüm Happy temelleri boyunca yönlendirir:
- Bir topoloji oluşturma ve silme
- Birlikte ağ düğümleri
- Topolojileri kaydetme ve geri yükleme
- Bir topolojiyi internete bağlama
- Örgü temelleri
Mimari
Aşağıdaki mutlu modeller:
- Düğüm - Linux'ta ağ ad. Düğümü oluşturan işlemler, belirli bir ağ ad alanı içinde çalışır.
- Bağlantı - Bir Linux ağ arabirim. Mutlu kullanan
vethL3 (IP) arayüzleri ve destek ağ cihazı
tapL2 kutudan arayüzleri desteklemek için bir ağ aygıtı.
- Ağı - içlerindeki çalışan bir Ethernet köprüsü ile Linux ağ ad.
uygulama
Happy, Python modüllerinin bir koleksiyonudur. Core Happy modülleri aşağıdakiler için soyutlamalar sağlar:
- Düğüm soyutlamalarını yönetme
- Düğüm ekleme, değiştirme ve silme
- Düğüm içinde bir dizi işlemi çalıştırma
- Bağlantıları yönetme
- Bağlantı ekleme, değiştirme ve silme
- Bir düğüme ve bir ağa bağlantı atama
- Adres atamalarını atama ve değiştirme
- Ağları yönetme
- Ağ oluşturma, değiştirme ve yok etme
- ağ bağlantısı
- Çerçevenin genel durumunu uyumlu bir şekilde yönetmek
Happy modülleri tarafından uygulanan soyutlamaların çoğu, Linux ağ araçlarını çağıran komutlarla eşleşir.
Mutlu da bulunan eklentileri kümesi içerir
/plugins . Eklentiler, belirli bir teknolojiyle ilgili bir dizi işlevsellik sarar. Örneğin,
/plugins/weave yardımcıları içerdiğini Mutlu dahilinde yürütülmesi için sarma çeşitli örgü uygulamalar.
yürütme
Kullanıcılar iki yöntemle simüle edilmiş topolojiler oluşturabilir:
- Kabuk komutları - Tüm komutlar içindedir
/bin.
- Python komut dosyaları — Kendi Python komut dosyalarınızda Happy komutlarını çağırmak için Happy modüllerini içe aktarın. Modüller içindedir
/happy.
Kendi Python komut Mutlu modüllerini kullanma hakkında daha fazla bilgi için bkz Python komut dosyası .