diff --git a/docs/troubleshooting.html b/docs/troubleshooting.html index 5c4c117..cecda94 100644 --- a/docs/troubleshooting.html +++ b/docs/troubleshooting.html @@ -1397,6 +1397,15 @@ + + +
  • + + + Q: How to configure centralized proxy? + + +
  • diff --git a/docs_src/troubleshooting.md b/docs_src/troubleshooting.md index c92f03a..5c464b8 100644 --- a/docs_src/troubleshooting.md +++ b/docs_src/troubleshooting.md @@ -58,3 +58,74 @@ Simply add the serial number to the `INPUTSRC` argument when calling the pipelin ``` INPUTSRC=725112060400 make run-demo ``` + +## Q: How to configure centralized proxy? + +A: Please follow the below steps to configure the proxy + +# 1. Configure Proxy for the Current Shell Session + +```bash +export http_proxy=http://: +export https_proxy=http://: +export HTTP_PROXY=http://: +export HTTPS_PROXY=http://: +export NO_PROXY=localhost,127.0.0.1,::1 +export no_proxy=localhost,127.0.0.1,::1 +export socks_proxy=http://: +export SOCKS_PROXY=http://: +``` + +# 2. System-Wide Proxy Configuration + +System-wide environment (/etc/environment) +(Run: sudo nano /etc/environment and add or update) + +```bash +http_proxy=http://: +https_proxy=http://: +ftp_proxy=http://: +socks_proxy=http://: +no_proxy=localhost,127.0.0.1,::1 + +HTTP_PROXY=http://: +HTTPS_PROXY=http://: +FTP_PROXY=http://: +SOCKS_PROXY=http://: +NO_PROXY=localhost,127.0.0.1,::1 +``` +# 3. Docker Daemon & Client Proxy Configuration + +Docker daemon drop-in (/etc/systemd/system/docker.service.d/http-proxy.conf) +Create dir if missing: +sudo mkdir -p /etc/systemd/system/docker.service.d +sudo nano /etc/systemd/system/docker.service.d/http-proxy.conf + +```bash +[Service] +Environment="http_proxy=http://:" +Environment="https_proxy=http://:" +Environment="no_proxy=localhost,127.0.0.1,::1" +Environment="HTTP_PROXY=http://:" +Environment="HTTPS_PROXY=http://:" +Environment="NO_PROXY=localhost,127.0.0.1,::1" +Environment="socks_proxy=http://:" +Environment="SOCKS_PROXY=http://:" + +# Reload & restart: +sudo systemctl daemon-reload +sudo systemctl restart docker + +# Docker client config (~/.docker/config.json) +# mkdir -p ~/.docker +# nano ~/.docker/config.json +{ + "proxies": { + "default": { + "httpProxy": "http://:", + "httpsProxy": "http://:", + "noProxy": "localhost,127.0.0.1,::1" + } + } +} +``` \ No newline at end of file diff --git a/docs_src/use-cases/AiCSD/aicsd.md b/docs_src/use-cases/AiCSD/aicsd.md deleted file mode 100644 index fd80125..0000000 --- a/docs_src/use-cases/AiCSD/aicsd.md +++ /dev/null @@ -1,12 +0,0 @@ -# AI Connect for Scientific Data (AiCSD) - -This reference implementation is pulled in as a solution for pipeline management -and distributed image processing. This solution offers an EdgeX based secure, -two-system setup with microservices for managing data transfer and pipeline processing. -Visit the solution's [GitHub Pages](https://intel.github.io/AiCSD/index.html) for -more information. - -As an extension to this project, a new service, as-pipeline-grpc-go, allows for -the processing of simulated camera data using a gRPC call to an OVMS server running -yolo11n. For information on how the service works and how to get started, visit the -[GRPC Yolov5s Pipeline](./pipeline-grpc-go.md) page. \ No newline at end of file diff --git a/docs_src/use-cases/AiCSD/pipeline-grpc-go.md b/docs_src/use-cases/AiCSD/pipeline-grpc-go.md deleted file mode 100644 index beb9960..0000000 --- a/docs_src/use-cases/AiCSD/pipeline-grpc-go.md +++ /dev/null @@ -1,109 +0,0 @@ -# GRPC Yolov5s Pipeline Service - -## Overview - -This EdgeX-based application service provides an interface to use gRPC to call -OVMS to run the input data through a specified model. The service may be set up -to use different topics to trigger different pipelines and call different models. -The current implementation makes a call to OVMS running the Yolov5s model. - -## Getting Started - -1. Clone the Aicsd code as a submodule in the directory retail-use-cases/use-cases - ```shell - git submodule add https://github.com/intel/AiCSD - ``` - -2. Change directories to retail-use-cases - ```shell - cd .. - ``` -3. Download models and sample media - ```shell - make download-models download-sample-media - ``` -5. Build the OVMS Docker container - ```shell - make build-ovms-server - ``` - -7. change directories to use-cases/aicsd - ```shell - cd use-cases/aicsd - ``` -8. Build the Pipeline Validator and Pipeline grpc-go services - ``` - make docker-pipeline-val docker-pipeline-grpc-go - ``` -9. Modify docker-compose-pipeline-val.yml evnironment variables to have the following settings - ```shell - APPLICATIONSETTINGS_PIPELINEHOST: pipeline-grpc-go - APPLICATIONSETTINGS_PIPELINEPORT: 59790 - ``` -8. Run the pipeline validator and pipeline grpc-go services along with their dependencies - ```shell - make run-pipeline-grpc-go - ``` -9. Verify that the pipeline-grpc-go container has started by checking the log for the message - ```log - level=INFO ts=2024-05-30T20:06:58.037173489Z app=app-pipeline-grpc-go source=messaging.go:125 msg="Waiting for messages from the MessageBus on the 'ovms-grpc/yolov5' topic" - ``` -9. Send a POST request to http://localhost:59788/api/v1/launchPipeline with the following body - ```json - { - "InputFileLocation":"rtsp://camera-simulator:8554/camera_0", - "PipelineTopic":"ovms-grpc/yolov5", - "OutputFileFolder":"0.0.0.0:8555" - } - ``` -10. Verify that the pipeline-grpc-go container has output in its log. This shows that the pipeline is running. - ```log - level=INFO ts=2024-05-30T20:06:58.037173489Z app=app-pipeline-grpc-go source=messaging.go:125 msg="Waiting for messages from the MessageBus on the 'ovms-grpc/yolov5' topic" - level=INFO ts=2024-05-30T20:08:37.753137304Z app=app-pipeline-grpc-go source=functions.go:265 msg="RunOvmsModel: Processing time: 45 ms; fps: 16.70864819479429\n" - level=INFO ts=2024-05-30T20:08:37.685039109Z app=app-pipeline-grpc-go source=functions.go:265 msg="RunOvmsModel: Processing time: 37 ms; fps: 16.72014862354332\n" - level=INFO ts=2024-05-30T20:08:40.689475521Z app=app-pipeline-grpc-go source=functions.go:265 msg="RunOvmsModel: Processing time: 49 ms; fps: 16.368045264717768\n" - level=INFO ts=2024-05-30T20:08:40.801842876Z app=app-pipeline-grpc-go source=functions.go:265 msg="RunOvmsModel: Processing time: 29 ms; fps: 16.37919507955609\n" - ``` -11. To stop the data stream from coming in, stop the camera-simulator and camera-simulator0 containers. -12. Verify that the pipeline-grpc-go container has successfully finished processing by verifying the log says - ```log - level=DEBUG ts=2024-05-30T20:10:56.351778319Z app=app-pipeline-grpc-go source=triggermessageprocessor.go:196 msg="trigger successfully processed message 'OVMS Pipeline' in pipeline 64a47e72-3e89-452e-9010-2d64c059c108" - ``` -13. Verify that the job status from the pipeline validator service making a GET request to http://localhost:59788/api/v1/job which should return an entry as follows - ```json - [ - { - "Id": "0", - "Owner": "none", - "InputFile": { - "Hostname": "gateway", - "DirName": "rtsp://camera-simulator:8554/", - "Name": "camera_0", - "Extension": "", - "ArchiveName": "", - "Viewable": "", - "Attributes": {} - }, - "PipelineDetails": { - "TaskId": "de9ee7bd-aacb-4e6a-ac91-a3c3be3b09c3", - "Status": "PipelineComplete", - "QCFlags": "passed", - "OutputFileHost": "", - "OutputFiles": null, - "Results": "ovms-server0:9001" - }, - "LastUpdated": 1717025357138890553, - "Status": "Complete", - "ErrorDetails": null, - "Verification": 0 - } - ] - ``` -14. Repeat by restarting the camera-simulator services and sending the POST request to `launchPipeline`. - -## Tearing Down - -To tear down the services and clean up any data created, run -```bash -make down clean-files clean-volumes -``` diff --git a/docs_src/use-cases/use-cases.md b/docs_src/use-cases/use-cases.md index ad8eeec..faac3cc 100644 --- a/docs_src/use-cases/use-cases.md +++ b/docs_src/use-cases/use-cases.md @@ -1,6 +1,5 @@ # Intel Retail Use Cases - [Automated Self Checkout](./automated-self-checkout/automated-self-checkout.md) -- [AI Connect for Scientific Data (AiCSD)](./AiCSD/aicsd.md) - [Retail Use Cases: C-API for YOLOV8 ensemble](./capi-yolov8-ensemble/capi-yolov8-ensemble.md) - [Loss Prevention](./loss-prevention/loss-prevention.md) \ No newline at end of file