On 03/07/2013 03:32 PM, David Lutterkort wrote:
> On Thu, 2013-03-07 at 14:23 -0500, jvlcek wrote:
>> The latest bits seem to run fine. See the attached.
> What RUby version do you use ? Can you send me your Gemfile.lock ?
keelhaul % ruby -v
ruby 1.9.3p385 (2013-02-06 revision 39114) [x86_64-linux]
Gemfile.lock attached.
>
>> I believe the issue is the patch:
>> 0001-RHEVM-tests-have-VCR-match-only-on-path-and-query-no.path
>> the match_request_on is not needed.
> No, it is very much needed - without restricting the matching, I get
> even more test failures.
OK using your patches sure but have you tried using a
clean branch == to what's currently in master?
I even pulled a new clone of the repo and the test run fine for me.
>
> It's also not logical that we'd want to match on hostname for RHEV-M. As
> far as the tests are concerned, the host names do not matter.
OK. This is good. If we can limit the matching and still have viable tests
the whole mess becomes much cleaner... as you elude to with your patches.
>
>> I've discussed the leaking information issue with Michal and Marios.
>>
>> For all future recordings the approach is to use ~/.deltacloud/config to
>> do the recordings.
>> Then to set the user and pass to fakeuser and fakepassword in the
>> recorded fixtures YAML
>> files after doing the recording. Which is much easier to do than it sounds.
> Have you tried out the second patch I sent ? It should do that without
> any sed magic.
I have not but I will and I agree, in reading the patch, that it will
avoid the sed
magic step nicely.. I also suggest using fakeuser:fakepassword vs
admin:secret
since the latter is more realistic and quite possibly actual.
>
>> This will match the returns from the credentials and driver methods in
>> tests/test_helper.rb
> With the changes to match_request_on I sent you, it doesn't matter at
> all what credentials are used during playback - which is what we want.
Sure. And I agree with the "match" approach since you point out the
tests will not be compromised. I had actually tried that but hit the 2
errors
you are so avoided it to help avoid unnecessary re-recordings. I understand
now, and admit, it would have been better to do the rerecording.
>
> It seems to be indeed the case that having a ~/.deltacloud/config during
> playback causes the test failures. I want to get to a point where tests
> pass even if that file exists.
Changes to methods credentials() and driver() in tests/test_helper.rb
could do that. Currently they use for the ~/.deltacloud/config
content if found. Your idea of having an "RE-RECORD" environment
variable is a good one and could be leveraged here too.
>
>> For existing recordings the credentials on the cloud providers are to be
>> changed so they
>> do not match those that had been used during the recording. This does
>> leave some UUID
>> information for the most part are ephemeral.
> I don't care about leaking UUID, but we do have a good amount of real
> user info and hostnames in the recordings right now.
The user info should be handled by changing the creds on the test
systems so they don't match the history in our repo. The hostnames
are an issue but it's not clear to me how much of one if they creds
are not valid.
No doubt moving forward we should avoid recording this info but it's
out there on our repo and the history of the repo will show it. So changing
the creds will help plug the biggest holes.
>
> David
>
>
I'd be glad to take on addressing these issues.
Joe
PATH
remote: .
specs:
deltacloud-core (1.1.1)
aws (>= 2.7.0)
cloudfiles
cloudservers
excon (>= 0.14.2, < 0.17.0)
fog (>= 1.4.0)
haml (>= 2.2.17)
json_pure (>= 1.5.0)
net-ssh (>= 2.0.0)
nokogiri (>= 1.4.3)
openstack (>= 1.0.9)
rack (>= 1.0.0)
rack-accept
rake (>= 0.8.7)
rbovirt (>= 0.0.17)
rbvmomi
rest-client
savon (>= 1.0.0)
sequel (<= 3.42.0)
sinatra (>= 1.3.0)
sinatra-rabbit (>= 1.1.6)
sqlite3
thin (>= 1.2.5)
uuidtools (>= 2.1.1)
waz-storage (>= 1.1.0)
GEM
remote: http://rubygems.org/
specs:
addressable (2.3.3)
akami (1.2.0)
gyoku (>= 0.4.0)
nokogiri (>= 1.4.0)
ansi (1.4.3)
aws (2.8.0)
http_connection
http_connection
uuidtools
uuidtools
xml-simple
xml-simple
builder (3.2.0)
cloudfiles (1.5.0.1)
json
cloudservers (0.4.2)
json
crack (0.3.2)
daemons (1.1.9)
eventmachine (1.0.1)
excon (0.16.10)
fog (1.10.0)
builder
excon (~> 0.14)
formatador (~> 0.2.0)
mime-types
multi_json (~> 1.0)
net-scp (~> 1.1)
net-ssh (>= 2.1.3)
nokogiri (~> 1.5.0)
ruby-hmac
formatador (0.2.4)
gyoku (1.0.0)
builder (>= 2.1.2)
haml (4.0.0)
tilt
hashie (2.0.2)
http_connection (1.4.4)
httpi (2.0.2)
rack
json (1.7.7)
json_pure (1.7.7)
mime-types (1.21)
minitest (4.6.2)
minitest-reporters (0.14.7)
ansi
builder
minitest (>= 2.12, < 5.0)
powerbar
multi_json (1.6.1)
net-scp (1.1.0)
net-ssh (>= 2.6.5)
net-ssh (2.6.6)
nokogiri (1.5.6)
nori (2.0.4)
openstack (1.0.9)
json
powerbar (1.0.11)
ansi (~> 1.4.0)
hashie (>= 1.1.0)
rack (1.5.2)
rack-accept (0.4.5)
rack (>= 0.4)
rack-protection (1.4.0)
rack
rack-test (0.6.2)
rack (>= 1.0)
rake (10.0.3)
rbovirt (0.0.18)
nokogiri
rest-client
rbvmomi (1.6.0)
builder
nokogiri (>= 1.4.1)
trollop
rest-client (1.6.7)
mime-types (>= 1.16)
ruby-hmac (0.4.0)
savon (2.1.0)
akami (~> 1.2.0)
builder (>= 2.1.2)
gyoku (~> 1.0.0)
httpi (~> 2.0.2)
nokogiri (>= 1.4.0)
nori (~> 2.0.3)
wasabi (~> 3.0.0)
sequel (3.42.0)
simplecov (0.7.1)
multi_json (~> 1.0)
simplecov-html (~> 0.7.1)
simplecov-html (0.7.1)
sinatra (1.3.5)
rack (~> 1.4)
rack-protection (~> 1.3)
tilt (~> 1.3, >= 1.3.3)
sinatra-rabbit (1.1.6)
sinatra (>= 1.3.0)
sqlite3 (1.3.7)
thin (1.5.0)
daemons (>= 1.0.9)
eventmachine (>= 0.12.6)
rack (>= 1.0.0)
tilt (1.3.3)
trollop (2.0)
turn (0.9.6)
ansi
uuidtools (2.1.3)
vcr (2.4.0)
wasabi (3.0.0)
httpi (~> 2.0)
nokogiri (>= 1.4.0)
waz-storage (1.3.2)
rest-client
ruby-hmac
webmock (1.9.3)
addressable (>= 2.2.7)
crack (>= 0.3.2)
xml-simple (1.1.2)
PLATFORMS
ruby
DEPENDENCIES
aws
deltacloud-core!
jruby-openssl
minitest
minitest-reporters
puma
rack-test
simplecov
tilt (= 1.3.3)
turn
vcr
webmock (< 1.10)