From ea2ffb882f557522ae3318c8082441798fc15af3 Mon Sep 17 00:00:00 2001 From: Zack Cerza Date: Mon, 25 Sep 2017 17:49:58 -0600 Subject: [PATCH] Add support for custom repos This is to enable testing packages built from non-master branches with devel_mode=False Signed-off-by: Zack Cerza --- ansible/README.md | 7 +++++++ ansible/common/templates/cephmetrics-custom.repo | 9 +++++++++ .../roles/ceph-collectd/tasks/setup_repos.yml | 16 ++++++++++++++++ .../templates/cephmetrics-custom.repo | 1 + ansible/roles/ceph-grafana/tasks/setup_repos.yml | 16 ++++++++++++++++ .../templates/cephmetrics-custom.repo | 1 + 6 files changed, 50 insertions(+) create mode 100644 ansible/common/templates/cephmetrics-custom.repo create mode 120000 ansible/roles/ceph-collectd/templates/cephmetrics-custom.repo create mode 120000 ansible/roles/ceph-grafana/templates/cephmetrics-custom.repo diff --git a/ansible/README.md b/ansible/README.md index 78bc4c1..fa1d7b8 100644 --- a/ansible/README.md +++ b/ansible/README.md @@ -61,6 +61,13 @@ You may override certain variables by creating a `vars.yml` file: - ['15m', '5y'] ``` - `update_alerts`: Whether to update the alerts dashboard along with the rest. Removes any user-defined alerts. Default: false +- `custom_repos`: A list of custom package repositories to enable. Currently supports yum systems only. Format: + ``` + custom_repos: + yum: + - name: my_repo + baseurl: http://example.com/my/repo + ``` These variables are only relevent when `devel_mode` is true: - `use_epel`: Whether or not to use EPEL and grafana.com instead of ceph.com-sourced packages for dependencies. Default: false diff --git a/ansible/common/templates/cephmetrics-custom.repo b/ansible/common/templates/cephmetrics-custom.repo new file mode 100644 index 0000000..1aa7b32 --- /dev/null +++ b/ansible/common/templates/cephmetrics-custom.repo @@ -0,0 +1,9 @@ +{% for repo in custom_repos.yum %} +[{{ repo.name }}] +name={{ repo.name }} +baseurl={{ repo.baseurl }} +enabled={{ repo.enabled|default('1') }} +gpgcheck={{ repo.gpgcheck|default('0') }} +type={{ repo.type|default('rpm-md') }} + +{% endfor %} diff --git a/ansible/roles/ceph-collectd/tasks/setup_repos.yml b/ansible/roles/ceph-collectd/tasks/setup_repos.yml index 7d867a1..3a63462 100644 --- a/ansible/roles/ceph-collectd/tasks/setup_repos.yml +++ b/ansible/roles/ceph-collectd/tasks/setup_repos.yml @@ -55,3 +55,19 @@ when: - ansible_pkg_mgr == "yum" - not devel_mode + +- name: Add custom repos + template: + src: cephmetrics-custom.repo + dest: /etc/yum.repos.d/cephmetrics-custom.repo + when: + - ansible_pkg_mgr == "yum" + - custom_repos is defined + +- name: Remove custom repos + file: + path: /etc/yum.repos.d/cephmetrics-custom.repo + state: absent + when: + - ansible_pkg_mgr == "yum" + - custom_repos is not defined diff --git a/ansible/roles/ceph-collectd/templates/cephmetrics-custom.repo b/ansible/roles/ceph-collectd/templates/cephmetrics-custom.repo new file mode 120000 index 0000000..84ad75a --- /dev/null +++ b/ansible/roles/ceph-collectd/templates/cephmetrics-custom.repo @@ -0,0 +1 @@ +../../../common/templates/cephmetrics-custom.repo \ No newline at end of file diff --git a/ansible/roles/ceph-grafana/tasks/setup_repos.yml b/ansible/roles/ceph-grafana/tasks/setup_repos.yml index 38bd5ca..edac3f3 100644 --- a/ansible/roles/ceph-grafana/tasks/setup_repos.yml +++ b/ansible/roles/ceph-grafana/tasks/setup_repos.yml @@ -81,3 +81,19 @@ when: - ansible_pkg_mgr == "yum" - not devel_mode + +- name: Add custom repos + template: + src: cephmetrics-custom.repo + dest: /etc/yum.repos.d/cephmetrics-custom.repo + when: + - ansible_pkg_mgr == "yum" + - custom_repos is defined + +- name: Remove custom repos + file: + path: /etc/yum.repos.d/cephmetrics-custom.repo + state: absent + when: + - ansible_pkg_mgr == "yum" + - custom_repos is not defined diff --git a/ansible/roles/ceph-grafana/templates/cephmetrics-custom.repo b/ansible/roles/ceph-grafana/templates/cephmetrics-custom.repo new file mode 120000 index 0000000..84ad75a --- /dev/null +++ b/ansible/roles/ceph-grafana/templates/cephmetrics-custom.repo @@ -0,0 +1 @@ +../../../common/templates/cephmetrics-custom.repo \ No newline at end of file -- 2.47.3