Help us understand the problem. What is going on with this article?

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

はじめに

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系の問題は解決できるのかな?と思いました。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした