Add option to overrided minion id without scrict linux formula dependency

Change-Id: I602338811610d4ff08dfb8b2b3aed9dc46f5b3b0
diff --git a/README.rst b/README.rst
index 6263e43..3660f24 100644
--- a/README.rst
+++ b/README.rst
@@ -622,6 +622,18 @@
 Salt Minion
 -----------
 
+Minion ID by default trigger dependency on linux formula, as it uses fqdn configured from `linux.system.name` and
+`linux.system.domain` pillar. To override, provide exact minion ID you require. The same can be sate for master id rendered
+at `master.conf`.
+
+.. code-block:: yaml
+
+    salt:
+      minion:
+        id: minion1.production
+      master:
+        id: master.production
+
 Simplest Salt minion setup with central configuration node
 
 .. code-block:: yaml
diff --git a/salt/files/master.conf b/salt/files/master.conf
index bbfff60..ce24461 100644
--- a/salt/files/master.conf
+++ b/salt/files/master.conf
@@ -205,7 +205,7 @@
 
 file_recv: {{ master.get('file_recv', False) }}
 
-id: {{ system.name }}.{{ system.domain }}
+id: {{ master.id | default(system.name~"."~system.domain) }}
 
 {#-
 vim: syntax=jinja
diff --git a/salt/files/minion.conf b/salt/files/minion.conf
index 52e7009..fe028b4 100644
--- a/salt/files/minion.conf
+++ b/salt/files/minion.conf
@@ -21,7 +21,7 @@
 
 {%- endif %}
 
-id: {{ system.name }}.{{ system.domain }}
+id: {{ minion.id | default(system.name~"."~system.domain) }}
 
 {%- for opt in ['max_event_size', 'acceptance_wait_time_max',
   'acceptance_wait_time', 'random_reauth_delay', 'recon_default', 'recon_max',
diff --git a/tests/pillar/minion_multi_master_failover.sls b/tests/pillar/minion_multi_master_failover.sls
index cffefec..5ad8eca 100644
--- a/tests/pillar/minion_multi_master_failover.sls
+++ b/tests/pillar/minion_multi_master_failover.sls
@@ -1,5 +1,6 @@
 salt:
   minion:
+    id: salt.ci.local
     enabled: true
     masters:
     - host: config01.dc01.domain.com