LoginSignup
0

More than 3 years have passed since last update.

Lifetimeで発生する問題の対処法

Last updated at Posted at 2019-12-24

はじめに

OutsystemsのLifetimeを運用する上で、Lifetime↔各環境間でSyncが上手くいかない場合があります。

image.png

プロセスがそのまま生きているとSyncができない状態にもなります。
image.png

この辺の情報があまりなかったため、対処法について書きます。
但し、この状態になる原因は様々なため、対処法の1つと思っていただけると幸いです。

想定読者

Outsystemsのインフラ担当者 or LifeTimeを触るであろう方

エラーの確認箇所

まずはそれぞれ発生するエラーの原因を判明するためにここをチェックしましょう。

・LifeTimeサーバのServicecenterのErrorsログ

・LifeTimeサーバのServicecenterのProcessesログ

個人的には、Forgeとして提供されているBPT Utilsを利用するのをおすすめします。
実行中のプロセスのkillなどを楽にできます。
https://www.outsystems.com/forge/component-overview/1313/bpt-utils

image.png

実際に弊社で起こった問題とその対処法

 Unexpected character encountered while parsing value: $. Path '', line 0, position 0.

対処法

対象の環境のモバイルconfig周りのデータを一旦リセットすることにより解消

delete from ossys_App_Mobile_Config;
delete from ossys_Mobile_Certificate;
delete from ossys_Mobile_Config_Data; 

Login denied for 'Plat****'. Invalid password.

通常、このエラーは、各環境のトークンがLifeTime環境のトークンと一致しないと発生します。

2.1 次のクエリを実行して、ユーザー「PlatformServices」でログインを試みたIPアドレスを見つけます。

SELECT DISTINCT IPADDRESS from OSSYS_LOGIN_ATTEMPT where userid=(SELECT id FROM OSSYS_USER WHERE username LIKE 'PlatformServices')

2.2 上記のクエリからこれらのIPを取得したら、ユーザーPlatformServicesのブロックを解除するために、すべてのIPについて、対象の環境データベースで次のクエリを実行する必要があります。

PlatformServices ユーザーに対して複数のIPアドレスがブロックされている可能性があります。

INSERT INTO OSSYS_LOGIN_ATTEMPT (USERID, USERNAME, INSTANT, IPADDRESS, USERNAMEFAILURECOUNT, IPADDRESSFAILURECOUNT, SUCCESS, RESULT)VALUES ((select id from ossys_user where username like 'PlatformServices'), 'PlatformServices', GETDATE(), '<ip>', 0, 0, 0, 'Unblocked')

2.3 Lifetimeのデータベースで対象の環境のIDを確認します

OSLTM_ENVIRONMENTテーブルではLifetimeに繋がっている各環境のステータスの確認が可能です

SELECT * from OSLTM_ENVIRONMENT WHERE NAME like <Environment_name>

2.4 前の手順の結果に基づいて、Lifetime環境データベースの各環境の保存済みトークンを削除します。

DELETE FROM OSLTM_ENVIRONMENTTOKEN WHERE ID = <Environment_id>

2.5 対象の環境のデータベースで環境トークンを削除します。

DELETE from OSSYS_PARAMETER WHERE name = 'ClientApplicationToken'

2.6 LifeTimeのデプロイサイクルから対象の環境の登録を解除します。

2.7 対象の環境のConfigurationToolを実行して、実稼働環境でService Centerインストールを実行します。この手順により、トークンが再作成されます。

2.8 LifeTimeのデプロイサイクルに対象の環境を再度登録し、同期が正常に完了したかどうかを確認します。

ここで、エラーが発生しなかったらOKです。

最後に

2.6

の手順で実施しているように、Syncで不具合が起きた場合、LifetimeのデプロイサイクルからSyncが上手くいかない環境を外すと思いますが、
OSLTM_ENVIRONMENTテーブルの内容を確認して、トークン等を削除することでSync系の問題は解決できるのかな?と思いました。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0