puppetlabs / puppet_litmus

Providing a simple command line tool for puppet content creators, to enable simple and complex test deployments.
Apache License 2.0
88 stars 55 forks source link

Unable to provision CentOS 7 in MOTD module example in the Wiki, from windows. #86

Closed glennsarti closed 1 year ago

glennsarti commented 5 years ago

I was following the wiki example at https://github.com/puppetlabs/puppet_litmus/wiki/Tutorial:-use-Litmus-to-execute-acceptance-tests-with-a-sample-module-(MoTD) and the first rake task is throwing errors on provisioning

...
Failed localhost
{"node"=>"localhost", "type"=>"task", "object"=>"provision::docker", "status"=>"failure", "result"=>{"_error"=>{"kind"=>"facter_task/failure", "msg"=>"Attempted to run\ncommand:'docker exec centos_7-2222 ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N '''\nstdout:Generating public/private rsa key pair.\n\nstderr:Saving key \"/etc/ssh/ssh_host_rsa_key\" failed: passphrase is too short (minimum five characters)\n"}}}

Note that docker is definitely working as the badly created image is still there

C:\Source\tmp\puppetlabs-motd [master ≡]> docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS              PORTS                  NAMES
c1f45ec86e0d        centos:7            "/bin/bash"         About a minute ago   Up About a minute   0.0.0.0:2222->22/tcp   centos_7-2222

Environment: Windows 10 - 1803 Ruby 2.5 x64 Windows Shell - PowerShell 5.1 Gems: puppet_litmus (0.0.1) bolt (1.16.0) pdk (1.10.0)

glennsarti commented 5 years ago

Full log

C:\Source\tmp\puppetlabs-motd [master ≡]> bundle exec rake 'litmus:provision[docker, centos:7]'
C:/Source/tmp/puppetlabs-motd/.bundle/windows/ruby/2.5.0/gems/puppet-6.4.1-x64-mingw32/lib/puppet/util/windows/api_types.rb:6: warning: already initialized constant FFI::WIN32_FALSE
C:/Source/tmp/puppetlabs-motd/.bundle/windows/ruby/2.5.0/gems/pdk-1.10.0/lib/pdk/util/windows/api_types.rb:6: warning: previous definition of WIN32_FALSE was here
C:/Source/tmp/puppetlabs-motd/.bundle/windows/ruby/2.5.0/gems/puppet-6.4.1-x64-mingw32/lib/puppet/util/windows/api_types.rb:9: warning: already initialized constant FFI::ERROR_SUCCESS
C:/Source/tmp/puppetlabs-motd/.bundle/windows/ruby/2.5.0/gems/pdk-1.10.0/lib/pdk/util/windows/api_types.rb:9: warning: previous definition of ERROR_SUCCESS was here
Cloning into 'spec/fixtures/modules/facts'...
Cloning into 'spec/fixtures/modules/translate'...
Cloning into 'spec/fixtures/modules/provision'...
Cloning into 'spec/fixtures/modules/puppet_agent'...
Cloning into 'spec/fixtures/modules/registry'...
Cloning into 'spec/fixtures/modules/stdlib'...
remote: Enumerating objects: 46, done.

remote: Counting objects:  65% (45/69)
remote: Counting objects: 100% (69/69), done.
remote: Compressing objects:  91% (31/34)
remote: Counting objects:   1% (1/83)
remote: Counting objects:   3% (3/83)
Receiving objects: 100% (69/69), 28.51 KiB | 2.59 MiB/s, done.
remote: Compressing objects: 100% (34/34
Receiving objects: 100% (46/46), 21.80 K
remote: Counting objects:  13% (11/83)
Resolving deltas: 100% (4/4), done.83)
remote: Counting objects:   8% (15/183)
remote: Counting objects:  42% (35/83)
remote: Counting objects:  68% (125/183)
remote: Counting objects:  70% (129/183)
remote: Counting objects:  76% (140/183)
remote: Counting objects: 100% (183/183), done.
Receiving objects: 100% (29/29), 18.56 KiB |
remote: Compressing objects: 100% (23/23), done.
remote: Compressing objects:  35% (56/158)
Resolving deltas: 100% (3/3)   6% (57/158)
remote: Compressing objects:  37% (59/158)    esolving deltas: 100% (3/3), done.
remote: Compressing objects: 100% (158/158), done.
remote: Total 83 (delta 4), reused 49 (delta 1), pack-reused 0
Receiving objects: 100% (83/83), 56.82 KiB | 204.00 KiB/s, done.
Resolving deltas: 100% (4/4), done.
Receiving objects:  89% (163/183)    103 (delta 14), pack-reused 0 eceiving objects:  87% (160/183)
Receiving objects: 100% (183/183), 124.51 KiB | 432.00 KiB/s, done.
Resolving deltas: 100% (25/25), done.
remote: Enumerating objects: 538, done.
remote: Counting objects: 100% (538/538), done.
remote: Compressing objects: 100% (437/437), done.
remote: Total 538 (delta 153), reused 193 (delta 81), pack-reused 0
Receiving objects: 100% (538/538), 312.15 KiB | 277.00 KiB/s, done.
Resolving deltas: 100% (153/153), done.
I, [2019-04-17T10:26:35.253782 #4132]  INFO -- : Creating symlink from spec/fixtures/modules/motd to C:\Source\tmp\puppetlabs-motd
Failed localhost
{"node"=>"localhost", "type"=>"task", "object"=>"provision::docker", "status"=>"failure", "result"=>{"_error"=>{"kind"=>"facter_task/failure", "msg"=>"Attempted to run\ncommand:'docker exec centos_7-2222 ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N '''\nstdout:Generating public/private rsa key pair.\n\nstderr:Saving key \"/etc/ssh/ssh_host_rsa_key\" failed: passphrase is too short (minimum five characters)\n"}}}
C:\Source\tmp\puppetlabs-motd [master ≡]>
C:\Source\tmp\puppetlabs-motd [master ≡]> docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS              PORTS                  NAMES
c1f45ec86e0d        centos:7            "/bin/bash"         About a minute ago   Up About a minute   0.0.0.0:2222->22/tcp   centos_7-2222
C:\Source\tmp\puppetlabs-motd [master ≡]>
glennsarti commented 5 years ago

Looks like https://github.com/puppetlabs/provision/blob/master/tasks/docker.rb#L30-L31 is the culprit

glennsarti commented 5 years ago

Still not fixed :-(

glennsarti commented 5 years ago

https://github.com/puppetlabs/provision/pull/5

tphoney commented 5 years ago

As an update, there are changes going into bolt to handle comms on windows systems https://github.com/puppetlabs/bolt/pull/1075 This was the last stumbling block. On the other hand vagrant provisioning is supported.