OpenStack Users Advent Calendar 2014 12/5
8610 단어 openstack
이제 OpenStack은 테넌트(프로젝트)마다 다른 독립적인 네트워크 인스턴스, 이미지, 볼륨 등의 리소스를 만들 수 있습니다. 또한 사용자에게 연결되지 않은 테넌트(프로젝트) 리소스는 보이지 않습니다. 그러나 사용자는 여러 테넌트에 속합니다. 그렇다면 어떻게 보일까? 라는 의문이 나네요. 그럼 Let's Stack!
admin에서?
관리자는 모든 프로젝트를 볼 수 있어야합니다. 그래서 먼저 admin으로 내고 싶습니다.
인스턴스 일람은 nova list가 아니라는 것으로 명령 발행. 패스워드와 인증 URL은 환경 변수로 해, 어느 유저가 커멘드 발행하고 있는지 알 수 있도록(듯이) 유저명과 테넌트명은 인수로 하고 있습니다.
$ nova --os-username admin --os-tenant-name admin list
+----+------+--------+------------+-------------+----------+
| ID | Name | Status | Task State | Power State | Networks |
+----+------+--------+------------+-------------+----------+
+----+------+--------+------------+-------------+----------+
아무것도 없다. admin 프로젝트에는 인스턴스가 없지만 다른 프로젝트에 인스턴스가 있어야합니다! ?
사실, nova 명령의 경우 --all-tenants 인수를 사용하면 admin에서 모든 인스턴스를 볼 수 있습니다.
$ nova --os-username admin --os-tenant-name admin list --all-tenants
+--------------------------------------+-------+--------+------------+-------------+--------------------------------------------+
| ID | Name | Status | Task State | Power State | Networks |
+--------------------------------------+-------+--------+------------+-------------+--------------------------------------------+
| a488a7b8-24b0-41a0-86aa-74f2efdf8305 | test | ERROR | - | NOSTATE | private=10.0.0.3 |
| 9e5703a5-a16c-4666-9d67-0ef75eb6b89d | test1 | ACTIVE | - | Running | TEST1-LOCALNET=10.100.0.150, 172.24.4.238 |
+--------------------------------------+-------+--------+------------+-------------+--------------------------------------------+
*ERRORなインスタンスがありますが気にしない
보였습니다. 아. 좋았다.
일반 사용자는?
일반 사용자는 어떨까요? 다음과 같이 demo 사용자가 demo, TEST1이라는 테넌트에 속하는 경우를 살펴 보겠습니다.
먼저 각 테넌트의 인스턴스 목록을 보여 드리겠습니다. 소개 TEST1 테넌트
$ nova --os-username demo --os-tenant-name TEST1 list
+--------------------------------------+-------+--------+------------+-------------+-------------------------------------------+
| ID | Name | Status | Task State | Power State | Networks |
+--------------------------------------+-------+--------+------------+-------------+-------------------------------------------+
| 9e5703a5-a16c-4666-9d67-0ef75eb6b89d | test1 | ACTIVE | - | Running | TEST1-LOCALNET=10.100.0.150, 172.24.4.238 |
+--------------------------------------+-------+--------+------------+-------------+-------------------------------------------+
이어서 데모 테넌트
$ nova --os-username demo --os-tenant-name demo list
+--------------------------------------+------+--------+------------+-------------+------------------+
| ID | Name | Status | Task State | Power State | Networks |
+--------------------------------------+------+--------+------------+-------------+------------------+
| a488a7b8-24b0-41a0-86aa-74f2efdf8305 | test | ERROR | - | NOSTATE | private=10.0.0.3 |
+--------------------------------------+------+--------+------------+-------------+------------------+
각각의 인스턴스가 나오네요. 당연합니다.
두 인스턴스를 일괄로 내고 싶었을 때 --all-tenants 할 수 있을까 생각합니다만 이것은 안 되고 --os-tenant-name으로 지정한 것만이 나옵니다.
$ nova --os-username demo --os-tenant-name demo list --all-tenants
+--------------------------------------+------+--------+------------+-------------+------------------+
| ID | Name | Status | Task State | Power State | Networks |
+--------------------------------------+------+--------+------------+-------------+------------------+
| a488a7b8-24b0-41a0-86aa-74f2efdf8305 | test | ERROR | - | NOSTATE | private=10.0.0.3 |
+--------------------------------------+------+--------+------------+-------------+------------------+
$ nova --os-username demo --os-tenant-name TEST1 list --all-tenants
+--------------------------------------+-------+--------+------------+-------------+-------------------------------------------+
| ID | Name | Status | Task State | Power State | Networks |
+--------------------------------------+-------+--------+------------+-------------+-------------------------------------------+
| 9e5703a5-a16c-4666-9d67-0ef75eb6b89d | test1 | ACTIVE | - | Running | TEST1-LOCALNET=10.100.0.150, 172.24.4.238 |
+--------------------------------------+-------+--------+------------+-------------+-------------------------------------------+
왜-.
실은・・・
--all-tenants는 admin 역할 전용 옵션이었습니다. 커맨드 레퍼런스에도 Admin Only라고 쓰고 있는 건가.
--all-tenants [0|1]
Display information from all tenants (Admin only).
htp // // cs. 오 s ck. rg/cぃ-레후페렌세/콘텐 t/의 ゔぃcぃ엔t_코만 ds. HTML
즉, 테넌트에 대한 사용자의 역할에 admin이 부여되어 있으면 --all-tenants를 사용할 수 있게 됩니다. 다음과 같이 demo 유저가 다음과 같이 demo 프로젝트에 속해 게다가 admin 역할이 부여되고 있는 경우 인스턴스가 전부 나옵니다.
$ keystone user-role-list --user demo --tenant demo
+----------------------------------+----------+----------------------------------+----------------------------------+
| id | name | user_id | tenant_id |
+----------------------------------+----------+----------------------------------+----------------------------------+
| 9fe2ff9ee4384b1894a90878d3e92bab | _member_ | f5cbc36f60d444c7be205c5f0123e3e1 | 4a691247c8e74e2f9018af3ffaa18704 |
| 429ab12a59814167ba40be6662dbe24a | admin | f5cbc36f60d444c7be205c5f0123e3e1 | 4a691247c8e74e2f9018af3ffaa18704 |
+----------------------------------+----------+----------------------------------+----------------------------------+
호라네↓
$ nova --os-username demo --os-tenant-name demo list --all-tenants
+--------------------------------------+-------+--------+------------+-------------+--------------------------------------------+
| ID | Name | Status | Task State | Power State | Networks |
+--------------------------------------+-------+--------+------------+-------------+--------------------------------------------+
| 1ae3b891-b218-4926-acb0-8a6acb2cbd42 |X | ACTIVE | - | Running | XXXX01-LOCALNET=10.100.0.150, 172.24.4.230 |
| a488a7b8-24b0-41a0-86aa-74f2efdf8305 | test | ERROR | - | NOSTATE | private=10.0.0.3 |
| 9e5703a5-a16c-4666-9d67-0ef75eb6b89d | test1 | ACTIVE | - | Running | TEST1-LOCALNET=10.100.0.150, 172.24.4.238 |
+--------------------------------------+-------+--------+------------+-------------+--------------------------------------------+
그러나, TEST1 테넌트를 지정하면 TEST1 테넌트에서는 demo 유저는 admin 롤이 없기 때문에 TEST1 의 인스턴스 밖에 낼 수 없습니다. 이것은 조금 이상한 생각이 듭니다만, 이런 것 같습니다.
$ nova --os-username demo --os-tenant-name TEST1 list --all-tenants
+--------------------------------------+-------+--------+------------+-------------+-------------------------------------------+
| ID | Name | Status | Task State | Power State | Networks |
+--------------------------------------+-------+--------+------------+-------------+-------------------------------------------+
| 9e5703a5-a16c-4666-9d67-0ef75eb6b89d | test1 | ACTIVE | - | Running | TEST1-LOCALNET=10.100.0.150, 172.24.4.238 |
+--------------------------------------+-------+--------+------------+-------------+-------------------------------------------+
그래서 --all-tenants 옵션에 대해 써 보았습니다. 내일 12/6은 효도 차코씨입니다. 잘 부탁드립니다.
Reference
이 문제에 관하여(OpenStack Users Advent Calendar 2014 12/5), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/shogos3/items/04c858665cffcccd997b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ nova --os-username admin --os-tenant-name admin list
+----+------+--------+------------+-------------+----------+
| ID | Name | Status | Task State | Power State | Networks |
+----+------+--------+------------+-------------+----------+
+----+------+--------+------------+-------------+----------+
$ nova --os-username admin --os-tenant-name admin list --all-tenants
+--------------------------------------+-------+--------+------------+-------------+--------------------------------------------+
| ID | Name | Status | Task State | Power State | Networks |
+--------------------------------------+-------+--------+------------+-------------+--------------------------------------------+
| a488a7b8-24b0-41a0-86aa-74f2efdf8305 | test | ERROR | - | NOSTATE | private=10.0.0.3 |
| 9e5703a5-a16c-4666-9d67-0ef75eb6b89d | test1 | ACTIVE | - | Running | TEST1-LOCALNET=10.100.0.150, 172.24.4.238 |
+--------------------------------------+-------+--------+------------+-------------+--------------------------------------------+
*ERRORなインスタンスがありますが気にしない
일반 사용자는 어떨까요? 다음과 같이 demo 사용자가 demo, TEST1이라는 테넌트에 속하는 경우를 살펴 보겠습니다.
먼저 각 테넌트의 인스턴스 목록을 보여 드리겠습니다. 소개 TEST1 테넌트
$ nova --os-username demo --os-tenant-name TEST1 list
+--------------------------------------+-------+--------+------------+-------------+-------------------------------------------+
| ID | Name | Status | Task State | Power State | Networks |
+--------------------------------------+-------+--------+------------+-------------+-------------------------------------------+
| 9e5703a5-a16c-4666-9d67-0ef75eb6b89d | test1 | ACTIVE | - | Running | TEST1-LOCALNET=10.100.0.150, 172.24.4.238 |
+--------------------------------------+-------+--------+------------+-------------+-------------------------------------------+
이어서 데모 테넌트
$ nova --os-username demo --os-tenant-name demo list
+--------------------------------------+------+--------+------------+-------------+------------------+
| ID | Name | Status | Task State | Power State | Networks |
+--------------------------------------+------+--------+------------+-------------+------------------+
| a488a7b8-24b0-41a0-86aa-74f2efdf8305 | test | ERROR | - | NOSTATE | private=10.0.0.3 |
+--------------------------------------+------+--------+------------+-------------+------------------+
각각의 인스턴스가 나오네요. 당연합니다.
두 인스턴스를 일괄로 내고 싶었을 때 --all-tenants 할 수 있을까 생각합니다만 이것은 안 되고 --os-tenant-name으로 지정한 것만이 나옵니다.
$ nova --os-username demo --os-tenant-name demo list --all-tenants
+--------------------------------------+------+--------+------------+-------------+------------------+
| ID | Name | Status | Task State | Power State | Networks |
+--------------------------------------+------+--------+------------+-------------+------------------+
| a488a7b8-24b0-41a0-86aa-74f2efdf8305 | test | ERROR | - | NOSTATE | private=10.0.0.3 |
+--------------------------------------+------+--------+------------+-------------+------------------+
$ nova --os-username demo --os-tenant-name TEST1 list --all-tenants
+--------------------------------------+-------+--------+------------+-------------+-------------------------------------------+
| ID | Name | Status | Task State | Power State | Networks |
+--------------------------------------+-------+--------+------------+-------------+-------------------------------------------+
| 9e5703a5-a16c-4666-9d67-0ef75eb6b89d | test1 | ACTIVE | - | Running | TEST1-LOCALNET=10.100.0.150, 172.24.4.238 |
+--------------------------------------+-------+--------+------------+-------------+-------------------------------------------+
왜-.
실은・・・
--all-tenants는 admin 역할 전용 옵션이었습니다. 커맨드 레퍼런스에도 Admin Only라고 쓰고 있는 건가.
--all-tenants [0|1]
Display information from all tenants (Admin only).
htp // // cs. 오 s ck. rg/cぃ-레후페렌세/콘텐 t/의 ゔぃcぃ엔t_코만 ds. HTML
즉, 테넌트에 대한 사용자의 역할에 admin이 부여되어 있으면 --all-tenants를 사용할 수 있게 됩니다. 다음과 같이 demo 유저가 다음과 같이 demo 프로젝트에 속해 게다가 admin 역할이 부여되고 있는 경우 인스턴스가 전부 나옵니다.
$ keystone user-role-list --user demo --tenant demo
+----------------------------------+----------+----------------------------------+----------------------------------+
| id | name | user_id | tenant_id |
+----------------------------------+----------+----------------------------------+----------------------------------+
| 9fe2ff9ee4384b1894a90878d3e92bab | _member_ | f5cbc36f60d444c7be205c5f0123e3e1 | 4a691247c8e74e2f9018af3ffaa18704 |
| 429ab12a59814167ba40be6662dbe24a | admin | f5cbc36f60d444c7be205c5f0123e3e1 | 4a691247c8e74e2f9018af3ffaa18704 |
+----------------------------------+----------+----------------------------------+----------------------------------+
호라네↓
$ nova --os-username demo --os-tenant-name demo list --all-tenants
+--------------------------------------+-------+--------+------------+-------------+--------------------------------------------+
| ID | Name | Status | Task State | Power State | Networks |
+--------------------------------------+-------+--------+------------+-------------+--------------------------------------------+
| 1ae3b891-b218-4926-acb0-8a6acb2cbd42 |X | ACTIVE | - | Running | XXXX01-LOCALNET=10.100.0.150, 172.24.4.230 |
| a488a7b8-24b0-41a0-86aa-74f2efdf8305 | test | ERROR | - | NOSTATE | private=10.0.0.3 |
| 9e5703a5-a16c-4666-9d67-0ef75eb6b89d | test1 | ACTIVE | - | Running | TEST1-LOCALNET=10.100.0.150, 172.24.4.238 |
+--------------------------------------+-------+--------+------------+-------------+--------------------------------------------+
그러나, TEST1 테넌트를 지정하면 TEST1 테넌트에서는 demo 유저는 admin 롤이 없기 때문에 TEST1 의 인스턴스 밖에 낼 수 없습니다. 이것은 조금 이상한 생각이 듭니다만, 이런 것 같습니다.
$ nova --os-username demo --os-tenant-name TEST1 list --all-tenants
+--------------------------------------+-------+--------+------------+-------------+-------------------------------------------+
| ID | Name | Status | Task State | Power State | Networks |
+--------------------------------------+-------+--------+------------+-------------+-------------------------------------------+
| 9e5703a5-a16c-4666-9d67-0ef75eb6b89d | test1 | ACTIVE | - | Running | TEST1-LOCALNET=10.100.0.150, 172.24.4.238 |
+--------------------------------------+-------+--------+------------+-------------+-------------------------------------------+
그래서 --all-tenants 옵션에 대해 써 보았습니다. 내일 12/6은 효도 차코씨입니다. 잘 부탁드립니다.
Reference
이 문제에 관하여(OpenStack Users Advent Calendar 2014 12/5), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/shogos3/items/04c858665cffcccd997b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ keystone user-role-list --user demo --tenant demo
+----------------------------------+----------+----------------------------------+----------------------------------+
| id | name | user_id | tenant_id |
+----------------------------------+----------+----------------------------------+----------------------------------+
| 9fe2ff9ee4384b1894a90878d3e92bab | _member_ | f5cbc36f60d444c7be205c5f0123e3e1 | 4a691247c8e74e2f9018af3ffaa18704 |
| 429ab12a59814167ba40be6662dbe24a | admin | f5cbc36f60d444c7be205c5f0123e3e1 | 4a691247c8e74e2f9018af3ffaa18704 |
+----------------------------------+----------+----------------------------------+----------------------------------+
$ nova --os-username demo --os-tenant-name demo list --all-tenants
+--------------------------------------+-------+--------+------------+-------------+--------------------------------------------+
| ID | Name | Status | Task State | Power State | Networks |
+--------------------------------------+-------+--------+------------+-------------+--------------------------------------------+
| 1ae3b891-b218-4926-acb0-8a6acb2cbd42 |X | ACTIVE | - | Running | XXXX01-LOCALNET=10.100.0.150, 172.24.4.230 |
| a488a7b8-24b0-41a0-86aa-74f2efdf8305 | test | ERROR | - | NOSTATE | private=10.0.0.3 |
| 9e5703a5-a16c-4666-9d67-0ef75eb6b89d | test1 | ACTIVE | - | Running | TEST1-LOCALNET=10.100.0.150, 172.24.4.238 |
+--------------------------------------+-------+--------+------------+-------------+--------------------------------------------+
$ nova --os-username demo --os-tenant-name TEST1 list --all-tenants
+--------------------------------------+-------+--------+------------+-------------+-------------------------------------------+
| ID | Name | Status | Task State | Power State | Networks |
+--------------------------------------+-------+--------+------------+-------------+-------------------------------------------+
| 9e5703a5-a16c-4666-9d67-0ef75eb6b89d | test1 | ACTIVE | - | Running | TEST1-LOCALNET=10.100.0.150, 172.24.4.238 |
+--------------------------------------+-------+--------+------------+-------------+-------------------------------------------+
Reference
이 문제에 관하여(OpenStack Users Advent Calendar 2014 12/5), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/shogos3/items/04c858665cffcccd997b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)