Skip to content

Commit 99aec0e

Browse files
committed
Issue-114 (Docs) : Added FAQ for updating constraints via hzn cli
Signed-off-by: Abhijay Jain <[email protected]>
1 parent a6f36a0 commit 99aec0e

File tree

1 file changed

+61
-25
lines changed

1 file changed

+61
-25
lines changed

docs/getting_started/faq.md

Lines changed: 61 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
---
2-
32
copyright:
43
years: 2020 - 2022
54
lastupdated: "2022-03-17"
6-
75
---
86

97
{:new_window: target="blank"}
@@ -15,48 +13,55 @@ lastupdated: "2022-03-17"
1513
{:childlinks: .ullinks}
1614

1715
# Frequently asked questions
16+
1817
{: #faqs}
1918

2019
The following are answers to some frequently asked questions (FAQs) about {{site.data.keyword.edge_notm}} ({{site.data.keyword.ieam}}).
2120
{:shortdesc}
2221

23-
* [Is there a way to create a self-contained environment for development purposes?](#one_click)
24-
* [Is {{site.data.keyword.ieam}} software open-sourced?](#open_sourced)
25-
* [How can I use {{site.data.keyword.ieam}} to develop and deploy edge services?](#dev_dep)
26-
* [What edge node hardware platforms does {{site.data.keyword.ieam}} support?](#hw_plat)
27-
* [Can I run any {{site.data.keyword.linux_notm}} distribution on my edge nodes with {{site.data.keyword.ieam}}?](#lin_dist)
28-
* [Which programming languages and environments are supported by {{site.data.keyword.ieam}}?](#pro_env)
29-
* [Is there detailed documentation for the REST APIs provided by the components in {{site.data.keyword.ieam}}?](#rest_doc)
30-
* [Does {{site.data.keyword.ieam}} use Kubernetes?](#use_kube)
31-
* [Does {{site.data.keyword.ieam}} use MQTT?](#use_mqtt)
32-
* [How long does it normally take after I register an edge node before agreements are formed and the corresponding containers start running?](#agree_run)
33-
* [Can the {{site.data.keyword.horizon}} software and all other software or data that is related to {{site.data.keyword.ieam}} be removed from an edge node host?](#sw_rem)
34-
* [Is there a dashboard for visualizing the agreements and services that are active on an edge node?](#db_node)
35-
* [What happens if a container image download is interrupted by a network outage?](#image_download)
36-
* [How is {{site.data.keyword.ieam}} secure?](#ieam_secure)
37-
* [How do I manage AI at the Edge with models vs AI on the Cloud?](#ai_cloud)
22+
- [Is there a way to create a self-contained environment for development purposes?](#one_click)
23+
- [Is {{site.data.keyword.ieam}} software open-sourced?](#open_sourced)
24+
- [How can I use {{site.data.keyword.ieam}} to develop and deploy edge services?](#dev_dep)
25+
- [What edge node hardware platforms does {{site.data.keyword.ieam}} support?](#hw_plat)
26+
- [Can I run any {{site.data.keyword.linux_notm}} distribution on my edge nodes with {{site.data.keyword.ieam}}?](#lin_dist)
27+
- [Which programming languages and environments are supported by {{site.data.keyword.ieam}}?](#pro_env)
28+
- [Is there detailed documentation for the REST APIs provided by the components in {{site.data.keyword.ieam}}?](#rest_doc)
29+
- [Does {{site.data.keyword.ieam}} use Kubernetes?](#use_kube)
30+
- [Does {{site.data.keyword.ieam}} use MQTT?](#use_mqtt)
31+
- [How long does it normally take after I register an edge node before agreements are formed and the corresponding containers start running?](#agree_run)
32+
- [Can the {{site.data.keyword.horizon}} software and all other software or data that is related to {{site.data.keyword.ieam}} be removed from an edge node host?](#sw_rem)
33+
- [Is there a dashboard for visualizing the agreements and services that are active on an edge node?](#db_node)
34+
- [What happens if a container image download is interrupted by a network outage?](#image_download)
35+
- [How is {{site.data.keyword.ieam}} secure?](#ieam_secure)
36+
- [How do I manage AI at the Edge with models vs AI on the Cloud?](#ai_cloud)
37+
- [How do you update the constraints of an existing deployment policy with the hzn cli?](#hzn_cli)
3838

3939
## Is there a way to create a self-contained environment for development purposes?
40+
4041
{: #one_click}
4142

42-
You can install the open source management hub (without the {{site.data.keyword.ieam}} management console) with the "all-in-one" installer for developers. The all-in-one installer creates a complete but minimal management hub, not suitable for production use. It also configures an example edge node. This tool enables open source component developers to get started quickly without the time it takes to configure a complete production {{site.data.keyword.ieam}} management hub. For information about the all-in-one installer, see [Open Horizon - Devops ](https://github.com/open-horizon/devops/tree/master/mgmt-hub){:target="_blank"}{: .externalLink}.
43+
You can install the open source management hub (without the {{site.data.keyword.ieam}} management console) with the "all-in-one" installer for developers. The all-in-one installer creates a complete but minimal management hub, not suitable for production use. It also configures an example edge node. This tool enables open source component developers to get started quickly without the time it takes to configure a complete production {{site.data.keyword.ieam}} management hub. For information about the all-in-one installer, see [Open Horizon - Devops ](https://github.com/open-horizon/devops/tree/master/mgmt-hub){:target="\_blank"}{: .externalLink}.
4344

4445
## Is {{site.data.keyword.ieam}} software open-sourced?
46+
4547
{: #open_sourced}
4648

47-
{{site.data.keyword.ieam}} is an IBM product. But its core components heavily use the [Open Horizon - EdgeX Project Group ](https://wiki.edgexfoundry.org/display/FA/Open+Horizon+-+EdgeX+Project+Group){:target="_blank"}{: .externalLink} open source project. Many sample and example programs that are available in the {{site.data.keyword.horizon}} project work with {{site.data.keyword.ieam}}. For more information about the project, see [Open Horizon - EdgeX Project Group ](https://wiki.edgexfoundry.org/display/FA/Open+Horizon+-+EdgeX+Project+Group){:target="_blank"}{: .externalLink}.
49+
{{site.data.keyword.ieam}} is an IBM product. But its core components heavily use the [Open Horizon - EdgeX Project Group ](https://wiki.edgexfoundry.org/display/FA/Open+Horizon+-+EdgeX+Project+Group){:target="\_blank"}{: .externalLink} open source project. Many sample and example programs that are available in the {{site.data.keyword.horizon}} project work with {{site.data.keyword.ieam}}. For more information about the project, see [Open Horizon - EdgeX Project Group ](https://wiki.edgexfoundry.org/display/FA/Open+Horizon+-+EdgeX+Project+Group){:target="\_blank"}{: .externalLink}.
4850

4951
## How can I develop and deploy edge services with {{site.data.keyword.ieam}}?
52+
5053
{: #dev_dep}
5154

5255
See [Using edge services](../using_edge_services/using_edge_services.md).
5356

5457
## What edge node hardware platforms does {{site.data.keyword.ieam}} support?
58+
5559
{: #hw_plat}
5660

5761
{{site.data.keyword.ieam}} supports different hardware architectures through the Debian {{site.data.keyword.linux_notm}} binary package for {{site.data.keyword.horizon}} or through Docker containers. For more information, see [Installing {{site.data.keyword.horizon}} software](../installing/installing_edge_nodes.md).
5862

5963
## Can I run any {{site.data.keyword.linux_notm}} distribution on my edge nodes with {{site.data.keyword.ieam}}?
64+
6065
{: #lin_dist}
6166

6267
Yes, and no.
@@ -68,28 +73,33 @@ However, your edge node host operating system must be able to run a recent versi
6873
Additionally, RPM package installation was tested on edge nodes configured with Red Hat Enterprise Linux (RHEL) Version 8.2.
6974

7075
## Which programming languages and environments are supported by {{site.data.keyword.ieam}}?
76+
7177
{: #pro_env}
7278

7379
{{site.data.keyword.ieam}} supports almost any programming language and software library that you are able to configure to run in an appropriate Docker container on your edge nodes.
7480

7581
If your software requires access to specific hardware or operating system services, you might need to provide `docker run`-equivalent arguments to support that access. You can specify supported arguments within the `deployment` section of your Docker container definition file.
7682

7783
## Is there detailed documentation for the REST APIs provided by the components in {{site.data.keyword.ieam}}?
84+
7885
{: #rest_doc}
7986

8087
Yes. For more information, see [{{site.data.keyword.ieam}} APIs](../api/index.md).
8188

8289
## Does {{site.data.keyword.ieam}} use Kubernetes?
90+
8391
{: #use_kube}
8492

85-
Yes. {{site.data.keyword.ieam}} uses [{{site.data.keyword.open_shift_cp}} ](https://docs.openshift.com/container-platform/4.6/welcome/index.html){:target="_blank"}{: .externalLink} Kubernetes services.
93+
Yes. {{site.data.keyword.ieam}} uses [{{site.data.keyword.open_shift_cp}} ](https://docs.openshift.com/container-platform/4.6/welcome/index.html){:target="\_blank"}{: .externalLink} Kubernetes services.
8694

8795
## Does {{site.data.keyword.ieam}} use MQTT?
96+
8897
{: #use_mqtt}
8998

9099
{{site.data.keyword.ieam}} does not use Message Queuing Telemetry Transport (MQTT) to support its own internal functions, however the programs you deploy on your edge nodes are free to use MQTT for their own purposes. Example programs are available that use MQTT and other technologies (for example, {{site.data.keyword.message_hub_notm}}, based on the Apache Kafka) to transport data to and from edge nodes.
91100

92101
## How long does it normally take after registering an edge node before agreements are formed, and the corresponding containers start running?
102+
93103
{: #agree_run}
94104

95105
Typically, it takes only a few seconds after registration for the agent and a remote {{site.data.keyword.agbot}} to finalize an agreement to deploy software. After that occurs, the {{site.data.keyword.horizon}} agent downloads (`docker pull`) your containers to the edge node, verify their cryptographic signatures with {{site.data.keyword.horizon_exchange}}, and run them. Depending on the sizes of your containers, and the time it takes them to start and be functional, it can take from just a few more seconds, to many minutes before the edge node is fully operational.
@@ -101,6 +111,7 @@ To observe the agreement negotiation process phases, you can use the `hzn agreem
101111
After an agreement list is finalized, you can use the `docker ps` command to view the running containers. You can also issue `docker inspect <container>` to see more detailed information about the deployment of any specific `<container>`.
102112

103113
## Can the {{site.data.keyword.horizon}} software and all other software or data that is related to {{site.data.keyword.ieam}} be removed from an edge node host?
114+
104115
{: #sw_rem}
105116

106117
Yes. If your edge node is registered, unregister the edge node by running:
@@ -115,6 +126,7 @@ When the edge node is unregistered, you can remove the installed {{site.data.key
115126
{% include code_snippet.md code=code language='shell' %}
116127

117128
## Is there a dashboard for visualizing the agreements and services that are active on an edge node?
129+
118130
{: #db_node}
119131

120132
You can use the {{site.data.keyword.ieam}} web UI to observe your edge nodes and services.
@@ -128,22 +140,46 @@ docker ps{% endcapture %}
128140
{% include code_snippet.md code=code language='shell' %}
129141

130142
## What happens if a container image download is interrupted by a network outage?
143+
131144
{: #image_download}
132145

133146
The docker API is used to download container images. If the docker API terminates the download, it returns an error to the agent. In turn, the agent cancels the current deployment attempt. When the {{site.data.keyword.agbot}} detects the cancellation, it initiates a new deployment attempt with the agent. During the subsequent deployment attempt, the docker API resumes the download from where it left off. This process continues until the image is fully downloaded and the deployment can proceed. The docker binding API is responsible for the image pull, and in case of failure, the agreement is canceled.
134147

135148
## How is {{site.data.keyword.ieam}} secure?
149+
136150
{: #ieam_secure}
137151

138-
* {{site.data.keyword.ieam}} automates and uses cryptographically signed public-private key authentication of edge devices as it communicates with the {{site.data.keyword.ieam}} management hub during provisioning. Communication is always initiated and controlled by the edge node.
139-
* System has node and service credentials.
140-
* Software verification and authenticity using hash verification.
152+
- {{site.data.keyword.ieam}} automates and uses cryptographically signed public-private key authentication of edge devices as it communicates with the {{site.data.keyword.ieam}} management hub during provisioning. Communication is always initiated and controlled by the edge node.
153+
- System has node and service credentials.
154+
- Software verification and authenticity using hash verification.
141155

142-
See [Security at the Edge ](https://www.ibm.com/cloud/blog/security-at-the-edge){:target="_blank"}{: .externalLink}.
156+
See [Security at the Edge ](https://www.ibm.com/cloud/blog/security-at-the-edge){:target="\_blank"}{: .externalLink}.
143157

144158
## How do I manage AI at the Edge with models vs AI on the Cloud?
159+
145160
{: #ai_cloud}
146161

147162
Typically, AI at the edge enables you to perform on-the-spot machine inferencing with subsecond latency, which enables real-time response based on use case and hardware (for example, RaspberryPi, Intel x86, and Nvidia Jetson nano). {{site.data.keyword.ieam}} model management system enables you to deploy updated AI models without any service downtime.
148163

149-
See [Models Deployed at the Edge ](https://www.ibm.com/cloud/blog/models-deployed-at-the-edge){:target="_blank"}{: .externalLink}.
164+
See [Models Deployed at the Edge ](https://www.ibm.com/cloud/blog/models-deployed-at-the-edge){:target="\_blank"}{: .externalLink}.
165+
166+
## How do you update the constraints of an existing deployment policy with the hzn cli?
167+
168+
{: #hzn_cli}
169+
170+
There are couple of options to update constraint of an existing deployment policy via hzn cli.
171+
172+
- hzn exchange business updatepolicy `${POLICY} -f ${UPDATE_POLICY_FILE}`
173+
174+
where the UPDATE_POLICY_FILE contains something like
175+
{% capture code %}{
176+
"constraints": [
177+
"quay_horizon_model_100 >= 1000"
178+
]
179+
}{% endcapture %}
180+
181+
{% include code_snippet.md code=code language='shell' %}
182+
183+
- hzn exchange deployment addpolicy `--json-file=${POLICY_FILE_WITH_UPDATE} ${POLICY}`
184+
185+
Note, "hzn exchange deployment updatepolicy `--json-file=${POLICY_FILE_WITH_UPDATE} ${POLICY}`" only updates the policy attributes and ignore any constraint update.

0 commit comments

Comments
 (0)