관련 포스팅 목록

Ceph, RADOS - pool list, create, delete - http://ngee.tistory.com/758

Librados Python - Pool List, Create, Delete -  http://ngee.tistory.com/759

Librados Python - Object Input, Output  - http://ngee.tistory.com/760


이전 포스팅에서 rados 명령어를 통해서 pool의 목록을 확인하고, 생성하고, 삭제하는 것을 테스트해봤습니다.

이번에는 커맨드라인 명령어가 아니라 python(파이썬)을 통해서 pool 목록 확인, 생성, 삭제를 테스트해보는 것이 목적입니다. 


apt-get install python-rados (ubuntu 14.04)


일단 참고문헌은 다음과 같습니다. 

Librados (Python) - http://ceph.com/docs/master/rados/api/python/


위 참고문헌에 참 잘 정리되어 있어서 이번 포스팅에서는 정말 테스트하는 것만 목적이 되겠습니다. 


1. Pool List Print (풀 리스트 출력)

   

    위와 같은 소스를 통해서 풀 리스트를 출력할 수 있습니다. 

    cluster를 생성하는 단계에서 ceph.conf를 제대로 작성해야 소스코드 수행에 문제가 없습니다. 


    위 소스는 참고문헌(http://ceph.com/docs/master/rados/api/python/)에 있는 것을 그대로 사용한 것이고 수행 결과는 다음과 같습니다. 

   

   잘 출력됩니다 :-)




2. Pool Create (풀 생성하기)

  위 소스를 다음과 같이 변경/추가 하시면 됩니다. 

   


   cluster에 create_pool 함수를 사용하면 됩니다. 직관적이라서 설명이 필요없네요.

   수행 결과는 다음과 같습니다. 

   




3. Pool Delete (풀 삭제하기)

   이번에는 delete_pool 이라는 함수를 사용하면 되는군요. 아래와 같이 변경하시면 됩니다. 

   

   이전 포스팅에서 rados 명령어를 직접 사용하는 경우에 pool을 지울 때 --yes-~~~~~ mean-it 이런 것을 적어줬어야 하는데요.

   소스코드로 풀을 삭제하는 경우에는 별다른 설정없이 입력 값인 testpool이 잘 삭제됩니다.

   결과는 1번과 동일하구요.


모든 소스는 다음 주소에서 확인가능합니다. https://github.com/motobyus/moto/tree/master/libradosTest/pool


이제 풀을 생성하고 삭제할 수 있으니깐, 적절한 데이터를 소스코드로 입력해보는 것이 목표입니다. :)

이제보니깐 소스코드에 sys가 import 되어 있네요. 별로 중요하지 않으니깐 무시하셔도 됩니다. 


+ Recent posts