consul-boshrelease 部署错误

consul-boshrelease deployment errors

我遵循了他们的自述文件: https://github.com/cloudfoundry-community/consul-boshrelease/

结果:

Deploying
---------

Director task 1990
Deprecation: Ignoring cloud config. Manifest contains 'networks' section.

  Started preparing deployment > Preparing deployment. Done (00:00:00)

  Started preparing package compilation > Finding packages to compile. Done (00:00:00)

  Started compiling packages
  Started compiling packages > envconsul/90d4cc3b4e290c3833cf5e32d0b5c99f4a63c0be
  Started compiling packages > consul-template/561a4a5d99c375822876d5482ed24f790a0e216b
  Started compiling packages > consul/30f12d1e70d89f28b34a433d2b885a03ae41adae
   Failed compiling packages > consul-template/561a4a5d99c375822876d5482ed24f790a0e216b: Unknown CPI error 'InvalidCall' with message 'Arguments are not correct, details: 'expected params[:filters][0][:values][0] to be a String, got value nil (class: NilClass) instead.'' in 'create_vm' CPI method (00:00:12)
   Failed compiling packages > envconsul/90d4cc3b4e290c3833cf5e32d0b5c99f4a63c0be: Unknown CPI error 'InvalidCall' with message 'Arguments are not correct, details: 'expected params[:filters][0][:values][0] to be a String, got value nil (class: NilClass) instead.'' in 'create_vm' CPI method (00:00:12)
   Failed compiling packages > consul/30f12d1e70d89f28b34a433d2b885a03ae41adae: Unknown CPI error 'InvalidCall' with message 'Arguments are not correct, details: 'expected params[:filters][0][:values][0] to be a String, got value nil (class: NilClass) instead.'' in 'create_vm' CPI method (00:00:12)
   Failed compiling packages (00:00:12)

Error 100: Unknown CPI error 'InvalidCall' with message 'Arguments are not correct, details: 'expected params[:filters][0][:values][0] to be a String, got value nil (class: NilClass) instead.'' in 'create_vm' CPI method

Task 1990 error

我试图找到这个 Unknown CPI error,但没有成功。

我在将 bosh 部署到 aws 时遇到了同样的错误消息。原因是我的 bosh.yml 清单中有一个错误。

而是

cloud_properties: {subnet: subnet-6b54e7f1}

我在写

cloud_properties: {subnet-6b54e7f1}

另一个原因是我的实例类型是m3。必须是m4。 在我更正后,此错误消息消失了。

最后,问题出在他们生成的清单文件中,他们的自述文件告诉您由 运行 templates/make_manifest aws-ec2 生成。除了清单错误之外,正确的命令实际上只是 templates/make_manifest aws(没有 "ec2" 部分)。

无论如何,这是为我部署的清单文件。请注意,Consul 集群实际上并没有工作(仪表板上有 500 个错误),但是,这是另一个 post 的故事了。查找已编辑的 $FOO 项,用您自己的替换。

compilation:
  cloud_properties:
    instance_type: m3.medium
    availability_zone: us-east-1d
  network: consul1
  reuse_compilation_vms: true
  workers: 6
director_uuid: $YOUR_ID
jobs:
- instances: 3
  name: consul
  networks:
  - name: consul1
  persistent_disk: 4096
  properties:
    consul:
      join_host: 0.consul-z1.consul1.consul-aws.microbosh
      services:
        example: {}
    networks:
      apps: consul1
  resource_pool: small_z1
  templates:
  - consumes:
      consul_servers:
        from: consul_leaders
    name: consul
    provides:
      consul_servers:
        as: consul_leaders
    release: consul
  update:
    canaries: 0
    max_in_flight: 50
name: consul-aws
networks:
- cloud_properties: {}
  name: floating
  type: vip
- cloud_properties:
    subnet: $YOUR_SUBNET
    security_groups:
    - default
    availability_zone: us-east-1d
  name: consul1
  type: dynamic
properties: {}
releases:
- name: consul
  version: latest
resource_pools:
- cloud_properties:
    instance_type: m3.medium
    availability_zone: us-east-1d
  name: small_z1
  network: consul1
  stemcell:
    name: bosh-aws-xen-hvm-ubuntu-trusty-go_agent
    version: latest
update:
  canaries: 0
  canary_watch_time: 1000-60000
  max_in_flight: 50
  serial: true
  update_watch_time: 1000-60000