Provision failure: `Class[Tester] is already declared`
kadamwhite opened this issue · 1 comments
Any provision after installing the Tester extension (via git clone --recursive https://github.com/Chassis/Tester.git tester
) fails with the following error:
==> default: Error: Duplicate declaration: Class[Tester] is already declared in file /tmp/vagrant-puppet/manifests-846018e2aa141a5eb79a64b4015fc5f3/development.pp:12; cannot redeclare at /tmp/vagrant-puppet/manifests-846018e2aa141a5eb79a64b4015fc5f3/development.pp:12 on node thesun.local
==> default: Error: Duplicate declaration: Class[Tester] is already declared in file /tmp/vagrant-puppet/manifests-846018e2aa141a5eb79a64b4015fc5f3/development.pp:12; cannot redeclare at /tmp/vagrant-puppet/manifests-846018e2aa141a5eb79a64b4015fc5f3/development.pp:12 on node thesun.local
The SSH command responded with a non-zero exit status. Vagrant
assumes that this means the command failed. The output for this command
should be in the log above. Please read the output to determine what
went wrong.
- What operating system do you use?
Ubuntu 18.04 (also reproduced on 17.10)
- What version of Vagrant are you running?
Vagrant 2.0.4
- Are you using VirtualBox or VMWare and which version are you using?
VirtualBox 5.2.10
- Do you have a custom YAML file? If so, what does it contain?
(Please paste in yourchassis.local.yaml
file)
No custom config
- Do you have any other Chassis extensions installed? If so, what are they?
Gmagick
I think this somehow arose from a case-sensitive paths issue; I must have previously installed the extension via the config extensions
option. Specifying - Tester
in that file, or installing the extension at extensions/Tester
, caused an error about not being able to access a file via the lower-case tester
path. Manually moving or re-installing the extension at extensions/tester
would then result in this error. So any relevant issue lies with case-sensitive filesystems and Chassis core, not this extension.
After fully purging my local environment, and manually checking out all the extensions using lower-case paths, did eventually result in a successful provision.