Molecule에 입문 해 보았습니다 (v3 차이 확인 편)
Molecule v3 출시
2020/02/20 Molecule v3 릴리스
이 기사에서 Molecule v2에 입문했지만
차이 확인
Changelog
중요한 변화
playbook.yml
이름은 더 이상 사용되지 않음 converge.yml
으로 v2와의 차이점 확인
작업환경
품목
버전
OS
macOS Catalina 10.15.3
쉘
fish, version 3.1.0
파이썬
3.8.0
Ansible
2.9.5
Molecule
3.0.2
molecule init로 역할의 병아리 만들기
$ mkdir roles
$ cd roles
$ molecule init role apache_vhost
--> Initializing new role apache_vhost...
Initialized role in /Users/answer_d/repos/molecule_test/roles/apache_vhost successfully.
$ cd apache_vhost
apache_vhost/
├── .travis.yml
├── .yamllint
├── README.md
├── defaults
│ └── main.yml
├── files
├── handlers
│ └── main.yml
├── meta
│ └── main.yml
├── molecule
│ └── default
│ ├── INSTALL.rst
│ ├── converge.yml
│ ├── molecule.yml
│ └── verify.yml
├── tasks
│ └── main.yml
├── templates
├── tests
│ ├── inventory
│ └── test.yml
└── vars
└── main.yml
Dockerfile.j2
를 준비하면 그쪽을 보러 간다 molecule.yml
---
dependency:
name: galaxy
driver:
name: docker
platforms:
- name: instance
image: docker.io/pycontribs/centos:7
pre_build_image: true
provisioner:
name: ansible
verifier:
name: ansible
converge.yml
---
- name: Converge
hosts: all
tasks:
- name: "Include apache_vhost"
include_role:
name: "apache_vhost"
테스트 실행해보기
molecule test
--> Test matrix
└── default
├── dependency
├── lint
├── cleanup
├── destroy
├── syntax
├── create
├── prepare
├── converge
├── idempotence
├── side_effect
├── verify
├── cleanup
└── destroy
lint
와 dependency
가 서로 바뀌 었으며 다른 사람은 v2와 함께lint
--> Action: 'lint'
--> Lint is disabled.
이 이후의 처리는 v2에서 바뀌지 않습니다!
드라이버가 다소 사라졌는지 어떻게하는지 문제
$ molecule init scenario -d ec2
Usage: molecule init scenario [OPTIONS] [SCENARIO_NAME]
Try "molecule init scenario --help" for help.
Error: Invalid value for "--driver-name" / "-d": invalid choice: ec2. (choose from delegated, docker, podman)
pip install molecule-ec2
$ molecule init scenario -d ec2
--> Initializing new scenario default...
Initialized scenario in /Users/answer_d/mac_os_setup_playbook/molecule/default successfully.
덧붙여서 드라이버는 절찬 개발중 같다 (전혀 커밋 없음)
$ pip search molecule
molecule (3.0.2) - Molecule aids in the development and testing of Ansible roles
INSTALLED: 3.0.2 (latest)
pytest-molecule (1.2.5) - PyTest Molecule Plugin :: discover and run molecule tests
molecule-containers (0.1.dev0) - Molecule Containers Driver :: run molecule tests on containers
molecule-openstack (0.1) - Molecule OpenStack Plugin :: run molecule tests on openstack
molecule-libvirt (0.0.2) - libvirt Molecule Plugin :: run molecule tests on libvirt
molecule-digitalocean (0.1) - digitalocean Molecule Plugin :: run molecule tests on digitalocean
molecule-azure (0.1) - Azure Molecule Plugin :: run molecule tests on Azure
molecule-vagrant (0.2) - Vagrant Molecule Plugin :: run molecule tests using Vagrant
molecule-inspec (1.0) - Inspec Molecule Plugin :: run molecule tests with inspec as verifier
molecule-goss (1.0) - Goss Molecule Plugin :: run molecule tests with Goss as verifier
molecule-gce (0.1) - Molecule GCE Plugin :: run molecule tests on Google Cloud Engine
molecule-ec2 (0.2) - EC2 Molecule Plugin :: run molecule tests using AWS EC2
Reference
이 문제에 관하여(Molecule에 입문 해 보았습니다 (v3 차이 확인 편)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/answer_d/items/78b047eb5708dda1375d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)