我基于此manual在vSphere上成功部署了完整的Cloud Foundry,并使用了this清单文件,例如模板(我更改了很多,因为它有点过时了)。
现在我意识到我需要下一版本的Cloud Foundry导致空间和组织功能,我开始使用* _ng模板用于云控制器和适当的节点。
我修改了我的BOSH清单文件,我发现云控制器DB存在一些问题。 根据{{1}}
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
(BTW。为什么?当Cloud Foundry的下一代成为当前版本时,这种变化变得无用。我错过了什么?):
ccdb
结果我收到了错误
- 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
属性。
如何修改CloudFoundry的BOSH清单文件以避免这些问题?
我还有很多其他问题,但现在它是主要问题。
答案 0 :(得分:0)