Package: endoscopie
IntroductionEndoscopie는 OS 이미지로 생성된 Virtual Machine(이하 VM)의 기본 동작을 테스트하는 도구입니다.endoscopie는 내시경을 의미(endoscopy)하는 단어로 VM 내부를 들여다보고(?) 검사하는 도구InstallationRequirementspython>= 3.9, < 4.0terraformInstall TerraformCentOS/RHELInstallyum-utilspackage$sudoyuminstall-yyum-utilsAdd yum repository$sudoyum-config-manager--add-repohttps://rpm.releases.hashicorp.com/RHEL/hashicorp.repoConfirm repository is added$sudodnfrepolist
repoidreponame
hashicorpHashicorpStable-x86_64Installterraform$sudoyum-yinstallterraformUbuntu/DebianYou will use these packages to verify HashiCorp's GPG signature and install HashiCorp's Debian package repository.$sudoapt-getupdate&&sudoapt-getinstall-ygnupgsoftware-properties-commonInstall the HashCorpGPG key$wget-O-https://apt.releases.hashicorp.com/gpg|gpg--dearmor|\sudotee/usr/share/keyrings/hashicorp-archive-keyring.gpgVerify the key's fingerprint$gpg--no-default-keyring--keyring/usr/share/keyrings/hashicorp-archive-keyring.gpg--fingerprintAdd the official HashiCorp repository to your system.$echo"deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] \https://apt.releases.hashicorp.com$(lsb_release-cs)main"|\sudotee/etc/apt/sources.list.d/hashicorp.listDownload the package information from HashiCorp.$sudoaptupdateInstall Terraform from the new repository$sudoapt-get-yinstallterraformOS XFirst, install the HashiCorp tap, a repository of all our Homebrew packages.$brewtaphashicorp/tapNow, install Terraform withhashicorp/tap/terraform.$brewinstallhashicorp/tap/terraformTo update to the latest version of Terraform, first update Homebrew.$brewupdateThen, run theupgradecommand to download and use the latest Terraform version.$brewupgradehashicorp/tap/terraformVerify the installationVerify that the installation worked by opening a new terminal session and listing Terraform's available subcommands.$terraform--help
Usage:terraform[globaloptions]<subcommand>[args]Theavailablecommandsforexecutionarelistedbelow.
Theprimaryworkflowcommandsaregivenfirst,followedby
lesscommonormoreadvancedcommands....Install Endoscopie$pipinstallendoscopie==0.1.0Test Configurationendoscopie로 테스트를 수행할 때, OS 이미지에 대한 정보와 더불어 VM이 생성된 후 의도한 대로 동작하고 있는지를 확인할 수 있는 정보들도 제공해야 합니다.
아래에 테스트 실행을 위한 필수 필드와 검증해야할 정보들을 보여주는.yaml파일 예시가 있습니다.openstack:OS_REGION_NAME:# region name (ex: kr-central-1)OS_AUTH_URL:# openstack auth urlOS_AUTH_TYPE:# v3applicationcredentialOS_APPLICATION_CREDENTIAL_ID:# openstack application credential idOS_APPLICATION_CREDENTIAL_SECRET:# openstack application credential secretbastionHost:ip:# Bastion host ip(v4)user:# OS login usernamekeypair:name:# keypair file name for bastion hostpath:# keypair file path for bastion hostinstance:keypair:name:# keypair file name for new instancespath:# keyapir file path for new instancesdescription:vpc:id:# user vpc idsubnet:# user vpc subnet idsecurityGroups:-# security groupsimages:-id:# OS image idname:# OS image name (ex: Ubuntu 18.04)osType:# type of os name (ex: ubuntu, centos, rocky, or almalinux)osVersion:# OS versionosUser:# OS username (for login user)volumeSize:# root volume size (ex: 100) GiBflavors:-name:# flavor nameid:# flavor iduserScript:path:assertThat:resources:-vCPU:memory:volume:processes:-# running processe(s)ports:-# opened port(s)...Description위에 예시로 제시된 필드 대부분은 필수 필드이며, 생각 가능한 경우 별도 표시openstack: 테스트 수행 환경의 사용자 인증 정보 설정bastionHost: 사설망에 생성되는 VM에 접속하기 위한 bastion host 정보 설정instance: 생성되는 VM에 공통적으로 적용되는 정보 설정images: 테스트할 이미지와 플레이버 정보, 생성된 VM 검사를 위한 조건 설정flavors: 여러개의 플레이버 정보를 설정 가능assertThat.resources:flavors에 설정한 개수와 순서대로 설정UsageTo get a list of basic options and switches use:$endoscopie--helpUsage:endoscopie[OPTIONS]COMMAND[ARGS]...

╭─Options────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│--install-completion[bash|zsh|fish|powershell|pwsh]Installcompletionforthespecifiedshell.[default:None]│
│--show-completion[bash|zsh|fish|powershell|pwsh]Showcompletionforthespecifiedshell,tocopyitorcustomizetheinstallation.[default:None]│
│--helpShowthismessageandexit.│
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─Commands───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│cleanup│
│run│
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯Commandrun$endoscopierun--helpUsage:endoscopierun[OPTIONS]╭─Options────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│*--configPATHSetYAMLfileinwhichthedatasrequiredforimageverify.[default:None][required]│
│--helpShowthismessageandexit.│
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯Commandcleanup$endoscopiecleanup--helpUsage:endoscopiecleanup[OPTIONS]╭─Options────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│--helpShowthismessageandexit.│
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯