From 48a9bb48b428e08395179800359d264ef35b5c24 Mon Sep 17 00:00:00 2001 From: Pedro Alvarez Date: Wed, 10 Sep 2014 17:07:36 +0100 Subject: Allow the configuration of troves without UPSTREAM_TROVE Now UPSTREAM_TROVE is not mandatory to configure a Trove, and if the value is not set, then the configuration of the lorry controller (lorry-controller.conf) won't include any configuration for an upstream Trove. --- ansible/roles/trove-setup/tasks/check.yml | 3 --- ansible/roles/trove-setup/tasks/known-hosts-setup.yml | 5 ++++- .../roles/trove-setup/tasks/lorry-controller-setup.yml | 18 ++++++++++++++++++ 3 files changed, 22 insertions(+), 4 deletions(-) (limited to 'ansible') diff --git a/ansible/roles/trove-setup/tasks/check.yml b/ansible/roles/trove-setup/tasks/check.yml index 6305a78..1495b4b 100644 --- a/ansible/roles/trove-setup/tasks/check.yml +++ b/ansible/roles/trove-setup/tasks/check.yml @@ -26,9 +26,6 @@ - fail: msg='WORKER_SSH_PUBKEY is mandatory' when: WORKER_SSH_PUBKEY is not defined -- fail: msg='UPSTREAM_TROVE is mandatory' - when: UPSTREAM_TROVE is not defined - - set_fact: UPSTREAM_TROVE_PROTOCOL=ssh when: UPSTREAM_TROVE_PROTOCOL is not defined diff --git a/ansible/roles/trove-setup/tasks/known-hosts-setup.yml b/ansible/roles/trove-setup/tasks/known-hosts-setup.yml index 6e988e0..a8d18f7 100644 --- a/ansible/roles/trove-setup/tasks/known-hosts-setup.yml +++ b/ansible/roles/trove-setup/tasks/known-hosts-setup.yml @@ -1,7 +1,10 @@ # Depends on: # - check.yml --- +# If UPSTREAM_TROVE is not defined, the jinja2 'default' filter will +# replace it with an empty string. ssh-keyscan skips empty hostnames, +# so it will run only with 'localhost' - name: Add localhost and UPSTREAM_TROVE to /etc/ssh/ssh_known_hosts shell: | - ssh-keyscan localhost {{ UPSTREAM_TROVE|quote }} > /etc/ssh/ssh_known_hosts + ssh-keyscan localhost {{ UPSTREAM_TROVE|default('')|quote }} > /etc/ssh/ssh_known_hosts creates=/etc/ssh/ssh_known_hosts diff --git a/ansible/roles/trove-setup/tasks/lorry-controller-setup.yml b/ansible/roles/trove-setup/tasks/lorry-controller-setup.yml index fd00ea3..4486884 100644 --- a/ansible/roles/trove-setup/tasks/lorry-controller-setup.yml +++ b/ansible/roles/trove-setup/tasks/lorry-controller-setup.yml @@ -10,6 +10,24 @@ shell: su git -c 'mktemp -d' register: lorry_controller_templates +- set_fact: + UPSTREAM_TROVE_STANZA: { + type: "trove", + trovehost: "{{ UPSTREAM_TROVE }}", + protocol: "{{ UPSTREAM_TROVE_PROTOCOL }}", + ls-interval: "4H", + interval: "2H", + prefixmap: { + baserock: "baserock", + delta: "delta" + }, + ignore: [ + "baserock/lorries" + ], + tarball: "always" + } + when: UPSTREAM_TROVE is defined + - name: Create the configuration files of lorry-controller using templates template: src=/usr/share/trove-setup/{{ item }} dest={{ lorry_controller_templates.stdout }}/{{ item }} owner=git group=git mode=0644 with_items: -- cgit v1.2.1