Fix key-add call, for not-enabled user by default

 * Fix .kitchen.yml:
   Make sure kitchen test dependencies formulas
   are always fetched from correct branch

(cherry picked from commit 507f89b3326d7b9dff8802aedaa23a6c322efb37)
(cherry picked from commit a1859ca31f6e046fe3898e832a5908d84b6e93ca)

Change-Id: Ied37c40263134466dbaeab6fc61113f748e05b49
Prod-related: PROD-29155 (PROD:29155)
diff --git a/.kitchen.yml b/.kitchen.yml
index 33598ba..0fcb3c2 100644
--- a/.kitchen.yml
+++ b/.kitchen.yml
@@ -27,17 +27,26 @@
   dependencies:
     - name: linux
       repo: git
-      source: "https://github.com/salt-formulas/salt-formula-linux"
+      source: "https://gerrit.mcp.mirantis.com/salt-formulas/linux"
+      branch: <%=ENV['GERRIT_BRANCH'] || 'master' %>
 
 verifier:
   name: inspec
   sudo: true
 
+docker_images:
+  - &xenial-20177 <%=ENV['IMAGE_XENIAL_20177'] || 'docker-dev-local.docker.mirantis.net/epcim/salt/saltstack-ubuntu-xenial-salt-2017.7/salt:2018_11_19'%>
+  - &xenial-stable <%=ENV['IMAGE_XENIAL_STABLE'] || 'docker-dev-local.docker.mirantis.net/epcim/salt/saltstack-ubuntu-xenial-salt-stable/salt:2018_11_19'%>
 
 platforms:
-  - name: <%=ENV['PLATFORM'] ||  'saltstack-ubuntu-xenial-salt-stable' %>
+  - name: xenial-2017.7
     driver_config:
-      image: <%=ENV['PLATFORM'] || 'docker-dev-local.docker.mirantis.net/epcim/salt/saltstack-ubuntu-xenial-salt-stable/salt:2018_11_19'%>
+      image: *xenial-20177
+      platform: ubuntu
+
+  - name: xenial-stable
+    driver_config:
+      image: *xenial-stable
       platform: ubuntu
 
 suites:
diff --git a/openssh/client/private_key.sls b/openssh/client/private_key.sls
index a5639cc..d383e90 100644
--- a/openssh/client/private_key.sls
+++ b/openssh/client/private_key.sls
@@ -4,9 +4,17 @@
 include:
 - openssh.client.service
 
-{%- for xxx, user in client.get('user', {}).iteritems() %}
+  {%- for xxx, user in client.get('user', {}).iteritems() %}
+    {%- if user.private_key is defined %}
 
-{%- if user.private_key is defined %}
+
+{{ user.user.home }}/.ssh_dir_for_key:
+  file.directory:
+  - names:
+    - {{ user.user.home }}/.ssh
+  - user: {{ user.user.name }}
+  - mode: 700
+  - makedirs: true
 
 {{ user.user.home }}/.ssh/id_{{ user.private_key.type }}:
   file.managed:
@@ -16,10 +24,10 @@
   - template: jinja
   - defaults:
     user_name: {{ user.user.name }}
-  - require: 
-    - file: {{ user.user.home }}/.ssh
+  - require:
+    - file: {{ user.user.home }}/.ssh_dir_for_key
 
-{%- if user.public_key is defined %}
+      {%- if user.public_key is defined %}
 {{ user.user.home }}/.ssh/id_{{ user.private_key.type }}.pub:
   file.managed:
   - user: {{ user.user.name }}
@@ -28,12 +36,9 @@
   - template: jinja
   - defaults:
     user_name: {{ user.user.name }}
-  - require: 
-    - file: {{ user.user.home }}/.ssh
-{%- endif %}
-
-{%- endif %}
-
-{%- endfor %}
-
+  - require:
+    - file: {{ user.user.home }}/.ssh_dir_for_key
+      {%- endif %}
+    {%- endif %}
+  {%- endfor %}
 {%- endif %}