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