lib/beaker/host/unix.rb in beaker-2.34.0 vs lib/beaker/host/unix.rb in beaker-2.35.0

- old
+ new

@@ -32,104 +32,9 @@ # @return [Symbol] Value for the SSH Server in use def determine_ssh_server :openssh end - # Gets the path & file name for the puppet agent dev package on Unix - # - # @param [String] puppet_collection Name of the puppet collection to use - # @param [String] puppet_agent_version Version of puppet agent to get - # @param [Hash{Symbol=>String}] opts Options hash to provide extra values - # - # @note Solaris does require :download_url to be set on the opts argument - # in order to check for builds on the builds server - # - # @raise [ArgumentError] If one of the two required parameters (puppet_collection, - # puppet_agent_version) is either not passed or set to nil - # - # @return [String, String] Path to the directory and filename of the package, respectively - def solaris_puppet_agent_dev_package_info( puppet_collection = nil, puppet_agent_version = nil, opts = {} ) - error_message = "Must provide %s argument to get puppet agent package information" - raise ArgumentError, error_message % "puppet_collection" unless puppet_collection - raise ArgumentError, error_message % "puppet_agent_version" unless puppet_agent_version - raise ArgumentError, error_message % "opts[:download_url]" unless opts[:download_url] - - variant, version, arch, codename = self['platform'].to_array - platform_error = "Incorrect platform '#{variant}' for #solaris_puppet_agent_dev_package_info" - raise ArgumentError, platform_error if variant != 'solaris' - - if arch == 'x86_64' - arch = 'i386' - end - release_path_end = "solaris/#{version}/#{puppet_collection}" - solaris_revision_conjunction = '-' - revision = '1' - if version == '10' - solaris_release_version = '' - pkg_suffix = 'pkg.gz' - solaris_name_conjunction = '-' - component_version = puppet_agent_version - elsif version == '11' - # Ref: - # http://www.oracle.com/technetwork/articles/servers-storage-admin/ips-package-versioning-2232906.html - # - # Example to show package name components: - # Full package name: puppet-agent@1.2.5.38.6813,5.11-1.sparc.p5p - # Schema: <component-name><solaris_name_conjunction><component_version><solaris_release_version><solaris_revision_conjunction><revision>.<arch>.<pkg_suffix> - solaris_release_version = ',5.11' # injecting comma to prevent from adding another var - pkg_suffix = 'p5p' - solaris_name_conjunction = '@' - component_version = puppet_agent_version.dup - component_version.gsub!(/[a-zA-Z]/, '') - component_version.gsub!(/(^-)|(-$)/, '') - # Here we strip leading 0 from version components but leave - # singular 0 on their own. - component_version = component_version.split('-').join('.') - component_version = component_version.split('.').map(&:to_i).join('.') - end - release_file_base = "puppet-agent#{solaris_name_conjunction}#{component_version}#{solaris_release_version}" - release_file_end = "#{arch}.#{pkg_suffix}" - release_file = "#{release_file_base}#{solaris_revision_conjunction}#{revision}.#{release_file_end}" - if not link_exists?("#{opts[:download_url]}/#{release_path_end}/#{release_file}") - release_file = "#{release_file_base}.#{release_file_end}" - end - return release_path_end, release_file - end - - # Gets the path & file name for the puppet agent dev package on Unix - # - # @param [String] puppet_collection Name of the puppet collection to use - # @param [String] puppet_agent_version Version of puppet agent to get - # @param [Hash{Symbol=>String}] opts Options hash to provide extra values - # - # @note Solaris does require some options to be set. See - # {#solaris_puppet_agent_dev_package_info} for more details - # - # @raise [ArgumentError] If one of the two required parameters (puppet_collection, - # puppet_agent_version) is either not passed or set to nil - # - # @return [String, String] Path to the directory and filename of the package, respectively - def puppet_agent_dev_package_info( puppet_collection = nil, puppet_agent_version = nil, opts = {} ) - error_message = "Must provide %s argument to get puppet agent dev package information" - raise ArgumentError, error_message % "puppet_collection" unless puppet_collection - raise ArgumentError, error_message % "puppet_agent_version" unless puppet_agent_version - - variant, version, arch, codename = self['platform'].to_array - case variant - when /^(solaris)$/ - release_path_end, release_file = solaris_puppet_agent_dev_package_info( - puppet_collection, puppet_agent_version, opts ) - when /^(sles|aix)$/ - arch = 'ppc' if variant == 'aix' && arch == 'power' - release_path_end = "#{variant}/#{version}/#{puppet_collection}/#{arch}" - release_file = "puppet-agent-#{puppet_agent_version}-1.#{variant}#{version}.#{arch}.rpm" - else - msg = "puppet_agent dev package info unknown for platform '#{self['platform']}'" - raise ArgumentError, msg - end - return release_path_end, release_file - end - def external_copy_base return @external_copy_base if @external_copy_base @external_copy_base = '/root' variant, version, arch, codename = self['platform'].to_array # Solaris 10 uses / as the root user directory. Solaris 11 uses /root (like most).