Best way never use `or` and `and` in conditional statement. Use `||` and `&&` instead. 

Also `if` can use for check `nil` state. It can be rewrite as:
```ruby
 if node['status'] && ['provisioned', 'ready'].include?(node['status']) && node['progress'] != 100
```