Google berkomitmen untuk memajukan ekuitas ras bagi masyarakat Hitam. Lihat bagaimana.
Halaman ini diterjemahkan oleh Cloud Translation API.
Switch to English

senang Penggunaan

Gunakan -h bendera dengan happy-* perintah untuk melihat bantuan dan daftar pilihan untuk perintah itu.

file negara

Bahagia toko dan hati-hati mempertahankan negara topologi dalam sebuah file JSON dengan satu catatan. Menggunakan berkas keadaan ini, Happy dapat menjalankan perintah yang sesuai untuk membuat atau menghapus topologi.

File keadaan default terletak di ~/.happy_state.json . Nama negara default adalah happy , seperti yang terlihat di happy-state keluaran:

 happy-state

State Name:  happy 

negara paralel

Senang mendukung beberapa negara hidup bersama paralel. Keadaan saat ditentukan oleh HAPPY_STATE_ID variabel lingkungan. Jika HAPPY_STATE_ID tidak ada dalam lingkungan, nilai keadaan default happy digunakan.

HAPPY_STATE_ID tidak diciptakan selama instalasi Selamat. Buat satu dengan nilai lain selain state untuk segera beralih ke Happy negara bagian lain.

 export HAPPY_STATE_ID="sunny"

Sekarang memeriksa happy-state hasil dalam keadaan yang berbeda:

 happy-state

State Name:  sunny 

Setiap negara dipertahankan di sendiri ~/.${HAPPY_STATE_ID}_state.json berkas. Untuk beralih di antara negara-negara, menjalankan export HAPPY_STATE_ID=" <state-name> " perintah lagi.

Uninstall dengan negara paralel

Jika Anda menggunakan Selamat negara paralel dan Anda ingin meng-uninstall Happy, pastikan untuk menjalankan happy-state-delete dengan masing-masing keadaan aktif. Hal ini memastikan semua ruang nama jaringan yang dibuat oleh Selamat dihapus dari sistem anda tanpa mempengaruhi Linux konfigurasi jaringan host.

Misalnya, dengan dua negara dari happy dan sunny :

 export HAPPY_STATE_ID="sunny"
happy-state-delete
export HAPPY_STATE_ID="happy"
happy-state-delete 

Manual menghapus setiap file negara paralel yang diperlukan:

 rm -f ~/.sunny_state.json
rm -f ~/.sunny_state.json.lock
rm -f ~/.happy_state.json
rm -f ~/.happy_state.json.lock 

log

Senang mengirimkan log ke syslog secara default. Sebuah cadangan log kedua dikirim ke /tmp/${HAPPY_STATE_ID}_debug_log.txt .

Untuk melihat Bahagia log, menjalankan happy-state -l di jendela terminal terpisah. Bila Anda memasukkan Selamat perintah, log menunjukkan shell perintah Selamat masalah di latar belakang. Ini adalah cara yang baik untuk memahami bagaimana Selamat bekerja, jika Anda tertarik dalam ruang nama jaringan Linux.

Sebagai contoh, happy-node-add node00 menciptakan simpul Selamat. Output log untuk perintah ini adalah:

DEBUG [HappyHost:_namespaceExists():56] Happy: namespace happy000 does not exist
DEBUG [Driver:writeState():365] Happy: writing Happy state to file
DEBUG [Driver:CallCmd():416] Happy [happy]: > sudo ip netns add happy000
DEBUG [HappyHost:_namespaceExists():56] Happy: namespace happy000 exists
DEBUG [Driver:CallCmd():416] Happy [happy]: > sudo ip netns exec happy000 ifconfig lo up

Semua Driver:CallCmd() garis perintah shell yang Selamat panggilan. Pertimbangkan setiap baris dalam log:

# Check to see if the target namespace (happy000) exists
DEBUG [HappyHost:_namespaceExists():56] Happy: namespace happy000 does not exist

# Write the link between node00 and happy000 in ~/.happy_state.json
DEBUG [Driver:writeState():365] Happy: writing Happy state to file

# Create the network namespace for the node
DEBUG [Driver:CallCmd():416] Happy [happy]: > sudo ip netns add happy000

# Check to see if the target namespace (happy000) exists
DEBUG [HappyHost:_namespaceExists():56] Happy: namespace happy000 exists

# Bring up the loopback interface within the happy000 namespace
DEBUG [Driver:CallCmd():416] Happy [happy]: > sudo ip netns exec happy000 ifconfig lo up

topologi sampel

topologi sampel termasuk dalam kedua Happy dan OpenWeave repositori untuk pengujian. Juga menggunakan mereka untuk belajar perintah untuk membangun topologi yang kompleks.

Topologi dalam format JSON dan Shell Script.

JSON

File topologi JSON dimuat menggunakan happy-state-load atau weave-state-load perintah. Jika topologi termasuk Weave, Anda harus menggunakan weave-state-load untuk memuat topologi, jika perintah Weave-spesifik dilewati.

Sebagai contoh, topologi tanpa Weave:

happy-state-load thread_wifi_ap_internet.json

Sebuah topologi dengan Weave:

weave-state-load three_nodes_on_thread_weave.json

Untuk menyimpan topologi Anda saat ini sebagai file JSON terpisah untuk kemudian digunakan (misalnya, tes kasus naskah ), menggunakan happy-shell -s :

happy-shell -s my_topology.json

Ini menyimpan file negara topologi di $HOME direktori.

skrip shell

Shell file naskah topologi berisi set Happy dan Weave perintah untuk membuat topologi dalam file JSON yang sesuai. Script ini secara default tidak memiliki izin eksekusi. Mereka dapat menjalankan dua cara:

Dengan menggunakan bash perintah:

bash thread_wifi_ap_internet.sh

Dengan menerapkan izin eksekusi:

chmod +x thread_wifi_ap_internet.sh
./thread_wifi_ap_internet.sh

Konfigurasi

Senang memiliki tiga file konfigurasi:

file konfigurasi Deskripsi
~/.happy_conf.json variabel konfigurasi untuk penggunaan pribadi atau plug-in. Mengatur nilai-nilai ini menggunakan happy-configuration perintah.
<path-to-happy> /happy/conf/main_config.json variabel konfigurasi Selamat primer.
<path-to-happy> /happy/conf/log_config.json konfigurasi log.

Menambahkan variabel konfigurasi

Kami sarankan Anda menggunakan happy-configuration perintah untuk mengatur variabel pribadi atau plug-in apapun di luar default yang penyebaran spesifik Anda Happy kebutuhan.

Misalnya, untuk membiarkan Selamat tahu di mana untuk menemukan Weave test-apps direktori untuk script tes, mengatur weave_path variabel:

happy-configuration weave_path <path-to-openweave-core> /build/x86_64-unknown-linux-gnu/src/test-apps

Selamat toko konfigurasi variabel dalam ~/.happy_conf.json .

Proses dalam node

Senang memberikan perintah untuk memulai dan proses berhenti dalam node disimulasikan.

Untuk memulai proses:

happy-process-start <node-name> <custom-process-name> <command>

Misalnya, untuk terus menjalankan ping di node bernama ThreadNode:

happy-process-start ThreadNode ContinuousPing ping 8.8.8.8

Dalam contoh di atas, ContinuousPing adalah nama yang ditetapkan pengguna untuk proses yang Bahagia menggunakan untuk mengelola proses. Gunakan happy-process-wait untuk menangguhkan eksekusi proses dan happy-process-stop untuk membunuh proses.

Proses output di /tmp . Sebagai contoh, setelah memulai proses ContinuousPing, periksa /tmp direktori:

ls /tmp/happy*
/tmp/happy_018691_1524087014.192197_ContinuousPing.out

Ini .out file berisi output untuk proses ContinuousPing.

Penggunaan sudo

Senang mengubah konfigurasi jaringan yang dikendalikan oleh kernel Linux. Karena hanya root dapat mengubah konfigurasi kernel, Happy meminta Anda untuk memasukkan sudo sandi selama operasi.

Senang menggunakan $SUDO variabel lingkungan sistem panggilan sudo . Jika $SUDO tidak didefinisikan, Happy membuat normal sudo panggilan.

scripting Python

Setelah instalasi, paket Selamat Python dapat diimpor ke lingkungan Python menggunakan berikut import pernyataan:

import happy

Modul perintah individu yang ditemukan di /happy diimpor sebagai berikut:

import happy.HappyNodeAdd

Untuk mengambil pilihan modul, memanggil option() fungsi. Misalnya, untuk mengambil HappyNodeAdd pilihan modul:

module options
import happy.HappyNodeAdd
options = happy.HappyNodeAdd.option()