-
Notifications
You must be signed in to change notification settings - Fork 2
Controller API
VM Host, VM 등이 Controller와 기계적인(관리자 개입 없이) 통신하기 위한 API를 정의한다.
- Method: POST /vmhost/register
- Request: VM Host 정보를 포함한 JSON 문서
- Response: 등록 성공 여부
- roles permitted: None
- Return Codes:
200: Success403: Invalid VM Host name.412: VM Host already exists
POST /vmhost/register
Accept: application/json
{
"hostname": "kvmhost001",
"token": "token0193024832394",
"type":"kvm",
"addresses": [
{
"nic": "eth1",
"addr": "10.10.10.1"
}
}
이 함수는 Controller로부터 자신(VM Host)의 정보에 대한 등록을 요청 받고(ssh를 통해 Init Script), 자신의 정보를 Controller에 등록하는 과정이다. Controller는 고유한 token을 생성해서 Init Script에 전달하면, Init Script는 해당 token을 POST 파라미터에 포함하여 정보를 보내면 된다.
Init Script는 해당 VM Host의 종류(예: KVM), IP 주소, hostname 등을 파악해서 Controller로 전송한다. VM Host의 이름은 관리자가 UI에서 등록 시 지정한다.
응답 예제
HTTP/1.1 200 OK { "_id": "id343215325321" }
등록이 성공하면 200 응답과 함께 자신의 등록 ID를 수신한다.
- Method: POST /vm/regnfv
- Request: VM 정보를 포함한 JSON 문서
- Response: 등록 성공 여부
- roles permitted: None
- Return Codes:
- 200: Success
- 403: Invalid VM name.
- 404: No VM host
- 412: VM already exists
POST /vm/register
Accept: application/json
{
"type":"non-nfv",
"hostname":"kvmhost001",
"vmtype":"kvm",
"vendor":"vyatta",
"addresses":[
{
"nic":"eth1",
"addr":"10.10.10.1"
}
]
}
이 함수는 VM이 Controller에 의해 생성 되어 최초 기동 시, Init Script에 의해 자신의 정보를 Controller에 등록하는 과정이다. Init Script는 해당 VM의 종류(예: NFV or Non-NFV), IP 주소, hostname 등을 파악해서 Controller로 전송한다. VM의 이름은 VM Host 이름 + hostname 으로 만들어진다.
HTTP/1.1 200 OK { "_id": "id343215325321" }
등록이 성공하면 200 응답과 함께 자신의 등록 ID를 수신한다.
- Method: POST /vmhost/register
- Request: VM Host 정보를 포함한 JSON 문서
- Response: 등록 성공 여부
- roles permitted: None
- Return Codes:
- 200: Success
- 403: Invalid VM Host name.
- 412: VM Host already exists
POST /vmhost/register
Accept: application/json
{
"hostname": "kvmhost001",
"token": "token0193024832394",
"type":"kvm",
"addresses": [
{
"nic": "eth1",
"addr": "10.10.10.1"
}
}
이 함수는 Controller로부터 자신(VM Host)의 정보에 대한 등록을 요청 받고(ssh를 통해 Init Script), 자신의 정보를 Controller에 등록하는 과정이다. Controller는 고유한 token을 생성해서 Init Script에 전달하면, Init Script는 해당 token을 POST 파라미터에 포함하여 정보를 보내면 된다.
Init Script는 해당 VM Host의 종류(예: KVM), IP 주소, hostname 등을 파악해서 Controller로 전송한다. VM Host의 이름은 관리자가 UI에서 등록 시 지정한다.
HTTP/1.1 200 OK
{
"_id": "id343215325321"
}
등록이 성공하면 200 응답과 함께 자신의 등록 ID를 수신한다.
- Method: POST /vm/regnfv
- Request: VM 정보를 포함한 JSON 문서
- Response: 등록 성공 여부
- roles permitted: None
- Return Codes:
- 200: Success
- 403: Invalid VM name.
- 404: No VM host
- 412: VM already exists
POST /vm/register
Accept: application/json
{
"type":"non-nfv",
"hostname":"kvmhost001",
"vmtype":"kvm",
"vendor":"vyatta",
"addresses":[
{
"nic":"eth1",
"addr":"10.10.10.1"
}
]
}
이 함수는 VM이 Controller에 의해 생성 되어 최초 기동 시, Init Script에 의해 자신의 정보를 Controller에 등록하는 과정이다. Init Script는 해당 VM의 종류(예: NFV or Non-NFV), IP 주소, hostname 등을 파악해서 Controller로 전송한다. VM의 이름은 VM Host 이름 + hostname 으로 만들어진다.
HTTP/1.1 200 OK
{
"_id": "id343215325321"
}
등록이 성공하면 200 응답과 함께 자신의 등록 ID를 수신한다.