Google cam kết thúc đẩy bình đẳng chủng tộc đối với cộng đồng đen. Xem cách.
Trang này được dịch bởi Cloud Translation API.
Switch to English

Chúc mừng Cách sử dụng

Sử dụng -h cờ với bất kỳ happy-* lệnh để xem sự giúp đỡ và danh sách các tùy chọn cho lệnh đó.

file Nhà nước

Chúc mừng cửa hàng và cẩn thận duy trì trạng thái topo của nó trong một tệp JSON với một hồ sơ duy nhất. Sử dụng tập tin trạng thái này, Happy có thể chạy các lệnh thích hợp để tạo ra hoặc loại bỏ một topo.

Các tập tin trạng thái mặc định nằm ở ~/.happy_state.json . Tên trạng thái mặc định là happy , như đã thấy trong happy-state đầu ra:

 happy-state

State Name:  happy 

bang song song

Chúc mừng hỗ trợ nhiều quốc gia cùng tồn tại song song. Trạng thái hiện tại được quyết định bởi các HAPPY_STATE_ID biến môi trường. Nếu HAPPY_STATE_ID không tồn tại trong môi trường, giá trị trạng thái mặc định của happy được sử dụng.

HAPPY_STATE_ID không được tạo ra trong khi cài đặt hạnh phúc. Tạo một tài khoản với một giá trị khác hơn là state để ngay lập tức chuyển sang một trạng thái hạnh phúc.

 export HAPPY_STATE_ID="sunny"

Bây giờ kiểm tra happy-state kết quả trong một trạng thái khác nhau:

 happy-state

State Name:  sunny 

Mỗi tiểu bang được duy trì ở riêng của mình ~/.${HAPPY_STATE_ID}_state.json tập tin. Để chuyển đổi giữa các quốc gia, chạy export HAPPY_STATE_ID=" <state-name> " lệnh một lần nữa.

Gỡ bỏ với các quốc gia song song

Nếu bạn sử dụng tiểu bang Chúc mừng song song và bạn muốn gỡ bỏ cài đặt hạnh phúc, hãy chắc chắn để chạy happy-state-delete với mỗi trạng thái hoạt động. Điều này đảm bảo tất cả các không gian tên mạng được tạo ra bởi hạnh phúc được loại bỏ khỏi hệ thống của bạn mà không ảnh hưởng đến cấu hình mạng máy chủ Linux.

Ví dụ, với hai trạng thái của happysunny :

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

Bằng tay loại bỏ mỗi tập tin trạng thái song song khi cần thiết:

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

logs

Chúc mừng gửi các bản ghi để syslog theo mặc định. Một backup bản ghi thứ hai được gửi đến /tmp/${HAPPY_STATE_ID}_debug_log.txt .

Để xem Chúc mừng các bản ghi, chạy happy-state -l trong một cửa sổ terminal riêng biệt. Khi bạn nhập lệnh Chúc mừng, các bản ghi hiển thị shell lệnh vấn đề hạnh phúc ở chế độ nền. Đây là một cách tốt để hiểu cách làm việc vui vẻ, nếu bạn đang quan tâm đến không gian tên mạng Linux.

Ví dụ, happy-node-add node00 tạo ra một nút Happy. Các dữ liệu ghi nhận cho lệnh này là:

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

Tất cả các Driver:CallCmd() dòng là các lệnh shell rằng hạnh phúc gọi. Xem xét từng dòng trong nhật ký:

# 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

topo mẫu

topo mẫu có trong cả hai kho Chúc mừng và OpenWeave để thử nghiệm. Cũng sử dụng chúng để tìm hiểu những lệnh để xây dựng cấu trúc liên kết phức tạp.

Topo là ở định dạng JSON và Shell Script.

JSON

File topo JSON được nạp bằng cách sử dụng happy-state-load hoặc weave-state-load lệnh. Nếu topo bao gồm Weave, bạn phải sử dụng weave-state-load để nạp topo, nếu không các lệnh Weave cụ thể là bỏ qua.

Ví dụ, một topo mà không Weave:

happy-state-load thread_wifi_ap_internet.json

Một topo Weave:

weave-state-load three_nodes_on_thread_weave.json

Để tiết kiệm topo hiện tại của bạn như một tập tin JSON riêng cho sử dụng sau này (ví dụ, một bài kiểm tra trường hợp kịch bản ), sử dụng happy-shell -s :

happy-shell -s my_topology.json

Điều này tiết kiệm file bang topo trong $HOME thư mục.

kịch bản shell

Shell file script topo chứa các thiết lập của Happy và lệnh Weave để tạo ra các cấu trúc liên kết trong các tập tin JSON tương ứng. Những kịch bản theo mặc định không có quyền thực thi. Họ có thể chạy theo hai cách:

Bằng việc sử dụng bash lệnh:

bash thread_wifi_ap_internet.sh

Bằng cách áp dụng điều khoản thực thi:

chmod +x thread_wifi_ap_internet.sh
./thread_wifi_ap_internet.sh

Cấu hình

Hạnh phúc có ba file cấu hình:

Tập tin cấu hình Sự miêu tả
~/.happy_conf.json biến cấu hình cho cá nhân hoặc plug-in sử dụng. Thiết lập các giá trị bằng cách sử dụng happy-configuration lệnh.
<path-to-happy> /happy/conf/main_config.json Chính biến cấu hình Happy.
<path-to-happy> /happy/conf/log_config.json cấu hình đăng nhập.

Thêm các biến cấu hình

Chúng tôi khuyên bạn nên sử dụng happy-configuration lệnh để thiết lập bất kỳ biến cá nhân hoặc plug-in vượt quá giá trị mặc định rằng việc triển khai cụ thể của bạn hạnh phúc cần.

Ví dụ, để cho hạnh phúc biết nơi nào để tìm ra Weave test-apps thư mục cho các kịch bản thử nghiệm, thiết lập weave_path biến:

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

Chúc mừng lưu cấu hình các biến trong ~/.happy_conf.json .

Processes trong nút

Chúc mừng cung cấp các lệnh để bắt đầu và quá trình dừng trong phạm vi nút mô phỏng.

Để bắt đầu một quá trình:

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

Ví dụ, để tiếp tục chạy một ping trong một nút tên ThreadNode:

happy-process-start ThreadNode ContinuousPing ping 8.8.8.8

Trong ví dụ trên, ContinuousPing là tên người dùng định nghĩa cho quá trình này mà Chúc mừng sử dụng để quản lý quá trình này. Sử dụng happy-process-wait đình chỉ quá trình thi công và happy-process-stop giết quá trình này.

Quá trình đầu ra là trong /tmp . Ví dụ, sau khi bắt đầu quá trình ContinuousPing, đánh dấu vào /tmp thư mục:

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

Đây .out tập tin chứa đầu ra cho quá trình ContinuousPing.

Sử dụng sudo

Hạnh phúc làm thay đổi cấu hình mạng được điều khiển bởi hạt nhân Linux. Vì chỉ có root có thể thay đổi cấu hình kernel, Happy nhắc bạn nhập sudo mật khẩu trong hoạt động.

Chúc mừng sử dụng $SUDO biến môi trường hệ thống để gọi sudo . Nếu $SUDO không được định nghĩa, hạnh phúc làm cho một bình thường sudo gọi.

Python scripting

Sau khi cài đặt, gói Chúc mừng Python có thể được nhập khẩu vào một môi trường Python sử dụng sau import tuyên bố:

import happy

Lệnh mô-đun riêng tìm thấy trong /happy được nhập khẩu như sau:

import happy.HappyNodeAdd

Để lấy tùy chọn mô-đun, hãy gọi option() chức năng. Ví dụ, để lấy HappyNodeAdd tùy chọn mô-đun:

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