Cloud Foundry bosh错误140003:未知资源池

时间:2016-01-05 18:50:07

标签: postgresql cloudfoundry pivotal-cloud-foundry

我正在尝试设置服务代理以将postgres添加到我们的Cloud Foundry安装中。我们在vmWare上运行我们的系统。我正在使用此版本:

cf-contrib-release

我在波什中添加了这个版本:

 #bosh releases
Acting as user 'director' on 'microbosh-ba846726bed7032f1fd4'

+-----------------------+----------------------+-------------+
| Name                  | Versions             | Commit Hash |
+-----------------------+----------------------+-------------+
| cf                    | 208.12*              | a0de569a+   |
| cf-autoscaling        | 13*                  | 927bc7ed+   |
| cf-metrics            | 34*                  | 22f7e1e1    |
| cf-mysql              | 20*                  | caa23b3d+   |
|                       | 22*                  | af278086+   |
| cf-rabbitmq           | 161*                 | 4d298aec    |
| cf-riak-cs            | 10*                  | 5e7e46c9+   |
| cf-services-contrib   | 6*                   | 57fd2098+   |
| docker                | 23*                  | 82346881+   |
| newrelic_broker       | 1.3*                 | 1ce3471d+   |
| notifications-with-ui | 18*                  | 490b6446+   |
| postgresql-docker     | 4*                   | a53c9333+   |
| push-console-release  | console-du-jour-203* | d2d31585+   |
| spring-cloud-broker   | 1.0.0*               | efd69612    |
+-----------------------+----------------------+-------------+
(*) Currently deployed
(+) Uncommitted changes

Releases total: 13

我根据此doumentation在我的yaml文件中设置了资源池和作业: http://bosh.io/docs/vsphere-cpi.html#resource-pools

这就是我们群集的外观:

vmware cluster

以下是我在yaml文件中添加的内容:

resource_pools:
- name: default
  network: default
  stemcell:
    name: bosh-vsphere-esxi-ubuntu-trusty-go_agent
    version: '2865.1'
  cloud_properties:
    cpu: 2
    ram: 4096
    disk: 10240
    datacenters:
    - name: 'Universal City'
      clusters:
      - USH_UCS_CLOUD_FOUNDRY_NONPROD_01: {resource_pool: 'USH_UCS_CLOUD_FOUNDRY_NONPROD_01_RP'}


jobs:
  - name: gateways
    release: cf-services-contrib
    templates:
    - name: postgresql_gateway_ng
    instances: 1
    resource_pool: 'USH_UCS_CLOUD_FOUNDRY_NONPROD_01_RP'
    networks:
      - name: default
        default: [dns, gateway]
    properties:
      # Service credentials
      uaa_client_id: "cf"
      uaa_endpoint: http://uaa.devcloudwest.example.com
      uaa_client_auth_credentials:
        username: admin
        password: secret

当我运行'bosh deploy'时,我发现错误:

Error 140003: Job `gateways' references an unknown resource pool `USH_UCS_CLOUD_FOUNDRY_NONPROD_01_RP'

这是我的yaml文件的全部内容:

name: cf-22b9f4d62bb6f0563b71 
director_uuid: fd713790-b1bc-401a-8ea1-b8209f1cc90c 

releases:
  - name: cf-services-contrib
    version: 6 

compilation:
  workers: 3
  network: default
  reuse_compilation_vms: true
  cloud_properties:
    ram: 5120 
    disk: 10240 
    cpu: 2

update:
  canaries: 1
  canary_watch_time: 30000-60000
  update_watch_time: 30000-60000
  max_in_flight: 4

networks:
- name: default
  type: manual 
  subnets:
  - range: exam 10.114..130.0/24
    gateway: exam 10.114..130.1
    cloud_properties:
      name: 'USH_UCS_CLOUD_FOUNDRY'


#resource_pools:
#  - name: common
#    network: default
#    size: 8
#    stemcell:
#      name: bosh-vsphere-esxi-ubuntu-trusty-go_agent
#      version: '2865.1'


resource_pools:
- name: default
  network: default
  stemcell:
    name: bosh-vsphere-esxi-ubuntu-trusty-go_agent
    version: '2865.1' 
  cloud_properties:
    cpu: 2
    ram: 4096 
    disk: 10240
    datacenters:
    - name: 'Universal City' 
      clusters:
      - USH_UCS_CLOUD_FOUNDRY_NONPROD_01: {resource_pool: 'USH_UCS_CLOUD_FOUNDRY_NONPROD_01_RP'}

jobs:
  - name: gateways
    release: cf-services-contrib
    templates:
    - name: postgresql_gateway_ng
    instances: 1
    resource_pool: 'USH_UCS_CLOUD_FOUNDRY_NONPROD_01_RP' 
    networks:
      - name: default
        default: [dns, gateway]
    properties:
      # Service credentials
      uaa_client_id: "cf"
      uaa_endpoint: http://uaa.devcloudwest.example.com
      uaa_client_auth_credentials:
        username: admin
        password: secret 


  - name: postgresql_service_node
    release: cf-services-contrib
    template: postgresql_node_ng
    instances: 1
    resource_pool: common
    persistent_disk: 10000
    properties:
      postgresql_node:
        plan: default
    networks:
      - name: default
        default: [dns, gateway]

properties:
  networks:
    apps: default
    management: default

  cc:
    srv_api_uri: http://api.devcloudwest.example.com

  nats:
    address: exam 10.114..130.11 
    port: 25555 
    user: nats #CHANGE
    password: secret 
    authorization_timeout: 5

  service_plans:
    postgresql:
      default:
        description: "Developer, 250MB storage, 10 connections"
        free: true
        job_management:
          high_water: 230
          low_water: 20
        configuration:
          capacity: 125
          max_clients: 10
          quota_files: 4
          quota_data_size: 240
          enable_journaling: true
          backup:
            enable: false
          lifecycle:
            enable: false
            serialization: enable
            snapshot:
              quota: 1

  postgresql_gateway:
    token: f75df200-4daf-45b5-b92a-cb7fa1a25660
    default_plan: default
    supported_versions: ["9.3"]
    version_aliases:
      current: "9.3"
    cc_api_version: v2
  postgresql_node:
    supported_versions: ["9.3"]
    default_version: "9.3"
    max_tmp: 900
    password: secret 

这里有关于该错误的调试输出的要点:

postgres_2423_debug.txt

1 个答案:

答案 0 :(得分:1)

HTTP/1.1 200 OK X-Powered-By: Express Accept-Ranges: bytes Date: Tue, 05 Jan 2016 21:13:46 GMT Cache-Control: public, max-age=0 Last-Modified: Mon, 28 Dec 2015 16:22:31 GMT ETag: W/"c2-3944605092" Content-Type: application/octet-stream Content-Length: 194 Connection: keep-alive 块的docs说:

  
      
  • resource_pool [String,required]:资源池块中的有效资源池名称。 BOSH在命名资源池的VM中运行此作业的实例。
  •   

这需要匹配jobs之一的name,即resource_pools,而不是vSphere中资源池的名称。

直接引用IaaS的唯一部分是default。资源的特定名称(如vSphere中的网络,群集或数据中心,或AWS中的子网,AZ和实例类型)仅显示在cloud_properties的位置。

您可以使用该数据在与IaaS无关的更高抽象级别定义“网络”和“资源池”,例如:除了云属性之外,无论是部署到vSphere,AWS,OpenStack等,您为资源池提供的规范都是相同的。

然后,您的作业通过您为抽象提供的逻辑名称引用这些网络,资源池等。特别是,作业不需要任何特定于IaaS的配置,只需要引用您在清单中其他地方定义的逻辑网络和资源池。