Comments (7)
@sneal Sorry for the (four month...) delay. We have a story for finalizing our removal of the ruby requirement in the manual stemcell building process here: https://www.pivotaltracker.com/story/show/148743023.
I'll ping back once that's been delivered.
from bosh-windows-stemcell-builder.
We have created an issue in Pivotal Tracker to manage this:
https://www.pivotaltracker.com/story/show/141820559
The labels on this github issue will be updated when the story is started.
from bosh-windows-stemcell-builder.
@sneal We are trying to cache the gems for bundler under vendor/cache
. Is that not working as expected? This should remove the need to reach to Rubygems.org. If that works as expected, would it be safe to always unset HTTP_PROXY
and HTTPS_PROXY
for packer to work?
from bosh-windows-stemcell-builder.
@sneal Can you set NO_PROXY for the IP Address ranges you don't want? Sounds like you are trying to use the proxy to hit WinRM on a server the proxy can't connect to because it is inside your network?
from bosh-windows-stemcell-builder.
@aminjam On a cleanly cloned repo when the script calls bundle install
for the first time it'll attempt to fetch the gem index from Rubygems.org. This can easily be seen by setting an invalid proxy.
$ HTTP_PROXY=http://127.0.0.1:4545 HTTPS_PROXY=https://127.0.0.1:4545 bundle install
Fetching source index from https://rubygems.org/
Retrying fetcher due to error (2/4): Bundler::HTTPError Could not fetch specs from https://rubygems.org/
Retrying fetcher due to error (3/4): Bundler::HTTPError Could not fetch specs from https://rubygems.org/
Retrying fetcher due to error (4/4): Bundler::HTTPError Could not fetch specs from https://rubygems.org/Could not fetch specs from https://rubygems.org/
I think the customer encountered an error like this and then added the HTTP(S)_PROXY env vars. If you add the --local
flag then bundler won't attempt to reach out to rubygems and will use the vendor/cache directory as intended.
$ HTTP_PROXY=http://127.0.0.1:4545 HTTPS_PROXY=https://127.0.0.1:4545 bundle install --local
Using rake 12.0.0
Using aws-sigv4 1.0.0
Using jmespath 1.3.1
Using diff-lcs 1.3
Using mini_portile2 2.1.0
Using rspec-support 3.5.0
Using rubyzip 1.2.1
Using timecop 0.8.1
Using bundler 1.13.6
Using aws-sdk-core 2.8.1
...
@pearcec The winrm connection issue with Packer is definitely caused by the HTTP(S)_PROXY env vars, which shouldn't need to be set if we're using the --local
flag with bundler. Most users will likely run this from a Windows box without those env vars already set, so for most cases I think we'll be ok. The NO_PROXY
env var could be useful for Packer in cases where customers have set the HTTP(S)_PROXY env vars previously. That's probably not very many.
In my opinion an improved solution would not require Ruby. Shipping a statically compiled golang executable for each platform would greatly simplify installation and configuration, especially on Windows which currently requires Ruby and the Ruby DevKit to be installed so native extensions (Nokogiri I'm looking at you) can be compiled.
from bosh-windows-stemcell-builder.
@sneal The story above is delivered, but as I'm rereading this thread I realize I misunderstood your issue.
The fix above removes the ruby dependency for a manual stemcell building process (as described here), but your issue here was specifically related to bundler requiring a proxy be configured and packer requiring one not be configured when trying to kick off an automated stemcell build in a walled-off corporate environment with a proxy for egress. More generally, you have concerns about our packer provisioners' dependency on ruby use of rake tasks for running and configuring packer, and the Ruby dependency on the host builder that rake introduces.
We have an epic to revisit and formalize our guidance for automated stemcell builds here, and we may choose to remove the broader Ruby dependency at that time, for a variety of reasons I'm sure you're familiar with. I'll post back if we have anything new to add there.
from bosh-windows-stemcell-builder.
Apologies once again for the delay in response for this. We've provided a structured way for using proxies. I'll close this issue for now, but please re-open if the issues persist.
from bosh-windows-stemcell-builder.
Related Issues (20)
- Windows Stemcell Size too large HOT 12
- Add HTTP proxy support to install windows updates HOT 6
- link leads to creating a wiki page HOT 3
- Add support for S3 compatible storage to rake tasks HOT 7
- windows2016 stemcells should turn off realtime malware scanning (and windows2012R2 if possible) HOT 2
- The data area passed to a system call is too small HOT 5
- Add support to disable netbios HOT 4
- use vsphere plugin instead of the vmware-vmx plugin HOT 5
- Does CF support the 2016 Standard (No GUI) install? HOT 9
- Enable w32time service and set to auto start in Install-CFFeatures2012 HOT 3
- AWS stemcell build should not require specific envvars HOT 3
- ESXi Compatibility for Windows2016 HOT 4
- Enable Windows long path name support HOT 6
- Link to download Concourse Worker produces a 404 error HOT 2
- Windows 2019 stemcell could only be created using a vmdk set to use BIOS HOT 3
- VM becomes unresponsive to bosh after reboot HOT 6
- Http/s proxy issues HOT 7
- 2019 Stemcell Build Failing - DISM Related Failure HOT 1
- In-place Agent Upgrades HOT 11
- OpenStack stemcell builder HOT 4
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 bosh-windows-stemcell-builder.