Class: Eos::Host
- Inherits:
-
Unix::Host
- Object
- Beaker::Host
- Unix::Host
- Eos::Host
- Defined in:
- lib/beaker/host/eos.rb
Constant Summary
Constants inherited from Beaker::Host
Instance Attribute Summary
Attributes included from Beaker::CommandFactory
Attributes inherited from Beaker::Host
#host_hash, #logger, #name, #options
Instance Method Summary collapse
-
#get_remote_file(remote_url, host_directory = '') ⇒ Result
Copies a remote file to the host location specified.
-
#install_from_file(filename) ⇒ Result
Installs an extension file already copied via #get_remote_file or something similar.
-
#puppet_agent_dev_package_info(puppet_collection = nil, puppet_agent_version = nil, opts = {}) ⇒ String
Gets the path & file name for the puppet agent dev package on EOS.
Methods inherited from Unix::Host
#determine_ssh_server, #external_copy_base, #initialize, #platform_defaults, #skip_set_env?, #validate_setup
Methods included from Unix::Pkg
#check_for_command, #check_for_package, #determine_if_x86_64, #extract_rpm_proxy_options, #install_local_package, #install_package, #install_package_with_rpm, #pe_puppet_agent_promoted_package_info, #pe_puppet_agent_promoted_package_install, #pkg_initialize, #solaris_install_local_package, #solaris_puppet_agent_dev_package_info, #uncompress_local_tarball, #uninstall_package, #update_apt_if_needed, #update_pacman_if_needed, #upgrade_package
Methods included from Beaker::CommandFactory
Methods included from Unix::Exec
#add_env_var, #append_commands, #clear_env_var, #delete_env_var, #echo, #enable_remote_rsyslog, #environment_string, #environment_variable_string_pair_array, #get_env_var, #get_ip, #mirror_env_to_profile_d, #mkdir_p, #modified_at, #mv, #path, #ping, #prepend_commands, #reboot, #rm_rf, #selinux_enabled?, #ssh_permit_user_environment, #ssh_service_restart, #ssh_set_user_environment, #touch, #which
Methods included from Unix::File
#cat, #chgrp, #chmod, #chown, #file_exist?, #ls_ld, #noask_file_text, #package_config_dir, #path_split, #repo_filename, #repo_type, #scp_path, #system_temp_path, #tmpdir, #tmpfile
Methods included from Unix::Group
#group_absent, #group_get, #group_gid, #group_list, #group_present
Methods included from Unix::User
#user_absent, #user_get, #user_list, #user_present
Methods inherited from Beaker::Host
#+, #[], #[]=, #close, #connection, create, #delete, #do_rsync_to, #do_scp_from, #do_scp_to, #exec, #fips_mode?, #get_ip, #get_public_ip, #graceful_restarts?, #has_key?, #hostname, #initialize, #ip, #is_cygwin?, #is_pe?, #is_powershell?, #is_using_passenger?, #is_x86_64?, #log_prefix, #node_name, #pkg_initialize, #platform, #port_open?, #puppet_configprint, #reachable_name, #to_s, #to_str, #up?, #use_service_scripts?, #uses_passenger!, #wait_for_port
Methods included from Beaker::DSL::Patterns
Methods included from Beaker::DSL::Helpers::HoconHelpers
#hocon_file_edit_in_place_on, #hocon_file_edit_on, #hocon_file_read_on
Methods included from Beaker::DSL::Helpers::WebHelpers
#link_exists?, #port_open_within?
Methods included from Beaker::DSL::Helpers::TestHelpers
#current_step_name, #current_test_filename, #current_test_name, #set_current_step_name, #set_current_test_filename, #set_current_test_name
Methods included from Beaker::DSL::Helpers::HostHelpers
#add_system32_hosts_entry, #archive_file_from, #backup_the_file, #check_for_package, #create_remote_file, #curl_on, #curl_with_retries, #directory_exists_on, #echo_on, #execute_powershell_script_on, #exit_code, #file_contents_on, #file_exists_on, #install_package, #link_exists_on, #on, #retry_on, #rsync_to, #run_script, #run_script_on, #scp_from, #scp_to, #shell, #stderr, #stdout, #uninstall_package, #upgrade_package, #win_ads_path
Constructor Details
This class inherits a constructor from Unix::Host
Instance Method Details
#get_remote_file(remote_url, host_directory = '') ⇒ Result
in EOS, you just copy the file as an extension, you don’t worry about location, so that parameter is ignored
Copies a remote file to the host location specified
41 42 43 44 45 |
# File 'lib/beaker/host/eos.rb', line 41 def get_remote_file( remote_url, host_directory = '' ) commands = ['enable', "copy #{remote_url} extension:"] command = commands.join("\n") execute("Cli -c '#{command}'") end |
#install_from_file(filename) ⇒ Result
Installs an extension file already copied via #get_remote_file or something similar
52 53 54 55 56 |
# File 'lib/beaker/host/eos.rb', line 52 def install_from_file( filename ) commands = ['enable', "extension #{filename}"] command = commands.join("\n") execute("Cli -c '#{command}'") end |
#puppet_agent_dev_package_info(puppet_collection = nil, puppet_agent_version = nil, opts = {}) ⇒ String
EOS doesn’t use any additional options at this time, but does require both puppet_collection & puppet_agent_version, & will fail without them
Gets the path & file name for the puppet agent dev package on EOS
21 22 23 24 25 26 27 28 29 30 |
# File 'lib/beaker/host/eos.rb', line 21 def puppet_agent_dev_package_info( puppet_collection = nil, puppet_agent_version = nil, opts = {} ) = "Must provide %s argument to get puppet agent dev package information" raise ArgumentError, % "puppet_collection" unless puppet_collection raise ArgumentError, % "puppet_agent_version" unless puppet_agent_version variant, version, arch, _ = self['platform'].to_array release_path = "#{variant}/#{version}/#{puppet_collection}/#{arch}" release_file = "puppet-agent-#{puppet_agent_version}-1.#{variant}#{version}.#{arch}.swix" return release_path, release_file end |