diff options
-rw-r--r-- | docs/developer_info/BBUnderstanding.rst | 7 | ||||
-rw-r--r-- | docs/developer_info/FAQs.rst | 102 | ||||
-rw-r--r-- | docs/developer_info/SOMCIntegrate.rst | 142 |
3 files changed, 251 insertions, 0 deletions
diff --git a/docs/developer_info/BBUnderstanding.rst b/docs/developer_info/BBUnderstanding.rst new file mode 100644 index 0000000000..2aa7097ad9 --- /dev/null +++ b/docs/developer_info/BBUnderstanding.rst @@ -0,0 +1,7 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. Copyright 2018 Huawei Technologies Co., Ltd.
+
+Building Block Understanding
+============================
+
diff --git a/docs/developer_info/FAQs.rst b/docs/developer_info/FAQs.rst new file mode 100644 index 0000000000..cd6784071c --- /dev/null +++ b/docs/developer_info/FAQs.rst @@ -0,0 +1,102 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 +.. Copyright 2018 Huawei Technologies Co., Ltd. + +Frequently Asked Questions SO +============================= + +Casablanca Release throws java.sql.SQLDataException: (conn:85) Data too long for column 'RESOURCE_INPUT' at row 1 +----------------------------------------------------------------------------------------------------------------- + + This issue could be solved either using the SO-1.3.7 release or through a manual patch to update the lenght of the column 'RESOURCE_INPUT'. + + Following are the sql statements to update length of resource_input: + + use catalogdb; + + ALTER TABLE vnf_resource_customization + MODIFY IF EXISTS RESOURCE_INPUT varchar(20000); + + ALTER TABLE network_resource_customization + MODIFY IF EXISTS RESOURCE_INPUT varchar(20000); + + ALTER TABLE allotted_resource_customization + MODIFY IF EXISTS RESOURCE_INPUT varchar(20000); + + in so mariadb pod (username/password root/password) + +Integrate SO with MultiCloud +---------------------------- +.. toctree:: + :maxdepth: 1 + + SOMCIntegrate.rst + +Building Block Understanding +---------------------------- +.. toctree:: + :maxdepth: 1 + + BBUnderstanding.rst + +How to Build software without unit tests +---------------------------------------- + +.. code-block:: bash + + cd $HOME/onap/workspace/SO/libs + + $HOME/onap/apache-maven-3.3.9/bin/mvn -s $HOME/onap/.m2/settings.xml -DskipTests -Dmaven.test.skip=true clean install + + cd $HOME/onap/workspace/SO/so + + $HOME/onap/apache-maven-3.3.9/bin/mvn -s $HOME/onap/.m2/settings.xml -DskipTests -Dmaven.test.skip=true clean install + +How to Build docker images +-------------------------- + +SO docker images are built using the "docker" maven profile. + +During the build, the chef-repo and so-docker repositories are cloned from gerrit into the "so" directory structure. Extra definitions are required in the build environment to make this happen. You may need to adjust the definition of mso.chef.git.url.prefix to match the way you authenticate yourself when performing git clone. + +If you are behind a corporate firewall, you can specify proxy definitions for the constructed docker images. + +**Remove existing docker containers and images** + +.. code-block:: bash + + docker stop $(docker ps -qa) + + docker rm $(docker ps -aq) + + docker rmi -f $(docker images -q) + +**Build docker images (without proxy definition):** + +.. code-block:: bash + + cd $HOME/onap/workspace/SO/so/packages + + $HOME/onap/apache-maven-3.3.9/bin/mvn -s $HOME/onap/.m2/settings.xml clean install -P docker + -Dmso.chef.git.url.prefix=ssh://$USER@gerrit.onap.org:29418 -Dmso.chef.git.branchname=master + -Dmso.chef.git.url.suffix.chef.repo=so/chef-repo -Dmso.chef.git.url.suffix.chef.config=so/so-config + -Ddocker.buildArg.http_proxy=http://one.proxy.att.com:8080 + -Ddocker.buildArg.https_proxy=http://one.proxy.att.com:8080 + +**Build docker images (with proxy definition):** + +.. code-block:: bash + + cd $HOME/onap/workspace/SO/so/packages + + $HOME/onap/apache-maven-3.3.9/bin/mvn -s $HOME/onap/.m2/settings.xml clean install -P docker + -Dmso.chef.git.url.prefix=ssh://$USER@gerrit.onap.org:29418 -Dmso.chef.git.branchname=master + -Dmso.chef.git.url.suffix.chef.repo=so/chef-repo -Dmso.chef.git.url.suffix.chef.config=so/so-config + -Ddocker.buildArg.http_proxy=http://proxyhost:port -Ddocker.buildArg.https_proxy=http://proxyhost:port + +How to Build with Integration Tests +----------------------------------- + +This is done exactly as described for building docker images, except that the maven profile to use is "with-integration-tests" instead of "docker". Integration tests are executed inside docker containers constructed by the build. + + diff --git a/docs/developer_info/SOMCIntegrate.rst b/docs/developer_info/SOMCIntegrate.rst new file mode 100644 index 0000000000..cae2d54f41 --- /dev/null +++ b/docs/developer_info/SOMCIntegrate.rst @@ -0,0 +1,142 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. Copyright 2018 Huawei Technologies Co., Ltd.
+
+Integrate SO with MultiCloud
+=============================
+
+There are 2 SO tables that you need to modify if you want to use Multicloud. They are in the MariaDB container in the dev-so service. Here are the credentials to access the DB (through mysql command line): cataloguser/catalog123. The table you need to use is called catalogdb.
+
+
+
+The 2 tables are cloud_sites and identity_services. cloud_sites contains information about the cloud (region name and keystone for example). The keystone name (IDENTITY_SERVICE_ID) is the key of identity_services table, which contains specific information about cloud authentication. In the example below, you can see my configuration for a cloud region called RegionTwo, in which SO uses Multicoud for talking to the underlying cloud platfrorm. Note indeed that the IDENTITY_URL in identity_services redirects to Multicloud. In practice, SO reads cloud and authentication information from this two tables, and uses the provided keystone authentication given an identity URL.
+
+
+
+MariaDB [catalogdb]> select * from cloud_sites;
+
++-------------------+-----------+---------------------+---------------+-----------+-------------+----------+--------------+-----------------+---------------------+---------------------+
+
+| ID | REGION_ID | IDENTITY_SERVICE_ID | CLOUD_VERSION | CLLI | CLOUDIFY_ID | PLATFORM | ORCHESTRATOR | LAST_UPDATED_BY | CREATION_TIMESTAMP | UPDATE_TIMESTAMP |
+
++-------------------+-----------+---------------------+---------------+-----------+-------------+----------+--------------+-----------------+---------------------+---------------------+
+
+| Chicago | ORD | RAX_KEYSTONE | 2.5 | ORD | NULL | NULL | NULL | FLYWAY | 2018-12-28 22:58:34 | 2018-12-28 22:58:34 |
+
+| Dallas | DFW | RAX_KEYSTONE | 2.5 | DFW | NULL | NULL | NULL | FLYWAY | 2018-12-28 22:58:34 | 2018-12-28 22:58:34 |
+
+| DEFAULT | RegionOne | DEFAULT_KEYSTONE | 2.5 | RegionOne | NULL | NULL | NULL | FLYWAY | 2018-12-28 22:58:34 | 2018-12-28 22:58:34 |
+
+| Northern Virginia | IAD | RAX_KEYSTONE | 2.5 | IAD | NULL | NULL | NULL | FLYWAY | 2018-12-28 22:58:34 | 2018-12-28 22:58:34 |
+
+| RegionOne | RegionOne | DEFAULT_KEYSTONE | 2.5 | RegionOne | NULL | NULL | NULL | FLYWAY | 2018-12-28 22:58:34 | 2018-12-28 22:58:34 |
+
+| RegionTwo | RegionTwo | KEYSTONE_REGION_TWO | 2.5 | RegionTwo | NULL | NULL | NULL | FLYWAY | 2019-01-02 20:07:28 | 2019-01-02 20:07:28 |
+
++-------------------+-----------+---------------------+---------------+-----------+-------------+----------+--------------+-----------------+---------------------+---------------------+
+
+
+
+
+
+MariaDB [catalogdb]> select * from identity_services;
+
++---------------------+--------------------------------------------------------------------------------+----------------------+----------------------------------+--------------+-------------+-----------------+----------------------+------------------------------+-----------------+---------------------+---------------------+
+
+| ID | IDENTITY_URL | MSO_ID | MSO_PASS | ADMIN_TENANT | MEMBER_ROLE | TENANT_METADATA | IDENTITY_SERVER_TYPE | IDENTITY_AUTHENTICATION_TYPE | LAST_UPDATED_BY | CREATION_TIMESTAMP | UPDATE_TIMESTAMP |
+
++---------------------+--------------------------------------------------------------------------------+----------------------+----------------------------------+--------------+-------------+-----------------+----------------------+------------------------------+-----------------+---------------------+---------------------+
+
+| DEFAULT_KEYSTONE | http://135.197.225.10:5000/v2.0 | admin | a83e2b8446193c5ac450d84f0f1dc711 | service | admin | 1 | KEYSTONE | USERNAME_PASSWORD | FLYWAY | 2018-12-28 22:58:34 | 2018-12-28 22:58:34 |
+
+| KEYSTONE_REGION_TWO | http://10.43.117.142:9001/api/multicloud/v0/CloudOwner_RegionTwo/identity/v2.0 | username | <encrypted pwd> | service | admin | 1 | KEYSTONE | USERNAME_PASSWORD | FLYWAY | 2019-01-02 20:03:26 | 2019-01-02 20:03:26 |
+
+| RAX_KEYSTONE | https://identity.api.rackspacecloud.com/v2.0 | RACKSPACE_ACCOUNT_ID | RACKSPACE_ACCOUNT_APIKEY | service | admin | 1 | KEYSTONE | RACKSPACE_APIKEY | FLYWAY | 2018-12-28 22:58:34 | 2018-12-28 22:58:34 |
+
++---------------------+--------------------------------------------------------------------------------+----------------------+----------------------------------+--------------+-------------+-----------------+----------------------+------------------------------+-----------------+---------------------+---------------------+
+
+
+
+One thing to know is that the actual IP 10.43.117.142:9001 is the MSB (iag) container. Multicloud registers with MSB, so you can use MSB to fetch the Multicloud endpoint (I think you can use the K8S cluster IP and MSB node port for that instead of the actual MSB container IP and port).
+
+
+
+One final thing: you may need to add identity URL to the AAI cloud region as well, like this:
+
+
+
+curl -X PUT \
+
+ https://135.197.220.117:30233/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionTwo \
+
+ -H 'Accept: application/json' \
+
+ -H 'Content-Type: application/json' \
+
+ -H 'Postman-Token: b05ff02d-78c7-4e1e-9457-d9fa9cc5da65' \
+
+ -H 'X-FromAppId: AAI' \
+
+ -H 'X-TransactionId: get_aai_subscr' \
+
+ -H 'cache-control: no-cache' \
+
+ -d '{
+
+ "cloud-owner": "CloudOwner",
+
+ "cloud-region-id": "RegionTwo",
+
+ "cloud-type": "openstack",
+
+ "cloud-region-version": "v2.5",
+
+ "identity-url": "http://10.43.111.6/api/multicloud/v0/CloudOwner_RegionTwo/identity/v2.0/tokens",
+
+ "cloud-zone": "bm-2",
+
+ "complex-name": "complex-2",
+
+ "tenants": {
+
+ "tenant": [{
+
+ "tenant-id": "c236140a3dff4911bb4c7c86940616cc",
+
+ "tenant-name": "ONAP_Casablanca"
+
+ }]
+
+ },
+
+ "esr-system-info-list": {
+
+ "esr-system-info": [{
+
+ "esr-system-info-id": "1",
+
+ "system-name": "OpenStack-2",
+
+ "type": "vim",
+
+ "service-url": "http://XXX:5000/v3",
+
+ "user-name": "username",
+
+ "password": "password",
+
+ "system-type": "VIM",
+
+ "ssl-insecure": true,
+
+ "cloud-domain": "default",
+
+ "default-tenant": "ONAP_Casablanca"
+
+ }]
+
+ }
+
+}'
+
+
\ No newline at end of file |