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 '{}'