From: Zhang Rong(Jon) Date: Fri, 7 Jan 2022 02:46:32 +0000 (+0800) Subject: Docs: update user guide, add host netdevice settings, set hugepage size to 0 X-Git-Tag: 2.0.0-rc1~71 X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=commitdiff_plain;h=ef9df53212015a77c2e82484f853a67d875618a6;p=pti%2Fo2.git Docs: update user guide, add host netdevice settings, set hugepage size to 0 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) Change-Id: If90f56005c93e9ac428fb06acf205b342a32363a --- diff --git a/README.md b/README.md index 07aa32e..3f15087 100644 --- a/README.md +++ b/README.md @@ -131,8 +131,8 @@ kubectl get pods -A ## setup local repo: o2imsrepo ```sh -# helm repo add chartmuseum https://chartmuseum.github.io/charts -# helm repo update +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 diff --git a/docs/user-guide.rst b/docs/user-guide.rst index 9a11012..a2bea07 100644 --- a/docs/user-guide.rst +++ b/docs/user-guide.rst @@ -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= + - Discover O-Cloud inventory - O-Cloud auto discovery @@ -23,7 +23,7 @@ SMO. .. code:: shell curl -X 'GET' \ - 'http://: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://: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://: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://: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://: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://: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://: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://: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://: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 <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@ + 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://: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://: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://: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": "", + "descriptorId": "'${descId}'", "parentDeploymentId": "" }' - curl --location --request GET "http://: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://: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://:30205/o2dms/${dmsId}/O2dms_DeploymentLifecycle/NfDeployment/${NfDeploymentId}" + curl --location --request DELETE "http://${OAM_IP}:30205/o2dms/${dmsId}/O2dms_DeploymentLifecycle/NfDeployment/${NfDeploymentId}"