Skip to content

seokk/cloud-barista

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

30 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Cloud-Barista

The Multi-Cloud Service Platform.

Cloub-Barista consists of multiple frameworks (sub-systems) to accommodate microservice architecture (MSA).

Main frameworks are as follow,

  1. CB-Spider (connects all clouds in a single interface)
  2. CB-Tumblebug (manages multi-cloud resource and provides multi-cloud infra services)
  3. CB-Tumblebug/cb-milkyway (CB-Tumblebug benchmark agent)
  4. CB-Dragonfly (monitors multi-cloud service)
  5. CB-Waterstrider/cb-webtool (provides a GUI to Cloud-Barista users)
  6. CB-Bridge/cb-operator (operation tool for Cloud-Barista system runtime)
  7. CB-Bridge/cb-store (provides an unified DB interface for meta info of Cloud-Barista)
  8. CB-Bridge/cb-log (provides log system)

The frameworks are listed in the root directory.

[NOTE]
Cloub-Barista is currently under development. (the latest version is 0.2.0-cappuccino)
So, we do not recommend using the current release in production.
Please note that the functionalities of Cloub-Barista are not stable and secure yet.
If you have any difficulties in using Cloub-Barista, please let us know.
(Open an issue or Join the Cloub-Barista Slack)

[λͺ© μ°¨]

  1. μ„€μΉ˜ ν™˜κ²½
  2. μ„€μΉ˜ 및 μ‹€ν–‰
  3. API 및 λ¬Έμ„œ
  4. 특이 사항
  5. μ‚¬μš© 방법 및 μ˜ˆμ‹œ

[μ„€μΉ˜ ν™˜κ²½]

  • λ¦¬λˆ…μŠ€(κ²€μ¦μ‹œν—˜: Ubuntu 18.04)

[μ„€μΉ˜ 및 μ‹€ν–‰]

[API 및 λ¬Έμ„œ]

[특이 사항]

  • κ°œλ°œμƒνƒœ: 초기 κΈ°λŠ₯ 쀑심 개발 좔진 쀑 / 기술 개발용 / μƒμš© ν™œμš©μ‹œ λ³΄μ™„ν•„μš”
  • CSP별 연동 검증 μƒνƒœ
    • CB-Tumblebug κΈ°μ€€ ν…ŒμŠ€νŠΈ μ™„λ£Œλœ CSPλŠ” AWS, GCP, Azure, Alibaba μž„
    • ν˜„μž¬λŠ” 개발 λ‹¨κ³„μ˜ λ²„μ „μ΄λ―€λ‘œ μ•ˆμ •μ„±μ—λŠ” λ¬Έμ œκ°€ λ°œμƒν•  수 있음

[μ‚¬μš© 방법 및 μ˜ˆμ‹œ]

[μ‚¬μš© 방법 1] 각 FW의 REST APIλ₯Ό ν†΅ν•œ 운용

[μ‚¬μš© 방법 2] CB-Tumblebug ν…ŒμŠ€νŠΈ 슀크립트λ₯Ό ν†΅ν•œ 운용

  • cloud-barista/cb-tumblebug/test/official/
    • ν΄λΌμš°λ“œ 인증 정보, ν…ŒμŠ€νŠΈ κΈ°λ³Έ 정보 μž…λ ₯
    • κ°œλ³„ μˆ˜λ™ μ œμ–΄: ν΄λΌμš°λ“œμ •λ³΄, Namespace, MCIR, MCIS λ“± μ œμ–΄ (κ°œλ³„ μ‹œν—˜μ‹œ, μ˜€λΈŒμ νŠΈλ“€μ˜ μ˜μ‘΄μ„± κ³ λ € ν•„μš”))
    • 톡합 μžλ™ μ œμ–΄: μ˜μ‘΄μ„±μ„ κ³ λ €ν•œ μžλ™ 톡합 μ œμ–΄ (μΆ”μ²œ ν…ŒμŠ€νŠΈ 방법)

1) ν΄λΌμš°λ“œ 인증 정보, ν…ŒμŠ€νŠΈ κΈ°λ³Έ 정보 μž…λ ₯

  • cloud-barista/cb-tumblebug/test/official/ 이동
  • credentials.conf # Cloud 정보 등둝을 μœ„ν•œ CSP별 인증정보 (μ‚¬μš©μžμ— 맞게 μˆ˜μ • ν•„μš”)
    • 기본적인 ν΄λΌμš°λ“œ νƒ€μž… (AWS, GCP, AZURE, ALIBABA)에 λŒ€ν•΄ ν…œν”Œλ¦Ώ 제곡
  • conf.env # CB-Spider 및 Tumblebug μ„œλ²„ μœ„μΉ˜, ν΄λΌμš°λ“œ 리젼, ν…ŒμŠ€νŠΈμš© 이미지λͺ…, ν…ŒμŠ€νŠΈμš© 슀팩λͺ… λ“± ν…ŒμŠ€νŠΈ κΈ°λ³Έ 정보 제곡
    • νŠΉλ³„ν•œ 상황이 μ•„λ‹ˆλ©΄ μˆ˜μ •μ΄ λΆˆν•„μš”ν•¨. (CB-Spider와 CB-TB의 μœ„μΉ˜κ°€ localhostκ°€ μ•„λ‹Œ 경우 μˆ˜μ • ν•„μš”)
    • ν΄λΌμš°λ“œ νƒ€μž…(CSP)별 μ•½ 1~3개의 κΈ°λ³Έ 리전이 μž…λ ₯λ˜μ–΄ 있음
      • 이미지와 μŠ€νŒ©μ€ 리전에 μ˜μ‘΄μ„±μ΄ μžˆλŠ” κ²½μš°κ°€ λ§ŽμœΌλ―€λ‘œ, λ¦¬μ „λ³„λ‘œ 지정이 ν•„μš”

2) κ°œλ³„ μˆ˜λ™ μ œμ–΄ λ˜λŠ” 톡합 μžλ™ μ œμ–΄

[κ°œλ³„ μˆ˜λ™ μ œμ–΄] ν΄λΌμš°λ“œμ •λ³΄, Namespace, MCIR, MCIS λ“± κ°œλ³„ μ œμ–΄
  • μ œμ–΄ν•˜κ³  싢은 λ¦¬μ†ŒμŠ€ μ˜€λΈŒμ νŠΈμ— λŒ€ν•΄, ν•΄λ‹Ή λ””λ ‰ν† λ¦¬λ‘œ μ΄λ™ν•˜μ—¬ ν•„μš”ν•œ μ œμ–΄ μˆ˜ν–‰
    • μ˜€λΈŒμ νŠΈλŠ” μ„œλ‘œ μ˜μ‘΄μ„±μ΄ μžˆμœΌλ―€λ‘œ, 번호λ₯Ό μ°Έκ³ ν•˜μ—¬ μ˜€λ¦„μ°¨μˆœμœΌλ‘œ μˆ˜ν–‰ν•˜λŠ” 것이 λ°”λžŒμ§ν•¨
      • 0.settingSpider # ν΄λΌμš°λ“œ 정보 등둝 κ΄€λ ¨ 슀크립트 λͺ¨μŒ
      • 0.settingTB # λ„€μž„μŠ€νŽ˜μ΄μŠ€ κ΄€λ ¨ 슀크립트 λͺ¨μŒ
      • 1.vNet # MCIR vNet 생성 κ΄€λ ¨ 슀크립트 λͺ¨μŒ
      • 2.securityGroup # MCIR securityGroup 생성 κ΄€λ ¨ 슀크립트 λͺ¨μŒ
      • 3.sshKey # MCIR sshKey 생성 κ΄€λ ¨ 슀크립트 λͺ¨μŒ
      • 4.image # MCIR image 등둝 κ΄€λ ¨ 슀크립트 λͺ¨μŒ
      • 5.spec # MCIR spec 등둝 κ΄€λ ¨ 슀크립트 λͺ¨μŒ
      • 6.mcis # MCIS 생성 및 μ œμ–΄ κ΄€λ ¨ 슀크립트 λͺ¨μŒ
[톡합 μžλ™ μ œμ–΄] μ˜μ‘΄μ„±μ„ κ³ λ €ν•œ μžλ™ 톡합 μ œμ–΄ (μΆ”μ²œ ν…ŒμŠ€νŠΈ 방법)
└── sequentialFullTest  # Cloud 정보 등둝, NS 생성, MCIR 생성, MCIS μƒμ„±κΉŒμ§€ ν•œλ²ˆμ— μžλ™ ν…ŒμŠ€νŠΈ
    β”œβ”€β”€ cleanAll-mcis-mcir-ns-cloud.sh  # λͺ¨λ“  였브젝트 μ—­μœΌλ‘œ μ œμ–΄
    β”œβ”€β”€ command-mcis.sh  # μƒμ„±λœ MCIS(닀쀑VM)에 원격 λͺ…λ Ή μˆ˜ν–‰
    β”œβ”€β”€ deploy-nginx-mcis.sh  # μƒμ„±λœ MCIS(닀쀑VM)에 Nginx μžλ™ 배포
    β”œβ”€β”€ executionStatus  # μˆ˜ν–‰μ΄ μ§„ν–‰λœ ν…ŒμŠ€νŠΈ 둜그 (testAll μˆ˜ν–‰μ‹œ 정보가 μΆ”κ°€λ˜λ©°, cleanAll μˆ˜ν–‰μ‹œ 정보가 제거됨)
    β”œβ”€β”€ testAll-mcis-mcir-ns-cloud.sh  # Cloud 정보 등둝, NS 생성, MCIR 생성, MCIS μƒμ„±κΉŒμ§€ ν•œλ²ˆμ— μžλ™ ν…ŒμŠ€νŠΈ
    β”œβ”€β”€ test-cloud.sh
    β”œβ”€β”€ test-mcir-ns-cloud.sh
    └── test-ns-cloud.sh
  • μ‚¬μš© μ˜ˆμ‹œ
    • 생성 ν…ŒμŠ€νŠΈ
      • ./testAll-mcis-mcir-ns-cloud.sh aws 1 shson # aws의 1번 리전에 shsonμ΄λΌλŠ” 개발자λͺ…μœΌλ‘œ ν…ŒμŠ€νŠΈ μˆ˜ν–‰
      • ./testAll-mcis-mcir-ns-cloud.sh aws 2 shson # aws의 2번 리전에 shsonμ΄λΌλŠ” 개발자λͺ…μœΌλ‘œ ν…ŒμŠ€νŠΈ μˆ˜ν–‰
      • ./testAll-mcis-mcir-ns-cloud.sh aws 3 shson # aws의 3번 리전에 shsonμ΄λΌλŠ” 개발자λͺ…μœΌλ‘œ ν…ŒμŠ€νŠΈ μˆ˜ν–‰
      • ./testAll-mcis-mcir-ns-cloud.sh gcp 1 shson # gcp의 1번 리전에 shsonμ΄λΌλŠ” 개발자λͺ…μœΌλ‘œ ν…ŒμŠ€νŠΈ μˆ˜ν–‰
      • ./testAll-mcis-mcir-ns-cloud.sh gcp 2 shson # gcp의 2번 리전에 shsonμ΄λΌλŠ” 개발자λͺ…μœΌλ‘œ ν…ŒμŠ€νŠΈ μˆ˜ν–‰
      • ./testAll-mcis-mcir-ns-cloud.sh azure 1 shson # azure의 1번 리전에 shsonμ΄λΌλŠ” 개발자λͺ…μœΌλ‘œ ν…ŒμŠ€νŠΈ μˆ˜ν–‰
      • ./testAll-mcis-mcir-ns-cloud.sh alibaba 1 shson # alibaba의 1번 리전에 shsonμ΄λΌλŠ” 개발자λͺ…μœΌλ‘œ ν…ŒμŠ€νŠΈ μˆ˜ν–‰
    • 제거 ν…ŒμŠ€νŠΈ (이미 μˆ˜ν–‰μ΄ μ§„ν–‰λœ ν΄λΌμš°λ“œνƒ€μž…/리전/개발자λͺ… 으둜만 μ‚­μ œ 진행이 ν•„μš”)
      • ./cleanAll-mcis-mcir-ns-cloud.sh aws 1 shson # aws의 1번 리전에 shsonμ΄λΌλŠ” 개발자λͺ…μœΌλ‘œ 제거 ν…ŒμŠ€νŠΈ μˆ˜ν–‰
      • ./cleanAll-mcis-mcir-ns-cloud.sh aws 2 shson # aws의 2번 리전에 shsonμ΄λΌλŠ” 개발자λͺ…μœΌλ‘œ 제거 ν…ŒμŠ€νŠΈ μˆ˜ν–‰
      • ./cleanAll-mcis-mcir-ns-cloud.sh aws 3 shson # aws의 3번 리전에 shsonμ΄λΌλŠ” 개발자λͺ…μœΌλ‘œ 제거 ν…ŒμŠ€νŠΈ μˆ˜ν–‰
      • ./cleanAll-mcis-mcir-ns-cloud.sh gcp 1 shson # gcp의 1번 리전에 shsonμ΄λΌλŠ” 개발자λͺ…μœΌλ‘œ 제거 ν…ŒμŠ€νŠΈ μˆ˜ν–‰
      • ./cleanAll-mcis-mcir-ns-cloud.sh gcp 2 shson # gcp의 2번 리전에 shsonμ΄λΌλŠ” 개발자λͺ…μœΌλ‘œ 제거 ν…ŒμŠ€νŠΈ μˆ˜ν–‰
      • ./cleanAll-mcis-mcir-ns-cloud.sh azure 1 shson # azure의 1번 리전에 shsonμ΄λΌλŠ” 개발자λͺ…μœΌλ‘œ 제거 ν…ŒμŠ€νŠΈ μˆ˜ν–‰
      • ./cleanAll-mcis-mcir-ns-cloud.sh alibaba 1 shson # alibaba의 1번 리전에 shsonμ΄λΌλŠ” 개발자λͺ…μœΌλ‘œ 제거 ν…ŒμŠ€νŠΈ μˆ˜ν–‰
μž…μΆœλ ₯ μ˜ˆμ‹œ 보기
~/go/src/github.com/cloud-barista/cb-tumblebug/test/official/sequentialFullTest$ ./testAll-mcis-mcir-ns-cloud.sh aws 1 shson
####################################################################
## Create MCIS from Zero Base
####################################################################
[Test for AWS]
####################################################################
## 0. Create Cloud Connction Config
####################################################################
[Test for AWS]
{
   "ProviderName" : "AWS",
   "DriverLibFileName" : "aws-driver-v1.0.so",
   "DriverName" : "aws-driver01"
}
..........
   "RegionName" : "aws-us-east-1"
}
{
   "CredentialName" : "aws-credential01",
   "RegionName" : "aws-us-east-1",
   "DriverName" : "aws-driver01",
   "ConfigName" : "aws-us-east-1",
   "ProviderName" : "AWS"
}
####################################################################
## 0. Namespace: Create
####################################################################
{
   "message" : "The namespace NS-01 already exists."
}
####################################################################
## 1. vpc: Create
####################################################################
[Test for AWS]
{
   "subnetInfoList" : [
      {
         "IId" : {
            "SystemId" : "subnet-0ab25b7090afa97b7",
            "NameId" : "aws-us-east-1-shson"
         },
................
   "status" : "",
   "name" : "aws-us-east-1-shson",
   "keyValueList" : null,
   "connectionName" : "aws-us-east-1",
   "cspVNetId" : "vpc-0e3004f28e8a89057"
}
Dozing for 10 : 1 2 3 4 5 6 7 8 9 10 (Back to work)
####################################################################
## 2. SecurityGroup: Create
####################################################################
[Test for AWS]
{
   "keyValueList" : [
      {
         "Value" : "aws-us-east-1-shson-delimiter-aws-us-east-1-shson",
         "Key" : "GroupName"
      },
      {
         "Key" : "VpcID",
...........
   "name" : "aws-us-east-1-shson",
   "description" : "test description",
   "cspSecurityGroupId" : "sg-033e4b7c42671873c",
   "id" : "aws-us-east-1-shson"
}
Dozing for 10 : 1 2 3 4 5 6 7 8 9 10 (Back to work)
####################################################################
## 3. sshKey: Create
####################################################################
[Test for AWS]
{
   "name" : "aws-us-east-1-shson",
   "fingerprint" : "d2:1a:a0:6d:b3:f7:8e:b7:44:9f:13:9c:d6:e3:a8:c3:58:8c:de:27",
..............
   "id" : "aws-us-east-1-shson",
   "description" : "",
   "privateKey" : "-----BEGIN RSA PRIVATE KEY-----\nMIIEogIBAAKCAQEAopGlO3dUrB4AMcBr4XZg0OVrveecA9Hv0/a9GmxgXU5dx42YV4DwW7oq/+Dq\nPaCSXvGGtdVHuL0hoOKdGYOx89qzi+nUgNQup+pKLbQw4aU2gVbV1/3/ejt7tYRUeWNU9c4b7m7E\nfs3A0xgfmak90eoQen+TJYhkfdWcSwkmJSH61bEFRbdeyijEODCu0TAGDrtRZzdCRUzbA/N7FjsC\ns0a1C...LpszE9J0bfhLOqgmkYNGSw4oR+gPRIsipUK6SzaRH7nFnOSw=\n-----END RSA PRIVATE KEY-----",
   "username" : ""
}
####################################################################
## 4. image: Register
####################################################################
[Test for AWS]
{
   "keyValueList" : [
      {
         "Key" : "",
         "Value" : ""
      },
      {
         "Value" : "",
         "Key" : ""
      }
   ],
   "description" : "Canonical, Ubuntu, 18.04 LTS, amd64 bionic",
   "cspImageName" : "",
   "connectionName" : "aws-us-east-1",
   "status" : "",
   "creationDate" : "",
   "cspImageId" : "ami-085925f297f89fce1",
   "name" : "aws-us-east-1-shson",
   "guestOS" : "Ubuntu",
   "id" : "aws-us-east-1-shson"
}
####################################################################
## 5. spec: Register
####################################################################
[Test for AWS]
{
   "mem_MiB" : "1024",
   "max_num_storage" : "",
........
   "mem_GiB" : "1",
   "id" : "aws-us-east-1-shson",
   "num_core" : "",
   "cspSpecName" : "t2.micro",
   "storage_GiB" : "",
   "ebs_bw_Mbps" : "",
   "connectionName" : "aws-us-east-1",
   "net_bw_Gbps" : "",
   "gpu_model" : "",
   "cost_per_hour" : "",
   "name" : "aws-us-east-1-shson"
}
####################################################################
## 6. vm: Create MCIS
####################################################################
[Test for AWS]
{
   "targetAction" : "Create",
   "status" : "Running-(3/3)",
   "id" : "aws-us-east-1-shson",
   "name" : "aws-us-east-1-shson",
   "description" : "Tumblebug Demo",
   "targetStatus" : "Running",
   "placement_algo" : "",
   "vm" : [
      {
         "vmUserId" : "",
         "targetStatus" : "None",
         "subnet_id" : "aws-us-east-1-shson",
         "location" : {
            "nativeRegion" : "us-east-1",
            "cloudType" : "aws",
            "latitude" : "38.1300",
            "briefAddr" : "Virginia",
            "longitude" : "-78.4500"
         },
         "vm_access_id" : "",
         "region" : {
            "Region" : "us-east-1",
            "Zone" : "us-east-1f"
         },
         "image_id" : "aws-us-east-1-shson",
         "privateDNS" : "ip-192-168-1-108.ec2.internal",
         "vmBootDisk" : "/dev/sda1",
         "status" : "Running",
         "security_group_ids" : [
            "aws-us-east-1-shson"
         ],
         "vm_access_passwd" : "",
 .........
            "VMUserId" : "",
            "SecurityGroupIIds" : [
               {
                  "SystemId" : "sg-033e4b7c42671873c",
                  "NameId" : "aws-us-east-1-shson"
               }
            ],
            "VMBootDisk" : "/dev/sda1",
            "PrivateDNS" : "ip-192-168-1-108.ec2.internal",
            "StartTime" : "2020-05-30T18:33:42Z",
            "VMBlockDisk" : "/dev/sda1",
            "ImageIId" : {
               "SystemId" : "ami-085925f297f89fce1",
               "NameId" : "ami-085925f297f89fce1"
            }
         },
         "publicIP" : "35.173.215.4",
         "name" : "aws-us-east-1-shson-01",
         "id" : "aws-us-east-1-shson-01",
         "vnet_id" : "aws-us-east-1-shson",
         "ssh_key_id" : "aws-us-east-1-shson",
         "privateIP" : "192.168.1.108",
         "config_name" : "aws-us-east-1",
         "vmBlockDisk" : "/dev/sda1",
         "targetAction" : "None",
         "description" : "description",
         "spec_id" : "aws-us-east-1-shson",
         "publicDNS" : "",
         "vmUserPasswd" : ""
      },
      {
         "vmBlockDisk" : "/dev/sda1",
         "targetAction" : "None",
         "description" : "description",
         "spec_id" : "aws-us-east-1-shson",
         "vmUserPasswd" : "",
         ..........
      }
   ]
}
Dozing for 1 : 1 (Back to work)
####################################################################
## 6. VM: Status MCIS
####################################################################
[Test for AWS]
{
   "targetStatus" : "None",
   "id" : "aws-us-east-1-shson",
   "targetAction" : "None",
   "vm" : [
      {
         "public_ip" : "35.173.215.4",
         "native_status" : "Running",
         "csp_vm_id" : "aws-us-east-1-shson-01",
         "name" : "aws-us-east-1-shson-01",
         "status" : "Running",
         "targetAction" : "None",
         "targetStatus" : "None",
         "id" : "aws-us-east-1-shson-01"
      },
      {
         "name" : "aws-us-east-1-shson-02",
         "status" : "Running",
         "targetAction" : "None",
         "targetStatus" : "None",
         "id" : "aws-us-east-1-shson-02",
         "public_ip" : "18.206.13.233",
         "csp_vm_id" : "aws-us-east-1-shson-02",
         "native_status" : "Running"
      },
      {
         "targetAction" : "None",
         "id" : "aws-us-east-1-shson-03",
         "targetStatus" : "None",
         "name" : "aws-us-east-1-shson-03",
         "status" : "Running",
         "csp_vm_id" : "aws-us-east-1-shson-03",
         "native_status" : "Running",
         "public_ip" : "18.232.53.134"
      }
   ],
   "status" : "Running-(3/3)",
   "name" : "aws-us-east-1-shson"
}

[Logging to notify latest command history]

[Executed Command List]
[CMD] testAll-mcis-mcir-ns-cloud.sh gcp 1 shson
[CMD] testAll-mcis-mcir-ns-cloud.sh alibaba 1 shson
[CMD] testAll-mcis-mcir-ns-cloud.sh aws 1 shson

λ§ˆμ§€λ§‰μ˜ [Executed Command List] μ—λŠ” μˆ˜ν–‰ν•œ μ»€λ§¨λ“œμ˜ νžˆμŠ€ν† λ¦¬κ°€ 포함됨. (cat ./executionStatus λ₯Ό 톡해 λ‹€μ‹œ 확인 κ°€λŠ₯)

3) MCIS 기반 μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 운용 방법 및 μ΅œμ’… 검증

  • SSH 원격 μ»€λ§¨λ“œ 싀행을 ν†΅ν•΄μ„œ 접속 μ—¬λΆ€ 등을 확인 κ°€λŠ₯
    • command-mcis.sh # μƒμ„±λœ MCIS(닀쀑VM)에 원격 λͺ…λ Ή μˆ˜ν–‰
    • μ˜ˆμ‹œ: command-mcis.sh aws 1 shson # aws의 1번 리전에 배치된 MCIS의 λͺ¨λ“  VM에 IP 및 Hostname 쑰회λ₯Ό μˆ˜ν–‰
  • Nginxλ₯Ό λΆ„μ‚° λ°°μΉ˜ν•˜μ—¬, μ›Ήμ„œλ²„ 접속 μ‹œν—˜μ΄ κ°€λŠ₯
    • deploy-nginx-mcis.sh # μƒμ„±λœ MCIS(닀쀑VM)에 Nginx μžλ™ 배포
    • μ˜ˆμ‹œ: command-mcis.sh aws 1 shson # aws의 1번 리전에 배치된 MCIS의 λͺ¨λ“  VM에 Nginx 및 μ›ΉνŽ˜μ΄μ§€ μ„€μΉ˜ (접속 ν…ŒμŠ€νŠΈ κ°€λŠ₯)
      ~/go/src/github.com/cloud-barista/cb-tumblebug/test/official/sequentialFullTest$ ./deploy-nginx-mcis.sh aws 1 shson
      ####################################################################
      ## Command (SSH) to MCIS 
      ####################################################################
      [Test for AWS]
      {
        "result_array" : [
            {
              "vm_ip" : "35.173.215.4",
              "vm_id" : "aws-us-east-1-shson-01",
              "result" : "WebServer is ready. Access http://35.173.215.4",
              "mcis_id" : "aws-us-east-1-shson"
            },
            {
              "vm_ip" : "18.206.13.233",
              "vm_id" : "aws-us-east-1-shson-02",
              "result" : "WebServer is ready. Access http://18.206.13.233",
              "mcis_id" : "aws-us-east-1-shson"
            },
            {
              "mcis_id" : "aws-us-east-1-shson",
              "result" : "WebServer is ready. Access http://18.232.53.134",
              "vm_id" : "aws-us-east-1-shson-03",
              "vm_ip" : "18.232.53.134"
            }
        ]
      }
      
ν…ŒμŠ€νŠΈ 슀크립트 디렉토리 전체 Tree 보기
~/go/src/github.com/cloud-barista/cb-tumblebug/test/official$ tree
.
β”œβ”€β”€ 0.settingSpider  # ν΄λΌμš°λ“œ 정보 등둝 κ΄€λ ¨ 슀크립트 λͺ¨μŒ
β”‚Β Β  β”œβ”€β”€ get-cloud.sh
β”‚Β Β  β”œβ”€β”€ list-cloud.sh
β”‚Β Β  β”œβ”€β”€ register-cloud.sh
β”‚Β Β  └── unregister-cloud.sh
β”œβ”€β”€ 0.settingTB  # λ„€μž„μŠ€νŽ˜μ΄μŠ€ κ΄€λ ¨ 슀크립트 λͺ¨μŒ
β”‚Β Β  β”œβ”€β”€ create-ns.sh
β”‚Β Β  β”œβ”€β”€ delete-ns.sh
β”‚Β Β  β”œβ”€β”€ get-ns.sh
β”‚Β Β  └── list-ns.sh
β”œβ”€β”€ 1.vNet  # MCIR vNet 생성 κ΄€λ ¨ 슀크립트 λͺ¨μŒ
β”‚Β Β  β”œβ”€β”€ create-vNet.sh
β”‚Β Β  β”œβ”€β”€ delete-vNet.sh
β”‚Β Β  β”œβ”€β”€ get-vNet.sh
β”‚Β Β  β”œβ”€β”€ list-vNet.sh
β”‚Β Β  └── spider-get-vNet.sh
β”œβ”€β”€ 2.securityGroup  # MCIR securityGroup 생성 κ΄€λ ¨ 슀크립트 λͺ¨μŒ
β”‚Β Β  β”œβ”€β”€ create-securityGroup.sh
β”‚Β Β  β”œβ”€β”€ delete-securityGroup.sh
β”‚Β Β  β”œβ”€β”€ get-securityGroup.sh
β”‚Β Β  β”œβ”€β”€ list-securityGroup.sh
β”‚Β Β  └── spider-get-securityGroup.sh
β”œβ”€β”€ 3.sshKey  # MCIR sshKey 생성 κ΄€λ ¨ 슀크립트 λͺ¨μŒ
β”‚Β Β  β”œβ”€β”€ create-sshKey.sh
β”‚Β Β  β”œβ”€β”€ delete-sshKey.sh
β”‚Β Β  β”œβ”€β”€ get-sshKey.sh
β”‚Β Β  β”œβ”€β”€ list-sshKey.sh
β”‚Β Β  β”œβ”€β”€ spider-delete-sshKey.sh
β”‚Β Β  └── spider-get-sshKey.sh
β”œβ”€β”€ 4.image  # MCIR image 등둝 κ΄€λ ¨ 슀크립트 λͺ¨μŒ
β”‚Β Β  β”œβ”€β”€ get-image.sh
β”‚Β Β  β”œβ”€β”€ list-image.sh
β”‚Β Β  β”œβ”€β”€ register-image.sh
β”‚Β Β  └── unregister-image.sh
β”œβ”€β”€ 5.spec  # MCIR spec 등둝 κ΄€λ ¨ 슀크립트 λͺ¨μŒ
β”‚Β Β  β”œβ”€β”€ fetch-specs.sh
β”‚Β Β  β”œβ”€β”€ get-spec.sh
β”‚Β Β  β”œβ”€β”€ list-spec.sh
β”‚Β Β  β”œβ”€β”€ lookupSpecList.sh
β”‚Β Β  β”œβ”€β”€ lookupSpec.sh
β”‚Β Β  β”œβ”€β”€ register-spec.sh
β”‚Β Β  β”œβ”€β”€ spider-get-speclist.sh
β”‚Β Β  β”œβ”€β”€ spider-get-spec.sh
β”‚Β Β  └── unregister-spec.sh
β”œβ”€β”€ 6.mcis  # MCIS 생성 및 μ œμ–΄ κ΄€λ ¨ 슀크립트 λͺ¨μŒ
β”‚Β Β  β”œβ”€β”€ create-mcis.sh
β”‚Β Β  β”œβ”€β”€ get-mcis.sh
β”‚Β Β  β”œβ”€β”€ just-terminate-mcis.sh
β”‚Β Β  β”œβ”€β”€ list-mcis.sh
β”‚Β Β  β”œβ”€β”€ reboot-mcis.sh
β”‚Β Β  β”œβ”€β”€ resume-mcis.sh
β”‚Β Β  β”œβ”€β”€ spider-create-vm.sh
β”‚Β Β  β”œβ”€β”€ spider-delete-vm.sh
β”‚Β Β  β”œβ”€β”€ spider-get-vm.sh
β”‚Β Β  β”œβ”€β”€ spider-get-vmstatus.sh
β”‚Β Β  β”œβ”€β”€ status-mcis.sh
β”‚Β Β  β”œβ”€β”€ suspend-mcis.sh
β”‚Β Β  └── terminate-and-delete-mcis.sh
β”œβ”€β”€ conf.env  # CB-Spider 및 Tumblebug μ„œλ²„ μœ„μΉ˜, ν΄λΌμš°λ“œ 리젼, ν…ŒμŠ€νŠΈμš© 이미지λͺ…, ν…ŒμŠ€νŠΈμš© 슀팩λͺ… λ“± ν…ŒμŠ€νŠΈ κΈ°λ³Έ 정보 제곡
β”œβ”€β”€ credentials.conf  # Cloud 정보 등둝을 μœ„ν•œ CSP별 인증정보 (μ‚¬μš©μžμ— 맞게 μˆ˜μ • ν•„μš”)
β”œβ”€β”€ README.md
└── sequentialFullTest  # Cloud 정보 등둝, NS 생성, MCIR 생성, MCIS μƒμ„±κΉŒμ§€ ν•œλ²ˆμ— μžλ™ ν…ŒμŠ€νŠΈ
    β”œβ”€β”€ cleanAll-mcis-mcir-ns-cloud.sh  # λͺ¨λ“  였브젝트 μ—­μœΌλ‘œ μ œμ–΄
    β”œβ”€β”€ command-mcis.sh  # μƒμ„±λœ MCIS(닀쀑VM)에 원격 λͺ…λ Ή μˆ˜ν–‰
    β”œβ”€β”€ deploy-nginx-mcis.sh  # μƒμ„±λœ MCIS(닀쀑VM)에 Nginx μžλ™ 배포
    β”œβ”€β”€ executionStatus  # μˆ˜ν–‰μ΄ μ§„ν–‰λœ ν…ŒμŠ€νŠΈ 둜그 (testAll μˆ˜ν–‰μ‹œ 정보가 μΆ”κ°€λ˜λ©°, cleanAll μˆ˜ν–‰μ‹œ 정보가 제거됨)
    β”œβ”€β”€ testAll-mcis-mcir-ns-cloud.sh  # Cloud 정보 등둝, NS 생성, MCIR 생성, MCIS μƒμ„±κΉŒμ§€ ν•œλ²ˆμ— μžλ™ ν…ŒμŠ€νŠΈ
    β”œβ”€β”€ test-cloud.sh
    β”œβ”€β”€ test-mcir-ns-cloud.sh
    └── test-ns-cloud.sh

About

Multi-Cloud Service Common Framework

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 53.3%
  • HTML 18.9%
  • JavaScript 14.4%
  • Shell 11.3%
  • TypeScript 1.6%
  • CSS 0.3%
  • Other 0.2%