Merge "Remove salt-master, reclass from pkg dependencis"
diff --git a/README.rst b/README.rst
index 7e7db07..dc04ece 100644
--- a/README.rst
+++ b/README.rst
@@ -60,6 +60,11 @@
           engine: http
           address: https://gerrit-releases.storage.googleapis.com/gerrit-2.12.4.war
           hash: sha256=45786a920a929c6258de6461bcf03ddec8925577bd485905f102ceb6e5e1e47c
+              receive_timeout: 5min
+        sshd:
+          threads: 64
+          batch_threads: 16
+          max_connections_per_user: 64
         database:
           engine: postgresql
           host: localhost
@@ -67,6 +72,17 @@
           name: gerrit
           user: gerrit
           password: ${_param:postgresql_gerrit_password}
+          pool_limit: 250
+          pool_max_idle: 16 
+
+Gerrit change auto abandon
+
+.. code-block:: yaml
+
+    gerrit:
+      server:
+        change_cleanup:
+          abandon_after: 3months
 
 
 Gerrit client enforcing groups
diff --git a/_modules/gerrit.py b/_modules/gerrit.py
index 8a23a01..8eb22a0 100644
--- a/_modules/gerrit.py
+++ b/_modules/gerrit.py
@@ -43,7 +43,10 @@
 HAS_GERRIT = False
 try:
     from gerritlib import gerrit
-    import pygerrit.rest
+    try:
+        from pygerrit2 import rest as pygerrit
+    except ImportError:
+        from pygerrit import rest as pygerrit
     HAS_GERRIT = True
 except ImportError:
     pass
@@ -466,7 +469,7 @@
     else:
         raise Exception("Unknown auth_method %s" % auth_method)
 
-    gerrit = pygerrit.rest.GerritRestAPI(
+    gerrit = pygerrit.GerritRestAPI(
         url=url, auth=auth)
 
     return gerrit
diff --git a/gerrit/client/service.sls b/gerrit/client/service.sls
index 5945141..45d1855 100644
--- a/gerrit/client/service.sls
+++ b/gerrit/client/service.sls
@@ -5,7 +5,7 @@
 
 gerrit_client_install:
   pkg.installed:
-  - names: {{ client.source.pkgs }}
+  - names: {{ client.source.pkgs + client.source.pkgs_salt }}
 
 {%- elif client.source.engine == 'pip' %}
 
@@ -24,7 +24,7 @@
 gerrit_client_install:
   pip.installed:
     - names:
-      - pygerrit
+      - pygerrit2
       - "{{ client.get('repo', {}).get('gerritlib', 'git+https://github.com/openstack-infra/gerritlib.git') }}"
       - "{{ client.get('repo', {}).get('jeepyb', 'git+https://github.com/openstack-infra/jeepyb.git') }}"
     - require:
diff --git a/gerrit/files/gerrit.config b/gerrit/files/gerrit.config
index 99af419..881abc0 100644
--- a/gerrit/files/gerrit.config
+++ b/gerrit/files/gerrit.config
@@ -214,6 +214,11 @@
 
 {% endif %}
 
+{% if server.change_cleanup is defined %}
+[changeCleanup]
+    abandonAfter = {{ server.change_cleanup.get('abandon_after', 0) }}
+{% endif %}
+
 [groups]
     newGroupsVisibleToAll = {{ server.get('new_groups_visible_to_all', False) }}
 
diff --git a/gerrit/map.jinja b/gerrit/map.jinja
index 61a44fb..5b38af4 100644
--- a/gerrit/map.jinja
+++ b/gerrit/map.jinja
@@ -20,10 +20,11 @@
   source:
     engine: pkg
     pkgs:
-    - python-gerritlib
-    - python-pygerrit
     - jeepyb
     - curl
+    pkgs_salt:
+    - python-gerritlib
+    - python-pygerrit2
   dir:
     project_config: {{ project_config }}
     base: /usr/share/jeepyb
diff --git a/gerrit/meta/salt.yml b/gerrit/meta/salt.yml
index aa3fdd1..1be36c8 100644
--- a/gerrit/meta/salt.yml
+++ b/gerrit/meta/salt.yml
@@ -19,3 +19,18 @@
       keyfile: {{ client.config.key }}
       {%- endif %}
   {%- endif %}
+dependency:
+  {% from "gerrit/map.jinja" import client with context %}
+  {%- if client.enabled %}
+  {%- if client.source.engine == 'pkg' %}
+  engine: pkg
+  pkgs: {{ client.source.pkgs_salt }}
+  {%- elif client.source.engine == 'pip' %}
+  engine: pip
+  pkgs:
+    - python-pip
+  python_pkgs:
+    - pygerrit2
+    - "{{ client.get('repo', {}).get('gerritlib', 'git+https://github.com/openstack-infra/gerritlib.git') }}"
+  {%- endif %}
+  {%- endif %}