Layout
Must be a GIT repo accesible to oah-shell
Must be a valid Ansible Role
Naming Convention :
Must follow the naming convention of ansible-role-oah-XXXX where XXXX is the oah community accepted name that clearly mentions the purpose of the roles.
Must Have files :
Each oah ansible role must have the following Task files in the tasks folder of the ansible role
- main.yml
- oah-install.yml
- oah-remove.yml
- oah-reset.yml
- oah-update.yml
- oah-validate.yml
OAH task yml files should have tasks to safely install, update, reset , validate or remove the all changes done by the role.
Each OAH role will have a in-built Task to validate (and determine) if the role has been successfully installed.
EACH OAH Roles must follow the best practices as mentioned(http://docs.ansible.com/ansible/playbooks_best_practices.html)
OAH Ansible Role Variables
All OAH Ansible Variables will begin with a oah_
oah_command : Is used to determine the operation mode of a role.
oah_command param can have the following values => install , remove , reset , update and validate )
oah_command will default to update , it can have values install,remove, reset, update and validate. (i.e If OAH_COMMAND env variable is not set by the oah-scripts and if the environment playbooks are not set by the oah_command variable, main.yml will include oah_update.yml or oah_install.yml if the role has not be installed yet.)