Checking the status of services on the edge systems

After you register the edge to the center application, verify that the correct Python processes are running on the edge systems.

Procedure

  1. After the edge is installed on the edge system, perform an SSH login to the edge system.
  2. On the master edge system, run the following command to look for the Python process for the master engine:
    ps aux | grep python
    The result should include the following Python process:
    python deployment_folder/vi_edge-bin_vi/vi_task_manager/run.py.
    If you do not find the Python process on the master edge system, check the log files at deployment_folder/vi_edge-bin_vi/vi_task_manager/master.log.
    Try to start the master engine by running the following command:
    deployment_folder/vi_edge-bin_vi/vi_task_manager/restartMaster.sh IP_of_master_node
  3. On the master edge system, run the following command to look for the Python process for the edge controller:
    ps aux | grep python
    The result should include the following Python processes:
    python deployment_folder/vi_edge-bin_vi/vi_edge/runMonitor.py
    python deployment_folder/vi_edge-bin_vi/vi_edge/runService.py.
    If you do not find the runMonitor Python process on the master edge system, check the log files at deployment_folder/vi_edge-bin_vi/vi_edge/Event.log.
    If you do not find the runService Python process on the master edge system, check the log files at deployment_folder/vi_edge-bin_vi/vi_edge/Service.log.
    Try to start the edge controller by running the following command:
    deployment_folder/vi_edge-bin_vi/vi_edge/restartController.sh
  4. Run the following command on the master edge system and the slave edge systems to look for Python processes for the score engine of the classification model:
    ps aux | grep python
    The result should include the following Python processes:
    python deployment_folder/vi_edge-bin_vi/vi_score_engine_restful/front_run.py 5005 6005
    python deployment_folder/vi_edge-bin_vi/vi_score_engine_restful/back_run.py 6005
    If you do not find the Python process on the edge systems, check the log files:
    deployment_folder/vi_edge-bin_vi/vi_score_engine_restful/front_log.txt
    deployment_folder/vi_edge-bin_vi/vi_score_engine_restful/back_log.txt
    After you resolve any issues, the master engine should start the score engine automatically. To start the score engine manually, run the following commands:
    source ~/.bashrc
    deployment_folder/vi_edge-bin_vi/vi_score_engine_restful/restartEngine.sh
  5. Run the following command on the master edge system and the slave edge systems to look for the Python process for the score engine of the object detection model:
    ps aux | grep python
    The result should include the following Python processes:
    python deployment_folder/vi_edge-bin_vi/vi_obj_detection/RESTAPI/model/run.py port gpuid FRCNN
    python deployment_folder/vi_edge-bin_vi/vi_obj_detection/RESTAPI/model/run.py port gpuid SSD
    If you do not find the Python processes on the edge systems, check the following log files:
    deployment_folder/vi_edge-bin_vi/vi_obj_detection/RESTAPI/model/FRCNN_gpuid.log
    deployment_folder/vi_edge-bin_vi/vi_obj_detection/RESTAPI/model/SSD_gpuid.log
    If you see a "No module named iotmyolo" error message, copy the iotmyolo.so or iotmyolo.py file from the /home/user/vi_edge-bin_vi/vi_obj_detection/model_library/yolo directory to the YOLO_HOME directory.
    After you resolve any issues, the master engine should start the score engine automatically.
  6. Rebuild the YOLO library with the edge component:
    1. Go to the /home/user/vi_edge-bin_vi/vi_obj_detection/model_library/yolo directory.
    2. Add the detectorobj.c file to the darknet/examples folder.
    3. Edit the darknet/Makefile file and indicate that EXECOBJA=detectorobj.o. The following code is an example of the code in the Makefile file:
      EXECOBJA=detectorobj.o captcha.o lsd.o super.o voxel.o art.o tag.o cifar.o go.o rnn.o 
      rnn_vid.o compare.o segmenter.o regressor.o classifier.o coco.o dice.o yolo.o 
      detector.o writing.o nightmare.o swag.o darknet.o
      
    4. In the Makefile file, add $(EXECOBJ) for the $(SLIB) and $(ALIB) objects. The following code is an example of the code in the Makefile file:
      $(ALIB): $(EXECOBJ) $(OBJS)
           $(AR) $(ARFLAGS) $@ $^
      $(SLIB): $(EXECOBJ) $(OBJS)
           $(CC) $(CFLAGS) -shared $^ -o $@ $(LDFLAGS)
    5. Run the following command:
      make