[openstack] nova cli 공부

Cloud 2017. 10. 13. 15:57

현재 테넌트의 목록을 본다.


$ nova list


테넌트에서 사용할 수 있는 flavor를 선택한다. 


$ nova flavor-list

+--------------------------------------+--------------------------------+-----------+------+-----------+------+-------+-------------+-----------+

| ID                                   | Name                           | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public |

+--------------------------------------+--------------------------------+-----------+------+-----------+------+-------+-------------+-----------+

| 0f485230-0e9e-47ec-8291-cdd68fb7d3a9 | m1.small                       | 1024      | 50   | 0         |      | 1     | 1.0         | True      |

| 0fdf9fff-fdba-4176-9855-b819211fdd80 | m1.medium                      | 4096      | 50   | 0         |      | 4     | 1.0         | True      |

..

+--------------------------------------+--------------------------------+-----------+------+-----------+------+-------+-------------+-----------+



새로운 가상 장비를 생성한다.


$ nova boot myserver --image ubuntu-16.04 --flavor m1.medium




새로 생성한 서버를 본다. 


 $ nova show myserver

+--------------------------------------+----------------------------------------------------------+

| Property                             | Value                                                    |

+--------------------------------------+----------------------------------------------------------+

| OS-DCF:diskConfig                    | MANUAL                                                   |

| OS-EXT-AZ:availability_zone          |                                                          |

| OS-EXT-SRV-ATTR:host                 |                                                          |

| OS-EXT-SRV-ATTR:hypervisor_hostname  |                                                          |

| OS-EXT-SRV-ATTR:instance_name        |                                                          |

| OS-EXT-STS:power_state               | 1                                                        |

| OS-EXT-STS:task_state                | -                                                        |

| OS-EXT-STS:vm_state                  | active                                                   |

| OS-SRV-USG:launched_at               | 2017-10-13T16:37:01.000000                               |

| OS-SRV-USG:terminated_at             | -   

| id                                   | 8c09a701-e2ed-4882-a4dd-4c6ac3fd5587                    |

...                                              |

+--------------------------------------+----------------------------------------------------------+


현재 테넌트의 인스턴스 목록 중 새로 만든 vm 장비를 확인한다.


$ nova list | grep myserver

| 667ad7ab-c488-4d93-9c49-12cbc5678ace | myserver             | ACTIVE | -          | Running     | .. |



myserver vm 장비를 삭제한다.


$ nova delete myserver

Request to delete server myserver has been accepted.



전체 테먼트를 본다.



$ nova list --all-tenants 

+----+------+-----------+--------+------------+-------------+----------+

| ID | Name | Tenant ID | Status | Task State | Power State | Networks |

+----+------+-----------+--------+------------+-------------+----------+

...

+----+------+-----------+--------+------------+-------------+----------+


전체 테넌트 중 특정 테넌트를 살펴본다. 알아서 패턴매칭한다.




$ nova list --all-tenants --name samuel.kim

+----+------+-----------+--------+------------+-------------+----------+

| ID | Name | Tenant ID | Status | Task State | Power State | Networks |

+----+------+-----------+--------+------------+-------------+----------+

...

+----+------+-----------+--------+------------+-------------+----------+



 

 전체 테넌트 목록 보기.

$ keystone tenant-list

+----------------------------------+-------------------------------------------------+---------+

|                id                |                       name                      | enabled |

+----------------------------------+-------------------------------------------------+---------+

| 5bb41814075847989d9d1d0988290091 |                   test_test_t                   |   True  |

....




테넌트 목록에서 인스턴스가 속한 테넌트를 본다.


$ keystone tenant-list | grep 9949006f512f49c8baed5b89aa902924

| 9949006f512f49c8baed5b89aa902924 |                    samuel.kim                   |   True  |




콘솔 로그를 본다.

 

$ nova console-log 8c09a701-e2ed-4882-a4dd-4c6ac3fd5587  | tail

[   91.616224] rc.local[2369]: Selecting previously unselected package python-six.

[   91.624910] rc.local[2369]: Preparing to unpack .../python-six_1.10.0-3_all.deb ...

 ..



재시작한다. 


$ nova reboot 8c09a701-e2ed-4882-a4dd-4c6ac3fd5587

Request to reboot server <Server: myserver> has been accepted.



모르면 nova help 실행하기.



참조

https://docs.openstack.org/python-openstackclient/latest/

https://docs.openstack.org/python-novaclient/pike/cli/nova.html



예를 들어 available zone을 보려면 다음을 참고해서 실행한다. 

https://docs.openstack.org/python-openstackclient/latest/cli/command-objects/availability-zone.html#availability-zone-list




$ openstack availability zone list




커맨드 실패시 다음과 같은 디버그 옵션을 줄 수 있다. 


nova --debug xxxx


Posted by 김용환 '김용환'

댓글을 달아 주세요