본문
윈도우에서 Eclipse+Floodlight 실행하기
Floodlight 설치가이드는 공식적으로 Linux 환경에서의 동작을 추천한다. 왜냐하면 설치가이드 자체가 리눅스 기반으로만 작성되어있기 때문이다. 그래도 어짜피 Floodlight는 자바기반으로 만들어졌기때문에 윈도우에서도 잘 동작한다. 하지만 내장된 Ant 스크립트로 Eclipse 프로젝트를 생성하는 과정(ant eclipse)은 윈도우에서 동작하지 않는다. ant에서 파라미터를 받아와서 setup-eclipse.sh 라는 쉘스크립트를 실행시켜야 하는데 실행환경이 윈도우다보니 'not a valid Win32 application'라는 오류가 발생하기 때문이다.
그럼 setup-eclipse.sh 는 무엇인가. 뜯어보니 매우 단순하다. ant의 build.xml파일 내용을 바탕으로 Eclipse 설정파일(.project, Floodlight-Default-Conf.launch, .classpath 등등)을 만들어주는 역할만 수행할 뿐이다. 조금 까다로운 부분은 라이브러리를 설정하는 .classpath부분인데, 이것도 결국 build.xml에서 patternset id가 lib, lib-test인 부분만 인용할 뿐이다. 쉘스크립트를 배치파일로 변환하는 노력보다 그냥 이파일을 직접 만드는게 더 쉬웠고, 그래서 설정파일들과 Floodlight 1.2버전(16년 2월출시;최신)을 통합해서 github에 등록하였다. 참고로 .classpath 파일은 버전별로 상이하므로 1.2버전 이외의 버전에서 동작하지 않을 수 있다.
git://github.com/frontjang/floodlight.git
Eclipse에서 Import -> Git (Projects from Git) -> Clone URI 과정에서 위 주소를 입력하면서 쭉쭉 Next만 눌러주면 프로젝트가 불러와진다. 참고할것은 master 버전에서는 새로운 웹GUI(floodlight-webui)를 Git submodule으로 포함해놓고 있기 때문에 Clone submodules를 체크해 주어야 한다. 물론 우리가 사용할 1.2는 그럴 걱정이 없어서 여러모로 편리하다. 프로젝트를 불러왔으면 Run As -> Java Application을 눌러 net.floodlightcontroller.core.Main 을 메인클래스로 하는 Floodlight-Default-Conf 실행환경을 설정한다. 이후 Ctrl+F11 으로 Run을 실행하면 Floodlight 컨트롤러가 동작한다.
floodlight의 동작을 확인하기 위하여 이전글(윈도우에서 Vagrant로 Mininet+OVS 설치하기)을 참고하며 아래와같이 mininet을 실행시킨다. 참고할것은 floodlight는 OpenFlow 포트가 6633으로 표준화되기 이전부터 6653포트를 사용해왔기 때문에 6653 포트를 사용한다는 점이다. mininet이 연결되고나면 http://localhost:8080/ui/index.html 페이지로 접근하여 토폴로지등의 웹GUI를 확인할 수 있다. 반대로 언급했습니다. 6653이 표준이고 6633이 예전에 사용하던 포트입니다. (즉 mininet에서는 예전 6633포트가 기본설정이므로 6653으로 명시해주어야 합니다)
sudo mn --topo=linear,2 --controller=remote,ip=169.254.11.39:6653
댓글