Docs: update user guide, add host netdevice settings, set hugepage size to 0 34/7534/1
authorZhang Rong(Jon) <rong.zhang@windriver.com>
Fri, 7 Jan 2022 02:46:32 +0000 (10:46 +0800)
committerBin Yang <bin.yang@windriver.com>
Tue, 11 Jan 2022 04:57:10 +0000 (04:57 +0000)
1. Update user guide, add host netdevice operations to make sure the testing CNF can work.
2. Reduce the hugepage size to 0, fix the issue that if the host does not have 2M hugepage setting will be failed
3. Add export OAM IP environment variable, avoid many times hand change.
4. 'helm push' not exist issue fixed with install helm plugin.

Signed-off-by: Zhang Rong(Jon) <rong.zhang@windriver.com>
Change-Id: If90f56005c93e9ac428fb06acf205b342a32363a
(cherry picked from commit ef9df53212015a77c2e82484f853a67d875618a6)

README.md
docs/user-guide.rst

index 07aa32e..3f15087 100644 (file)
--- a/README.md
+++ b/README.md
@@ -131,8 +131,8 @@ kubectl get pods -A
 ## setup local repo: o2imsrepo\r
 \r
 ```sh\r
-helm repo add chartmuseum https://chartmuseum.github.io/charts\r
-helm repo update\r
+helm repo add chartmuseum https://chartmuseum.github.io/charts\r
+helm repo update\r
 helm pull chartmuseum/chartmuseum # download chartmuseum-3.4.0.tgz to local\r
 tar zxvf chartmuseum-3.4.0.tgz\r
 \r
index 9a11012..a2bea07 100644 (file)
@@ -1,7 +1,3 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-.. SPDX-License-Identifier: CC-BY-4.0
-.. Copyright (C) 2021 Wind River Systems, Inc.
-
 O-Cloud O2 Service User Guide
 =============================
 
@@ -10,6 +6,10 @@ SMO.
 
 -  Assume you have an O-Cloud O2 environment
 
+   .. code:: bash
+
+      export OAM_IP=<INF_OAM_IP>
+
 -  Discover O-Cloud inventory
 
    -  O-Cloud auto discovery
@@ -23,7 +23,7 @@ SMO.
       .. code:: shell
 
          curl -X 'GET' \
-           'http://<OAM IP>:30205/o2ims_infrastructureInventory/v1/' \
+           "http://${OAM_IP}:30205/o2ims_infrastructureInventory/v1/" \
            -H 'accept: application/json'
 
    -  Resource pool
@@ -36,9 +36,14 @@ SMO.
       .. code:: shell
 
          curl -X 'GET' \
-           'http://<OAM IP>:30205/o2ims_infrastructureInventory/v1/resourcePools' \
+           "http://${OAM_IP}:30205/o2ims_infrastructureInventory/v1/resourcePools" \
            -H 'accept: application/json'
 
+         # export resource pool id
+         export resourcePoolId=`curl -X 'GET'   "http://${OAM_IP}:30205/o2ims_infrastructureInventory/v1/resourcePools"   -H 'accept: application/json' -H 'X-Fields: resourcePoolId' 2>/dev/null | jq .[].resourcePoolId | xargs echo`
+
+         echo ${resourcePoolId} # check the exported resource pool id
+
    -  Resource type
 
       Resource type defined what type is the specified resource, like a
@@ -49,7 +54,7 @@ SMO.
       .. code:: shell
 
          curl -X 'GET' \
-           'http://<OAM IP>:30205/o2ims_infrastructureInventory/v1/resourceTypes' \
+           "http://${OAM_IP}:30205/o2ims_infrastructureInventory/v1/resourceTypes" \
            -H 'accept: application/json'
 
    -  Resource
@@ -60,15 +65,16 @@ SMO.
       .. code:: shell
 
          curl -X 'GET' \
-           "http://<OAM IP>:30205/o2ims_infrastructureInventory/v1/resourcePools/${resourcePoolId}/resources" \
+           "http://${OAM_IP}:30205/o2ims_infrastructureInventory/v1/resourcePools/${resourcePoolId}/resources" \
            -H 'accept: application/json'
 
-      Get detail of one resource
+      Get detail of one resource, need to export one specific resource
+      id that wants to check
 
       .. code:: shell
 
          curl -X 'GET' \
-           "http://<OAM IP>:30205/o2ims_infrastructureInventory/v1/resourcePools/${resourcePoolId}/resources/${resourceId}" \
+           "http://${OAM_IP}:30205/o2ims_infrastructureInventory/v1/resourcePools/${resourcePoolId}/resources/${resourceId}" \
            -H 'accept: application/json'
 
    -  Deployment manager services endpoint
@@ -79,7 +85,7 @@ SMO.
       .. code:: shell
 
          curl -X 'GET' \
-           'http://<OAM IP>:30205/o2ims_infrastructureInventory/v1/deploymentManagers' \
+           "http://${OAM_IP}:30205/o2ims_infrastructureInventory/v1/deploymentManagers" \
            -H 'accept: application/json'
 
 -  Subscribe to the O-Cloud resource change notification
@@ -92,7 +98,7 @@ SMO.
       .. code:: bash
 
          curl -X 'POST' \
-           'http://<OAM IP>:30205/o2ims_infrastructureInventory/v1/subscriptions' \
+           "http://${OAM_IP}:30205/o2ims_infrastructureInventory/v1/subscriptions" \
            -H 'accept: application/json' \
            -H 'Content-Type: application/json' \
            -d '{
@@ -119,23 +125,27 @@ SMO.
 
       .. code:: bash
 
-         curl --location --request GET 'http://<OAM IP>:30205/o2ims_infrastructureInventory/v1/deploymentManagers'
+         curl --location --request GET "http://${OAM_IP}:30205/o2ims_infrastructureInventory/v1/deploymentManagers"
+
+         export dmsId=`curl --location --request GET "http://${OAM_IP}:30205/o2ims_infrastructureInventory/v1/deploymentManagers" 2>/dev/null | jq .[].deploymentManagerId | xargs echo`
 
-         export dmsId=`curl --location --request GET 'http://<OAM IP>:30205/o2ims_infrastructureInventory/v1/deploymentManagers' 2>/dev/null | jq .[].deploymentManagerId | xargs echo`
+         echo ${dmsId} # check the exported DMS id
 
       Using helm to deploy a chartmuseum to the INF
 
       .. code:: bash
 
+         helm repo add chartmuseum https://chartmuseum.github.io/charts
+         helm repo update
          helm pull chartmuseum/chartmuseum # download chartmuseum-3.4.0.tgz to local
          tar zxvf chartmuseum-3.4.0.tgz
          cat <<EOF>chartmuseum-override.yaml
          env:
-          open:
-            DISABLE_API: false
+           open:
+             DISABLE_API: false
          service:
-          type: NodePort
-          nodePort: 30330
+           type: NodePort
+           nodePort: 30330
          EOF
 
          helm install chartmuseumrepo chartmuseum/chartmuseum -f chartmuseum-override.yaml
@@ -155,27 +165,42 @@ SMO.
 
          git clone https://github.com/biny993/firewall-host-netdevice.git
          tar -zcvf firewall-host-netdevice-1.0.0.tgz firewall-host-netdevice/
-         helm push firewall-host-netdevice-1.0.0.tgz o2imsrepo
+         helm plugin install https://github.com/chartmuseum/helm-push.git
+         helm cm-push firewall-host-netdevice-1.0.0.tgz o2imsrepo
          helm repo update
          helm search repo firewall
 
+      Setup host net device over INF
+
+      .. code:: bash
+
+         ssh sysadmin@<INF OAM IP>
+         sudo ip link add name veth11 type veth peer name veth12
+         sudo ip link add name veth21 type veth peer name veth22
+         sudo ip link |grep veth
+         exit
+
    -  Create NfDeploymentDescriptor
 
       .. code:: bash
 
-         curl --location --request POST "http://<OAM IP>:30205/o2dms/${dmsId}/O2dms_DeploymentLifecycle/NfDeploymentDescriptor" \
+         curl --location --request POST "http://${OAM_IP}:30205/o2dms/${dmsId}/O2dms_DeploymentLifecycle/NfDeploymentDescriptor" \
          --header 'Content-Type: application/json' \
          --data-raw '{
            "name": "cfwdesc1",
            "description": "demo nf deployment descriptor",
-           "artifactRepoUrl": "http://${NODE_IP}:30330",
+           "artifactRepoUrl": "http://'${NODE_IP}':30330",
            "artifactName": "firewall-host-netdevice",
            "inputParams": 
-           "{\n  \"image\": {\n    \"repository\": \"ubuntu\",\n    \"tag\": 18.04,\n    \"pullPolicy\": \"IfNotPresent\"\n  },\n  \"resources\": {\n    \"cpu\": 2,\n    \"memory\": \"2Gi\",\n    \"hugepage\": \"256Mi\",\n    \"unprotectedNetPortVpg\": \"veth11\",\n    \"unprotectedNetPortVfw\": \"veth12\",\n    \"unprotectedNetCidr\": \"10.10.1.0/24\",\n    \"unprotectedNetGwIp\": \"10.10.1.1\",\n    \"protectedNetPortVfw\": \"veth21\",\n    \"protectedNetPortVsn\": \"veth22\",\n    \"protectedNetCidr\": \"10.10.2.0/24\",\n    \"protectedNetGwIp\": \"10.10.2.1\",\n    \"vfwPrivateIp0\": \"10.10.1.1\",\n    \"vfwPrivateIp1\": \"10.10.2.1\",\n    \"vpgPrivateIp0\": \"10.10.1.2\",\n    \"vsnPrivateIp0\": \"10.10.2.2\"\n  }\n}",
+           "{\n  \"image\": {\n    \"repository\": \"ubuntu\",\n    \"tag\": 18.04,\n    \"pullPolicy\": \"IfNotPresent\"\n  },\n  \"resources\": {\n    \"cpu\": 2,\n    \"memory\": \"2Gi\",\n    \"hugepage\": \"0Mi\",\n    \"unprotectedNetPortVpg\": \"veth11\",\n    \"unprotectedNetPortVfw\": \"veth12\",\n    \"unprotectedNetCidr\": \"10.10.1.0/24\",\n    \"unprotectedNetGwIp\": \"10.10.1.1\",\n    \"protectedNetPortVfw\": \"veth21\",\n    \"protectedNetPortVsn\": \"veth22\",\n    \"protectedNetCidr\": \"10.10.2.0/24\",\n    \"protectedNetGwIp\": \"10.10.2.1\",\n    \"vfwPrivateIp0\": \"10.10.1.1\",\n    \"vfwPrivateIp1\": \"10.10.2.1\",\n    \"vpgPrivateIp0\": \"10.10.1.2\",\n    \"vsnPrivateIp0\": \"10.10.2.2\"\n  }\n}",
            "outputParams": "{\"output1\": 100}"
          }'
 
-         curl --location --request GET "http://<OAM IP>:30205/o2dms/${dmsId}/O2dms_DeploymentLifecycle/NfDeploymentDescriptor"
+         curl --location --request GET "http://${OAM_IP}:30205/o2dms/${dmsId}/O2dms_DeploymentLifecycle/NfDeploymentDescriptor"
+
+         export descId=` curl -X 'GET'   "http://${OAM_IP}:30205/o2dms/${dmsId}/O2dms_DeploymentLifecycle/NfDeploymentDescriptor"   -H 'accept: application/json'   -H 'X-Fields: id' 2>/dev/null | jq .[].id | xargs echo`
+
+         echo ${descId} # check the exported descriptor id
 
    -  Create NfDeployment
 
@@ -185,16 +210,16 @@ SMO.
 
       .. code:: bash
 
-         curl --location --request POST "http://<OAM IP>:30205/o2dms/${dmsId}/O2dms_DeploymentLifecycle/NfDeployment" \
+         curl --location --request POST "http://${OAM_IP}:30205/o2dms/${dmsId}/O2dms_DeploymentLifecycle/NfDeployment" \
          --header 'Content-Type: application/json' \
          --data-raw '{
            "name": "cfw100",
            "description": "demo nf deployment",
-           "descriptorId": "<Descriptor ID>",
+           "descriptorId": "'${descId}'",
            "parentDeploymentId": ""
          }'
 
-         curl --location --request GET "http://<OAM IP>:30205/o2dms/${dmsId}/O2dms_DeploymentLifecycle/NfDeployment"
+         curl --location --request GET "http://${OAM_IP}:30205/o2dms/${dmsId}/O2dms_DeploymentLifecycle/NfDeployment"
 
    -  Check pods of the firewall sample
 
@@ -206,6 +231,8 @@ SMO.
 
       .. code:: shell
 
-         export NfDeploymentId=`curl --location --request GET 'http://<OAM IP>:30205/o2dms/${dmsId}/O2dms_DeploymentLifecycle/NfDeployment' 2>/dev/null | jq .[].id | xargs echo`
+         export NfDeploymentId=`curl --location --request GET "http://${OAM_IP}:30205/o2dms/${dmsId}/O2dms_DeploymentLifecycle/NfDeployment" 2>/dev/null | jq .[].id | xargs echo`
+
+         echo ${NfDeploymentId} # Check the exported deployment id
 
-         curl --location --request DELETE "http://<OAM IP>:30205/o2dms/${dmsId}/O2dms_DeploymentLifecycle/NfDeployment/${NfDeploymentId}"
+         curl --location --request DELETE "http://${OAM_IP}:30205/o2dms/${dmsId}/O2dms_DeploymentLifecycle/NfDeployment/${NfDeploymentId}"