Installer Script overview¶
The installer consist of a set of scripts that can be run individually or be called and orchestrated by the main installer.
All scripts are available as Windows scipts and Linux bash scripts.
¶
installer scripts
- db-deploy.cmd/sh
- db-import-data.cmd/sh
- mt-installer.cmd/sh
utility scripts¶
- create-install-tem.cmd/sh
- create-multi-delivery.cmd/sh
- validate-solution-set-file.cmd/sh
- create-backup.ps1/sh
- restore-backup.ps1/sh
Installer sub scripts¶
Normally these installer sub scripts will never be called manually, they are called automatically by the IFS Cloud Installer.
The scripts are located in folder ifsinstaller/installers.
db-deploy.cmd/sh¶
This script will call the database installer to deploy the database code included in the defined delivery.
Note: The db-deploy script will only deploy the /database folder objects - remember to also run the db-import-data script to deploy the /server folder objects to get a complete db installation.
If <delivery>/database/_utils/prepare.sql exist and the password for SYS user has been given, the prepare.sql file will be deployed as SYS user.
If <delivery>/database/install.tem exist the install.tem file will be called and the database code will be deployed.
If <delivery>/database/ial.tem exist and the ifsinfo user has been given, the ial.tem file will be called and the ial code will be deployed.
Syntax:
db-deploy.sh deliveryPath=" <delivery> " userName=" <user> " password=" <password> " sysPassword=" <password> " ialOwner=" <user> " connectString="jdbc:oracle:thin:@(description=(address=(host= <host/ip> )(protocol=tcp)(port=1521))(connect_data=(UR=A)(service_name= <sid> )))" logFilePath=" <logPath> " extLogging="<Y|N> " waitingTime=" <value> " initialPasswords="APPLICATION_OWNER= <pwd> ;IFSIAMSYS= <pwd> ;IFSSYS= <pwd> ;IFSMONITORING= <pwd>;"
Parameter | Purpose | Examples/Defaults |
---|---|---|
deliveryPath | Path to DELIVERY or BUILD_HOME | deliveryPath="c:\work\delivery" |
userName | User name. | userName="IFSAPP" |
password | Password. | password="xyz" |
sysPassword (optional) |
Password for SYS user in DB. Only used when deliveryPath is set and delivery contains prepare.sql. If sysPassword not defined, prepare.sql as SYS will not be run. | sysPassword="abc" |
ialOwner | IAL owner | ialOwner="IFSINFO" |
connectString | Jdbc url | connectString="jdbc:oracle:thin:@(description=(address=(host= <host/ip> )(protocol=tcp)(port=1521))(connect_data=(UR=A)(service_name= <sid> )))" |
logFilePath | Path to the log folder | logFilePath="c:\work\logs" |
extLogging (optional) | Extended logging, defaults to N |
extLogging="N" |
waitingTime (optional) |
Waiting time if locked processes, default = 3600 (one hour) | waitingTime="3600" |
initialPasswords | This parameter is used when creating the user in prepares.sql The passwords can be defined for users APPLICATION_OWNER, IFSIAMSYS, IFSSYS and IFSMONITORING. The argumets will be separated by ; character. |
initialPasswords="APPLICATION_OWNER= <pwd> ;IFSIAMSYS= <pwd> ;IFSSYS= <pwd> ;IFSMONITORING= <pwd> ;" Default values are defined in define.tem |
This script can also be used to deploy a single file sent as fileName parameter instead of the deliveryPath parameter
Syntax:
db-deploy.sh fileName=" <fileNamePath> " userName=" <user> " password=" <password> " connectString="jdbc:oracle:thin:@(description=(address=(host= <host/ip> )(protocol=tcp)(port=1521))(connect_data=(UR=A)(service_name= <sid> )))" logFilePath=" <logPath> " extLogging=" <Y/N> " initialPasswords="APPLICATION_OWNER= <pwd> ;IFSIAMSYS= <pwd> ;IFSSYS= <pwd> ;IFSMONITORING= <pwd> ;"
Parameter | Purpose | Examples/Defaults |
---|---|---|
fileName | Full path to a file to be deployed. | fileName="c:\work\test.sql" |
userName | User name. | userName="IFSAPP" |
password | Password. | passWord="xyz" |
connectString | Jdbc url | connectString="jdbc:oracle:thin:@(description=(address=(host= <host/ip> )(protocol=tcp)(port=1521))(connect_data=(UR=A)(service_name= <sid> )))" |
logFilePath | Path to the log folder | logFilePath="c:\work\logs" |
extLogging (optional) | Extended logging, defaults to N |
extLogging="N" |
initialPasswords | Used when creating the user, when prepares.sql is run as userName="SYS". The passwords can be defined for users APPLICATION_OWNER, IFSIAMSYS, IFSSYS and IFSMONITORING. The argumets will be separated by ; character. |
initialPasswords="APPLICATION_OWNER= <pwd> ;IFSIAMSYS= <pwd> ;IFSSYS= <pwd> ;IFSMONITORING= <pwd> ;" Default values are defined in define.tem |
db-import-data.cmd/sh¶
This script will call the dataimport installer to import the files located in the <delivery>/server folder.
Syntax:
db-import-data.cmd deliveryPath=" <delivery> " userName=" <user> " passWord="<pwd>" connectString="jdbc:oracle:thin:@(description=(address=(host= <host/ip> )(protocol=tcp)(port=1521))(connect_data=(UR=A)(service_name= <sid> )))" logFilePath=" <logPath> " transRuntime="<Y|N> " transImportAttributes=" <Y|N> " transImportTranslations=" <Y|N>"
Parameter | Purpose | Examples/Defaults |
---|---|---|
deliveryPath | Path to DELIVERY or BUILD_HOME | deliveryPath="c:\work\delivery" |
userName | User name. | userName="IFSAPP" |
password | Password. | passWord="pwd" |
connectString | Jdbc url | connectString="jdbc:oracle:thin:@(description=(address=(host= <host/ip> )(protocol=tcp)(port=1521))(connect_data=(UR=A)(service_name= <sid> )))" |
logFilePath | Path to the log folder | logFilePath="c:\work\logs" |
transRuntime | Import only runtime files, default = Y | transRuntime="Y" |
transImportAttributes | Import translatable attributes, default = Y | transImportAttributes="Y" |
transImportTranslations | Import translations, default = Y | transImportTranslations="Y" |
mt-installer.cmd/sh¶
This script is called by the IFS Cloud Installer, is not intended to run manually stand alone.
If you want to install only middle tier, it can be done by sending parameter --set action=mtinstaller to IFS Cloud Installer
Utility scripts¶
These utility scripts are only used in some advanced processes.
The scripts are located in folder ifsinstaller/utils.
create-install-tem.cmd/sh¶
This script can be used to create the *.tem files (e.g. install.tem) and other merged files, called by install.tem, depending on the information in the install.ini file.
If credentials are sent to the script, connection to the database will be performed, the install.ini will be updated according to information in the database, and the files will be created/recreated.
Syntax:
create-install-tem.sh deliveryPath=" <delivery> " buildhomePath=" <build_home> " userName=" <user> " password=" <password> " connectString="jdbc:oracle:thin:@(description=(address=(host= <host/ip> )(protocol=tcp)(port=1521))(connect_data=(UR=A)(service_name= <sid> )))"
Parameter | Purpose | Examples |
---|---|---|
deliveryPath | Path to DELIVERY (can be same as BUILD_HOME) | deliveryPath="c:\work\delivery" |
buildHomePath | Path to BUILD_HOME | buildHomePath="c:\work\build_home" |
userName (optional) | User name for application owner (if not given, install.ini will not be updated according to database information) | userName="IFSAPP" |
password(optional) | Password for applicaton owner (if not given, install.ini will not be updated according to database information) | password="xyz" |
connectString (optional) | Jdbc url (if not given, install.ini will not be updated according to database information) | connectString="jdbc:oracle:thin:@(description=(address=(host= <host/ip> )(protocol=tcp)(port=1521))(connect_data=(UR=A)(service_name= <sid> )))" |
create-multi-delivery.cmd/sh¶
This script can be used to create a merged delivery of single deliveries.
Syntax:
create-multi-delivery.sh mergeType=" <type> " deliveryPath=" <delivery> " deliveryDestPath=" <deliveryDest> "
Parameter | Purpose | Examples |
---|---|---|
mergeType | maintem or mergetem maintem: - The database folder in each single delivery will be copied to database folder as a subfolder, named as the single delivery and a new install.tem (master install.tem) will be created, calling these single deliveries install.tem in the defined copy order. mergetem: - The database sub folders will be copied in sequence and the files calling these single files in the subfolders will be regenerated, as well as the tem files (e.g. install.tem) and install.ini file. |
mergeType="maintem" |
deliveryPath | Path to the folder containing the single deliveries. | deliveryPath="c:\work\deliveries" |
deliveryDestPath | Path to the created merged delivery. | deliveryDestPath="c:\work\mergedDeliveries" |
validate-solution-set-file.cmd/sh¶
This script can be used to validate the solutionset.yaml file against the dependency information in the deploy.ini(s) in the <build_home> and <delivery>. If no delivery exist, delivery path should point to <build_home>
Syntax:
validate-solution-set-file.sh deliveryPath=" <delivery> " buildHomePath=" <build_home> "
Parameter | Purpose | Examples |
---|---|---|
deliveryPath | Path to DELIVERY (can be same as BUILD_HOME) | deliveryPath="c:\work\delivery" |
buildHomePath | Path to BUILD_HOME | buildHomePath="c:\work\build_home" |
create-backup.ps1/sh¶
This script is used to create a backup of a namespace.
Syntax Linux: create-backup.ps1/sh -n <namespace> -b </path/to/backup>
Syntax Windows: create-backup.ps1/sh -namespace <namespace> -backupPath <C:\backups\myBackup>
Parameter Windows | Parameter Linux | Purpose | Examples |
---|---|---|---|
-namespace (mandatory) | -n (mandatory) | Name of the namespace to backup. | -n myNamespace |
-backupPath (mandatory) | -b (mandatory) | Path to where to store the backup files. | -b /opt/ifs/mybackup |
-k (optional) | -kubeconfig (optional) | Path to kubeconfig file | -n /opt/store/config |
-context (optional) | -c (optional) | Context to use | -c myCluster |
restore-backup.ps1/sh¶
This script is used to restore a backed up namespace.
Syntax Linux: restore-backup.ps1/sh -n <namespace> -b </path/to/backup> Example Windows: restore-backup.ps1/sh -namespace <namespace> -backupPath <C:\backups\myBackup>
Parameter Windows | Parameter Linux | Examples | Examples |
---|---|---|---|
-namespace (mandatory) | -n (mandatory) | Name of the namespace to restore. | -n myNamespace |
-backupPath(mandatory) | -b (mandatory) | Path to where backup files are stored. | -b /opt/ifs/mybackup |
-kubeconfig (optional) | -k (optional) | Path to kubeconfig file | -n /opt/store/config |
-context (optional) | -c (optional) | Context to use | -c myCluster |