Intel® Edge Software Hub
Get answers from community peers to your questions about building Edge Software Hub solutions for edge compute node.
Announcements
Welcome to the Intel Community! If you like the answer to your question, please mark it as 'Accepted Solution' to help others.

The Edge Software Vision Package for Red Hat Enterprise Linux is now available here.

Learn more about developing on Intel® Hardware and Software here.
401 Discussions

Not able to store and retrieve images from image store bucket with Orchestrator

Rekha07
Beginner
1,914 Views

I am not able to store images and retrieve images from Image store bucket when running EIS application with Orchestrator. I am not able to store and retrieve any data from /opt/intel/eis folder.

Labels (1)
0 Kudos
1 Solution
WengWai_C_Intel
Moderator
1,887 Views

For the key value pair, you can define anything as it is just a tag. For example, you can use below for both InfluxDBConnector and Imagestore. This key value pair will be used later with the CSL API command to tag with the CSL client node that you wish to pin. 

"DB": "true"

Below is the example of the API command with the key value pair for your reference:

curl -k -H "Content-type: application/json" -u <user> -X PUT "https://csl-manager-host:8443/api/v1/nodes/<nodename>/metadata" -d '{"DB": "true"}'

For the node name, you can refer to the CSL manager web UI to obtain the client node name for the API command above.

View solution in original post

0 Kudos
11 Replies
WengWai_C_Intel
Moderator
1,902 Views

Hi @Rekha07 ,

If you wish to use the Image store bucket with Orchestrator on a multi nodes setup, it is recommended to pin the  InfluxDBConnector and ImageStore services to a specific node so it will get consistent data from the running services. To do this, you can refer to the section 10 in the README.md file under EdgeInsightsSoftware-v2.3.3-PV/IEdgeInsights/build/csl directory.

0 Kudos
Rekha07
Beginner
1,897 Views

section 10 in the README.md file under EdgeInsightsSoftware-v2.3.3-PV/IEdgeInsights/build/csl directory, key value pair is mentioned. What is the key value pair??Is it generic or something specific we need to give. What is the label I am supposed to give for a node.

0 Kudos
Smrithi
New Contributor I
1,893 Views

Hi

section 10 in the README.md file under EdgeInsightsSoftware-v2.3.3-PV/IEdgeInsights/build/csl directory, it also mentions that Adding "Constraints" to modules will tie the Pods of those modules to particular node. Which node is it talking about, the server node or the client node?And should database orchestration be in client or server node? Also the node name would be what we had given during csl client or server installation?

0 Kudos
WengWai_C_Intel
Moderator
1,885 Views

Hi @Smrithi 

From the README.md file, you will need to add the "constraints" with key value pair to the containers that you wish to pin on a specific node. The node here is referring to CSL client node, where the client node to run your workload. In this case, the InfluxDBConnector and ImageStore should be pinned on the CSL client node, as the workload should be running on client node, not server node.

In summary, below is the flow to pin the containers to a specific client node according to the README,md file.

1) Open the csl_app_spec.json file, add the "Constraints" with key value pair to the containers that you wish to pin on a specific client node.

2) Use the API command below, to pin the containers by using the key value pair that defined in step 1.

curl -k -H "Content-type: application/json" -u <user> -X PUT "https://csl-manager-host:8443/api/v1/nodes/<nodename>/metadata" -d '{"key":"value"}'

3) At the CSL manager web UI, use the Submit New App button to deploy the containers using the updated csl_app_spec.json file which added the "Constraints".

4) From the CSL manager web UI, you will be able to see the key value pair appear on the meta key and meta value column under the client node tab. And the pinned containers will only be running on that specific client node.

0 Kudos
Smrithi
New Contributor I
1,877 Views

I added the the "constraints" with key value pair to the containers to pin on a specific node in csl_app_spec.json file.It was added successfully and  I have attached the SS of the csl manager dashboard also. But those images are not getting stored in the image store bucket, hence I am unable to access it.

0 Kudos
WengWai_C_Intel
Moderator
1,857 Views

@Smrithi ,

can you provide the log for the ImageStore and InfluxDBConnector from the CSL manager UI? And, are these 2 containers running fine and saved the images in the local directory without CSL, and the same container image being deployed on CSL?

0 Kudos
Smrithi
New Contributor I
1,848 Views

I am unable to retrieve the logs of image store from the csl manager dashboard as it says error retrieving logs and I have attached the SS. And when I check for the stored images in the image store bucket, the folder is empty.

0 Kudos
WengWai_C_Intel
Moderator
1,842 Views

@Smrithi 

Alternatively, you can also check the log by using standard docker approach.

1) Use 'docker ps' command to list all running containers.

2) Use 'docker logs -f <container_id>' command to check the log, where container_id can be obtained from the output from 'docker ps' command.

0 Kudos
Snehal_Yesugade
Beginner
1,709 Views

In curl command

curl -k -H "Content-type: application/json" -u <user> -X PUT "https://csl-manager-host:8443/api/v1/nodes/<nodename>/metadata" -d '{"key":"value"}'

1. Do we need to use ip address in place of csl-manager-host?

2. what should be <user> ?

 

0 Kudos
WengWai_C_Intel
Moderator
1,701 Views

@Snehal_Yesugade 

Please see below:

1) Yes, it should use the CSL manager system IP in that command.

2) The <user> is referring to the CSL manager user ID that you created during the setup. Alternatively, you can check this in the EII master node (Client node#1) in the directory IEdgeInsights/build/provision/.env file. In this file you should see the CSL_MGR_USERNAME that being configured previously.

Hope this information help.

0 Kudos
WengWai_C_Intel
Moderator
1,888 Views

For the key value pair, you can define anything as it is just a tag. For example, you can use below for both InfluxDBConnector and Imagestore. This key value pair will be used later with the CSL API command to tag with the CSL client node that you wish to pin. 

"DB": "true"

Below is the example of the API command with the key value pair for your reference:

curl -k -H "Content-type: application/json" -u <user> -X PUT "https://csl-manager-host:8443/api/v1/nodes/<nodename>/metadata" -d '{"DB": "true"}'

For the node name, you can refer to the CSL manager web UI to obtain the client node name for the API command above.

0 Kudos
Reply