Use pip to install gerrit client
diff --git a/README.rst b/README.rst
index 7355835..8ea053c 100644
--- a/README.rst
+++ b/README.rst
@@ -82,12 +82,14 @@
description: admin 02
-Gerrit client enforcing users
+Gerrit client enforcing users, install using pip
.. code-block:: yaml
gerrit:
client:
+ source:
+ engine: pip
user:
jdoe:
fullname: John Doe
diff --git a/gerrit/client/project.sls b/gerrit/client/project.sls
index 5b3b265..4cc83ee 100644
--- a/gerrit/client/project.sls
+++ b/gerrit/client/project.sls
@@ -5,28 +5,15 @@
file.managed:
- source: salt://gerrit/files/projects.ini
- template: jinja
-
-jeepyb_projects_ini_env:
- environ.setenv:
- - name: PROJECTS_INI
- - value: /srv/jeepyb/projects.ini
- - update_minion: True
- - require:
- - file: /srv/jeepyb/projects.ini
+ - require_in:
+ - cmd: gerrit_client_enforce_projects
/srv/jeepyb/projects.yaml:
file.managed:
- source: salt://gerrit/files/projects.yaml
- template: jinja
-
-jeepyb_setup_projects:
- environ.setenv:
- - name: PROJECTS_YAML
- - value: /srv/jeepyb/projects.yaml
- - update_minion: True
- - require:
- - environ: jeepyb_projects_ini_env
- - file: /srv/jeepyb/projects.yaml
+ - require_in:
+ - cmd: gerrit_client_enforce_projects
{%- for project_name, project in client.project.iteritems() %}
@@ -36,8 +23,6 @@
- template: jinja
- defaults:
project_name: {{ project_name }}
- - require:
- - environ: jeepyb_setup_projects
- require_in:
- cmd: gerrit_client_enforce_projects
@@ -51,7 +36,11 @@
gerrit_client_enforce_projects:
cmd.run:
- - name: ./manage-projects -v
- - cwd: {{ client.dir.base }}
+ - name: manage-projects -v
+ - env:
+ - PROJECTS_INI: "/srv/jeepyb/projects.ini"
+ - PROJECTS_YAML: "/srv/jeepyb/projects.yaml"
+ - GERRIT_CONFIG: "{{ client.dir.gerrit_config }}"
+ - GERRIT_SECURE_CONFIG: "{{ client.dir.gerrit_secure_config }}"
{%- endif %}
diff --git a/gerrit/client/service.sls b/gerrit/client/service.sls
index 8ddc0ee..1c9c26c 100644
--- a/gerrit/client/service.sls
+++ b/gerrit/client/service.sls
@@ -1,13 +1,32 @@
{% from "gerrit/map.jinja" import client with context %}
{%- if client.enabled %}
+{%- if client.source.engine == 'pkg' %}
+
gerrit_client_install:
pkg.installed:
- - names: {{ client.pkgs }}
+ - names: {{ client.source.pkgs }}
+
+{%- elif client.source.engine == 'pip' %}
+
+gerrit_python_pip:
+ pkg.installed:
+ - name: python-pip
+
+gerrit_client_install:
+ pip.installed:
+ - names:
+ - pygerrit
+ - gerritlib
+ - "git+https://github.com/openstack-infra/jeepyb.git"
+ - require:
+ - pkg: gerrit_python_pip
+
+{%- endif %}
gerrit_client_dirs:
file.directory:
- - names:
+ - names:
- {{ client.dir.acls }}
- {{ client.dir.cache }}
- {{ client.dir.git }}
diff --git a/gerrit/map.jinja b/gerrit/map.jinja
index 315aa91..375eb16 100644
--- a/gerrit/map.jinja
+++ b/gerrit/map.jinja
@@ -16,14 +16,19 @@
{%- load_yaml as client_defaults %}
Debian:
homepage: "http://domain.com/"
- pkgs:
- - python-gerritlib
- - jeepyb
+ source:
+ engine: pkg
+ pkgs:
+ - python-gerritlib
+ - python-pygerrit
+ - jeepyb
dir:
base: /usr/share/jeepyb
acls: /srv/jeepyb/acls
git: /srv/jeepyb/git
cache: /srv/jeepyb/cache
+ gerrit_config: /home/gerrit2/review_site/etc/gerrit.config
+ gerrit_secure_config: /home/gerrit2/review_site/etc/secure.config
config:
key: /var/cache/salt/minion/gerrit_rsa
{%- endload %}