0

このマニュアルに基づいて vSphere 上に完全な Cloud Foundry を正常にデプロイし、このマニフェスト ファイルをテンプレートのように使用しました (少し古くなっているため、多くの変更を加えています)。

Cloud Foundry の次のバージョンでは、スペースと組織の機能が必要であることに気付き、クラウド コントローラーと適切なノードに *_ng テンプレートを使用し始めました。

BOSH マニフェスト ファイルを変更したところ、クラウド コントローラー DB に関する問題がほとんど見つかりませんでした。によるとcloud_controller_ng.yml.erb

<% db = properties.ccdb_ng.databases.find { |db| db.tag == "cc" } %>
<% db_role = properties.ccdb_ng.roles.find { |role| role.tag == "admin" } %>
db:
  database: postgres://<%= db_role.name %>:<%= db_role.password %>@<%= properties.ccdb_ng.address %>:<%= properties.ccdb_ng.port %>/<%= db.name %>
  max_connections: <%= properties.ccdb_ng.max_connections || 32 %>
  pool_timeout: <%= properties.ccdb_ng.pool_timeout || 10 %>
  log_level: <%= properties.ccng.db_logging_level || "debug2" %>

ccdb_ngむしろマニフェストにプロパティが必要ですccdb(ところで、なぜですか?Cloud Foundryの次世代が現在のバージョンになると、この変更は役に立たなくなります。私が見逃したものは何ですか?):

- name: ccdb_postgres
  template: postgres
  instances: 1
  resource_pool: infrastructure
  persistent_disk: 2048
  networks:
  - name: default
    static_ips:
    - 192.168.2.12
  properties:
    db: ccdb_ng
...
  ccdb_ng:
address: 192.168.2.12
port: 5524
pool_size: 10
roles:
- tag: admin
  name: ccadmin
  password: aaaBauWauZZb2
databases:
- tag: cc
  name: appcloud

結果のようにエラーが発生しました

Preparing configuration
binding configuration: Error filling in template `batch.yml.erb' for `uaa/0' (line 5: undefined method `databases' for nil:NilClass) (00:00:00)
Error                   1/1 00:00:00                                                                

Error 80006: Error filling in template `batch.yml.erb' for `uaa/0' (line 5: undefined method `databases' for nil:NilClass)

そして、それは私にこのコードを指摘しました:

<% cc_db = properties.ccdb.databases.find { |db| db.tag == "cc" } %>
<% cc_role = properties.ccdb.roles.find { |role| role.tag == "admin" } %>

どのように見えるかは、ccdb物件を探してみてください。はい、マニフェスト ファイルを変更できますが、この場合はプロパティcloud_controller_ng.yml.erbが見つかりません。ccdb_ng

これらの問題を回避するために CloudFoundry の BOSH マニフェスト ファイルを変更するにはどうすればよいですか?

それについては他にもたくさんの質問がありますが、今のところ主要なものです。

4

1 に答える 1

0

この例のように、マニフェストにプロパティ セクションがありますか。

https://gist.github.com/3148465

properties.ccdb が nil として評価されないようにするには、プロパティ セクションに ccdb エントリが必要です。

于 2013-01-12T15:14:31.850 に答える