Skip to content
This repository has been archived by the owner on Jan 6, 2023. It is now read-only.

Force lower case when using provider.name as variable #94

Merged

Conversation

apatard
Copy link
Member

@apatard apatard commented Dec 14, 2020

When using {{ instance.provider }} as variable in the generated
Vagrantfile, it has to respect ruby syntax, so the first letter
has to be a lower case.

Until recently, either the user was using the provider name as the one
specified in the Vagrant documentation or it was specifying the
wrong name (like VirtualBox or VBox) and things were "just" working,
since Vagrant will default to virtualbox in case it didn't find the
configured provider.
In the vagrant.yml removal patch, I've used the provider name as variable
and with the provider set to 'VirtualBox', this will now produced the
following ruby error:

Vagrantfile:45: formal argument cannot be a constant

So, even if it may be considered as a configuration error, it's
better to ensure on our side to not produce an invalid file.
The change is limited to this part of the Vagrantfile, as I guess
that user will respect the casing for the other configuration options.

Fix: #91
Signed-off-by: Arnaud Patard apatard@hupstream.com

…ider.name as variable

When using {{ instance.provider }} as variable in the generated
Vagrantfile, it has to respect ruby syntax, so the first letter
has to be a lower case.

Until recently, either the user was using the provider name as the one
specified in the Vagrant documentation or it was specifying the
wrong name (like VirtualBox or VBox) and things were "just" working,
since Vagrant will default to virtualbox in case it didn't find the
configured provider.
In the vagrant.yml removal patch, I've used the provider name as variable
and with the provider set to 'VirtualBox', this will now produced the
following ruby error:

Vagrantfile:45: formal argument cannot be a constant

So, even if it may be considered as a configuration error, it's
better to ensure on our side to not produce an invalid file.
The change is limited to this part of the Vagrantfile, as I guess
that user will respect the casing for the other configuration options.

Fix: ansible-community#91
Signed-off-by: Arnaud Patard <apatard@hupstream.com>
@ssbarnea ssbarnea changed the title molecule_vagrant/modules/vagrant.py: Force lower case when using provider.name as variable Force lower case when using provider.name as variable Apr 20, 2021
@ssbarnea ssbarnea added the bug Something isn't working label Apr 20, 2021
@greg-hellings greg-hellings merged commit fe9c795 into ansible-community:master May 10, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

master branch: "formal argument cannot be a constant"
3 participants