Cb-tumblebug: Register existing CSP resources to CB-TB obj management

Created on 3 Nov 2021  Β·  5Comments  Β·  Source: cloud-barista/cb-tumblebug

What would you like to be added

CSP에 이미 μ‘΄μž¬ν•˜λŠ” μžμ›(VM, Net, Subnet, SG, KEY, ...)을 μ‘°νšŒν•˜μ—¬

CB-TB 였브젝트둜 μ •μ˜λ˜μ–΄ μžˆμ§€ μ•Šμ€ 경우, CB-TB 였브젝트둜 등둝

μ΄λ•Œ μ‹€μ œ μžμ› 생성을 ν•˜μ§€ μ•Šκ³ , CB-SPμ—μ„œ μ œκ³΅ν•˜λŠ” 정보 등둝 κΈ°λŠ₯을 ν†΅ν•΄μ„œ μ •λ³΄λ§Œ 등둝.

(μ΄λ ‡κ²Œ μƒμ„±λœ CB-TB μ˜€λΈŒμ νŠΈμ—λŠ” ν•΄λ‹Ή μ˜€λΈŒμ νŠΈκ°€ 직접 생성 및 κ΄€λ¦¬ν•˜λŠ” μ˜€λΈŒμ νŠΈκ°€ μ•„λ‹ˆλΌ, κΈ°μ‘΄ μžμ›μ„ ν†΅ν•΄μ„œ λ“±λ‘λœ κ²ƒμž„μ„ ν‘œμ‹œ)

Why is this needed

CB-TB λ₯Ό μ‚¬μš©ν•  λ•Œ,

  • CSP의 계정을 μ—¬λŸ¬μ‚¬λžŒμ΄ ν™œμš©ν•˜μ—¬ κ°œλ°œν•˜λŠ” 경우
  • 였λ₯˜μ— μ˜ν•΄μ„œ 메타데이터λ₯Ό μœ μ‹€ν•œ 경우
  • CB-SP와 메타데이터 싱크에 λ¬Έμ œκ°€ 생긴 경우

CSP μ½˜μ†”μ— λ“€μ–΄κ°€μ„œ 꼬인 μžμ›μ„ μ •λ¦¬ν•΄μ€˜μ•Ό ν•˜λŠ” 상황이 κ°„ν˜Ή λ°œμƒν•©λ‹ˆλ‹€.

이λ₯Ό CB-TB 관리 κΈ°λŠ₯듀을 ν™œμš©ν•˜μ—¬, 정리할 수 μžˆλ„λ‘ μ²˜λ¦¬ν•˜κΈ° μœ„ν•œ ν”Όμ³μž…λ‹ˆλ‹€.

help wanted feature request

All 5 comments

[Spider ν˜„ν™©]
Spider에 ν•΄λ‹Ή κΈ°λŠ₯이 μΆ”κ°€λ˜μ—ˆμŒ

[κ³ λ € 사항]
CSP에 μžˆλŠ” μžμ›μ΄
[SPμ—λŠ” λ“±λ‘λ˜μ§€ μ•Šκ³  TBμ—λ§Œ λ“±λ‘λ˜λ©΄] μ†Œμš©μ΄ μ—†μŒ

[REST API μ•ˆ]

  • CSP에 μžˆλŠ” μžμ›μ΄ SP, TB λͺ¨λ‘μ— λ“±λ‘λ˜μ–΄ μžˆμ§€ μ•Šμ•„μ„œ SP, TB 에 ν•œκΊΌλ²ˆμ— λ“±λ‘ν•˜λŠ” API

    • /ns/{nsId}/resources/registerVNet?spider=too

    • /ns/{nsId}/resources/registerVNet?spider=also

    • ...

  • CSP에 μžˆλŠ” μžμ›μ΄ SPμ—λŠ” 이미 λ“±λ‘λ˜μ–΄ μžˆμ–΄μ„œ TBμ—λ§Œ λ“±λ‘ν•˜λŠ” API

    • /ns/{nsId}/resources/registerVNet?spider=no

    • /ns/{nsId}/resources/registerVNet?spider=already

    • /ns/{nsId}/resources/registerVNet

    • ...

g.POST("/:nsId/resources/registerVNet", rest_mcir.RestRegisterVNet)

[둜직 (μ•ˆ)]

  • λ¨Όμ € SP에도 λ“±λ‘ν•˜λŠ” 경우

    1. TBκ°€ SP API ν˜ΈμΆœν•˜μ—¬ SP에 등둝

    2. TBκ°€ SP API ν˜ΈμΆœν•˜μ—¬ Get object

    3. Get object의 응닡 (SP object의 상세사항) 을 μ΄μš©ν•˜μ—¬ TB object둜 등둝

  • TBμ—λ§Œ λ“±λ‘ν•˜λŠ” 경우

    1. TBκ°€ SP API ν˜ΈμΆœν•˜μ—¬ Get object

    2. Get object의 응닡 (SP object의 상세사항) 을 μ΄μš©ν•˜μ—¬ TB object둜 등둝

  • 각 μžμ› λ³„λ‘œ λ‹€μˆ˜μ˜ 등둝 API λ³΄λ‹€λŠ”, connectionConfig (region) λ‹¨μœ„λ‘œ CSP의 λͺ¨λ“  μžμ› (VM, vNet, sunet, SG, SSHKey λ“±) λ“±λ‘ν•˜λŠ” APIκ°€ ν•˜λ‚˜ μžˆλŠ” 것이 쒋을 것 κ°™μŠ΅λ‹ˆλ‹€. (APIκ°€ λ„ˆλ¬΄ λ§Žμ•„μ§€λ©΄ λ³΅μž‘ν•  것 κ°™μ•„μš”)

    1. SP에 있고 TBμ—λŠ” μ—†λŠ” 였브젝트λ₯Ό 쑰회 및 λΉ„κ΅ν•˜μ—¬ TB에 정보가 μ—†λŠ” 경우, TB 였브젝트둜 μž¬λ“±λ‘
    2. SP, TB λͺ¨λ‘μ— μ—†λŠ” 경우, TBμ—μ„œ 였브젝트λ₯Ό μƒμ„±ν•˜λ©°, SP에도 μ—°κ³„ν•˜μ—¬ 정보 등둝

      • μ΄λŸ¬ν•œ 상황을 각 μ˜€λΈŒμ νŠΈμ— κΈ°μž…ν•΄λ‘˜ 수 있으면 쒋을 것 κ°™κΈ΄ν•œλ„€μš”. (예λ₯Ό λ“€λ©΄ - "이 μ˜€λΈŒμ νŠΈλŠ” TBκ°€ 직접 λ§Œλ“  것이 μ•„λ‹ˆλΌ~ CSP에 있던 것을 μž¬λ“±λ‘ν•œ 것" 을 μ˜λ―Έν•˜λ„λ‘ labeling?)

      • VM의 κ²½μš°μ—λŠ” MCIS의 ꡬ성을 μ•Œ 수 μ—†κΈ° λ•Œλ¬Έμ— μ•„λ§ˆλ„ VM ν•˜λ‚˜λ₯Ό MCIS ν•˜λ‚˜μ˜ μ˜€ν”„μ νŠΈμ— λ„£μ–΄μ•Όκ² λ„€μš”.

      • VM의 연계 μžμ› μ˜€λΈŒμ νŠΈλŠ”.. λ‹Ήμž₯μ—λŠ” μž„μ‹œκ°’? 을 λ„£μ–΄μ•Όν•˜μ§€ μ•Šμ„κΉŒ μ‹ΆμŠ΅λ‹ˆλ‹€. μ§€κΈˆ μžˆλŠ” κΈ°λŠ₯으둜 μžμ›κ°„μ˜ μ—°κ΄€ 관계λ₯Ό μΆ”μ ν•˜κΈ°κ°€ 쉽지 μ•Šμ„κ±°μ˜ˆμš”.

μ•„λ§ˆλ„ μ²˜μŒμ— μ™„λ²½ν•˜κ²Œ κ΅¬ν˜„ν•˜κΈ°λŠ” 쉽지 μ•Šμ„ 것 κ°™μŠ΅λ‹ˆλ‹€..^^
(μžμ›κ°„μ˜ μ˜μ‘΄μ„± λ“±, λ‹¨μˆœ 정보 λ“±λ‘μœΌλ‘œ μ²˜λ¦¬λ˜μ§€ μ•ŠλŠ” ν•­λͺ©λ“€ λ°œμƒ κ°€λŠ₯)

λͺ¨λ“  것이 잘되면 μ’‹κ² μ§€λ§Œ, μ €λŠ” λŒ€λž΅, κΈ°μ‘΄ CSP에 μžˆλŠ” μžμ›μ— λŒ€ν•œ μ‚­μ œλΌλ„ TBμ—μ„œ κ°€λŠ₯ν•˜λ„λ‘ μ²˜λ¦¬ν•  수 있으면 μ’‹μ§€ μ•Šμ„κΉŒ.. μƒκ°ν•©λ‹ˆλ‹€.

λ”°λΌμ„œ 1μ°¨μ μœΌλ‘œλŠ” μžμ›μ˜ 연관관계λ₯Ό λͺ¨λ‘ κ³ λ €ν•œ 등둝 방법 λ³΄λ‹€λŠ”
μ‚­μ œλΌλ„ κ°€λŠ₯ν•˜λ„λ‘ ν•˜λŠ” λͺ©ν‘œλ₯Ό κ°€μ§€λ©΄ μ–΄λ–¨κΉŒ μ‹ΆμŠ΅λ‹ˆλ‹€.

[SSH Key]
TB => SP => CSP 에 SSH Key 생성 ν›„
TB, SP 에 SSH Key objectλ₯Ό Get ν•΄ 보면..

[Spider] (Private keyλ₯Ό 보여주지 μ•ŠμŒ)

{
  "IId": {
    "NameId": "ns01-aws-ap-southeast-1-jhseo",
    "SystemId": "ns01-aws--c7ijfpt6qs80d3kb68kg"
  },
  "Fingerprint": "96:14:45:b5:09:1d:94:fd:67:cc:d1:e6:e4:51:e6:58:80:ce:f1:a7",
  "PublicKey": "",
  "PrivateKey": "",
  "VMUserID": "",
  "KeyValueList": []
}

[Tumblebug] (Private key도 λ³΄μ—¬μ€Œ)

{
  "id": "aws-ap-southeast-1-jhseo",
  "name": "aws-ap-southeast-1-jhseo",
  "connectionName": "aws-ap-southeast-1",
  "description": "",
  "cspSshKeyName": "ns01-aws-ap-southeast-1-jhseo",
  "fingerprint": "96:14:45:b5:09:1d:94:fd:67:cc:d1:e6:e4:51:e6:58:80:ce:f1:a7",
  "username": "",
  "verifiedUsername": "",
  "publicKey": "",
  "privateKey": "-----BEGIN RSA PRIVATE KEY-----\nMIIE...bAJQ==\n-----END RSA PRIVATE KEY-----",
  "keyValueList": [
    {
      "Key": "KeyMaterial",
      "Value": "-----BEGIN RSA PRIVATE KEY-----\nMIIE...bAJQ==\n-----END RSA PRIVATE KEY-----"
    }
  ],
  "associatedObjectList": [],
  "isAutoGenerated": false
}

@jihoon-seo VM에 SSHν•˜λŠ” 데 ꡬ멍이 λ°œμƒν•˜κ² κ΅°μš© ^^

Was this page helpful?
0 / 5 - 0 ratings