It is possible to temporarily disable connections to remote Guru Servers from a Guru running on a RI8574A Cassini EPC or RIK0126A Cassini Virtual Workstation using Guru Server Startup Command Flags. These flags can also be added to the RiSystem object to make them specific to a particular Guru ID. RI recommends using command line arguments for temporary changes and using the RiSystem object for permenent feature options.
To temporarily disconnect, close the Guru Startup script and use command line options to launch Guru configured to ignore the specified Guru Address Book entry types. The Ri Guru Startup program unpacks the Guru program files from an archive and monitors Guru to launch it automatically when it is shutdown or if an update becomes available. Alternatively, use configuration flags in the RiSystem object that stores Guru preferences to disable connections. This method does not require command lines and will be retained after the system has been rebooted.
This is ideal for situations where a high latency connection to a remote Guru Server may impact performance (Calibration plans) or if you want to temporarily "sandbox" the system for any reason, like for evaluating new software revision. (See also Cassini Software Evaluation and Release Process
To Temporarily Disable Connections to Guru Server
- Close Ri Guru Startup program by right clicking on the task named "Ri Guru Startup" from the OS task bar or Window List (CTRL + Esc) and choosing Close "Ri Guru Startup" to shutdown Guru.
- Open a Command Prompt window, type "d: [enter]" then "cd riapps\guruserver [enter]"
- Type "startApp.cmd -RiNoBackup -RiNoUpdate [enter]" to start Guru. (See Table 1 for all flags)
- Guru will startup, and the Log On/System button will remain GREY.
- Login and perform any activities with the connection to Guru Server offline. All objects will be only what is available locally and local objects will NOT backup to the Guru Server until Guru is restarted.
To Restore Connections Shutdown Guru and Launch Ri Guru Startup program
- After performing activities offline, simply Close Guru and launch the Ri Guru Startup program.
- Choose System > Shutdown to close Guru.
- Launch Guru Startup program by choosing [OS] > Desktop > Local System > Startup > Ri Guru Startup icon from the task bar. Note: [OS] is either "eCS" or "ArcaOS" depending on EPC TIM revision.
The Guru Logon button should be green. If it is yellow, see Fixing Guru Connection Issues doc. - (Optional) Follow the steps to Using Sync Util to Backup and Update Local Guru to backup objects created while the backup connection was disabled.
- Log on to Guru with a user with Programming role (Engineer or Roos Inst).
- Launch the latest available Short Cut to open the main Cassini window.
- Choose Program > Browse Guru to open the Guru Browser on Local window.
- Choose Keys > Key1 = Class menu and select RiSystem.
- Choose Keys > Key2 and select ri.sys.Name
- Select the GuruID of the system from the list
- Select the most recent entry on the right most column and choose Objects > Edit Latest.
- Add or remove "NoBackup=true" and "NoUpdate=true" lines between the ":INFO" and ":CHECKSUM" lines. (See Table 1 for all Guru Server flags)
- Choose Save-Find > Save menu and close the window.
- Choose System > Shutdown to close Guru.
NOTE: The System/Log on button remains GREY when the "NoUpdate=true" line is present.
Updates
When an update connection exists or -RiUpdateGuru <value> and -RiNoUpdate is NOT enabled, then by default, updates occur when any application requests either a list of objects or a specific object. When a list is requested (i.e. list of Testplans or CalData), the local Guru will query all "update" type connections and return the results along with whatever is already stored locally. If the update connection is lost, after a timeout, Guru will only list what has been stored locally. When an object is requested (i.e. Testplan opened), it will query all the update connection(s) and retrieve the latest version and copy it locally and provide it to the application. Using -RiNoUpdate flag will ignore all update connections and only return the local results. If the connection to the update Guru has high latency (100ns+) then all applications may appear unresponsive while the query is pending. If multiple Update connections are active, each one will be queried and the latest result will be saved.
Backups, Datalog & Admin
If a backup connection exists or -RiBackupGuru <value> and -RiNoBackup is NOT enabled, then by default, everything created/imported will have local.ri.sys.backup=<value> guru attribute. The -RiNoBackup flag forces Guru to ignore the backup type connection the objects to be backup, therefore after re-start of guruServer, it will not backup those objects created/imported from the session that used the NoBackup flag, The guru address book type of "datalog" and "admin" will change the value assigned to the local.ri.sys.backup attribute for RiDatalog objects (datalog) and RiAdminLog objects (admin). For example, if there is a backup type labeled "GuruA" and a datalog type labeled "GuruB", then when a RiDatalog object is created it will have "local.ri.sys.backup=GuruB" and everything else would have "local.ri.sys.backup=GuruA". Once the object is backed up to the target Guru, the "local.ri.sys.backup" is cleared. In other words, anything with a "local.ri.sys.backup" attribute has NOT been backed up. Objects created while Guru is running with the -RiNoBackup flag enabled will NOT get the "local.ri.sys.backup=GuruA" and will NEVER be backed up. Use Sync Util app to sync any objects created while the disabled backup flag was enabled.
IMPORTANT: While backup connections are disabled, any Guru objects created while offline will NOT be backed up when Guru is normally restarted and all applications will only be able to access local Guru objects. Guru can be restarted safely while Guru applications remain running. The operator does not have to close Cassini or any other Guru App following the procedures below. Follow the steps to Using Sync Util to Backup and Update Local Guru.
IMPORTANT: Do Not close DBManager while production Test Exec is running. RiDatalogs are stored locally via DbManager application. Data may be lost if the application is not running while testing. It is sufficient to Pause and then Resume once DbManager is running again.
Table 1: Guru Server Startup Commands
Modify the GuruServerStart launch script by prepending the relevant "-command <value>" after startApp.cmd line. Alternatively, flags may be added without the "Ri" in front and "=true" after the flag name between the ":INFO" and ":CHECKSUM" lines to the RiSystem object matching that Guru ID. Command arguments and flags can be included in any order. Some features require a specific version of Guru Server or later.
Command Arguments (Guru Version) | RiSystem :INFO Section | Description |
-RiNoBackup -RiNoUpdate -RiNoClone -RiDebug -RiLogSM -RiRootGuru -RiNoExpired -RiBox -RiUpdateGuru <value> -RiBackupGuru <value> -RiMaxWait <value> -RiDeleteBadHash -RiRecoverBadAttrHash -RiNoAutostartDbManager -RiAutolaunch (v74.32) -RiNoGuruArchive (v74.36) | NoBackup=true NoUpdate=true NoClone=true Debug=true LogSM=true RootGuru=true NoExpired=true Box=true UpdateGuru=<value> BackupGuru=<value> MaxWait=<value> DeleteBadHash=true RecoverBadAttrHash=true NoAutostartDbManager=true Autolaunch=true NoGuruArchive=true | do not look for backup guru do not look for update guru do not look for clone guru turn on debug messages log system messages Same as no backup no update Does not delete expired object Cassini system software in VirtualBox container, only for Linux and Windows host Sets the IP address for the update guru, first try Sets the IP address for the backup guru, first try TCP socket timeout, sets the max wait time in milliseconds for the Guru communication default of 10000 (10 seconds), increase this number for high latency connections Cleans up bad hash objects Guru will try to recover bad attribute hash Does NOT launch DbManager at startup. minimum Guru Agent launch parameter, defaults to 600 (10 minutes) v74.32 Disables RiGuruArchive creation (local redundant copy to avoid OS write errors) |