Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial codes to register existing CSP VM #1046

Merged
merged 1 commit into from
Mar 24, 2022

Conversation

seokho-son
Copy link
Member

MCIS 생성과 유사한 형태로 CSP 기존 VM을 등록합니다.

VM 등록을 요청할 때,
MCIS 명칭을 입력하게 되고, 해당 명칭이 없는 경우 신규 MCIS를 생성하게 되어 있습니다.
(동일 명칭의 MCIS가 기존에 있는 경우, 기존 MCIS에 추가하도록 만들어 두었으나, 정상 동작 여부의 검증은 필요)

MCIS 프로비저닝 플로우에 관련된 코드들을 함께 사용하고,
option=register 인 경우 create에서 필요한 절차들을 생략하는 형태로 코드를 구성하였습니다.

사용 방법은 아래와 같습니다.

우선, VM에 관련된 자원(vNet, SG, SSHKEY)이 미리 등록되어 있어야 합니다. (향후 개선 방안 마련 필요)

그리고 아래 API를 통해서 VM을 등록하면 됩니다.

POST ​/ns​/{nsId}​/registerCspVm

request body는 MCIS create와 거의 유사하며,
name, vm.connectionName, vm.idByCsp, vm.name 은 필수로 지정해야 하고, vmgroup 항목은 제외하여야 합니다.

나머지는 임의의 값을 넣어도 동작합니다.

요청 예시

{
  "description": "Made in CB-TB",
  "installMonAgent": "no",
  "label": "custom tag",
  "name": "mcis-test",
  "vm": [
    {
      "connectionName": "aws-ap-southeast-1",
      "description": "Description",
      "idByCsp": "i-095afa0a0b8525fa6",
      "imageId": "string",
      "label": "string",
      "name": "vm01",
      "securityGroupIds": [
        "string"
      ],
      "specId": "string",
      "sshKeyId": "string",
      "subnetId": "string",
      "vNetId": "string",
      "vmUserAccount": "string",
      "vmUserPassword": "string"
    }
  ]
}

등록된 이후, 라이프사이클 제어는 확인 완료하였습니다. (suspend, resume, reboot, terminate)

  1. POST [​/ns​/{nsId}​/resources​/sshKey]
{
  "connectionName": "aws-ap-southeast-1",
  "cspSshKeyId": "ns01-aws--c6d37c67p30lpq4g91r0",
  "description": "test",
  "fingerprint": "test",
  "name": "string",
  "privateKey": "test",
  "publicKey": "test",
  "username": "test",
  "verifiedUsername": "test"
}
  1. POST [​/ns​/{nsId}​/resources​/vNet]
{
  "connectionName": "aws-ap-southeast-1",
  "cspVNetId": "vpc-e4f4d483",
  "name": "vpc-test"
}
  1. POST [​/ns​/{nsId}​/resources​/securityGroup]
{
  "connectionName": "aws-ap-southeast-1",
  "cspSecurityGroupId": "sg-08d70e351cd3c22dd",
  "description": "string",
  "name": "test",
  "vNetId": "vpc-test"
}

@seokho-son seokho-son requested a review from jihoon-seo as a code owner March 24, 2022 08:09
@seokho-son
Copy link
Member Author

ref #918

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants