From 574be0475e5c7ccadee21fafee9432915cec1e5e Mon Sep 17 00:00:00 2001 From: Kazuhito Suda Date: Fri, 23 Feb 2024 22:56:32 +0900 Subject: [PATCH] (JP) FIX deprecated old db CLI (#4505) --- doc/manuals.jp/admin/cli.md | 23 ---------------------- doc/manuals.jp/admin/database_admin.md | 17 ++++++++-------- doc/manuals.jp/admin/diagnosis.md | 2 +- doc/manuals.jp/admin/sanity_check.md | 13 ++++--------- doc/manuals.jp/admin/watchdog.md | 2 +- doc/manuals.jp/deprecated.md | 27 ++++++++++++++++++++++++++ doc/manuals.jp/devel/cookbook.md | 2 +- docker/README.jp.md | 10 +++++----- docker/docker_swarm.jp.md | 2 +- docker/raspberry_pi.jp.md | 2 +- 10 files changed, 50 insertions(+), 50 deletions(-) diff --git a/doc/manuals.jp/admin/cli.md b/doc/manuals.jp/admin/cli.md index 076b43d4e3..bdc50ba14a 100644 --- a/doc/manuals.jp/admin/cli.md +++ b/doc/manuals.jp/admin/cli.md @@ -34,23 +34,7 @@ broker はデフォルトでバックグラウンドで実行されるため、 - **-db ** : 使用する MogoDB データベース、または (`-multiservice` を使用している場合) サービス単位/テナント単位のデータベースのプレフィックス ([マルチ・テナンシー](../orion-api.md#multi-tenancy)のセクションを参照してください) です。このフィールドは最大10文字までです - **-dbURI ** : 使用する MongoDB を URI で指定します。 URI に文字列 `${PWD}` がある場合は `-dbpwd` または環境変数 `ORION_MONGO_PASSWORD` で指定したパスワードで置き換えられます。 - このオプションは `-dbhost`, `-rplSet`, `-dbTimeout`, `-dbuser`, `-dbAuthMech`, `-dbAuthDb`, `-dbSSL`, `-dbDisableRetryWrites` と組み合わせできません。(組み合わせた場合、Orion は起動時にエラーで終了します) -- **-dbhost ** : 使用する MongoDB のホストとポートです。たとえば、`-dbhost localhost:12345` です -- **-rplSet ** : 指定すれば、Orion CB が MongoDB レプリカセット (スタンドアロン MongoDB インスタンスではなく) に接続されます。使用するレプリカセットの名前は、パラメータの値です。この場合、-dbhost パラメーターは、レプリカ・セットのシードとして使用されるホスト ("," で区切られた) のリストにすることができます -- **-dbTimeout ** : レプリカセット (-rplSet) を使用する場合にのみ使用され、それ以外の場合は無視されます。レプリカセットへの接続のタイムアウトをミリ秒単位で指定します -- **-dbuser ** : 使用する MongoDB ユーザ。MongoDB が認証を使用しない場合、このオプションは避けなければなりません。[データベース認証セクション](database_admin.md#database-authorization)を参照してください - **-dbpwd ** : 使用する MongoDB パスワード。MongoDB が認証を使用しない場合、このオプションは避けなければなりません。[データベース認証セクション](database_admin.md#database-authorization)を参照してください -- **-dbAuthMech **. `-dbuser` と `-dbpwd` を提供する場合に使用する MongoDB - 認証メカニズム。代替手段はSCRAM-SHA-1 または SCRAM-SHA-256 です。 -- **-dbAuthDb ** : `-dbuser` と `-dbpwd` を提供する場合に認証に使用するデータベース - を指定します。 -- **-dbSSL** : MongoDB への接続で SSL を有効にします。MongoDB サーバまたはレプリカ・セットが - SSL を使用している場合は、このオプションを使用する必要があります (または、逆に、MongoDB - サーバまたはレプリカ・セットが SSL を使用していない場合は、このオプションを使用する必要は - ありません)。現在、制限があることに注意してください。この場合、Orion は `tlsAllowInvalidCertificates=true` - を使用するため、MongoDB サーバで使用される証明書は検証されません。 -- **-dbDisableRetryWrites** : DB 接続で retryWrite パラメータを false に設定します - (古い MongoDB インスタンスとの互換性を維持するためにのみで、通常は推奨されません) - **-dbPoolSize ** : データベース・コネクション・プール プールのデフォルトサイズは10接続です - **-writeConcern <0|1>** : MongoDB の書き込み操作に対する確認を指定 : 確認 (1) または未確認 (0)。デフォルトは 1です - **-https** : セキュアな HTTP モードで作業します (`-cert` および `-key` を参照) @@ -143,15 +127,8 @@ Orion は、環境変数を使用した引数の受け渡しをサポートし | ORION_PORT | port | | ORION_PID_PATH | pidpath | | ORION_MONGO_URI | dbURI | -| ORION_MONGO_HOST | dbhost | -| ORION_MONGO_REPLICA_SET | rplSet | -| ORION_MONGO_USER | dbuser | | ORION_MONGO_PASSWORD | dbpwd | -| ORION_MONGO_AUTH_MECH | dbAuthMech | -| ORION_MONGO_AUTH_SOURCE | dbAuthDb | -| ORION_MONGO_SSL | dbSSL | | ORION_MONGO_DB | db | -| ORION_MONGO_TIMEOUT | dbTimeout | | ORION_MONGO_POOL_SIZE | dbPoolSize | | ORION_USEIPV4 | ipv4 | | ORION_USEIPV6 | ipv6 | diff --git a/doc/manuals.jp/admin/database_admin.md b/doc/manuals.jp/admin/database_admin.md index c3c6b28da3..eb0138dc87 100644 --- a/doc/manuals.jp/admin/database_admin.md +++ b/doc/manuals.jp/admin/database_admin.md @@ -54,27 +54,28 @@ mongorestore --host --db dump/ ## データベースの認証 -MongoDB の認証は `-db, `-dbuser` と `-dbpwd` オプションで設定されます ([コマンドライン・オプションのセクション](cli.md)を参照)。考慮するいくつかの異なるケースがあります : +MongoDB の認証は `-dbURI` および `-dbpwd` オプションを使用して設定されます ([コマンドライン・オプションのセクションを参照](cli.md))。考慮すべきいくつかの異なるケースがあります: -- MongoDB インスタンス/クラスタが認証を使用していない場合は、`-dbuser` と `-dbpwd` オプションは使用しないでください -- `-dbAuthMech` で認証メカニズムを指定できます +- MongoDB インスタンス/クラスタが認証を使用していない場合は、`-dbpwd` を使用せず、`username:${PWD}@` のパートを省略した `-dbURI` を使用してください +- `authMechanism` オプションを使用して、`-dbURI` 内で認証メカニズムを指定できます - MongoDB インスタンス/クラスタが認可を使用している場合は、次のようになります : - - Orion をシングルサービス/テナントモードで実行している場合 (つまり `-multiservice` でない場合)、1つのデータベース (-db オプションで指定されたもの) のみを使用しているので、認証は、そのデータベースで `-dbuser` と `-dbpwd` を使用して行われます - - Orion をマルチサービス/テナントモードで実行している場合 (つまり `-multiservice` の場合)、認証は、`admin` データベースで `-dbuser` と `-dbpwd` を使用して行われます。[このドキュメントの後半](#multiservicemultitenant-database-separation)で説明するように、マルチサービス/テナントモードでは、Orion はいくつかのデータベース (潜在的にオンザフライで作成される可能性があります) を使用します。`admin` データベース上での認証は、それらの全てで許可します - - とにかく、上記のデフォルトを `-dbAuthDb` でオーバーライドして、 + - `-dbURI` では、`username:${PWD}@` のパートを使用する必要があります。`${PWD}` は `dbpwd` パラメータの値に置き換えられます + - Orion をシングルサービス/テナントモードで実行している場合 (つまり `-multiservice` でない場合)、1つのデータベース (`-db` オプションで指定されたもの) であり、認証は、`-dbURI` および `-dbpwd` で指定されたユーザ名を使用してそのデータベース内で行われます + - Orion をマルチサービス/テナントモードで実行している場合 (つまり `-multiservice` の場合)、認証は、`admin` データベースで `-dbURI` で指定されたユーザー名と `-dbpwd` を使用して行われます。[このドキュメントの後半](#multiservicemultitenant-database-separation)で説明するように、マルチサービス/テナントモードでは、Orion はいくつかのデータベース (潜在的にオンザフライで作成される可能性があります) を使用します。`admin` データベース上での認証は、それらの全てで許可します + - とにかく、上記のデフォルトを `-dbURI` の `defaultauthdb` でオーバーライドして、 必要な認証 DB を指定できます 次の例を考えてみましょう。 MongoDB の構成がそうである場合、通常は以下を使用してアクセスします : ``` -mongo "mongodb://example1.net:27017,example2.net:27017,example3.net:27017/orion?replicaSet=rs0" --ssl --authenticationDatabase admin --username orion --password orionrules +mongosh mongodb://orion@orionrules:example1.net:27017,example2.net:27017,example3.net:27017/admin?replicaSet=rs0&tls=true&tlsAllowInvalidCertificates=true ``` Context Broker CLI パラメーターの同等の接続は次のようになります : ``` --dbhost examples1.net:27017,example2.net:27017,example3.net:27017 -rplSet rs0 -dbSSL -dbAuthDb admin -dbuser orion -dbpwd orionrules +-dbURI mongodb://orion@${PWD}:example1.net:27017,example2.net:27017,example3.net:27017/admin?replicaSet=rs0&tls=true&tlsAllowInvalidCertificates=true -dbpwd orionrules ``` diff --git a/doc/manuals.jp/admin/diagnosis.md b/doc/manuals.jp/admin/diagnosis.md index 03e082444b..b52e185dcb 100644 --- a/doc/manuals.jp/admin/diagnosis.md +++ b/doc/manuals.jp/admin/diagnosis.md @@ -220,7 +220,7 @@ Orion Context Broker は、次のフローを使用します : } ``` -どちらの場合も、MonogDB への接続が正しく構成されていることを確認してください。特に、[コマンドラインから実行する](cli.md)場合は "-dbhost" オプションです。また、シャーディングを使用しているかどうかによって異なりますが、mongod/mongos プロセスが起動していることです。 +どちらの場合も、MonogDB への接続が正しく構成されていることを確認してください。特に、[コマンドラインから実行する](cli.md)場合は `-dbURI` オプションです。また、シャーディングを使用しているかどうかによって異なりますが、mongod/mongos プロセスが起動していることです。 MongoDB が停止していることが問題の場合は、Orion Context Broker は、準備ができたらデータベースに再接続できることに注意してください。つまり、データベースに再接続するために broker を再起動する必要はありません。 diff --git a/doc/manuals.jp/admin/sanity_check.md b/doc/manuals.jp/admin/sanity_check.md index d1288f93cd..bf89c90187 100644 --- a/doc/manuals.jp/admin/sanity_check.md +++ b/doc/manuals.jp/admin/sanity_check.md @@ -45,7 +45,7 @@ curl --header 'Accept: application/json' localhost:1026/version ``` $ ps ax | grep contextBroker - 8517 ? Ssl 8:58 /usr/bin/contextBroker -port 1026 -logDir /var/log/contextBroker -pidpath /var/log/contextBroker/contextBroker.pid -dbhost localhost -db orion + 8517 ? Ssl 8:58 /usr/bin/contextBroker -port 1026 -logDir /var/log/contextBroker -pidpath /var/log/contextBroker/contextBroker.pid -dbURI mongodb://localhost/ -db orion ``` [トップ](#top) @@ -63,25 +63,20 @@ Orion Context Broker は、デフォルト・ポートとして TCP 1026を使 Orion Context Broker は MongoDB データベースを使用します。このパラメーターは、 コマンドライン・オプションを使用して提供されます : -* `-dbhost` +* `-dbUri` * `-db` -* `-dbuser` * `-dbpwd` -* `-dbAuthMech` -* `-dbAuthDb` -* `-dbSSL` -* `-dbDisableRetryWrites` -* `-dbTimeout` * `-dbPoolSize` * `-writeConcern` `-dbuser`, `-dbpwd`, `-dbAuthMech` および `-dbAuthDb` は、MongoDB が認証を使用 して、つまり `--auth` で実行される場合にのみ使用されることを注意して ください。 +`-dbpwd` は、MongoDB が認証を使用して実行される場合、つまり `--auth` を使用して実行される場合にのみ使用されることに注意してください。 mongo コンソールを使用してデータベースが動作していることを確認できます : ``` -mongo / +mongosh / ``` mongo コンソールの次のコマンドを使用して、broker が使用するさまざまなコレクションをチェックすることができます。ただし、最初にドキュメントを挿入するときに broker がコレクションを作成するので、broker を初めて実行する、またはデータベースがクリーンアップされている、broker がまだリクエストを受信していない場合、コレクションは存在しません。特定の瞬間に実際のコレクションリストを取得するために `show collections` を使用します。 diff --git a/doc/manuals.jp/admin/watchdog.md b/doc/manuals.jp/admin/watchdog.md index c3d6bc7afa..1546d3a861 100644 --- a/doc/manuals.jp/admin/watchdog.md +++ b/doc/manuals.jp/admin/watchdog.md @@ -72,7 +72,7 @@ monit が正常に動作していることを確認するには、プロセス # ps -ef | grep contextBroker 500 27175 1 0 21:06 ? 00:00:00 monit -v -c /home/localadmin/monit_CB/monitBROKER.conf -d 10 -p /var/log/contextBroker/monit.pid - 500 27205 1 0 21:06 ? 00:00:00 /usr/bin/contextBroker -port 1026 -logDir /var/log/contextBroker -pidpath /var/log/contextBroker/contextBroker.pid -dbhost localhost -db orion; + 500 27205 1 0 21:06 ? 00:00:00 /usr/bin/contextBroker -port 1026 -logDir /var/log/contextBroker -pidpath /var/log/contextBroker/contextBroker.pid -dbURI mongodb://localhost/ -db orion; そして、contextBroker を kill します。例 : diff --git a/doc/manuals.jp/deprecated.md b/doc/manuals.jp/deprecated.md index 3b81eacd34..a515871299 100644 --- a/doc/manuals.jp/deprecated.md +++ b/doc/manuals.jp/deprecated.md @@ -8,6 +8,7 @@ 推奨されなくなった機能のリストと、廃止された機能のバージョンは次のとおりです : +* Orion 3.12.0 での CLI パラメータ (および関連する環境変数): `-dbhost`、`-rplSet`、`-dbTimeout`、`-dbuser`、`-dbAuthMech`、`-dbAuthDb`、`-dbSSL`、および `-dbDisableRetryWrites`。MongoDB URI を構築するために必要な情報が必要な場合は、[このセクション](#mapping-to-mongouri-from-old-cli-parameters) をチェックして、代わりに `dbURI` を使用してください * Orion 3.10.0 での `geo:point`, `geo:line`, `geo:box` および `geo:polygon` 属性タイプ。代わりに `geo:json` を使用してください * Orion 3.8.0 での `GET /v2` 操作。この操作はかなり役に立たず、実際には使用されません。 * Orion 3.1.0 のサブスクリプションでの初期通知 (`skipInitialNotification` オプションと共に)。(Orion 3.2.0 で削除)。初期通知の @@ -52,6 +53,31 @@ * Configuration Manager のロールは、0.21.0 で非推奨になり、0.25.0 で削除されました * Associations は、0.21.0 で非推奨になり、0.25.0 で削除されました + + +### 古い CLI パラメータから MongoURI へのマッピング + +次の CLI パラメータがあることを考慮します: + +* `-dbhost HOST` +* `-rplSet RPLSET` +* `-dbTimeout TIMEOUT` +* `-dbuser USER` +* `-dbpass PASS` +* `-dbAuthMech AUTHMECH` +* `-dbAuthDb AUTHDB` +* `-dbSSL` +* `-dbDisableRetryWrites` + +結果の MongoURI (つまり、`-dbURI` の値) は次のようになります: + +> mongodb://[USER:PASS@]HOST/[AUTHDB][?replicaSet=RPLSET[&authMechanism=AUTHMECH][&tls=true&tlsAllowInvalidCertificates=true][&retryWrites=false][&connectTimeoutMS=TIMEOUT] +Notes: + +* `-dbSSL` が使用される場合、`&tls=true&tlsAllowInvalidCertificates=true` トークンが追加されます +* `-dbDisableRetryWrites` が使用される場合、`&retryWrites=false` トークンが追加されます +* その他の `[...]` は、対応するパラメータが使用されているかどうかに応じて、オプションのトークンを意味します + ## 非推奨の警告をログに記録 @@ -77,6 +103,7 @@ | **削除された機能** | **機能をサポートする Orion ラスト・バージョン** | **バージョンのリリース日** | |--------------------------------------------------------------------------------------|-------------------------------------------------|----------------------------| +| CLI `-dbhost`、`-rplSet`、`-dbTimeout`、`-dbuser`、`-dbAuthMech`、`-dbAuthDb`、`-dbSSL`、および `-dbDisableRetryWrites` (および関連する環境変数) | まだ定義されていません | まだ定義されていません | | `POST /v2/entities` オペレーションの `attributes` フィールド | まだ定義されていません | まだ定義されていません | | `APPEND`, `UPDATE`, など。`POST /v2/op/update` でのアクション・タイプ | まだ定義されていません | まだ定義されていません | | URI パラメータでの `dateCreated` および `dateModified` | まだ定義されていません | まだ定義されていません | diff --git a/doc/manuals.jp/devel/cookbook.md b/doc/manuals.jp/devel/cookbook.md index f25aa69f26..633a7e25eb 100644 --- a/doc/manuals.jp/devel/cookbook.md +++ b/doc/manuals.jp/devel/cookbook.md @@ -20,7 +20,7 @@ Orion に新しい CLI パラメータを追加するのは簡単です。これ * 新しい CLI パラメーターの値を保持する**変数**、および * `PaArgument` ベクトルの**新しい項目** `paArgs` -新しいCLIパラメーターが `-v` (verbose) のようなブール値の場合、`bool` 変数が必要です。`-dbHost ` のようなテキスト・パラメータの場合は、char-vector が使用されるなどです。 +新しいCLIパラメーターが `-v` (verbose) のようなブール値の場合、`bool` 変数が必要です。`-dbURI ` のようなテキスト・パラメータの場合は、char-vector が使用されるなどです。 最も簡単な方法は、同じタイプの古い CLI パラメータを単純にコピーすることです。 diff --git a/docker/README.jp.md b/docker/README.jp.md index c36ae73140..e1080f2888 100644 --- a/docker/README.jp.md +++ b/docker/README.jp.md @@ -33,7 +33,7 @@ Orion Context Broker を試してみたいし、データベースについて - "1026:1026" depends_on: - mongo - command: -dbhost mongo + command: -dbURI mongodb://mongo mongo: image: mongo:6.0 @@ -79,7 +79,7 @@ Orion Context Broker を試してみたいし、データベースについて そして、このコマンドで Orion を実行します - sudo docker run -d --name orion1 --link mongodb:mongodb -p 1026:1026 fiware/orion -dbhost mongodb + sudo docker run -d --name orion1 --link mongodb:mongodb -p 1026:1026 fiware/orion -dbURI mongodb://mongodb すべてが動作することを確認します。 @@ -91,7 +91,7 @@ Orion Context Broker を試してみたいし、データベースについて 別の MongoDB インスタンスに接続する場合は、前のコマンドの**代わりに**、次のコマンドを実行します - sudo docker run -d --name orion1 -p 1026:1026 fiware/orion -dbhost + sudo docker run -d --name orion1 -p 1026:1026 fiware/orion -dbURI mongodb:// すべてが動作することを確認します。 @@ -111,10 +111,10 @@ Orion Context Broker を試してみたいし、データベースについて * 手動で MongoDB を別のコンテナで実行します : 1. `sudo docker run --name mongodb -d mongo:6.0` 2. `sudo docker build -t orion .` - 3. `sudo docker run -d --name orion1 --link mongodb:mongodb -p 1026:1026 orion -dbhost mongodb`. + 3. `sudo docker run -d --name orion1 --link mongodb:mongodb -p 1026:1026 orion -dbURI mongodb://mongodb`. * 手動で MongoDB ホストを見つける場所を指定します : 1. `sudo docker build -t orion .` - 2. `sudo docker run -d --name orion1 -p 1026:1026 orion -dbhost `. + 2. `sudo docker run -d --name orion1 -p 1026:1026 orion -dbURI mongodb://`. すべてが動作することを確認します diff --git a/docker/docker_swarm.jp.md b/docker/docker_swarm.jp.md index 6b35f7920d..494fc4ac3d 100644 --- a/docker/docker_swarm.jp.md +++ b/docker/docker_swarm.jp.md @@ -172,7 +172,7 @@ MongoDB ReplicaSet を Docker Swarm にデプロイする方法の詳細につ image: fiware/orion:latest ports: - "1026:1026" - command: -logLevel DEBUG -dbhost mongo_mongo -rplSet rs -dbTimeout 10000 + command: -logLevel DEBUG -dbURI mongodb://mongo_mongo/?replicaSet=rs&connectTimeoutMS=10000 deploy: replicas: 2 networks: diff --git a/docker/raspberry_pi.jp.md b/docker/raspberry_pi.jp.md index 6a2e961cc7..03ee1ec375 100644 --- a/docker/raspberry_pi.jp.md +++ b/docker/raspberry_pi.jp.md @@ -47,7 +47,7 @@ services: - "1026:1026" depends_on: - mongo - command: -dbhost mongo + command: -dbURI mongodb://mongo mongo: image: mongo:6.0