in software/cm/ansible/src/main/java/org/apache/brooklyn/entity/cm/ansible/AnsibleEntitySshDriver.java [54:85]
public void install() {
Object extraVars = getEntity().config().get(AnsibleConfig.ANSIBLE_VARS);
String playbookName = getEntity().config().get(AnsibleConfig.ANSIBLE_PLAYBOOK);
String playbookUrl = getEntity().config().get(AnsibleConfig.ANSIBLE_PLAYBOOK_URL);
String playbookYaml = getEntity().config().get(AnsibleConfig.ANSIBLE_PLAYBOOK_YAML);
if (playbookUrl != null && playbookYaml != null) {
throw new IllegalArgumentException( "You cannot specify both "+ AnsibleConfig.ANSIBLE_PLAYBOOK_URL.getName() +
" and " + AnsibleConfig.ANSIBLE_PLAYBOOK_YAML.getName() + " as arguments.");
}
if (playbookUrl == null && playbookYaml == null) {
throw new IllegalArgumentException("You have to specify either " + AnsibleConfig.ANSIBLE_PLAYBOOK_URL.getName() +
" or " + AnsibleConfig.ANSIBLE_PLAYBOOK_YAML.getName() + " as arguments.");
}
DynamicTasks.queue(AnsiblePlaybookTasks.installAnsible(getInstallDir(), false));
DynamicTasks.queue(AnsiblePlaybookTasks.setUpHostsFile(false));
if (extraVars != null) {
DynamicTasks.queue(AnsiblePlaybookTasks.configureExtraVars(getRunDir(), extraVars, false));
}
if (Strings.isNonBlank(playbookUrl)) {
DynamicTasks.queue(AnsiblePlaybookTasks.installPlaybook(getRunDir(), playbookName, playbookUrl));
}
if (Strings.isNonBlank(playbookYaml)) {
DynamicTasks.queue(AnsiblePlaybookTasks.buildPlaybookFile(getRunDir(), playbookName, playbookYaml));
}
DynamicTasks.queue(AnsiblePlaybookTasks.runAnsible(getRunDir(), extraVars, playbookName));
}