Android Test Station설치기(~ing)

업무상 Android Test Suite들인 CTS, VTS, GTS등을 실행할 일이 생깁니다. 이번 Q버전출시와 함께 구글에서 새로운 Android Test Station이라는 Web UI형식의 ‘편리한’!? 툴을 오픈소스로 공개했습니다. 하지만 설치 작업이 마냥 편리하지만 않네요. 기본적으로 Docker와 Google Cloud에 의존성이 있는 터라서, 방화벽등의 Proxy뒤쪽의 환경에서 설치하는 것은 매우 곤욕입니다. 이번에 저도 그러한 고통의 시간을 겪다가, 도저히 평범한 환경에서는 어찌 되나 싶어 집에서 설치를 해보고 있는데요. 그마저도 역시 개발자스러운 설치 절차를 통과해야하기 때문에, 성격상, 귀찮아서, 스크립트 짜고 있습니다.

일단 사이트는 아래이고요.
https://source.android.com/compatibility/tests/development/android-test-station

스크립트는 아래에 업데이트 중입니다. 요새는 연습삼아 파이썬 스크립트로 Bash쉘스크립트를 다 바꾸고 있는 터이고, 인터넷 여기저기서 긁어모은것은 나중에 쓰기 편하게 덕지덕지 붙여가면서 만들고 있는 터라 좀 지저분하긴 하지만, 나름 다시 찾기 시간 아깝고, 나중에 다른 시스템에 다시 설치시에 참고하기도 좋아서 하고 있습니다. 물론 Docker와 Google Cloud가 제대로 환경이 갖추어 진다면, 다음부터는 위 두가지 플랫폼으로 여기저기 환경 옮기기에는 좋겠지요. 네, 그마저도 귀찮은 겁니다. ;). 아근데 저번에는 파일 첨부가 워드프레스 UI상에서 바로 되도록 쉬웠던것 같은데, 업그레이드 되면서 뭔가… 또 어렵네요.. 다음에 올려야겠습니다. 미디어 항목에서 따로 올려야했건전지, 라이브러리로 업로드를 따로 하니 되는것 같습니다. 근데 ‘링크복사하기’ 메뉴가 제대로 동작은 안하나보네요. 흐음.. 첨부 버튼에서 검색으로 일반 파일명도 검색해서 링크로 찾아주면 좋은데, 왠지 있을 것 같은 Plugin인데, 그것도 한번 찾아봐야겠네요.
https://onecoinsoft.co.kr/wp-content/uploads/2020/01/install_docker.zip

Docker와 Google Cloud를 모두 설치하고 초기화를 하고 나면, 본격적으로 실행을 시켜보게되는데요. 명령어는 mtt입니다.. 왜 mtt인지는 잘 모르겠습니다. 그런데 초반에 실행해보면. 멍대리고 있는 것처럼 보이게 되는데, 이유인즉슨 android-mtt/mtt에서 pulling/Download중인 것을 따로 화면로그로는 출력안하고, 대기한다는 문구도 없이 그냥 파일로만 출력하며 진행하고 있어서입니다. 인내심이 뛰어나신분들은 그냥 기다리시면 되겠고요. 아니면 저처럼 왜이래 하고 못 참으시는 분은 아래처럼 첫 실행에는 verbose옵션을 주거나 stderr로 출력시켜서 보는것이 더 낫겠습니다.

(base) jiwon@jiwon-u16:~$ ./mtt –logtostderr -v start
WARNING:root:config file does not exist: /home/jiwon/.config/mtt/mtt.ini
2020-01-07 22:02:39,689 |DEBUG| cli:619| Command auto update enabled, but there is no cli_update_url set. Using the default: gs://android-mtt.appspot.com/prod/mtt.
2020-01-07 22:02:39,697 |DEBUG| command_util:137| stdout: /home/jiwon/google-cloud-sdk/bin/gcloud
2020-01-07 22:02:39,708 |DEBUG| google_auth_util:61| Get credential from gcloud auth print-access-token.
2020-01-07 22:02:40,446 |DEBUG| command_util:137| stdout: ya29.Ima4B2bnfClxgZM2TG4iyGB8yBUsjIBKZQCqri6ucXC3rT9WvHiUevCrAt_U48-9QHK7FNh34tXRua13gtZz4d5NnkRPzDXuDX38tfeGgEhnNpIY3t4VioFN_x3e-XuxhC_Riuujg8k
2020-01-07 22:02:41,036 |WARNING| cli:635| No access to android-mtt.appspot.com.
2020-01-07 22:02:41,036 |DEBUG| host_util:116| No lab config path set.
2020-01-07 22:02:41,038 |INFO| cli:193| Using image gcr.io/android-mtt/mtt:prod.
2020-01-07 22:02:41,103 |DEBUG| command_util:137| stdout: Docker version 19.03.5, build 633a0ea838
2020-01-07 22:02:41,120 |DEBUG| command_util:137| stdout: /home/jiwon/google-cloud-sdk/bin/gcloud
2020-01-07 22:02:41,498 |DEBUG| command_util:137| stderr: gcloud credential helpers already registered correctly.
2020-01-07 22:02:41,557 |INFO| command_util:444| gcloud auth configure-docker
2020-01-07 22:02:41,650 |DEBUG| command_util:137| stdout:
2020-01-07 22:02:41,650 |DEBUG| command_util:137| stderr: Error: No such object: mtt
2020-01-07 22:02:41,667 |DEBUG| command_util:693| No container mtt.
2020-01-07 22:02:41,667 |INFO| cli:209| mtt_master_url is not set; starting a standalone node.
2020-01-07 22:02:41,733 |DEBUG| command_util:137| stderr: Error: No such volume: mtt-temp
2020-01-07 22:02:41,822 |DEBUG| command_util:137| stderr: Error: No such container: mtt
2020-01-07 22:02:41,913 |DEBUG| command_util:137| stderr: Unable to find image ‘gcr.io/android-mtt/mtt:prod’ locally
2020-01-07 22:02:43,618 |DEBUG| command_util:137| stderr: prod: Pulling from android-mtt/mtt
2020-01-07 22:02:43,619 |DEBUG| command_util:137| stderr: 3386e6af03b0: Pulling fs layer
2020-01-07 22:02:43,619 |DEBUG| command_util:137| stderr: 49ac0bbe6c8e: Pulling fs layer
2020-01-07 22:02:43,620 |DEBUG| command_util:137| stderr: d1983a67e104: Pulling fs layer

한참을 download하고 난뒤에, 아래줄까지 출력이 되고 나서야 비로소 로컬에 시스템이 구동되기 시작합니다.

2020-01-07 22:05:53,663 |INFO| cli:299| MTT is serving at http://localhost:8000

(Obsolete)아이디어노트 : Gmail visualization –> IMMERSION, OpenTeam

예전 PDA를 사용하던 시절, Windows CE, Mobile로 대변되는 HP IPAQ을 사용하던 시절 자주 사용하는 노트 툴은 포켓워드였습니다. 확장자는 doc비스므레한데, 정작 MS Word와는 파일 포맷이 전혀호환이 안되는 독자 형태의 바이너리라서 나중에 전에 쓰던 IPAQ에서 노트를 꺼내는데 한참 애를 먹었었는데요, 요새는 노트용도로 GoogleTasks에 거의 정착한 편입니다. 할일관리 뿐만 아니라 단순 노트용도로도 나쁘지는 않고, 나름 카테고리 관리도 Tree구조로 작성하면 관리도 쉬운 편이어서 자주 씁니다. 속도와 접근성은 물론 인터넷이 필수라는 것 하나만 빼면, 나무랄데가 없고, 오프라인 엑세스도 브라우저나, 안드로이드 오에스의 앱, 혹은 다른 일정관리 툴과 살짝만 연동시켜도 문제가 없으니 참 편리합니다. 이 블로그에도 이전부터 나름 아이디어라 생각했던것들을 노트로 남겨놓은 것들을 적고 있긴한데요. 최근에 다시 목록을 정리하면서, 이미 다른 이들에 의해서 같은 아이디어가 구현되어 세상에 나온것들이 있어서 오늘 그중 하나를 정리해서 적어보려합니다.

아이디어는 수많은 메일 계정에 쌓여가는 메일들을 좀더 눈에 띄기 쉽게 분리하고, 그 안에서의 여러 관계를 추출해서 좀더 나은 메일 확인을 도와주는 도구였는데요. 최근 검색어로 찾아보니, MIT의 프로젝트 중에 IMMERSION( https://immersion.media.mit.edu/ ), 그리고 그 멤버중 한명이 리딩하고 있는 최근의 프로젝트인 OpenTeam이 보였습니다. Immersion은 ‘로제타스톤’이라는 어학프로그램을 해보신 분을 아시겠지만, 뭔가 깊게 빠져들어 그 안에서 경험하며, 확인하게 되는 것을 의미합니다. 초기 프로젝트인 Immersion에서도 자신의 메일들로부터 뭔가 Insight와 편리함을 얻어 생활에 있어 다른 아이디어를 줄 수 있는 것을 목표로 한다고 나와있습니다. 이 주제는 사실 저도 어느정도 익숙한데요. 2004~2005년도 까지 같은 그룹의 다른 팀 멤버가 했던 프로젝트가 바로 이 Immersion을 주제로 과제를 했습니다. 지금은 둘다 잘나가는 나름 스타트업의 유니콘에 가까워진것 같네요. 능력있는 분들과 함께 있었던 때가 그립워지네요.

MIT의 Immersion 프로젝트는 아쉽게도 더이상 지원은 되지 않지만, 그 코드등은 오픈되어 있어 나름 활용해볼 여지는 많겠습니다. 그리고 이후 후속 프로젝트로 일종의 스타트업(맞는지는 모르겠습니다) 프로젝트로 OpenTeam( https://openteam.info/ )을 소개해주고 있습니다. 이쪽은 기존의 Immersion이 개인의 데이터에 관심을 갖고 그것들을 모아서 형상화 해주는 것이 었다면, OpenTeam은 말그대로 Team에 초점이 맞추어져 있어서, 일종의 팀을 이루고 팀들의 메일들을 서로 엮어서, 그 안에서 여러 Insight를 뽑아내는 것이 되겠습니다 .어찌 보면 요즈음의 팀 그룹웨어 등에서 비슷한 기능들을 지원할 것 같지만, 대부분 Visualization을 이정도로 강화하는 툴은 별로 없습니다. 최근의 Github정도나, 근근히 제품 업그레이드를 하고 있는 Atlassian의 제품정도랄까요, 아마도 OpenTeam도 어느날 유명한 회사(MS아니면 구글?) 정도로 들어갈 것 같긴합니다. 페이지의 맨 아래에 보면, 주제로는 “Collective Learning”, MIT Media Lab으로 되어 있으니, 관심 있으신 분들은 Contact을 해보면 함께 아이디어들을 교환하며 연구해볼 수 있지 않을까 합니다.