Add sosreport tool

Sosreport is data/log collection tool for operating systems, which
will be used as single point of report create.

Change-Id: I747506de5280fb1e08b48161c9470d5b2cae9b0b
Related-Prod: PROD-34100
diff --git a/README.rst b/README.rst
index a994498..6ee52c4 100644
--- a/README.rst
+++ b/README.rst
@@ -1452,6 +1452,71 @@
             syslog: true
             syslog_error: true
 
+Linux Sosreport
+^^^^^^^^^^^^^^^
+
+Sosreport is an extensible, portable, support data collection tool
+primarily aimed at Linux distributions and other UNIX-like operating systems,
+which allows to create diagnostic snapshot of system.
+
+Works out of box and additional pillars are not needed by default:
+
+.. code-block:: bash
+
+    salt-call state.sls linux.system.sosreport.report
+
+or from Salt Master:
+
+.. code-block:: bash
+
+    salt -C '<target>' state.sls linux.system.sosreport.report
+
+Sosreport configuration may be extended with next pillar data:
+
+.. code-block:: yaml
+
+    linux:
+      system:
+        sosreport:
+          cmd_options:
+            tmp-dir: /root/reportdir
+            no_arg_opts: [ '-q' ]
+          config_options:
+            general:
+              all-logs: true
+            plugins:
+              disabled: [ docker ]
+            tunables:
+              apache.log: true
+
+Where is ``cmd_options`` additional provided arguments for cli cmd call,
+``general`` desribes parameters for sos.conf ``general`` section,
+``plugins`` desribes which plugins should be ``enabled`` or ``disabled``
+and ``tunables`` has custom plugin options which can be additionally set.
+
+Also it is possible to pass cmd_options through pillar override:
+
+.. code-block:: bash
+
+    salt -C '<target>' state.sls linux.system.sosreport.report pillar='{ "sosreport" : { "ticket-number": 12345, "tmp-dir": "/root/reportdir2" } }'
+
+Run ``sosreport --help`` to get full list of possible options.
+
+Once state ``linux.system.sosreport.report`` is executed on targets, it is
+possible to collect all reports by using next command on Salt Master:
+
+.. code-block:: bash
+
+    salt -C 'I@salt:master' state.sls linux.system.sosreport.collect pillar='{ "sosreport_collect" : { "target": "<target>", "archiveName": "sosreport_<env_name>_<customer>_<ticket>" } }'
+
+This will generate one common archive for all ``<target>`` nodes with name
+``sosreport_<env_name>_<customer>_<ticket>.tar.gz``. It is required to specify
+target nodes through model (``linux.system.sosreport.collect``) or pillar
+override. Also possible options are: ``nodeIp`` which allows you to use IP from another
+interface on node (should be available from minions), ``port`` for NetCat if
+you see that default port is busy, ``archiveName`` for your archive and
+``reportWorkDir`` directory to keeping all reports for current case.
+
 RHEL / CentOS
 ^^^^^^^^^^^^^
 Currently, ``update-motd`` is not available