Happy Setup

Happy는 Linux 네트워크 네임스페이스에 크게 의존하므로 Linux에서만 지원됩니다.

설치

  1. 필요한 라이브러리를 설치합니다.
    sudo apt-get install python-setuptools bridge-utils python-lockfile python-psutil make
  2. 저장소를 클론합니다.
    git clone https://github.com/openweave/happy.git
    
  3. Happy 설치:
    cd happy
    make
    
    make 명령어는 다음 두 가지 작업을 실행합니다.
    1. /usr/local/lib/python2.7/dist-packages에서 Happy python 패키지를 만듭니다.
    2. Happy 셸 스크립트를 /usr/local/bin에 복사합니다.
  4. Happy 명령어를 실행하여 설치를 검증합니다.
    happy-state
    
    State Name:  happy
    
    NETWORKS   Name         Type   State                                     Prefixes
    
    NODES      Name    Interface    Type                                          IPs
    

Weave 지원

Happy는 OpenWeave를 통해 Weave를 지원하며, OpenWeave 빌드와 추가 구성이 필요합니다. OpenWeave와 Happy를 통합하는 가장 빠른 방법은 독립형 애플리케이션을 빌드하는 것입니다.

  1. OpenWeave에 필요한 빌드 도구 모음 및 모든 종속 항목을 설치합니다.
    sudo apt-get update
    sudo apt-get install -y autotools-dev build-essential git lcov /
                         libdbus-1-dev libglib2.0-dev libssl-dev /
                         libudev-dev python2.7 python-software-properties
    sudo apt-get install -y --force-yes gcc-arm-none-eabi
    sudo apt-get update -qq
  2. OpenWeave 저장소를 클론합니다.
    git clone https://github.com/openweave/openweave-core.git
    
  3. 독립형 OpenWeave 애플리케이션을 빌드합니다.
    cd <path-to-openweave-core>
    make -f Makefile-Standalone
    
  4. Happy 구성에서 Weave 경로를 설정합니다.
    happy-configuration weave_path <path-to-openweave-core>/build/x86_64-unknown-linux-gnu/src/test-apps
    
  5. Weave의 Happy 관련 바이너리를 찾을 위치를 알 수 있도록 $PATH 환경 변수를 업데이트합니다.
    export PATH=$PATH:<path-to-openweave-core>/src/test-apps/happy/bin
    
  6. 구성을 테스트합니다. Happy의 Weave 명령어를 실행할 수 있습니다.
    weave-state
    
    State Name:  weave
    
    NODES                Name       Weave Node Id    Pairing Code
    
    FABRIC          Fabric Id           Global Prefix
    

제거

  1. 모든 가상 노드와 네트워크가 삭제되었는지 확인합니다.
    happy-state-delete
  2. Happy 제거:
    cd <path-to-happy>
    make uninstall
  3. 남아 있는 다른 Happy 파일을 삭제합니다.
    rm -f ~/.happy_state.json
    rm -f ~/.happy_conf.json
    rm -f ~/.happy_state.json.lock
    cd /usr/local/lib/python2.7/dist-packages
    rm -f happy*

병렬 상태와 같은 고급 기능을 사용하는 경우 각 상태를 개별적으로 삭제해야 합니다. 자세한 내용은 동시 상태로 제거를 참고하세요.