.. _installation-logs:

Inspect the logs to troubleshoot installation
----------------------------------------------

.. index:: app;app install
.. index:: app;app template
.. index:: cluster;cluster add
.. index:: cluster;cluster run
.. index:: cluster;cluster provision
.. index:: cluster;cluster prepnode
.. index:: cluster;cluster status
.. index:: cluster;cluster del
.. index:: database;database weight
.. index:: voss;voss cleardown
.. index:: log;log follow
.. index:: web;web weight




You can inspect the logs to troubleshoot an installation. For example, detailed platform commands 
display in the **execute.log** file.

In the **execute.log** file, log entries for the command execution have a **ui** column. Log entries that
follow these show related commands.

To view only the commands in the ``execute.log`` file, open a new console and run the following command:

``log follow execute.log | grep " ui "``

.. note::
   
   Logs are rotated and install commands may no longer display after log rotation.

The following list displays examples of installation commands and corresponding **ui**, and following
entries in **execute.log**.


* **app install vmware**.

  ``execute.log``::

   <timestmp><user><execnum>: ui - /opt/platform/bin/scripts.py install 'vmware'


* **app list**.

  ``execute.log``::
   
   <timestmp><user><execnum>: ui - /opt/platform/bin/execute get /scripts/
   <timestmp><user><execnum>: run: /opt/platform/bin/execute get /scripts/
   <timestmp><user><execnum>: run: /opt/platform/bin/scripts.py list


* **database config**

   ``execute.log``::
    
   <timestmp><user><execnum>: ui - /opt/platform/apps/mongodb/bin/database_helper.py config
   <timestmp><user><execnum>: run: /opt/platform/apps/mongodb/bin/database_helper.py config
   <timestmp><user><execnum>: run: /opt/platform/apps/mongodb/bin/database_helper.py config returned 0


.. * **cluster prepnode**.

.. * **cluster add <ip_addr>**.

* **cluster list**.

  ``execute.log``::

   <timestmp><user><execnum>: ui - /opt/platform/bin/execute get /apps/cluster/engine/list
   <timestmp><user><execnum>: run: /opt/platform/bin/execute get /apps/cluster/engine/list
   <timestmp><user><execnum>: run: /opt/platform/bin/execute --app=cluster   get /list
   <timestmp><user><execnum>: run: /opt/platform/apps/cluster/cluster.py list
   <timestmp><user><execnum>: run: /opt/platform/apps/cluster/cluster.py list returned 0

.. * **cluster run all network domain <domain_name>**

.. * **cluster run all network domain**

* **cluster status**.
  
    ``execute.log``::
  
     <timestmp><user><execnum>: ui - /opt/platform/bin/execute get /apps/cluster/engine/status
     <timestmp><user><execnum>: run: /opt/platform/bin/execute get /apps/cluster/engine/status    
     <timestmp><user><execnum>: run: /opt/platform/bin/execute --app=cluster   get /status      
     <timestmp><user><execnum>: run: /opt/platform/apps/cluster/cluster.py status

.. * **cluster check**
   * **cluster run all network dns**
   * **cluster run all system shutdown**

   * **database weight add <database_ip> <priority>**
   * **cluster provision**
   * **cluster run <node_ip> app start**

   * **web service disable <selfservice|admin>**

   * **web service enable <selfservice|admin>**

* **web service list**
                                        
     ``execute.log``::
   
      <timestmp><user><execnum>: ui - /opt/platform/bin/execute get /apps/nginx/engine/disable
      <timestmp><user><execnum>: run: /opt/platform/bin/execute get /apps/nginx/engine/disable
      <timestmp><user><execnum>: run: /opt/platform/bin/execute --app=nginx   get /disable
      <timestmp><user><execnum>: run: /opt/platform/bin/config.py get --app=nginx disable
      <timestmp><user><execnum>: run: /opt/platform/bin/config.py get --app=nginx disable returned 0


        
.. * **cluster run notme system shutdown**.
   * **system shutdown**.  

   * **voss cleardown**.

*  **log follow upgrade_db.log**

   ``execute.log``::
   
   <timestmp><user><execnum>: ui - /opt/platform/bin/execute post /apps/services/process/log/engine/log/follow '{"follow":"upgrade_db.log"}'
   <timestmp><user><execnum>: run: /opt/platform/bin/execute post /apps/services/process/log/engine/log/follow '{"follow":"upgrade_db.log"}' --method=os.system
   <timestmp><user><execnum>: run: /opt/platform/bin/execute --app=services:log   post /log/follow '{"follow":"upgrade_db.log"}' --method=os.system
   <timestmp><user><execnum>: run: /opt/platform/apps/services/logviewer.sh follow upgrade_db.log

*  **app template media/<VOSS Automate_template_file>**


   ``execute.log``::

    <timestmp><user><execnum> ui - /opt/platform/apps/template_runner/template media/install.template platform
    [...]
    <timestmp><user><execnum> ui - /opt/platform/bin/execute --app=template_runner post /methods/import 
        '{"filename":"DummyTestImport.json","import":"DummyTestImport.json"}'


    Please enter a password for ...

    <timestmp><user><execnum>  ui - /usr/bin/docker exec -it voss-wsgi /opt/voss-deviceapi/bin/python 
       /opt/voss-deviceapi/src/deviceapi/utils/get_user_password.py set_details sysadmin@sys

    [...]

    <timestmp><user><execnum>: ui - /opt/platform/bin/execute --app=template_runner post /methods/import 
    '{"filename":"UpgradeChecks.json","import":"UpgradeChecks.json -p sys"}'

    [...]

    '{"filename":"EndToEnd.application.json","import":"EndToEnd.application.json -p sys"}'
    '{"filename":"SYS.json","import":"SYS.json -p sys"}'
    '{"filename":"SYSnoPKG.json","import":"SYSnoPKG.json -p sys"}'
    
    [...]



.. * **cluster run notme system shutdown**
   * **system shutdown**  
   * **cluster run notme system reboot**
   * **system reboot**.  

