There is a rescuehere that always triggers in the Deploy phase. This causes errors in Deploy for instances where the default workspace path is not used (e.g Windows Build Nodes).
I believe the issue is caused by calling DeliverySugar::ChefServer.new.with_server_config from within DeliveryTruck::Helpers::Deploy without passing the node object. Which causes change to fail to initialize (and triggering the rescue)
Here is the code path that leads to the error (based on my understanding):
There is a
rescue
here that always triggers in the Deploy phase. This causes errors in Deploy for instances where the default workspace path is not used (e.g Windows Build Nodes).I believe the issue is caused by calling
DeliverySugar::ChefServer.new.with_server_config
from withinDeliveryTruck::Helpers::Deploy
without passing thenode
object. Which causeschange
to fail to initialize (and triggering therescue
)Here is the code path that leads to the error (based on my understanding):
DeliveryTruck::Helpers::DSL.delivery_chef_server_search
is calledDeliveryTruck::Helpers::Deploy
method is called (nonode
object passed)DeliverySugar::ChefServer
is initialized without argumentsDeliverySugar::DSL.delivery_knife_rb
is calledDeliverySugar::DSL.delivery_workspace
is calledDeliverySugar::DSL.change
is calledchange
object fails to initialize becausenode
does not existrescue
is triggered inDeliverySugar::DSL.delivery_workspace