4주차 과제 - 빈정원 (1)

필수 과제

과제 선택

  • [image] glance
  • 경로 : openstacksdk/openstack/tests/functional/image/v2/test_member
  • 명령어 : openstack image member [ get | list ]

CLI 사용법 정리

  • 이미지는 멤버를 생성하여 프로젝트 간에 이미지를 공유할 수 있음
  • 이미지 멤버는 이미지에 대해 읽기 전용 권한을 가짐
  • 이미지의 owner 속성 값이 project_id인 오픈스택 클라우드에서는 member_id로 소비자의 project_id를 사용해야 함
  • 이미지 공유는 프로젝트 간에 이루어지므로 공유받은 프로젝트 내의 모든 개별 사용자는 해당 이미지에 접근할 수 있음 (대상 프로젝트의 특정 사용자 한 명에게만 이미지를 공유할 수는 없음)
  • 이미지가 공유되면 멤버는 해당 이미지에 즉시 접근할 수 있지만 다른 사용자들의 이미지 목록에 스팸이 발생하는 것을 방지하기 위해 공유된 이미지는 멤버가 이미지를 “accept”할 때까지 이미지 목록에 나타나지 않음
  • 이미지 owner만 멤버를 생성할 수 있으며 이미지 멤버만 멤버 상태를 수정할 수 있음
  • 참고 문서

CLI 테스트 (admin → demo로 공유)

  1. 이미지 공유 테스트를 위해 admin 프로젝트에서 visibility가 shared인 이미지 생성

  2. 1번에서 생성한 이미지에 demo 프로젝트를 멤버로 추가

  3. admin 프로젝트에서 이미지 멤버 목록 확인 openstack --os-cloud=admin image member list

  4. admin 프로젝트에서 이미지 멤버 확인 openstack --os-cloud=admin image member get

  5. demo 프로젝트에서 이미지 목록 확인 (스팸이 발생하는 것을 방지하기 위해 보이지 않음)
    demo 프로젝트에서 --member-status=pending 옵션으로 이미지 목록 확인 (이미지가 공유되면 멤버는 해당 이미지에 즉시 접근할 수 있음)

  6. demo 프로젝트에서 이미지 확인 (이미지가 공유되면 멤버는 해당 이미지에 즉시 접근할 수 있음)

  7. demo 프로젝트에서 member-status를 accept로 변경 후 이미지 목록 확인 (공유받은 이미지가 보임)

  8. demo 프로젝트에서 이미지 목록 확인 openstack --os-cloud=demo image member list

  9. demo 프로젝트에서 이미지 멤버 확인 openstack --os-cloud=demo image member get