def update_cookbook_path
      # both cookbook sequences and paths are listed in same order as
      # presented in repo UI. previous to RL v5.7 we received cookbook sequences
      # in an arbitrary order, but this has been fixed as of the release of v5.8
      # (we will not change the order for v5.7-).
      # for chef to execute repos and paths in the order listed, both of these
      # ordered lists need to be inserted in reverse order because the chef code
      # replaces cookbook paths as it reads the array from beginning to end.
      @cookbooks.reverse.each do |cookbook_sequence|
        local_basedir = File.join(@download_path, cookbook_sequence.hash)
        cookbook_sequence.paths.reverse.each do |path|
          dir = File.expand_path(File.join(local_basedir, path))
          unless Chef::Config[:cookbook_path].include?(dir)
            if File.directory?(dir)
              Chef::Config[:cookbook_path] << dir
            else
              RightScale::Log.info("Excluding #{path} from chef cookbooks_path because it was not downloaded")
            end
          end
        end
      end
      RightScale::Log.info("Updated cookbook_path to: #{Chef::Config[:cookbook_path].join(", ")}")
      true
    end
def update_cookbook_path
      # both cookbook sequences and paths are listed in same order as
      # presented in repo UI. previous to RL v5.7 we received cookbook sequences
      # in an arbitrary order, but this has been fixed as of the release of v5.8
      # (we will not change the order for v5.7-).
      # for chef to execute repos and paths in the order listed, both of these
      # ordered lists need to be inserted in reverse order because the chef code
      # replaces cookbook paths as it reads the array from beginning to end.
      @cookbooks.reverse.each do |cookbook_sequence|
        local_basedir = File.join(@download_path, cookbook_sequence.hash)
        cookbook_sequence.paths.reverse.each do |path|
          dir = File.expand_path(File.join(local_basedir, path))
          unless Chef::Config[:cookbook_path].include?(dir)
            if File.directory?(dir)
              Chef::Config[:cookbook_path] << dir
            else
              RightScale::Log.info("Excluding #{path} from chef cookbooks_path because it was not downloaded")
            end
          end
        end
      end
      RightScale::Log.info("Updated cookbook_path to: #{Chef::Config[:cookbook_path].join(", ")}")
      true
    end
Update the Chef cookbook_path based on the cookbooks in the bundle.

 === Return
 true:: Always return true