Gerrit을 처음부터 설정해 사용하면서 느끼는 문제점들이 몇가지 있다.
1. 사용자 추가
Gerrit 설정시 로그인과 관련해서 지원하는 몇 가지 방법이 있다.
그 중 OpenID와 LDAP을 가장 많이 쓸 것이라고 생각하는데 우리네 환경에서는 OpenID를 사용하기가 힘들다. (보안 이슈)
그래서 AD 서버와 LDAP으로 연결해서 쓰고는 있는데 이것 이외에 UI 조작으로 사용자 계정 추가를 할 수 있는 방법이 없다.
Command line 으로는 사용자 계정을 추가할 수 있는데 이것도 문제가 좀 많다. (뒤에 언급)
2. 사용자 삭제
UI 상에 사용자 계정 추가가 없기 때문에 삭제 역시 없다.
3. Command Line Interface
먼저 계정 생성 command인 create-account.
생성은 된다. 하지만 생성이 제대로 되었는지 response가 없다.
무반응이면 제대로 되었나보다 생각하면 되는데 password 설정이 안된다.
http-password 라는 옵션이 있어서 거기에 password를 넣으면 되나 싶었는데 로그인하면 되질 않는다. (이것은 로그를 충분히 확인해볼 필요가 있겠다 싶은데 아직은 로그 확인 전)
create-account의 옵션 중에 있는 group은 공백을 인식하지 못하는 것으로 보인다.
큰따옴표로도 묶어봤으나 여전히 인식이 안된다.
add-ssh-key 옵션이 있는데 인자로 파일명을 주면 안된다.
지금까지 확인한 바로는 stdin만 먹는 것으로 보인다.
멋진 사용자 계정 삭제 command.
유감스럽게도 없다.
여기저기 찾아보면 inactive로 만들라고 권고하는 것 같은데 inactive는 로그인만 못하게 막는 것이지 계정을 지우는게 아니기 때문에 만약 짜증나는 계정 foo를 삭제하고 다시 만들려고 해도 안된다. foo2 등의 이름으로 다시 만들 수 밖에.
이해 안되는 set-account.
계정 삭제가 안되니 이리저리 다시 세팅해서 계정을 쓰려고 했는데 재미있는 사실을 발견했다.
바로 add-ssh-key와 delete-ssh-key 옵션에서 문제를 발견했는데 이미 추가한 ssh-key를 지우려고 편하게 delete-ssh-key ALL (ALL은 제공하는 값이다. 해당 계정의 모든 ssh key를 지우라는)을 입력했는데 역시나 response 없이 command가 실행되었다. 그래서 문제없겠거니 생각하고 add-ssh-key로 새로운 ssh key를 추가했는데 역시나 no response. 제대로 설정 되었는지 확인하려고 ssh key 삭제 전에 잘 되던 저장소 clone을 해봤더니 public key 문제로 불가. ssh key를 다시 만들고 별 쇼를 다 해봐도 안된다. 또 다른 계정 xxx2 등으로 또 만들어서 쓸 수 밖에.
4. 관리자 계정
왜 그런건지 모르겠지만 갑자기 오늘 오전부터 관리자로 설정되어 있던 내 계정이 관리자가 아닌 걸로 인식을 하고 있었다.
도저히 알 수가 없어서 db를 다시 만들어서 설정했다.
결론
현재까지의 상태들을 종합하면 gerrit은 계정관리 부분이 취약하다. 뭔가 대단히 불편한데, 불편한 건 이해하고 넘어가더라도 원인을 파악할 수 있는 수단이 거 의 없어서 해결할 방법을 찾기가 힘들다.
참고로 이 모든 현상이 만들어지고 있는 gerrit의 버전은 무려 2.5.1이다. 1.0도 아니고 1.5도 아니다.
구글 내부적으로 쓰는거라 그런건지도 모르겠지만, made by Google 이라고 맹신해서는 안된다는 걸 느낀다.