Class: MintPress::ExalogicUtils::ComputeNode

Inherits:
Object
  • Object
show all
Includes:
MintLogger, Mixins::Properties
Defined in:
src/oracle-exalogic-tools/lib/oracle-exalogic-tools/compute_node.rb

Properties (Read/Write)

  • #name ⇒ String
    This is not ExalogicHost, since that refers to VMs returned by EMOC, and not the actual, you know, exalogic host

    Property Attributes
    
    
    23
    # File 'src/oracle-exalogic-tools/lib/oracle-exalogic-tools/compute_node.rb', line 23
    
    property :name, type: String
  • #host ⇒ MintPress::Infrastructure::Host

    Property Attributes
    
    
    24
    # File 'src/oracle-exalogic-tools/lib/oracle-exalogic-tools/compute_node.rb', line 24
    
    property :host, type: MintPress::Infrastructure::Host
  • #cnode_script ⇒ String (Default Value: "/root/cnode-vserver-control.py")

    Property Attributes
    • default"/root/cnode-vserver-control.py"
    
    
    25
    # File 'src/oracle-exalogic-tools/lib/oracle-exalogic-tools/compute_node.rb', line 25
    
    property :cnode_script, type: String, default: "/root/cnode-vserver-control.py"
  • #zfs_ip ⇒ String (Default Value: Proc.new { discover_zfs_ip })

    Property Attributes
    • defaultProc.new { discover_zfs_ip }
    • cached_proctrue
    
    
    26
    # File 'src/oracle-exalogic-tools/lib/oracle-exalogic-tools/compute_node.rb', line 26
    
    property :zfs_ip, type: String, default: Proc.new { discover_zfs_ip }, cached_proc: true
  • #self_ip ⇒ String (Default Value: Proc.new { discover_self_ip })

    Property Attributes
    • defaultProc.new { discover_self_ip }
    • cached_proctrue
    
    
    27
    # File 'src/oracle-exalogic-tools/lib/oracle-exalogic-tools/compute_node.rb', line 27
    
    property :self_ip, type: String, default: Proc.new { discover_self_ip }, cached_proc: true
  • #ilom_ip ⇒ String (Default Value: Proc.new { Resolv.getaddress("#{self.name}-ilom") })

    Property Attributes
    • defaultProc.new { Resolv.getaddress("#{self.name}-ilom") }
    
    
    28
    # File 'src/oracle-exalogic-tools/lib/oracle-exalogic-tools/compute_node.rb', line 28
    
    property :ilom_ip, type: String, default: Proc.new { Resolv.getaddress("#{self.name}-ilom") }
  • #cn_ilom_patch_extra_parameters ⇒ String (Default Value: "")

    Property Attributes
    • default""
    
    
    29
    # File 'src/oracle-exalogic-tools/lib/oracle-exalogic-tools/compute_node.rb', line 29
    
    property :cn_ilom_patch_extra_parameters, type: String, default: ""
  • #cn_ilom_prepatch_extra_parameters ⇒ String (Default Value: "")

    Property Attributes
    • default""
    
    
    30
    # File 'src/oracle-exalogic-tools/lib/oracle-exalogic-tools/compute_node.rb', line 30
    
    property :cn_ilom_prepatch_extra_parameters, type: String, default: ""
  • #cn_patch_extra_parameters ⇒ String (Default Value: "")

    Property Attributes
    • default""
    
    
    31
    # File 'src/oracle-exalogic-tools/lib/oracle-exalogic-tools/compute_node.rb', line 31
    
    property :cn_patch_extra_parameters, type: String, default: ""
  • #cn_prepatch_extra_parameters ⇒ String (Default Value: "")

    Property Attributes
    • default""
    
    
    32
    # File 'src/oracle-exalogic-tools/lib/oracle-exalogic-tools/compute_node.rb', line 32
    
    property :cn_prepatch_extra_parameters, type: String, default: ""

Properties (Read Only)

Constant Summary

Constants included from MintLogger

MintLogger::DEBUG, MintLogger::ERROR, MintLogger::FATAL, MintLogger::INFO, MintLogger::UNKNOWN, MintLogger::VERBOSE, MintLogger::WARN

Instance Attribute Summary

Attributes included from Mixins::Properties

#autopush_set_cache, #dynamic_create, #harvest_on_access, #harvest_undefined_only, #harvested, #tree_root

Instance Method Summary collapse

Methods included from Mixins::Properties

#[], #[]=, #add_validate_report_result, #armour_set_property, #array_contains?, #array_is_a?, #check_autopush, #check_stack_overflow, #clone_property_object, #cloner_handle_single_property, #coerce_single, #contains_as_string?, #display_validate_report_result, #double_initialize?, #dump_to_hash, #find_parent, #find_parent_by_identity, #generate_accessor_functions, #get_canonical_renamed, #get_from_opts, #get_my_name, #get_property, #get_property_item, #has?, included, #initialize_validate_report, #is_cloned_object?, #is_mintpress_object?, #is_probably_canonical?, #is_set?, #local_debug, #local_info, #local_verbose, #mintpress_property_definitions, #place_object_by_identity, #process_properties, #prop_set?, #property, #property_definitions, #property_details, #property_is_simple_object?, #push_root!, #require_property, #require_update, #retrieve_docstring, #sanitize, #set_map_dirty, #set_property, #set_property_item, #show_short_array, #strip_defaults!, #synchronize, #uncloned_property_definitions, #update_map, #validate_generic, #validate_properties, #validate_property, #validate_required, #version_allowed?, #weakref

Methods included from MintLogger::Utils::Common

#boolean_val, #has_value?, #no_value?, #nvl, #path_as_symbol, #ruby_level_to_send

Constructor Details

#initialize(opts = {}) ⇒ ComputeNode

Returns a new instance of ComputeNode.

Instance Method Details

#admin_transportObject

#any_other_computenodeObject

#apply_baseimage(other_computenode, aru, topology, expected_patchlevel:, including_ilom: true, assume_ready: false) ⇒ Object

baseimages get applied from another computenode, because it has to reboot it and such. This totally makes sense when you think about the thing it is doing(tm), but it is not super intuitive, much like most exa stuff...

#apply_computenode_image(other_computenode, aru) ⇒ Object

#apply_control_patch(aru, expected_level: nil, auto_backup: true, auto_rollback: false) ⇒ Object

#apply_control_vservers_patch(aru, expected_level: nil, auto_backup: true, auto_rollback: false) ⇒ Object

#apply_ilom_only(other_computenode, aru, topology, expected_patchlevel:, including_ilom: true, assume_ready: false) ⇒ Object

#apply_ilom_patch(other_computenode, aru) ⇒ Object

#backup_computenode(othernode:) ⇒ Object

#backup_controlstackObject

#check_ilom_prereqs(other_computenode, aru) ⇒ Object

#computenode_baseimageObject

#control_patchlevelObject

#discover_self_ipObject

FIXME: this is wrong, obviously wrong. What it should do, is ssh in and grab the 192.168.x.x IP that is guarenteed to be the ipoib-default address, whcih oracle do not allow you to cahnge the subnet of.

#discover_zfs_ipObject

THis is relying on the idea that every compute node has to have this mounted - I might have to pick a differnet share, but this one _seems_ right to me. This ends up being my reading of the docs...

#display_log_file(ret) ⇒ Object

#el5_connectable?(host, port) ⇒ Boolean

Returns:

  • (Boolean)

#enable_passwordless_sshObject

#ensure_lcdata_mountedObject

#ensure_lctools_mountedObject

#inspectObject

#list_vservers(including_reserved: false) ⇒ Object

#patch_precheck(aru, other_computenode: nil) ⇒ Object

#restore_controlstackObject

#restore_sshd_configObject

#save_sshd_configObject

#save_vserver_configurationObject

#setup_psu(aru, local_folder) ⇒ Object

Push the PSU to a compute node

#start_all_vservers(assume_ready: false) ⇒ Object

#start_controlstackObject

#stop_all_vservers(assume_ready: false) ⇒ Object

#stop_controlstackObject

#to_sObject

#transportObject

#validate(aru, topology, other_computenode: nil) ⇒ Object

#validate_auth(aru) ⇒ Object

#validate_computenode_image_prereqs(other_computenode, aru) ⇒ Object

#validate_controlstack(aru, topology, other_computenode: nil) ⇒ Object

#validate_topology(type) ⇒ Object