vmware-archive / vcloud-rest

Unofficial ruby bindings for VMware vCloud Director®
Apache License 2.0
29 stars 37 forks source link

Fix nil when deleting vapp. #43

Closed jvale closed 9 years ago

jvale commented 9 years ago

I got this error when trying to delete a vapp. net_id was an empty NodeSet, it wasn't nil.

/opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/nokogiri-1.6.4.1/lib/nokogiri/xml/node_set.rb:214:in `attr': undefined method `attribute' for nil:NilClass (NoMethodError)
    from /Users/joaovale/.chefdk/gem/ruby/2.1.0/gems/vcloud-rest-1.3.0/lib/vcloud-rest/vcloud/vapp.rb:42:in `block in get_vapp'
    from /Users/joaovale/.chefdk/gem/ruby/2.1.0/gems/vcloud-rest-1.3.0/lib/vcloud-rest/vcloud/vapp.rb:36:in `collect'
    from /Users/joaovale/.chefdk/gem/ruby/2.1.0/gems/vcloud-rest-1.3.0/lib/vcloud-rest/vcloud/vapp.rb:36:in `get_vapp'
    from /Users/joaovale/.chefdk/gem/ruby/2.1.0/gems/vcloud-rest-1.3.0/lib/vcloud-rest/vcloud/vapp.rb:127:in `block in get_vapp_by_name'
    from /Users/joaovale/.chefdk/gem/ruby/2.1.0/gems/vcloud-rest-1.3.0/lib/vcloud-rest/vcloud/vapp.rb:125:in `each'
    from /Users/joaovale/.chefdk/gem/ruby/2.1.0/gems/vcloud-rest-1.3.0/lib/vcloud-rest/vcloud/vapp.rb:125:in `get_vapp_by_name'
    from /Users/joaovale/.chefdk/gem/ruby/2.1.0/gems/knife-vcloud-1.3.0/lib/chef/knife/common/vc_vapp_common.rb:42:in `get_vapp'
    from /Users/joaovale/.chefdk/gem/ruby/2.1.0/gems/knife-vcloud-1.3.0/lib/chef/knife/vapp/vc_vapp_delete.rb:34:in `run'
    from /opt/chefdk/embedded/apps/chef/lib/chef/knife.rb:493:in `run_with_pretty_exceptions'
    from /opt/chefdk/embedded/apps/chef/lib/chef/knife.rb:174:in `run'
    from /opt/chefdk/embedded/apps/chef/lib/chef/application/knife.rb:139:in `run'
    from /opt/chefdk/embedded/apps/chef/bin/knife:25:in `<top (required)>'
    from /usr/bin/knife:34:in `load'
    from /usr/bin/knife:34:in `<main>'
coveralls commented 9 years ago

Coverage Status

Coverage decreased (-3.13%) when pulling ce3b1a1597b251c067ec83d0e5905853a6916ef3 on jvale:fix_nil_deleting_vapp into 3e49aa5fa180856b728e1ad53d714cb39c0b872f on astratto:master.

coveralls commented 9 years ago

Coverage Status

Coverage decreased (-0.51%) when pulling 5a1ef0af78c766043439537fa2064ae294ff2303 on jvale:fix_nil_deleting_vapp into 3e49aa5fa180856b728e1ad53d714cb39c0b872f on astratto:master.

coveralls commented 9 years ago

Coverage Status

Coverage remained the same when pulling e789e32308e911d181f054da6c41a09a43ce9fe4 on jvale:fix_nil_deleting_vapp into 3e49aa5fa180856b728e1ad53d714cb39c0b872f on astratto:master.

jvale commented 9 years ago

The empty NodeSet wasn't being correctly handled, but that bug also exposed some Nokogiri weirdness regarding css selectors, namely the space between the tag and the specified attribute.

astratto commented 9 years ago

@jvale sorry it took me so long to reply...

Given that the change is pretty small, can you please squash those commits into a single one?

coveralls commented 9 years ago

Coverage Status

Coverage remained the same when pulling 22e7de3da6ff1327fb045cd234cc5fc67976a3dd on jvale:fix_nil_deleting_vapp into 3e49aa5fa180856b728e1ad53d714cb39c0b872f on astratto:master.

jvale commented 9 years ago

@astratto No worries, sorry for the lag on my part, also.

Done, changes squashed into a single commit.

astratto commented 9 years ago

Thank you!