Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: remote deployment example (device-usb-camera) added #1211

Merged
merged 12 commits into from
Sep 25, 2023

Conversation

presatish
Copy link
Contributor

If your build fails due to your commit message not passing the build checks, please review the guidelines here: https://github.com/edgexfoundry/edgex-docs/blob/main/.github/Contributing.md

PR Checklist

Please check if your PR fulfills the following requirements:

  • Changes have been rendered and validated locally using mkdocs-material (see edgex-docs README)

Signed-off-by: preethi-satishcandra <preethi.satishchandra@intel.com>
Signed-off-by: preethi-satishcandra <preethi.satishchandra@intel.com>
Signed-off-by: preethi-satishcandra <preethi.satishchandra@intel.com>
Copy link
Contributor

@seanohair22 seanohair22 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Found some spelling corrections

The deployment can be done by running the service `natively` or by running it in `docker`.

## Example
This example uses 2 nodes for remote deployment. One node (remote) is used to run all Edgex core services in docker and the other node (host)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
This example uses 2 nodes for remote deployment. One node (remote) is used to run all Edgex core services in docker and the other node (host)
This example uses 2 nodes for remote deployment. One node (remote) is used to run all EdgeX core services in Docker and the other node (host)


## Example
This example uses 2 nodes for remote deployment. One node (remote) is used to run all Edgex core services in docker and the other node (host)
for running the device-usb-camera service natively or in docker. Both the nodes are on the same network.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
for running the device-usb-camera service natively or in docker. Both the nodes are on the same network.
for running the device-usb-camera service natively or in Docker. Both of the nodes are on the same network.


## Running of the example

1. Set up the two nodes to be ready for remote deployment. Refer [USB Service Setup](../supported/device-usb-camera/walkthrough/setup.md)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
1. Set up the two nodes to be ready for remote deployment. Refer [USB Service Setup](../supported/device-usb-camera/walkthrough/setup.md)
1. Set up the two nodes to be ready for remote deployment. Refer to [USB Service Setup](../supported/device-usb-camera/walkthrough/setup.md)

## Running of the example

1. Set up the two nodes to be ready for remote deployment. Refer [USB Service Setup](../supported/device-usb-camera/walkthrough/setup.md)
for system requirements and dependencies such as Git, Docker, Docker compose, etc. Additional to this Golang needs to be installed
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
for system requirements and dependencies such as Git, Docker, Docker compose, etc. Additional to this Golang needs to be installed
for system requirements and dependencies such as Git, Docker, Docker Compose, etc. Additionally, Golang needs to be installed

for system requirements and dependencies such as Git, Docker, Docker compose, etc. Additional to this Golang needs to be installed
in the host node where the device-usb-camera service will be built and run natively.

1. Next step is to install Edgex compose in the remote node which will be used to run all Edgex core services. So clone the `edgex-compose`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
1. Next step is to install Edgex compose in the remote node which will be used to run all Edgex core services. So clone the `edgex-compose`
1. Next step is to install EdgeX Compose in the remote node which will be used to run all EdgeX core services. So clone the `edgex-compose`

git checkout {{version}}
```

1. Update the `docker-compose-no-secty.yml` file by changing the `host_ip` address of all the Edgex core services to the remote node ip address.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
1. Update the `docker-compose-no-secty.yml` file by changing the `host_ip` address of all the Edgex core services to the remote node ip address.
1. Update the `docker-compose-no-secty.yml` file by changing the `host_ip` address of all the EdgeX core services to the remote node ip address.

```

1. Modify the `configuration.yml` file in the repo to run natively. Uncomment out the required parts as directed in the file.
Update the yml file with the `Host` and `Remote` node ip addresses.All the
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Update the yml file with the `Host` and `Remote` node ip addresses.All the
Update the yml file with the `Host` and `Remote` node ip addresses. All the

The deployment can be done by running the service `natively` or by running it in `docker`.

## Example
This example uses 2 nodes for remote deployment. One node (remote) is used to run all Edgex core services in docker and the other node (host)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this looks confusing to me. which node is host? the one running edgex or device usb?
can we say some thing like this? This example uses 2 nodes for remote deployment. One node (gateway) is used to run all EdgeX core services in Docker and the other node (remote) is used to run USB device service.

@presatish presatish marked this pull request as draft September 6, 2023 19:42
Signed-off-by: preethi-satishcandra <preethi.satishchandra@intel.com>
…ew comments

Signed-off-by: preethi-satishcandra <preethi.satishchandra@intel.com>
@presatish presatish marked this pull request as ready for review September 20, 2023 01:29
Signed-off-by: preethi-satishcandra <preethi.satishchandra@intel.com>
Copy link
Member

@lenny-goodell lenny-goodell left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice Job! Just a couple tweaks.

Signed-off-by: preethi-satishcandra <preethi.satishchandra@intel.com>
Signed-off-by: preethi-satishcandra <preethi.satishchandra@intel.com>
git checkout {{edgexversion}}
```

1. Update the [docker-compose-no-secty.yml](https://github.com/edgexfoundry/edgex-compose/blob/main/docker-compose-no-secty.yml) file by removing the `host_ip` section of all the Edgex core services. E.g.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
1. Update the [docker-compose-no-secty.yml](https://github.com/edgexfoundry/edgex-compose/blob/main/docker-compose-no-secty.yml) file by removing the `host_ip` section of all the Edgex core services. E.g.
1. Update the [docker-compose-no-secty.yml](https://github.com/edgexfoundry/edgex-compose/blob/main/docker-compose-no-secty.yml) file by removing the `host_ip` section of all the EdgeX core services. E.g.

host_ip: 127.0.0.1
```
The example line provided above should be removed from the services, the host_ip will be provided while running the usb service.
Non-Edgex core services such as device-rest, device-virtual, app-rules-engine, etc. can be removed or commented out if needed.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Non-Edgex core services such as device-rest, device-virtual, app-rules-engine, etc. can be removed or commented out if needed.
Non-EdgeX core services such as device-rest, device-virtual, app-rules-engine, etc. can be removed or commented out if needed.

The example line provided above should be removed from the services, the host_ip will be provided while running the usb service.
Non-Edgex core services such as device-rest, device-virtual, app-rules-engine, etc. can be removed or commented out if needed.

1. Run Edgex core services:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
1. Run Edgex core services:
1. Run EdgeX core services:

```

!!! note
If multiple instances of the service has to be run then add `EDGEX_INSTANCE_NAME` enviroment variable above with a value of number of instances desired.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
If multiple instances of the service has to be run then add `EDGEX_INSTANCE_NAME` enviroment variable above with a value of number of instances desired.
If multiple instances of the service have to be run, then add `EDGEX_INSTANCE_NAME` environment variable above with a number to instantiate the current instance of the device-usb-camera service.


## Verify Service, Device(s) and next steps

1. Make sure the service has no errors and check whether the service is added to Edgex i.e. to core-metadata (running in host node):
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
1. Make sure the service has no errors and check whether the service is added to Edgex i.e. to core-metadata (running in host node):
1. Make sure the service has no errors and check whether the service is added to EdgeX i.e. to core-metadata (running in host node):

@presatish presatish changed the title docs: native remote deployment example (device-usb-camera) added docs: remote deployment example (device-usb-camera) added Sep 21, 2023
Signed-off-by: preethi-satishcandra <preethi.satishchandra@intel.com>
Copy link
Contributor

@seanohair22 seanohair22 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

Signed-off-by: preethi-satishcandra <preethi.satishchandra@intel.com>
Signed-off-by: preethi-satishcandra <preethi.satishchandra@intel.com>
Copy link
Member

@lenny-goodell lenny-goodell left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@presatish presatish merged commit 09b01fe into edgexfoundry:main Sep 25, 2023
1 check passed
@presatish presatish deleted the remote-native branch September 25, 2023 20:25
edgex-jenkins added a commit that referenced this pull request Sep 25, 2023
…e mode added (#1211)

Signed-off-by: edgex-jenkins <collab-it+edgex@linuxfoundation.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants