Comments (4)
I'm terribly sorry... somehow I hadn't seen this issue. I've been incredibly busy (~16 hour days) this week trying to get a work project out the door, but I should have some time next week to look into this and try to come up with a solution.
That does seem completely understandable to me... r10k is intended to deploy modules, so I wouldn't expect it to work nicely without connectivity. So I guess it's a limitation of r10k... but I don't really see how things could work otherwise.
The actual "problem" here is that vagrant-r10k treats R10K failures/errors as provisioning failures. I strongly believe this is the right default behavior; if you tell vagrant-r10k to do something (deploy modules) and it can't, it should make you abundantly aware of that, not fail silently.
So the question becomes how to allow a user to tell vagrant-r10k to ignore errors?
- simple way: add a config flag to ignore any r10k errors. We could try to get fancy and ignore only the errors that result from DNS not working or inability to connect, but that would require parsing exception strings generated by r10k, which shouldn't really be relied on.
- maybe better way: add a command line option to
vagrant up
to ignore errors, or maybe just to skip r10k. - simply don't run r10k when we don't have connectivity. But aside from trying to get data (i.e. from httpbin.com) and seeing if it works or not, there's no cross-platform way that I know of to determine if we have connectivity.
@tremblaysimon any thoughts on this? Until I get a fix implemented, you can always just comment out the vagrant-r10k config when you're working without connectivity...
from vagrant-r10k.
No problem with the delay we all have our priority and I understand that!
I agree with you that R10K failures/errors are provisioning failures too.
Since it is a R10K problem when there is no connectivity I think I will address it to R10K project directly. And of course the best workaround currently is to comment out vagrant-r10k config in Vagrantfile...
And hopefully it isn't a problem that we face often (lack of connectivity).
P.S. I think vagrant-r10k isn't using latest version of R10K ? I will test latest R10K version directly and see if errors happen when there is no connectivity.
from vagrant-r10k.
Maybe we should close that issue and just let it there if someone else face the same problem someday.
from vagrant-r10k.
As of #9 / #23 (not yet released), vagrant-r10k can be completely skipped by running with --no-provision
or by commenting out the code.
What remains for this is to, in VagrantPlugins::R10k::Action::Deploy.deploy, catch whatever specific error is raised when a repo can't be accessed, and present that to the user in a cleaner format, suggesting the workaround of (1) ensuring the repo path is right, or (2) either commenting out the vagrant-r10k config or running with --no-provision
.
from vagrant-r10k.
Related Issues (20)
- Integration/functional tests HOT 6
- upgrade r10k HOT 5
- validate Puppetfile in config validate HOT 2
- docs - vagrant plugin install puppet
- No validation of nil module_path HOT 5
- No validation of nil module_path HOT 1
- vmware_workstation acceptance tests
- code analysis HOT 6
- Test ticket from Code Climate
- [R10K::TaskRunner - ERROR] on OSX (yosemite) host HOT 10
- Can r10k run after specific provision script? HOT 3
- Ability to run arbitrary ruby code block before r10k
- Error occurred: no implicit conversion of nil into String HOT 7
- Support puppet_server provisioner HOT 3
- r10k deploy error on Windows HOT 2
- undefined method `activate_bin_path' HOT 5
- undefined method `original' HOT 1
- `find_spec_for_exe': can't find gem puppet (>= 0.a) (Gem::GemNotFoundException) HOT 4
- problem library ruby 3 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vagrant-r10k.