Open andyjansson opened 10 years ago
seems the same problem as #208 with windows
Looking at https://gist.github.com/andyjansson/a3075bb3d97b753ac241
@andyjansson can you delete .tmp and .cache, run librarian and post the contents of C:\ProgramData\PuppetLabs\puppet\etc/.tmp/librarian/cache/ after the failure?
@carlossg I've previously tried to delete .tmp, but the results remain unchanged. I'll provide you with a gist of the directory after work. You can expect to have it in 5-6 hours from now.
ah... I think the file structure librarian-puppet builds in .tmp
can exceed the path length maximum on NTFS. I've seen similar when .tmp
is in a shared directory on vagrant boxes on my Windows laptop. My solution was to change the location of .tmp
to something that either wasn't on the NTFS file system or had a shorter base path. This will put it on a shorter path off C:\temp
:
librarian-puppet config tmp c:\temp --global
Maximum path length for NTFS is 260 characters: http://msdn.microsoft.com/en-us/library/aa365247.aspx
yes, that's logged in #198 so this may be the same issue
@Aethylred Well, the path that it fails on is a mere 137 characters long:
C:\ProgramData\PuppetLabs\puppet\etc/.tmp/librarian/cache/source/puppet/forge/forge_puppetlabs_com/joshcooper/powershell/0.0.6/powershell does not exist, something went wrong. Try removing it manually
@carlossg Contents of the C:\ProgramData\PuppetLabs\puppet\etc\.tmp\librarian\cache
directory, as promised: https://gist.github.com/andyjansson/7831b082fc9c1270496f
Deleted .tmp
. .cache
didn't exist.
seems puppet module tool is not expanding the tar.gz, maybe you are missing tar or gzip or something else is wrong
Try something like this to see if it explodes the tar.gz or fails
puppet module install --version 0.0.6 --target-dir C:\ProgramData\PuppetLabs\puppet\etc/.tmp/librarian/cache/source/puppet/forge/forge_puppetlabs_com/joshcooper/powershell/0.0.6 --module_repository http://forge.puppetlabs.com --modulepath C:\ProgramData\PuppetLabs\puppet\etc/.tmp/librarian/cache/source/puppet/forge/forge_puppetlabs_com/joshcooper/powershell/0.0.6 --module_working_dir C:\ProgramData\PuppetLabs\puppet\etc/.tmp/librarian/cache/source/puppet/forge/forge_puppetlabs_com/joshcooper/powershell/0.0.6 --ignore-dependencies joshcooper/powershell
@carlossg Failed:
C:\Users\vagrant>puppet module install --version 0.0.6 --target-dir C:\ProgramData\PuppetLabs\puppet\etc/.tmp/librarian/cache/source/puppet/forge/forge_puppetlabs_com/joshcooper/powershell/0.0.6 --module_repository http://forge.puppetlabs.com --modulepath C:\ProgramData\PuppetLabs\puppet\etc/.tmp/librarian/cache/source/puppet/forge/forge_puppetlabs_com/joshcooper/powershell/0.0.6 --module_working_dir C:\ProgramData\PuppetLabs\puppet\etc/.tmp/librarian/cache/source/puppet/forge/forge_puppetlabs_com/joshcooper/powershell/0.0.6 --ignore-dependencies joshcooper/powershell
Notice: Preparing to install into C:/ProgramData/PuppetLabs/puppet/etc/.tmp/librarian/cache/source/puppet/forge/forge_puppetlabs_com/joshcooper/powershell/0.0.6 ...
Notice: Downloading from http://forge.puppetlabs.com ...
Notice: Installing -- do not interrupt ...
Error: Could not install package joshcooper-powershell
Package joshcooper-powershell attempted to install file into
"C:/ProgramData/PuppetLabs/puppet/etc/.tmp/librarian/cache/source/puppet/forge/forge_puppetlabs_com/joshcooper/powershell/0.0.6/cache/tmp-unpacker-5f1b23f2a94f96094dc13e51ddc08349f3157c2e/joshcooper-powershell-0.0.6" under "C:\\ProgramData\\PuppetLabs\\puppet\\etc/.tmp/librarian/cache/source/puppet/forge/forge_puppetlabs_com/joshcooper/powershell/0.0.6/cache/tmp-unpacker-5f1b23f2a94f96094dc13e51ddc08349f3157c2e".
if you are able to make it work changing slashes, shorter paths,... I can make librarian work, otherwise it's a puppet issue
@carlossg I've tried it with shorter paths and unfortunately it does not work:
C:\test/.tmp/librarian/cache/source/puppet/forge/forge_puppetlabs_com/joshcooper/powershell/0.0.6/powershell does not exist, something went wrong. Try removing it manually
I'm confident to say that the issue does not have to do with the length of the path.
try this two commands as-is, and switching back slash to forward slash. If that doesn't work then you should raise it with puppetlabs
puppet module install --version 0.0.6 --target-dir c:\test\.tmp --module_repository http://forge.puppetlabs.com --modulepath c:\test\.tmp --module_working_dir c:\test\.tmp --ignore-dependencies joshcooper/powershell
puppet module install --version 0.0.6 --target-dir c:\test\.tmp --ignore-dependencies joshcooper/powershell
>puppet module install --version 0.0.6 --target-dir c:\test\.tmp --module_repository http://forge.puppetlabs.com --modulepath c:\test\.tmp --module_working_dir c:\test\.tmp --ignore-dependencies joshcooper/powershell
Notice: Preparing to install into c:/test/.tmp ...
Notice: Downloading from http://forge.puppetlabs.com ...
Notice: Installing -- do not interrupt ...
Error: Could not install package joshcooper-powershell
Package joshcooper-powershell attempted to install file into
"c:/test/.tmp/cache/tmp-unpacker-5f1b23f2a94f96094dc13e51ddc08349f3157c2e/joshcooper-powershell-0.0.6" under "c:\\test\\.tmp/cache/tmp-unpacker-5f1b23f2a94f96094dc13e51ddc08349f3157c2e".
>puppet module install --version 0.0.6 --target-dir c:\test\.tmp --ignore-dependencies joshcooper/powershell
Notice: Preparing to install into c:/test/.tmp ...
Notice: Downloading from https://forge.puppetlabs.com ...
Error: Could not connect via HTTPS to https://forge.puppetlabs.com
Unable to verify the SSL certificate
The certificate may not be signed by a valid CA
The CA bundle included with OpenSSL may not be valid or up to date
any news on this ?
I'm having the same issue, on a CentOS server
/etc/puppetlabs/puppet/module-source/MY_MODULE_NAME/.tmp/librarian/cache/source/puppet/forge/forgeapi_puppetlabs_com/nanliu-staging/0.4.1/nanliu-staging does not exist, something went wrong. Try removing it manually
I have a dependency on the tomcat module
dependency 'puppetlabs/tomcat', '>=0.1.1'
which uses nanliu-staging
@trojanc please share Puppetfile, Puppetfile.lock, Modulefile, as well as the output with --verbose
Hi
Here is the requested content. I am still new to librarian puppet. I've tried for hours but couldn't figure out what I'm doing wrong. Thank you
ModuleFile
name 'opencollab-tomcat'
version '0.1.0'
source ''
author 'Charl Thiem'
license ''
summary 'Install Apache Tomcat'
description ''
project_page ''
dependency 'puppetlabs/tomcat', '>=0.1.1'
Puppetfile
forge "https://forgeapi.puppetlabs.com"
mod 'puppetlabs/tomcat', '>=0.1.1'
Puppetfile.lock
FORGE
remote: https://forgeapi.puppetlabs.com
specs:
nanliu-staging (0.4.1)
puppetlabs-concat (1.1.0)
puppetlabs/stdlib (>= 4.0.0)
puppetlabs-stdlib (4.3.2)
puppetlabs/stdlib (4.3.2)
puppetlabs/tomcat (0.1.2)
nanliu-staging (>= 0)
puppetlabs-concat (>= 0)
puppetlabs-stdlib (>= 0)
DEPENDENCIES
puppetlabs/tomcat (>= 0.1.1)
Verbose output
[root@dev1 opencollab-tomcat]# librarian-puppet install --verbose
[Librarian] Ruby Version: 1.9.3
[Librarian] Ruby Platform: x86_64-linux
[Librarian] Rubygems Version: 2.2.2
[Librarian] Librarian Version: 0.1.2
[Librarian] Librarian Adapter: puppet
[Librarian] Librarian Adapter Version: 1.1.2
[Librarian] Project: /etc/puppetlabs/puppet/module-source/opencollab-tomcat
[Librarian] Specfile: Puppetfile
[Librarian] Lockfile: Puppetfile.lock
[Librarian] Git: /usr/bin/git
[Librarian] Git Version: 1.7.1
[Librarian] Git Environment Variables:
[Librarian] (empty)
[Librarian] Pre-Cached Sources:
[Librarian] [:forge, "https://forgeapi.puppetlabs.com", {}]
[Librarian] Post-Cached Sources:
[Librarian] [:forge, "https://forgeapi.puppetlabs.com", {}]
[Librarian] The specfile is unchanged: nothing to do.
[Librarian] Install: dependencies resolved
[Librarian] Pre-Cached Sources:
[Librarian] Post-Cached Sources:
[Librarian] [:forge, "https://forgeapi.puppetlabs.com", {}]
[Librarian] Installing nanliu-staging/0.4.1 <https://forgeapi.puppetlabs.com>
/etc/puppetlabs/puppet/module-source/opencollab-tomcat/.tmp/librarian/cache/source/puppet/forge/forgeapi_puppetlabs_com/nanliu-staging/0.4.1/nanliu-staging does not exist, something went wrong. Try removing it manually
/usr/local/rvm/gems/ruby-1.9.3-p547/gems/librarian-puppet-1.1.2/lib/librarian/puppet/source/forge/repo.rb:65:in `install_version!'
/usr/local/rvm/gems/ruby-1.9.3-p547/gems/librarian-puppet-1.1.2/lib/librarian/puppet/source/forge.rb:106:in `install!'
/usr/local/rvm/gems/ruby-1.9.3-p547/gems/librarian-0.1.2/lib/librarian/manifest.rb:101:in `install!'
/usr/local/rvm/gems/ruby-1.9.3-p547/gems/librarian-0.1.2/lib/librarian/action/install.rb:49:in `block in install_manifests'
/usr/local/rvm/gems/ruby-1.9.3-p547/gems/librarian-0.1.2/lib/librarian/action/install.rb:48:in `each'
/usr/local/rvm/gems/ruby-1.9.3-p547/gems/librarian-0.1.2/lib/librarian/action/install.rb:48:in `install_manifests'
/usr/local/rvm/gems/ruby-1.9.3-p547/gems/librarian-0.1.2/lib/librarian/action/install.rb:39:in `perform_installation'
/usr/local/rvm/gems/ruby-1.9.3-p547/gems/librarian-0.1.2/lib/librarian/action/install.rb:12:in `run'
/usr/local/rvm/gems/ruby-1.9.3-p547/gems/librarian-0.1.2/lib/librarian/cli.rb:165:in `install!'
/usr/local/rvm/gems/ruby-1.9.3-p547/gems/librarian-puppet-1.1.2/lib/librarian/puppet/cli.rb:71:in `install'
/usr/local/rvm/gems/ruby-1.9.3-p547/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
/usr/local/rvm/gems/ruby-1.9.3-p547/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
/usr/local/rvm/gems/ruby-1.9.3-p547/gems/thor-0.19.1/lib/thor.rb:359:in `dispatch'
/usr/local/rvm/gems/ruby-1.9.3-p547/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
/usr/local/rvm/gems/ruby-1.9.3-p547/gems/librarian-0.1.2/lib/librarian/cli.rb:26:in `block (2 levels) in bin!'
/usr/local/rvm/gems/ruby-1.9.3-p547/gems/librarian-0.1.2/lib/librarian/cli.rb:31:in `returning_status'
/usr/local/rvm/gems/ruby-1.9.3-p547/gems/librarian-0.1.2/lib/librarian/cli.rb:26:in `block in bin!'
/usr/local/rvm/gems/ruby-1.9.3-p547/gems/librarian-0.1.2/lib/librarian/cli.rb:47:in `with_environment'
/usr/local/rvm/gems/ruby-1.9.3-p547/gems/librarian-0.1.2/lib/librarian/cli.rb:26:in `bin!'
/usr/local/rvm/gems/ruby-1.9.3-p547/gems/librarian-puppet-1.1.2/bin/librarian-puppet:7:in `<top (required)>'
/usr/local/rvm/gems/ruby-1.9.3-p547/bin/librarian-puppet:23:in `load'
/usr/local/rvm/gems/ruby-1.9.3-p547/bin/librarian-puppet:23:in `<main>'
/usr/local/rvm/gems/ruby-1.9.3-p547/bin/ruby_executable_hooks:15:in `eval'
/usr/local/rvm/gems/ruby-1.9.3-p547/bin/ruby_executable_hooks:15:in `<main>'
@trojanc I was able to reproduce in 1.1.2, but fixed in 1.1.3 so you just need to upgrade
@carlossg Thank you. I updated to 1.3.2, not sure why it was on a older version. It's working now.
I'm still seeing this problem on -v 2.0.1
I'm sorry to bring this up since it seems like there was a lot of back and forth on this one in this thread with the thought that the latest version of librarian-puppet would have fixed this.
I first came across this with v 1.4.1.
I then rolled back to v 1.3.2 hoping that maybe that fixed bug regressed.
Here's my debugging output. Let me know if you'd like me to try any different versions of anything. I tried multiple versions of the librarian-puppet gem, as I stated in combination for ruby version 1.9.3, 2.0 and 2.1.5
ruby 2.1.5p273 (2014-11-13 revision 48405) [x64-mingw32]
activemodel (4.2.0) activesupport (4.2.0) bigdecimal (1.2.4) builder (3.2.2) faraday (0.9.1) her (0.7.3) highline (1.6.21) i18n (0.7.0) io-console (0.4.2) json (1.8.1) librarian (0.1.2) librarian-puppet (2.0.1) minitest (5.5.1, 4.7.5) multi_json (1.10.1) multipart-post (2.0.0) psych (2.0.5) puppet_forge (1.0.4) rake (10.1.0) rdoc (4.1.0) rsync (1.0.9) test-unit (2.1.5.0) thor (0.19.1) thread_safe (0.3.4) tzinfo (1.2.2)
[Librarian] Ruby Version: 2.1.5
[Librarian] Ruby Platform: x64-mingw32
[Librarian] Rubygems Version: 2.2.2
[Librarian] Librarian Version: 0.1.2
[Librarian] Librarian Adapter: puppet
[Librarian] Librarian Adapter Version: 2.0.1
[Librarian] Project: c:/tmp/Deployment/puppet
[Librarian] Specfile: Puppetfile
[Librarian] Lockfile: Puppetfile.lock
[Librarian] Git: C:/Program Files (x86)/Git/cmd/git.EXE
[Librarian] Git Version: 1.9.4
[Librarian] Git Environment Variables:
[Librarian] (empty)
[Librarian] Pre-Cached Sources:
[Librarian] [:forge, "https://forgeapi.puppetlabs.com", {}]
[Librarian] Post-Cached Sources:
[Librarian] [:forge, "https://forgeapi.puppetlabs.com", {}]
[Librarian] The specfile is unchanged: nothing to do.
[Librarian] Install: dependencies resolved
[Librarian] Pre-Cached Sources:
[Librarian] Post-Cached Sources:
[Librarian] [:forge, "https://forgeapi.puppetlabs.com", {}]
[Librarian] Installing badgerious-windows_env/2.2.1 <https://forgeapi.puppetlabs.com>
c:\temp/librarian/cache/source/puppet/forge/forgeapi_puppetlabs_com/badgerious-windows_env/2.2.1/windows_env does not exist, something went wrong. Try removing it manually
C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/librarian-puppet-2.0.1/lib/librarian/puppet/source/forge/repo.rb:65:in `install_version!'
C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/librarian-puppet-2.0.1/lib/librarian/puppet/source/forge.rb:114:in `install!'
C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/librarian-0.1.2/lib/librarian/manifest.rb:101:in `install!'
C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/librarian-0.1.2/lib/librarian/action/install.rb:49:in `block in install_manifests'
C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/librarian-0.1.2/lib/librarian/action/install.rb:48:in `each'
C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/librarian-0.1.2/lib/librarian/action/install.rb:48:in `install_manifests'
C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/librarian-0.1.2/lib/librarian/action/install.rb:39:in `perform_installation'
C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/librarian-0.1.2/lib/librarian/action/install.rb:12:in `run'
C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/librarian-puppet-2.0.1/lib/librarian/puppet/cli.rb:94:in `install!'
C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/librarian-puppet-2.0.1/lib/librarian/puppet/cli.rb:69:in `install'
C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/thor-0.19.1/lib/thor.rb:359:in `dispatch'
C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/librarian-0.1.2/lib/librarian/cli.rb:26:in `block (2 levels) in bin!'
C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/librarian-0.1.2/lib/librarian/cli.rb:31:in `returning_status'
C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/librarian-0.1.2/lib/librarian/cli.rb:26:in `block in bin!'
C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/librarian-0.1.2/lib/librarian/cli.rb:47:in `with_environment'
C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/librarian-0.1.2/lib/librarian/cli.rb:26:in `bin!'
C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/librarian-puppet-2.0.1/bin/librarian-puppet:7:in `<top (required)>'
C:/Ruby21-x64/bin/librarian-puppet:23:in `load'
C:/Ruby21-x64/bin/librarian-puppet:23:in `<main>'
One added piece of info from my previous post. I have a Team City project running librarian-puppet install
in one of my build steps. For whatever reason, when TC executes that command it works fine.
But, if I open a command prompt in the TC agent's working directory I can recreate the error.
Could it be a permissions thing? I did run the above as admin, btw.
Seems the problem only happens in windows. If you could run the test suite (with rake
) and post the output then I could take a look.
Librarian-puppet fails on first module listed, regardless of which one it is. --verbose output below:
Puppet is running inside of a Windows 7 Pro guest system managed by Vagrant 1.6.x.