Preparing customized versions of ICCSAP libraries

To deploy IBM Content Collector for SAP, the libraries need to be loaded into each pod. The FNCM Operator distributes the libraries if they are packaged, compressed and, ready for download. Use the sc_drivers_url configuration parameter to download them from an accessible web server.

Procedure

  1. Download the SAP Netweaver SDK 7.50 library from the SAP Service Marketplace or SAP NW RFC SDK 7.50. Make sure that the library includes the following files: libicudata.so.50, libicudecnumber.so, libicui18n.so.50, libicuuc.so.50, libsapnwrfc.so, and libsapucum.so
    You need an SAP Support user (S-user) ID to access the SAP Service Marketplace.
  2. Download the SAP Cryptographic Library version 8 from the SAP Service Marketplace or COMMONCRYPTOLIB 8. Make sure that the library includes the following file: libsapcrypto.so
    You need an SAP Support user (S-user) ID to access the SAP Service Marketplace.
  3. Download the SAP Java Connector Release 3.1 from the SAP Service Marketplace or SAP JCO 3.1. Make sure that the library includes the following file: sapjco3
    You need an SAP Support user (S-user) ID to access the SAP Service Marketplace.
  4. Extract the content of all the packages to a saplibs directory and give read and write permissions to the directory by running the chmod command.
    /saplibs/libicudata.so.50
    /saplibs/libicudecnumber.so
    /saplibs/libicui18n.so.50
    /saplibs/libicuuc.so.50
    /saplibs/libsapcrypto.so
    /saplibs/libsapjco3.so
    /saplibs/libsapnwrfc.so
    /saplibs/libsapucum.so
    /saplibs/sapjco3.jar
  5. Compress them into a file (.zip, .tar, .tar.gz, .tar.bz2, .tar.xz) by running the following command:
    zip -r $localpath_to_zip/saplibs.zip saplibs

    The command generates the path and file name: $localpath_to_zip/jdbc.zip.

  6. Use the HTTPd image to start a container with the name http.
    kubectl run webserver --image=httpd --port=80
  7. Run the following command to expose the httpd pod by using a service called webserver
    kubectl expose pod webserver --port=80 --type=ClusterIP
  8. Open the container by using the URL http://webserver/. You can access the URL from the namespace where you deployed the httpd pod.
    The hostname is where you run the HTTPd image. It displays the following message:
    "it works!"
  9. Copy the compressed file to the docker container by running the following command:
    kubectl cp $localpath_to_zip/saplibs.zip webserver:/usr/local/apache2/htdocs
  10. When you set the value of the sc_drivers_url CR parameter to the URL of the file in the HTTPd container: http://webserver/saplibs.zip, the operator downloads the compressed file. The hostname is where you run the HTTPd docker image.

    You set the values of the CR when you create an instance of the production deployment.

    shared_configuration:
      sc_drivers_url: http://webserver/saplibs.zip