FutureGateway Installation Riccardo Bruno INFN

Slides:



Advertisements
Similar presentations
ADABAS to RDBMS UsingNatQuery. The following session will provide a high-level overview of NatQuerys ability to automatically extract ADABAS data from.
Advertisements

With Folder HelpDesk for Outlook, support centres and other helpdesks can work efficiently with support cases inside Microsoft Outlook. The support tickets.
1 Dynamic DNS. 2 Module - Dynamic DNS ♦ Overview The domain names and IP addresses of hosts and the devices may change for many reasons. This module focuses.
A3.1 Assignment 3 Simple Job Submission Using GT 4 GRAM.
14.1 © 2004 Pearson Education, Inc. Exam Planning, Implementing, and Maintaining a Microsoft Windows Server 2003 Active Directory Infrastructure.
(NHA) The Laboratory of Computer Communication and Networking Network Host Analyzer.
Asset: Academic Survey System & Evaluation Tool Bert G. Wachsmuth Seton Hall University.
MCTS Guide to Microsoft Windows Server 2008 Network Infrastructure Configuration Chapter 8 Introduction to Printers in a Windows Server 2008 Network.
SETUP AND CONFIGURATIONS WEBLOGIC SERVER. 1.Weblogic Installation 2.Creating domain through configuration wizard 3.Creating domain using existing template.
Maintaining and Updating Windows Server 2008
Installing software on personal computer
Reproducible Environment for Scientific Applications (Lab session) Tak-Lon (Stephen) Wu.
Google App Engine Google APIs OAuth Facebook Graph API
Amazon EC2 Quick Start adapted from EC2_GetStarted.html.
Talend 5.4 Architecture Adam Pemble Talend Professional Services.
Linux Operations and Administration
Migration XenDesktop 7. © 2013 Citrix | Confidential – Do Not Distribute Migration prerequisites Set up a XenDesktop 7 Site, including the site database.
WebFOCUS Developer Studio Update Dimitris Poulos Technical Director September 3, 2015 Copyright 2009, Information Builders. Slide 1.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
© 2005,2006 NeoAccel Inc. Partners Presentation SSL VPN-Plus 2.0 Quick Start Guide.
Building service testbeds on FIRE D5.2.5 Virtual Cluster on Federated Cloud Demonstration Kit August 2012 Version 1.0 Copyright © 2012 CESGA. All rights.
The EPIKH Project (Exchange Programme to advance e-Infrastructure Know-How) Grid Engine Riccardo Rotondo
Copyright ®xSpring Pte Ltd, All rights reserved Versions DateVersionDescriptionAuthor May First version. Modified from Enterprise edition.NBL.
Eric Westfall – Indiana University James Bennett – Indiana University ADMINISTERING A PRODUCTION KUALI RICE INFRASTRUCTURE.
111 EMC CONFIDENTIAL—INTERNAL USE ONLY NMC -- NW Administration NMC Team NetWorker 7.3 TOI July 28, 2005.
Cloud Standard API and Contextualization
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
Microsoft SharePoint Server 2010 for the Microsoft ASP.NET Developer Yaroslav Pentsarskyy
Installation and Development Tools National Center for Supercomputing Applications University of Illinois at Urbana-Champaign The SEASR project and its.
The EPIKH Project (Exchange Programme to advance e-Infrastructure Know-How) GISELA Additional Services Diego Scardaci
Introduction to CS520/CS596_026 Lecture Two Gordon Tian Fall 2015.
1 / 22 AliRoot and AliEn Build Integration and Testing System.
Software Architecture in Practice Practical Exercise in Performance Engineering.
Getting started DIRAC Project. Outline  DIRAC information system  Documentation sources  DIRAC users and groups  Registration with DIRAC  Getting.
Install Appaserver ©Tim Riley. Apache Group ©Tim Riley Add yourself to the apache group. Both the apache user and group are called “www-data”. This step.
EXPOSING OVS STATISTICS FOR Q UANTUM USERS Tomer Shani Advanced Topics in Storage Systems Spring 2013.
Apache, MySQL and PHP Installation and Configuration Chapter 2 MySQL Installation and Configuration.
SPI NIGHTLIES Alex Hodgkins. SPI nightlies  Build and test various software projects each night  Provide a nightlies summary page that displays all.
Installing Applications in FreeBSD lctseng. Computer Center, CS, NCTU 2 Before we start  Permission issue root: the super user Like administrator in.
EGI-InSPIRE RI EGI Webinar EGI-InSPIRE RI Porting your application to the EGI Federated Cloud 17 Feb
Tutorial on Science Gateways, Roma, Catania Science Gateway Framework Motivations, architecture, features Riccardo Rotondo.
CMPE 226 Database Systems April 19 Class Meeting Department of Computer Engineering San Jose State University Spring 2016 Instructor: Ron Mak
Galaxy in Production Nate Coraor Galaxy Team Penn State University.
CACI Proprietary Information | Date 1 PD² SR13 Client Upgrade Name: Semarria Rosemond Title: Systems Analyst, Lead Date: December 8, 2011.
Advancing CernVM-FS and its Development Infrastructure José Molina Colmenero CERN EP-SFT.
Installation check for the Catania Science Gateway Framework development environment Riccardo Bruno INFN Dpt. Of
Maintaining and Updating Windows Server 2008 Lesson 8.
CACI Proprietary Information | Date 1 PD² v4.2 Increment 2 SR13 and FPDS Engine v3.5 Database Upgrade Name: Semarria Rosemond Title: Systems Analyst, Lead.
Monitoring Dynamic IOC Installations Using the alive Record Dohn Arms Beamline Controls & Data Acquisition Group Advanced Photon Source.
CACI Proprietary Information | Date 1 Upgrading to webMethods Product Suite Name: Semarria Rosemond Title: Systems Analyst, Lead Date: December 8,
1 Remote Installation Service Windows 2003 Server Prof. Abdul Hameed.
Microsoft Dynamics NAV Microsoft Dynamics NAV managed service for partners, under the hood Dmitry Chadayev Corporate Vice President, Microsoft.
FutureGateway Overview Riccardo Bruno INFN Catania e-Research Summer Hackfest.
Architecture Review 10/11/2004
Fundamental of Databases
Riccardo Bruno INFN Sez. Catania
Development Environment
FutureGateway Installation
FutureGateway Overview
Working With Azure Batch AI
Machine Learning Workshop
SaaS via a Portal: FutureGateway
Integration of Singularity With Makeflow
INSTALLING AND SETTING UP APACHE2 IN A LINUX ENVIRONMENT
asset: Academic Survey System & Evaluation Tool
Introduction to Ansible
Grid Engine Riccardo Rotondo
Azure Container Service
David Cleverly – Development Lead
Presentation transcript:

FutureGateway Installation Riccardo Bruno INFN

Architecture (figure) Each task has a dedicated area in the FileSystem for I/O APIServerDaemon target executors (Interfaces) are java classes called by APIServerDaemon Other interfaces may connect directly to the DB (mainly task queue and tasks) More front-ends may use the same DB More daemons may consume the same task queue API Front-endAPIServerDaemon GridEngine If. Infrastructures Task queue JSAGA Adaptors Target executors Mobile and Web apps REST MySQL Applications Infrastructures SimpleTosca If.Other If. GridEngine JSAGA

Architecture (Components) API Front-endAPIServerDaemon GridEngine If. Infrastructures Task queue JSAGA Adaptors Target executors Mobile and Web apps REST MySQL Applications Infrastructures SimpleTosca If.Other If. GridEngine JSAGA Python + Flask Apache Tomcat $FGLOCATION/fgAPIServer $FGLOCATION/APIServerDaemon

Typical usages Liferay Portal APIServer FrontEnd/Daemon APIServer FrontEnd/Daemon APIServer FrontEnd/Daemon APIServer FrontEnd/Daemon Community Portal Portlet Portlet/WebApp/Web+Ajax APIServer FrontEnd/Daemon APIServer FrontEnd/Daemon Final Users Mobile Apps Requires – INDIGO AAI PrivateNet/Firewall/SSL Protection Used for: Molecular Dynamics Kepler Used for: INDIGO SG Demonstrator datacloud.eu Used for: INDIGO AAI not yet ready The portal manages user access to portlets

Installation GITHub: Core scripts (setup_*.sh) – Support: EL5/6/7, deb (Ubuntu), Mac OS X – The setup_config.sh file contains global configuration options, then execute setup_FGPortal.sh as ‘futuregateway’ user while remaining setup_*.sh scripts as sudo/root – During installation, some binaries are downloaded from please verify its availability first FGRepo.tar.gz is not mandatory, but accelerates installation time APIServerDaemon_lib.tar.gz is mandatory and contains librsries that could not fit in GitHub project (until maven build will be not available) – Volunteers are requested to test/develop scripts for different platforms Ubuntu Server LTS – Use of core scripts to install on Ubuntu LTS fgSetup.sh – Installs everithing just executing it docker-setup.sh – Uses script above to install standard docker Ubuntu LTS image EGI-FedCloud – Using the userdata.txt contextualization file, it works on FutureGateway EGI appDB virtual appliance or any other Ubuntu LTSserver. It uses fgSetup.sh

FG Installation on Ubuntu Server LTS Install from a stand-alone installation – Extract from GITHub installation file: gSetup.sh gSetup.sh – Give execution rights and execute the installation file:./fgSetup.sh futuregateway futuregateway $(cat /root/.ssh/id_rsa.pub) – Before to start the execution, other configuration have to be performed and explained in the README.md file in the GITHub page: d Install from a docker container – Extract from GITHub installation file: – Give execution rights and start the setup script #./docker-setup.sh

FG Installation using EGI-FC: Using CLI or the UI the necessary steps are: – Get the ‘userdata.txt’ contextualization file, customize its content accodingly to personal needs – Get your proxy with fedcloud.egi.eu VO – Select one of the available endpoints supporting the FutureGateway appliance: The contextualization script can work on other existing Ubuntu LTS based appliances for instance (tested): – Image for Ubuntu Server LTS [Ubuntu/14.04 LTS/KVM]_EGI_fedcloud – Select a suitable resource template (no particular needs are requested; 1CPU, 1GB of memory is enough)

EGI-FC Contextualization - path: /root/installFG.sh permissions: "0755" owner: "root" content: | #!/bin/bash # # installFG.sh - Download, configure and execute the fgSetup.sh script # # Enable the installation flag, FutureGateway is installing # # Configure the appliance options below: FGLIFERAY=0 # Use 0 to skip liferay installation FGREBOOT=0 # Use 1 to reboot after installation, thus FG service will start FGSSH_PORT="2424" # User can specify any ssh port (use 22 for default) FGTOMCAT_USR=”… " # Tomcat administration user name FGTOMCAT_PAS=”… " # Tomcat administration password # Reconfigure SSH port as requested … - path: /root/installFG.sh permissions: "0755" owner: "root" content: | #!/bin/bash # # installFG.sh - Download, configure and execute the fgSetup.sh script # # Enable the installation flag, FutureGateway is installing # # Configure the appliance options below: FGLIFERAY=0 # Use 0 to skip liferay installation FGREBOOT=0 # Use 1 to reboot after installation, thus FG service will start FGSSH_PORT="2424" # User can specify any ssh port (use 22 for default) FGTOMCAT_USR=”… " # Tomcat administration user name FGTOMCAT_PAS=”… " # Tomcat administration password # Reconfigure SSH port as requested … #cloud-config hostname: futuregateway manage_etc_hosts: true package_update: true package_upgrade: true users: - name: futuregateway groups: sudo shell: /bin/bash sudo: ['ALL=(ALL) NOPASSWD:ALL'] lock-passwd: true ssh-import-id: futuregateway ssh-authorized-keys: - ssh-rsa … #cloud-config hostname: futuregateway manage_etc_hosts: true package_update: true package_upgrade: true users: - name: futuregateway groups: sudo shell: /bin/bash sudo: ['ALL=(ALL) NOPASSWD:ALL'] lock-passwd: true ssh-import-id: futuregateway ssh-authorized-keys: - ssh-rsa … Place your public SSH keys FGLIFERAY – Skips or not Liferay portal installation. In most cases communities have already a portal FGEREBOOT – Rebooting after context scritp means the FG server will start automatically FGTOMCAT_(USR/PAS) – Tomcat admin user an password

EGI-FC: FedCloudUI You may use FedCloudUI (volunteers are very welcome to improve or even re-engineer the existing roughly written scripts)FedCloudUI – Extract from GIT, cd into the directory ‘fedcloud-gui’ (configure and execute the ‘baseline_setup’ script) – Execute the command: ‘../efc-gui’ (Please pay attention on ‘source’; the script requires ‘dialog’ sw package) – Use the UI to select VO/OSTPL/RESTPL/RESOURCE to setup the environment – Exit from UI and use the efc_* command line to manage appliances – Sometime very slow (especially for big endpoints), but helpful tool to write commands such as: occi --endpoint $OCCI_ENDPOINT --auth x509 --user-cred $USER_CRED --ca-path $CAPATH --voms -- action list --resource network

Customizing fgSetup.sh # Configure the fgSetup.sh script # # Following lines configure the setup_config.sh file contained inside the fgSetup script # You can configure any option just introducing the following commands: # mv fgSetup.sh fgSetup.sh_orig # Make a safe copy of existing fgSetup.sh script # cat fgSetup.sh_orig | sed s/ / / > fgSetup.sh # set the new value Contextualization script creates the file installFG.sh This script contains instructions to customize entries into fgSetup.sh script In particular the fgSetup.sh script contains the instructions to generate the core script: setup_config.sh, which contains any configurable variable used by other setup_* core scripts. More than existing customizations can be be introduced by the user changing the contextualization script, configuring properly the following lines: As an example, it is possible to see how SSH port and TOMCAT admin USR and PAS are managed Once configured the fgSetup.sh script the customization script executes the command which starts the installation: runcmd: - /bin/bash /root/installFG.sh 2>/root/install.err > /root/install.out The same way to generate fgSetup and execute it can be exploited to generate other OSes full automatic installations. Volunteers are very welcome to perform such kind of tests. Once the installation completes a flag file will be removed in: /home/futuregateway/.installingFG

FutureGateway service management Once installation scripts completes its job the futuregateway is ready to start Futuregateway has a service control script file: –/etc/init.d/futuregateway Usage: –/etc/init.d/futuregateway The control script manages two components: – The futuregateway REST API front-end This opens a screen section under ‘futuregateway’ user and starts the the python app as stand-alone application – The futuregateway APIServerDaemon This starts a Tomcat session and its APIServerDaemon web aplication installed The REST API server front-end should be configured as a wsgi process; in such case futuregateway control script has a flag to ignore the front-end switching of its flag: ENABLEFRONTEND

Monitoring FutureGateway REST API Front-end – screen –ls –There is a screen on: –XXXXX.fgAPIServer(…)(Detached) –screen XXXXX.fgAPIServer # Attaches to the screen session, use ^C to stop fgapiserver.py execution – In the execution dir exists file ‘fgapiserver.log’ (not really used yet) APIServerDaemon – Start Tomcat using a defined scrpt: ‘ start_tomcat ’ – Stop Tomcat use defined scripts: ‘ stop_tomcat ’ and ‘ killkava ’ that kills any tomcat JAVA process it it persists – Watch Tomcat logs with: tail –f $CATALINA_HOME/logs/catalina.out – Watch APIServerDaemon logs with: tail –f $CATALINA_HOME/webapps/APIServerDaemon/WEB-INF/logs/APIServerDaemon.log – Watch GridEngine logs with: tail –f $CATALINA_HOME/webapps/APIServerDaemon/WEB-INF/logs/GridEngineLog.log SimpleTosca interface logs are included into the APIServerDaemon log APIServer DB –mysql -h localhost -P u fgapiserver -pfgapiserver_password fgapiserver – Use: asdb|utdb ” ” commands to execute a query against APIServer DB or GridEngine’ UsersTracking database; if no argument is given, the interactive mysql client connected to the DB will be available. Setting up variable ASDB/UTDB_OPTS it is possible to configure mySQL client, for instance: ‘ ASDB_OPTS=“-N –s” ’

First test: ‘helloworld’ (SSH) Standard installation contains a working demo example named: ‘helloworld’ and exploits the SSH JSAGA adaptor that points to ‘itself’. – cd $FGLOCATION/fgAPIServer/apps/helloworld – Open using a text editor file stress_test.sh it contains the REST calls to execute the demo app – Configure its values: SUBMIT_COUNT and SUBMIT_DELAY – Execute the test:./stress_test.sh – A good practice is to maintain active a tail –f process on APIServerDaemon.log file during the execution – Execution can be monitored on APIServer log file or querying the DB ‘asdb "select * from as_queue;"' watching for the ‘status’ field (Your task should be 1 the first time) – As soon as the DONE status is reached you can get task info with: curl ?user=brunor – In the output json paths to output/error files are reported: "output_files": [ { "url": "file?path=%2Ftmp%2Fd529ee18-030a-11e6-9fd0- fa163e9e678a%2F1tmpd529ee18030a11e69fd0fa163e9e678a_1&name=stdout.txt", "name": "stdout.txt” }, – To get output file just typing: curl ?user=brunor curl " fa163e9e678a%2F1tmpd529ee18030a11e69fd0fa163e9e678a_1&name=stdout.txt”

SayHello (SSH) A second and more complete ‘sayhello’ test exists and it still exploits JSAGA SSH adaptor showing the use of IOSandboxing cd $FGLOCATION/fgAPIServer/apps/sayhello Open using a text editor file stress_test.sh it contains the REST calls to execute the demo app Configure its values: SUBMIT_COUNT and SUBMIT_DELAY Execute the test:./stress_test.sh Curl commands in the script shows how to send input files and how to declare output files to retrieve Please feel free to modify this example and make more practice with FG APIs

APIServer DB (*) application application_flileapplication_parameterinfrastructure Infrastructure_parameter task task_argumentstask_input_filesTask_output_filesruntime_data as_queue APIServerDaemon (*) Tables are described in next slides

APIServer DB (application) ‘application’ – Stores generalities about application that could run on a distributed infrastructure. Term ‘application’ has a wider range, it may imply a simple job execution as well as the creation of a complex cloud infrastructure. For this reason an application instance is called Task instead of Job ‘application_file’ – Determine the ‘default’ set of input files for a given ‘application’. If the user do not specify input files in the API call these files will be considered. Another flag may override this setting or not ‘application_parameters’ – Contains instructions to manage JSAGA adaptors in relation to the ‘job control’ (Executable, I/O files, default arguments, …) ‘infrastructure’ – Any application may run on different distributed infrastructures specified here ‘infrastructure_parameters’ – Contains instructions used by target executors to manage JSAGA adaptors in relation to the ‘infrastructure’ settings (Security context, resources, endpoints,...)

APIServer DB (task) ‘task’ – Stores generalities about any application instance running on a distributed infrastructure. ‘task_arguments’ – Store given arguments for the task execution ‘task_input_files’ – Contains the list of files to upload into the distributed infrastructure before executing the task ‘task_output_files’ – Contains the list of files to download from the distributed infrastructure after the task finished tis execution

APIServer DB (task queue) mysql> desc as_queue; | Field | Type | Null | Key | Default | Extra | | task_id | int(10) unsigned | NO | PRI | NULL | | | target_id | int(10) unsigned | YES | | 0 | | | target | varchar(32) | NO | | NULL | | | action | varchar(32) | NO | PRI | NULL | | | status | varchar(32) | NO | | NULL | | | target_status | varchar(32) | YES | | NULL | | | creation | datetime | NO | | NULL | | | last_change | datetime | NO | MUL | NULL | | | action_info | varchar(128) | YES | | NULL | | | retry | int(10) unsigned | NO | | 0 | | | check_ts | datetime | NO | | NULL | | The task queue, links to the task table. The queue is managed both from APIServerDaemon target executor interfaces and the APIServerDaemon. The APIServerDaemon intefaces are in charge to update target_id, target_status

New application and Infrastructures Application management APIs are available to – View all applications and their infrastructures – View details of a given app_id – Setup an application providing a descriptive JSON Manual changes can be done on the DB directly Applicaton files are normally under $FGLOCATION/fgAPIServer/apps folder

Configuring APIServer front-end # # FutureGateway API Server configuration file # # Author: # # fgapiserver settings [fgapiserver] fgapiver = v1.0 fgapiserver_name = FutureGateway API Server fgapisrv_host = fgapisrv_port = 8888 fgapisrv_debug = True fgapisrv_iosandbox = /tmp fgapisrv_geappid = fgjson_indent = 4 fgapisrv_key = fgapisrv_crt = fgapisrv_logcfg = fgapiserver_log.conf # geapiserver database settings [fgapiserver_db] fgapisrv_db_host = localhost fgapisrv_db_port = 3306 fgapisrv_db_user = fgapiserver fgapisrv_db_pass = fgapiserver_password fgapisrv_db_name = fgapiserver Keys for connections Host and listening port (unused with WSGI) GridEngine UsersTrapcking application Id (fixed for APIServer) APIServerDB settings A configuration file can configure the behavior of the APISercer fron-end

WSGI configuration example ServerName sgw.indigo-datacloud.eu ServerAdmin DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined SSLEngine on SSLCertificateFile/etc/ssl/certs/sgw_indigo-datacloud_eu.crt SSLCertificateKeyFile /etc/ssl/private/sgw_indigo-datacloud_eu.key SSLCertificateChainFile /etc/ssl/certs/DigiCertCA.crt WSGIDaemonProcess fgapiserver user=futuregateway group=futuregateway processes=5 threads=10 home=/home/futuregateway WSGIProcessGroup futuregateway WSGIScriptAlias /apis /home/futuregateway/FutureGateway/fgapiserver/fgapiserver.wsgi WSGIProcessGroup fgapiserver WSGIApplicationGroup %{GLOBAL} Order deny,allow Allow from all Options All AllowOverride All Require all granted

APIServerDaemon configuration apisrv_dbhost = localhost apisrv_dbport = 3306 apisrv_dbuser = fgapiserver apisrv_dbpass = fgapiserver_password apisrv_dbname = fgapiserver asdMaxThreads = 100 asdCloseTimeout = 20 gePollingDelay = 4000 gePollingMaxCommands = 5 asControllerDelay = asControllerMaxCommands = 5 # GridEngineDaemon task retry policies asTaskMaxRetries = 5 asTaskMaxWait = # # GridEngine UsersTracking Database settings # # Specifying the following JNDI the GridEngine will use the # following connection pool utdb_jndi = jdbc/UserTrackingPool # Not specifying the JNDI as below GridEngine UTDB will be # contacted using following connection settings #utdb_jndi = utdb_host = localhost utdb_port = 3306 utdb_user = tracking_user utdb_pass = usertracking utdb_name = userstracking GridEngine UsersTrackingDB (no longer used, causes problems) Polling settings APIServer DB GridEngine JNDI for UsersTrackingDB

Advanced usage Development …

Code changes and maintenance Code updates are easy to integrate Stop futuregateway service Go to the: – $FGLOCATION/fgAPIServer – $FGLOCATION/APIServerDaemon – Adaptors $FGLOCATION/rOCCI $FGLOCATION/jsaga-adaptor-tosca (SimpleTosca) … next adaptors – Execute: git pull (to get latest version) – Only JAVA components need the built with: ‘ant all’ command APIServerDaemon: Place generated war file in $CATALINA_HOME/webapps/ then watch the TOMCAT log file (catalina.out) Adaptors: Produce a jar that have to be placed in: – $FGLOCATION/APIServerDaemon/web/WEB-INF/lib/ ; Then recompile and reisntall APIServerDaemon (see step above) – $FGLICATION/jsaga-1.1.2/lib/ A tool exists to manage code changes from a local development machine to a remote APIServer machine

fgTools Inside this folder several helper tools have been collected; at the moment: – pushProxy: A bash script linked with a cron job that daily sends an eToken server robot proxy to several Tosca orchestrator endpoints – updateCode: A bash script that manage code updates (and more) to a remote APIServer

updateCode Useful when developing changes to existing code to a tester APIServer machine (a temporary instance on FedCloud) The script contains local paths to the source code to configure Generic usage: usage: updateCode -h # FutureGateway host [-p ] (default 22) # FutureGateway ssh port [-c <fgAPIServer # code: APIServer front-end |APIServerDaemon # code: APIServerDaemon |jsaga-adaptor-rocci> # code: rOCCI adaptor |jsaga-adaptor-tosca>] # code: tosca adaptor [ -f # Local file/dir to copy [-t ]] # /Users/Macbook/Documents/FutureGateway/ [-u ] # Upload file/dir from remote [-a] # Update all components [-s] # Start futuregateway service Update code with: –./updateCode -h p c APIServerDaemon Send files to remote APIServer –./updateCode -h -p -f /Users/Macbook/Desktop/testVPN-TO-IPCop.zip Upload a given file –./updateCode -h p u fgAPIServer/apps/toscaTest

‘asdb’ and ‘utdb’ are two utilities to access respectively: APIServer Database GridEngine’ UsersTrackingDB Providing the command without args a mysql client interactive session will be instantiated Providing as argument a SQL statement it will be executed on the DB Setting up variables ASDB/UTDB_OPTS it is possible to specify Mysql client options Example: asdb "select count(*) from as_queue" '-e "select count(*) from as_queue"' | count(*) | | 5 | asdb/utdb Utils

Database migration A very basic migration helper system exists to keep APIServer DB structure aligned to the latest code changes The migration system relies on a patching mechanism available under: $FGLOCATION/fgAPIServer/db_patches Under the patches directory several scripts will be in charge to apply needed patches Once aligned the database to the latest version; it will be possible to upgrade easily the code using the updateCode tool