付録3: Mercuryライセンスの更新

Mercuryライセンスの有効期限が切れる前に、必ずライセンスの更新を行ってください。 ライセンスファイルはJCV製品提供窓口またはその他の窓口から提供されます。 下記のコマンドでMercuryのライセンスを更新できます。

1. MercuryライセンスをSenseLink Enterprise Proのdiamondサーバーへアップロードします。

2. zipファイルの場合、zipファイルを圧縮してください。ここで、example.zipを例として説明します。

unzip example.zip

3. 圧縮されたライセンスを確認します。

ls -lR example
example:
total 8
drwxr-xr-x 2 ubuntu ubuntu 4096 Sep  3 11:32 Client
drwxr-xr-x 2 ubuntu ubuntu 4096 Sep  3 11:31 Server

example/Client:
total 12
-rw-r--r-- 1 ubuntu ubuntu 5781 Sep  3 11:32 SENSELINK_GE_FOR_JCV_example_6F717809-5238-4AD2-B666-033E61BE529B.lic
-rw-r--r-- 1 ubuntu ubuntu  887 Sep  3 11:32 SENSELINK_GE_FOR_JCV_example_6F717809-5238-4AD2-B666-033E61BE529B.pem

example/Server:
total 8
-rw-r--r-- 1 ubuntu ubuntu 5781 Sep  3 11:31 SENSELINK_GE_FOR_JCV_example_5C9EB267-791F-41E6-9FED-034EC93E3634.lic

4. ここでは製品名を取得して、メモします。後ろのステップで必要です。

more ~/example/Client/SENSELINK_GE_FOR_JCV_example*.lic
# License Product: SenseLink_GE_for_JCV_example

5. 該当するライセンスファイルをオリジナルのCV設定フォルダーにコピーします。

cd SenseLinkGE-EnterprisePro-2.3.1.20200602/senselink/mercury/license-ca/config/
cp ~/example/Client/SENSELINK_GE_FOR_JCV_example* .
cp ~/example/Server/SENSELINK_GE_FOR_JCV_example* .

6. 設定ファイルconfig.ymlを確認します

cat config.yml
cluster: "cluster_a5a303e4-aab5-456d-b356-b68907c6654c.lic"
slaves:
  - lic: "client_S1907262112.lic"
    pem: "client_S1907262112.pem"

hb_alone_time: 8640000
hb_interval: 5

https: true
active: true
active_host: "private.ca.sensetime.com"
active_port: 8443
standby_host: "slave.private.ca.sensetime.com"
standby_port: 8443

7. 既存のライセンスファイルをバックアップします。

cp cluster_a5a303e4-aab5-456d-b356-b68907c6654c.lic cluster_a5a303e4-aab5-456d-b356-b68907c6654c.lic.bak
cp client_S1907262112.lic client_S1907262112.lic.bak
cp client_S1907262112.pem client_S1907262112.pem.bak
cp client.lic client.lic

8. 新しいライセンスへ置き換えます。

cp SENSELINK_GE_FOR_JCV_example_6F717809-5238-4AD2-B666-033E61BE529B.lic client_S1907262112.lic
cp SENSELINK_GE_FOR_JCV_example_6F717809-5238-4AD2-B666-033E61BE529B.lic client.lic
cp SENSELINK_GE_FOR_JCV_example_6F717809-5238-4AD2-B666-033E61BE529B.pem client_S1907262112.pem
cp SENSELINK_GE_FOR_JCV_example_5C9EB267-791F-41E6-9FED-034EC93E3634.lic cluster_a5a303e4-aab5-456d-b356-b68907c6654c.lic

9. license-configを削除します。

kubectl delete cm license-config

インストール済みのstatusファイルを削除します。

rm -rf /data/SenseLinkGE-EnterprisePro-2.3.1.20200602/senselink/mercury/ansible-tasks-done/engine-license-ca.done /data/SenseLinkGE-EnterprisePro-2.3.1.20200602/senselink/mercury/ansible-tasks-done/engine-license.done /data/SenseLinkGE-EnterprisePro-2.3.1.20200602/senselink/mercury/ansible-tasks-done/engine-alert-feature-db.done /data/SenseLinkGE-EnterprisePro-2.3.1.20200602/senselink/mercury/ansible-tasks-done/engine-api-wrapper-service.done /data/SenseLinkGE-EnterprisePro-2.3.1.20200602/senselink/mercury/ansible-tasks-done/engine-face-extract-service.done

定義される製品名を変更します。

[ubuntu@link-pro-23-diamond-host mercury]$ grep -ri SmartGate .
./apps/roles/feature-templates/proxy.yml:        - SmartGate
./apps/roles/engine-face-extract-service/templates/deploy.yml:        - "./engine-image-process-service -config /config/ips_config.json -license_path=/license_config/client_license.lic -license_product_name=SmartGate"
./apps/roles/feature-templates/worker.yml:        - HOSTNAME=`hostname` && role=1 && worker_id=`echo ${HOSTNAME} | sed "s/.*-\([0-9]*\)/\1/"` && if [ ${worker_id} != 0 ]; then role=0; fi && /engine-static-feature-db/shard-worker -db_type alert -role ${role} -worker_id ${worker_id} -worker_config /config/worker-{{ loop.index }}.json -license_path /license_config/client_license.lic -heap_size {{ worker_heap_limit }} -license_product SmartGate
./apps/roles/feature-templates/worker.yml:        - HOSTNAME=`hostname` && role=1 && worker_id=`echo ${HOSTNAME} | sed "s/.*-\([0-9]*\)/\1/"` && if [ ${worker_id} != 0 ]; then role=0; fi && /engine-static-feature-db/shard-worker -db_type static -role ${role} -worker_id ${worker_id} -worker_config /config/worker-{{ loop.index }}.json -license_path /license_config/client_license.lic -heap_size {{ worker_heap_limit }} -license_product SmartGate

change those 3 files with smartgete to SenseLink_GE_for_JCV_example

setup_cvを実行します。

cd /data/SenseLinkGE-EnterprisePro-2.3.1.20200602
./setup_cv.sh

podsが再起動できない場合、下記のコマンドを実行してください。

kubectl get po | grep face-extrac | awk '{print $1}' | xargs -I'{}' kubectl delete po '{}'
kubectl get po | grep engine-alert-feature-db | awk '{print $1}' | xargs -I'{}' kubectl delete po '{}'

最終更新