Bosh-init deploy issue : while Installing CPI: cpi.json.erb' for vsphere_cpi/0 (line 38: #<NoMethodError: undefined method `each' for "<CLUSTER>f":String>) (RuntimeError)


ML D
 

Hi all,
I'm a newbie in Cloud foundry and I would loke to try to setup in on vsphere to begin, before trying on AWS.
So on vSphere, I meet an issue at install time
I tried with the default ruby version included in Centos 7.3, and also ruby 2.1.10 and ruby 2.4.0
The user used by boshinit is full admin on vcenter.

But I keep get the same error.
templates/cpi.json.erb' for vsphere_cpi/0 (line 38: #<NoMethodError: undefined method `each' for "ch00clf":String>) (RuntimeError)
ch00clf is the name of the vsphere cluster to use to deploy cloudfoundry
The bosh.yml file contains :

vcenter: &vcenter
address: xx.xx.xx.xx
user: xxxx
password: xxxxxxxx
datacenters:
- name: CloudFoundry
vm_folder: Bosh-community-vms
template_folder: Bosh-community-stemcells
datastore_pattern: DS00*
persistent_datastore_pattern: DS00*
disk_path: boshdisks
clusters: ch00clf

agent: {mbus: "nats://nats:nats-password(a)10.252.21.223:4222"}

See log below
Thanks a lot.
MLD


Deployment manifest: '/root/bosh/bosh.yml'
Deployment state: '/root/bosh/bosh-state.json'

Started validating
Downloading release 'bosh'... Skipped [Found in local cache] (00:00:00)
Validating release 'bosh'... Finished (00:00:03)
Downloading release 'bosh-vsphere-cpi'... Skipped [Found in local cache] (00:00:00)
Validating release 'bosh-vsphere-cpi'... Finished (00:00:00)
Validating cpi release... Finished (00:00:00)
Validating deployment manifest... Finished (00:00:00)
Downloading stemcell... Skipped [Found in local cache] (00:00:00)
Validating stemcell... Finished (00:00:05)
Finished validating (00:00:09)

Started installing CPI
Compiling package 'vsphere_cpi_ruby/e929f50e95ef815d8d276fd69671beb106c1b4ed'... Finished (00:00:00)
Compiling package 'vsphere_cpi_mkisofs/72aac8fb0c0089065a00ef38a4e30d7d0e5a16ea'... Finished (00:00:00)
Compiling package 'vsphere_cpi/b51773fb362ed051b90eaaefaa27deb384d242b7'... Finished (00:00:00)
Installing packages... Finished (00:00:01)
Rendering job templates... Failed (00:00:00)
Failed installing CPI (00:00:01)

Command 'deploy' failed:
Installing CPI:
Rendering and uploading Jobs:
Rendering job templates for installation:
Rendering templates for job 'vsphere_cpi/8382dbc1792f09fec98862bdd9104f86d09f20b1':
Rendering template src: cpi.json.erb, dst: config/cpi.json:
Rendering template src: /root/.bosh_init/installations/d1637fbb-cecd-459e-406f-932f52c458c1/tmp/bosh-init-release181491122/extracted_jobs/vsphere_cpi/templates/cpi.json.erb, dst: /root/.bosh_init/installations/d1637fbb-cecd-459e-406f-932f52c458c1/tmp/rendered-jobs513954989/config/cpi.json:
Running ruby to render templates:
Running command: 'ruby /root/.bosh_init/installations/d1637fbb-cecd-459e-406f-932f52c458c1/tmp/erb-renderer169293210/erb-render.rb /root/.bosh_init/installations/d1637fbb-cecd-459e-406f-932f52c458c1/tmp/erb-renderer169293210/erb-context.json /root/.bosh_init/installations/d1637fbb-cecd-459e-406f-932f52c458c1/tmp/bosh-init-release181491122/extracted_jobs/vsphere_cpi/templates/cpi.json.erb /root/.bosh_init/installations/d1637fbb-cecd-459e-406f-932f52c458c1/tmp/rendered-jobs513954989/config/cpi.json', stdout: '', stderr: '/root/.bosh_init/installations/d1637fbb-cecd-459e-406f-932f52c458c1/tmp/erb-renderer169293210/erb-render.rb:189:in `rescue in render': Error filling in template '/root/.bosh_init/installations/d1637fbb-cecd-459e-406f-932f52c458c1/tmp/bosh-init-release181491122/extracted_jobs/vsphere_cpi/templates/cpi.json.erb' for vsphere_cpi/0 (line 38: #<NoMethodError: undefined method `each' for "ch00clf":String>) (RuntimeError)
from /root/.bosh_init/installations/d1637fbb-cecd-459e-406f-932f52c458c1/tmp/erb-renderer169293210/erb-render.rb:175:in `render'
from /root/.bosh_init/installations/d1637fbb-cecd-459e-406f-932f52c458c1/tmp/erb-renderer169293210/erb-render.rb:200:in `<main>'
':
exit status 1
[


Dmitriy Kalinin
 

Looks like you ve placed cluster name (string) where it was expecting an
array. Check out example in this section:
https://bosh.io/docs/vsphere-cpi.html#resource-pools. We should probably
improve the error message. Story:
https://www.pivotaltracker.com/story/show/140085113

On Thu, Feb 16, 2017 at 10:10 AM, Marc-Laurent Delaruelle <
marc-laurent.delaruelle(a)renault.com> wrote:

Hi all,
I'm a newbie in Cloud foundry and I would loke to try to setup in on
vsphere to begin, before trying on AWS.
So on vSphere, I meet an issue at install time
I tried with the default ruby version included in Centos 7.3, and also
ruby 2.1.10 and ruby 2.4.0
The user used by boshinit is full admin on vcenter.

But I keep get the same error.
templates/cpi.json.erb' for vsphere_cpi/0 (line 38: #<NoMethodError:
undefined method `each' for "ch00clf":String>) (RuntimeError)
ch00clf is the name of the vsphere cluster to use to deploy cloudfoundry
The bosh.yml file contains :

vcenter: &vcenter
address: xx.xx.xx.xx
user: xxxx
password: xxxxxxxx
datacenters:
- name: CloudFoundry
vm_folder: Bosh-community-vms
template_folder: Bosh-community-stemcells
datastore_pattern: DS00*
persistent_datastore_pattern: DS00*
disk_path: boshdisks
clusters: ch00clf

agent: {mbus: "nats://nats:nats-password(a)10.252.21.223:4222"}

See log below
Thanks a lot.
MLD


Deployment manifest: '/root/bosh/bosh.yml'
Deployment state: '/root/bosh/bosh-state.json'

Started validating
Downloading release 'bosh'... Skipped [Found in local cache] (00:00:00)
Validating release 'bosh'... Finished (00:00:03)
Downloading release 'bosh-vsphere-cpi'... Skipped [Found in local cache]
(00:00:00)
Validating release 'bosh-vsphere-cpi'... Finished (00:00:00)
Validating cpi release... Finished (00:00:00)
Validating deployment manifest... Finished (00:00:00)
Downloading stemcell... Skipped [Found in local cache] (00:00:00)
Validating stemcell... Finished (00:00:05)
Finished validating (00:00:09)

Started installing CPI
Compiling package 'vsphere_cpi_ruby/e929f50e95ef815d8d276fd69671beb106c1b4ed'...
Finished (00:00:00)
Compiling package 'vsphere_cpi_mkisofs/72aac8fb0c0089065a00ef38a4e30d7d0e5a16ea'...
Finished (00:00:00)
Compiling package 'vsphere_cpi/b51773fb362ed051b90eaaefaa27deb384d242b7'...
Finished (00:00:00)
Installing packages... Finished (00:00:01)
Rendering job templates... Failed (00:00:00)
Failed installing CPI (00:00:01)

Command 'deploy' failed:
Installing CPI:
Rendering and uploading Jobs:
Rendering job templates for installation:
Rendering templates for job 'vsphere_cpi/
8382dbc1792f09fec98862bdd9104f86d09f20b1':
Rendering template src: cpi.json.erb, dst: config/cpi.json:
Rendering template src: /root/.bosh_init/
installations/d1637fbb-cecd-459e-406f-932f52c458c1/tmp/
bosh-init-release181491122/extracted_jobs/vsphere_cpi/templates/cpi.json.erb,
dst: /root/.bosh_init/installations/d1637fbb-cecd-
459e-406f-932f52c458c1/tmp/rendered-jobs513954989/config/cpi.json:
Running ruby to render templates:
Running command: 'ruby /root/.bosh_init/
installations/d1637fbb-cecd-459e-406f-932f52c458c1/tmp/
erb-renderer169293210/erb-render.rb /root/.bosh_init/
installations/d1637fbb-cecd-459e-406f-932f52c458c1/tmp/
erb-renderer169293210/erb-context.json /root/.bosh_init/
installations/d1637fbb-cecd-459e-406f-932f52c458c1/tmp/
bosh-init-release181491122/extracted_jobs/vsphere_cpi/templates/cpi.json.erb
/root/.bosh_init/installations/d1637fbb-cecd-459e-406f-932f52c458c1/tmp/
rendered-jobs513954989/config/cpi.json', stdout: '', stderr:
'/root/.bosh_init/installations/d1637fbb-cecd-459e-406f-932f52c458c1/tmp/
erb-renderer169293210/erb-render.rb:189:in `rescue in render': Error
filling in template '/root/.bosh_init/installations/d1637fbb-cecd-
459e-406f-932f52c458c1/tmp/bosh-init-release181491122/
extracted_jobs/vsphere_cpi/templates/cpi.json.erb' for vsphere_cpi/0
(line 38: #<NoMethodError: undefined method `each' for "ch00clf":String>)
(RuntimeError)
from /root/.bosh_init/installations/d1637fbb-cecd-
459e-406f-932f52c458c1/tmp/erb-renderer169293210/erb-render.rb:175:in
`render'
from /root/.bosh_init/installations/d1637fbb-cecd-
459e-406f-932f52c458c1/tmp/erb-renderer169293210/erb-render.rb:200:in
`<main>'
':
exit status 1
[


ML D
 

Dmitriy
Thank you so much !

Best regards