You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 10 Next »

Components

Installation of Catalog QT requires multiple components to be installed and configured to be fully operational. This is due to the fact that numerous, external, components are required during build procedure and during runtime. All these elements are described below.

1. Installation of MySQL/MariaDB

Before you proceed with installation of Catalog QT (CLI/UI) you have to make sure there is a working MySQL server and you have a connection from Web Server and machine where CLI commands will be executed.

Make sure you can connect to server like this:

# -u ual_user      - you can use different user name
# -h itmmysql1     - this is Gateway based host, but you can have something else here
#                    it depends on your target installation
# itmcatalog       - database name - you can decide on something else
#                    but, by default, name of catalog db is 'itmcatalog'
#
# Note that result of the command below might be different for you, depending
# on whether you use MySQL or MariDB. Please, make sure that client library 
# for mysql will have the same version as your server.
#
# Note that your client may be executed on a completely different machine
# than server
#
 
> mysql -u ual_user -h itmmysql1 itmcatalog
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 25031
Server version: 5.6.36-log MySQL Community Server (GPL)
Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
 

This documentation doesn't specify details on how to install and configure MySQL/MariaDB. There is only a requirement that you need:

one account with root privileges - you will have to create db schema

one account with normal user privileges - this user must have access to all tables inside DB

2. Installation of CLI based components

2.1. Installation of gSOAP 2.7

In order to install CLI components you need to install and configure gSOAP 2.7 library. Please follow instructions here, and make sure gSOAP library is available in your system:                          gsoap_2.7.13.zip

It's a good idea to provide separate module for gSOAP library that sets some basic locations

module-whatis    gsoap <http://http://gsoap2.sourceforge.net/>
setenv           GSOAP put_the_location_of_gsoap_here               # e.g. /some_dir/libs/gsoap/2.7
prepend-path     PATH put_location_of_bin_dir_here                  # e.g. /some_dir/libs/gsoap/2.7/bin
prepend-path     PKG_CONFIG_PATH put_location_of_pkg_config_here    # e.g. /some_dir/libs/gsoap/2.7/lib/pkgconfig

It's good to create gsoap.pc file - it can be used later, during compilation of the codes

prefix=/some_dir/libs/gsoap/2.7
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include

Name: GSoap
Description: SOAP C Web Services
Version: 2.7


Libs: -L${libdir} -lgsoap
Cflags: -DWITH_DOM -I${includedir}

2.2. Installation of IMAS UAL

Current version of Catalog QT requires at least imas/3.20.0/ual/3.8.3. Make sure to have IMAS properly installed and configured at your target host.

2.3. Installation of CLI tools

2.3.1. Checking out repository

Make sure you can access repository: https://gforge6.eufus.eu/svn/catalog_qt, before proceeding any further.

> svn co https://gforge6.eufus.eu/svn/catalog_qt

Catalog QT tools are divided into small sub-projects

.
|-- C4gsoap                  - gSOAP communication layer in C++
|-- catalogScheduler         - command line for data submission (called by user)
|-- catalogTools             - helper classes shared between projects
|-- catalogUpdateProcess     - process that actually performs data collection (executed on server machine)
|-- dbAPI                    - API for database calls - shared between projects
|-- docs                     - documentation
|-- examples                 - sample files
|-- modules                  - module for the project (used by users)
|-- resources                - place, where gSOAP layer is generated
|-- scripts                  - helper scripts (store_data.sh, store_machine.sh)
`-- src                      - UI - whole server part (UI); described later in this specification

CatalogQT version

Since now, I am referring to sources inside: https://gforge6.eufus.eu/svn/catalog_qt/branches/R1.0.imas

 

2.3.2. Creating db schema

Before compiling the code, make sure you can create db schema and that you can access it as user. You can create DB schema following way

> cd docs/dbschema
> mysql -h $HOST_NAME -u $UAL_USER itmcatalog -p < create_db.sql
 
# You have to alter table where some config info is stored make sure to call
 
> cat alter_00.sql | \
      sed 's|@FULL_PATH_FOR_STORAGE@|/this/is/the/location/where/all/users/can/write|' > \
      alter_00_modified.sql
    mysql -h itmmysql1 -u ual_user_s itmcatalog -p < alter_00_modified.sql
 
# /this/is/the/location/where/all/users/can/write - is a place on your machine (where users are calling
#                                                   scheduler application). Each user has to have write
#                                                   access there.
 
> mysql -h $HOST_NAME -u $UAL_USER itmcatalog -p < alter_00_modified.sql
 
 
# make sure to create list of variables that are stored inside DB
 
> xsltproc ./getFieldsIMAS.xsl \
      $IMAS_HOME/core/installer/src/$IMAS_VERSION/ual/$UAL_VERSION/xml/IDSDef.xml | \
      grep "summary" > \
      variables.sql
> mysql -h $HOST_NAME -u $UAL_USER itmcatalog -p < variables.sql
 
# double check that all tables are in proper place
 
> mysql -h $HOST_NAME -u $UAL_USER itmcatalog -p
> ...
> mysql> show tables;
+----------------------+
| Tables_in_itmcatalog |
+----------------------+
| annotations          |
| catalog_parameters   |
| entry                |
| entry_data           |
| intervals            |
| machines             |
| outcome              |
| scheduler            |
| users                |
| variables            |
+----------------------+
10 rows in set (0.00 sec)

 

3. Installation of UI - web client

  • No labels