Class: MintPress::OracleExalogicTools::Management

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

Properties (Read/Write)

  • #report_format ⇒ String (Default Value: "text")
    'Output report format. Options are text, json, yaml, and html'

    Property Attributes
    • default"text"
    
    
    8
    # File 'src/oracle-exalogic-tools/lib/oracle-exalogic-tools/sdk.rb', line 8
    
    property :report_format, description: 'Output report format. Options are text, json, yaml, and html', default: "text", type: String
  • #config_file ⇒ String (Default Value: "mintpress-exalogic.conf")
    ''

    Property Attributes
    • default"mintpress-exalogic.conf"
    
    
    9
    # File 'src/oracle-exalogic-tools/lib/oracle-exalogic-tools/sdk.rb', line 9
    
    property :config_file, description: '', default: "mintpress-exalogic.conf", type: String
  • #environment ⇒ String (Default Value: "development")
    ''

    Property Attributes
    • default"development"
    
    
    10
    # File 'src/oracle-exalogic-tools/lib/oracle-exalogic-tools/sdk.rb', line 10
    
    property :environment, description: '', default: "development", type: String
  • #dry_run ⇒ [TrueClass, FalseClass]
    'Suppress changes - inquiry commands will still be executed, however activities which would cause system modification are instead just logged'

    Property Attributes
    
    
    12
    # File 'src/oracle-exalogic-tools/lib/oracle-exalogic-tools/sdk.rb', line 12
    
    property :dry_run, description: 'Suppress changes - inquiry commands will still be executed, however activities which would cause system modification are instead just logged', type: [TrueClass, FalseClass]
  • #vserver_numbers ⇒ String (Default Value: "")
    'Comma seperated list of vserver numbers to operate on. This will operate only on vservers where the short name ends with the number - for example, a value of "1" would operate on devsystem1.mintpress.io and testsystem1.mintpress.io, but not devsystem2.mintpress.io'

    Property Attributes
    • default""
    
    
    14
    # File 'src/oracle-exalogic-tools/lib/oracle-exalogic-tools/sdk.rb', line 14
    
    property :vserver_numbers, description: 'Comma seperated list of vserver numbers to operate on. This will operate only on vservers where the short name ends with the number - for example, a value of "1" would operate on devsystem1.mintpress.io and testsystem1.mintpress.io, but not devsystem2.mintpress.io', default: "", type: String
  • #vserver_regex ⇒ String
    'Regex for vserver names to operate on. For example, limepointdev[123].mintpress.io would operate on the vservers limepointdev1, limepointdev2, and limepointdev3, but not limepointdev4'

    Property Attributes
    
    
    16
    # File 'src/oracle-exalogic-tools/lib/oracle-exalogic-tools/sdk.rb', line 16
    
    property :vserver_regex, description: 'Regex for vserver names to operate on. For example, limepointdev[123].mintpress.io would operate on the vservers limepointdev1, limepointdev2, and limepointdev3, but not limepointdev4', type: String
  • #compute_nodes ⇒ String (Default Value: "")
    'Comma seperated list of computenodes to operate on, such as `cn01,cn02`'

    Property Attributes
    • default""
    
    
    18
    # File 'src/oracle-exalogic-tools/lib/oracle-exalogic-tools/sdk.rb', line 18
    
    property :compute_nodes, description: 'Comma seperated list of computenodes to operate on, such as `cn01,cn02`', default: "", type: String
  • #expected_patchlevel ⇒ String (Default Value: "none")
    'expected patchlevel of the ZFS appliance'

    Property Attributes
    • default"none"
    
    
    20
    # File 'src/oracle-exalogic-tools/lib/oracle-exalogic-tools/sdk.rb', line 20
    
    property :expected_patchlevel, description: 'expected patchlevel of the ZFS appliance', default: "none", type: String
  • #max_parallel ⇒ Integer (Default Value: 1)
    ''

    Property Attributes
    • default1
    
    
    21
    # File 'src/oracle-exalogic-tools/lib/oracle-exalogic-tools/sdk.rb', line 21
    
    property :max_parallel, description: '', default: 1, Type: Integer
  • #assume_ready ⇒ [TrueClass, FalseClass]
    'Assume the application stack is already shut down'

    Property Attributes
    
    
    23
    # File 'src/oracle-exalogic-tools/lib/oracle-exalogic-tools/sdk.rb', line 23
    
    property :assume_ready, description: 'Assume the application stack is already shut down', type: [TrueClass, FalseClass]
  • #detect_computenode_conflict ⇒ [TrueClass, FalseClass]
    'Detect if multiple nodes are running on a single compute node, and fail if this is the case'

    Property Attributes
    
    
    25
    # File 'src/oracle-exalogic-tools/lib/oracle-exalogic-tools/sdk.rb', line 25
    
    property :detect_computenode_conflict, description: 'Detect if multiple nodes are running on a single compute node, and fail if this is the case', type: [TrueClass, FalseClass]
  • #rt_url ⇒ String
    'Runtime URL for upload'

    Property Attributes
    
    
    27
    # File 'src/oracle-exalogic-tools/lib/oracle-exalogic-tools/sdk.rb', line 27
    
    property :rt_url, description: 'Runtime URL for upload', type: String
  • #rt_user ⇒ String
    'Username for runtime upload'

    Property Attributes
    
    
    29
    # File 'src/oracle-exalogic-tools/lib/oracle-exalogic-tools/sdk.rb', line 29
    
    property :rt_user, description: 'Username for runtime upload', type: String
  • #rt_password ⇒ String
    'Password for runtime upload'

    Property Attributes
    
    
    31
    # File 'src/oracle-exalogic-tools/lib/oracle-exalogic-tools/sdk.rb', line 31
    
    property :rt_password, description: 'Password for runtime upload', type: String
  • #generate_ha ⇒ [TrueClass, FalseClass] (Default Value: true)
    'Enable HA style patching for this environment'

    Property Attributes
    • defaulttrue
    
    
    33
    # File 'src/oracle-exalogic-tools/lib/oracle-exalogic-tools/sdk.rb', line 33
    
    property :generate_ha, description: 'Enable HA style patching for this environment', default: true, type: [TrueClass, FalseClass]
  • #manual_user_jobs ⇒ [TrueClass, FalseClass]
    'Have start/stop user scripts be a manual step'

    Property Attributes
    
    
    35
    # File 'src/oracle-exalogic-tools/lib/oracle-exalogic-tools/sdk.rb', line 35
    
    property :manual_user_jobs, description: 'Have start/stop user scripts be a manual step', type: [TrueClass, FalseClass]
  • #manual_applications ⇒ [TrueClass, FalseClass]
    'Have start/stop applications be a manual step'

    Property Attributes
    
    
    37
    # File 'src/oracle-exalogic-tools/lib/oracle-exalogic-tools/sdk.rb', line 37
    
    property :manual_applications, description: 'Have start/stop applications be a manual step', type: [TrueClass, FalseClass]
  • #pause_before ⇒ String
    'Insert a pause before the comma seperated jobs named in this argument'

    Property Attributes
    
    
    39
    # File 'src/oracle-exalogic-tools/lib/oracle-exalogic-tools/sdk.rb', line 39
    
    property :pause_before, description: 'Insert a pause before the comma seperated jobs named in this argument', type: String
  • #pause_after ⇒ String
    'Insert a pause before the comma seperated jobs named in this argument'

    Property Attributes
    
    
    41
    # File 'src/oracle-exalogic-tools/lib/oracle-exalogic-tools/sdk.rb', line 41
    
    property :pause_after, description: 'Insert a pause before the comma seperated jobs named in this argument', type: String
  • #pre_vserver_scripts ⇒ String
    'Run these scripts _before_ operating on the vservers. Add the prefix `local:` to run on the mintpress machine instead of the vserver'

    Property Attributes
    
    
    43
    # File 'src/oracle-exalogic-tools/lib/oracle-exalogic-tools/sdk.rb', line 43
    
    property :pre_vserver_scripts, description: 'Run these scripts _before_ operating on the vservers. Add the prefix `local:` to run on the mintpress machine instead of the vserver', type: String
  • #post_vserver_scripts ⇒ String
    'Run these scripts _after_ operating on the vservers. Add the prefix `local:` to run on the mintpress machine instead of the vserver'

    Property Attributes
    
    
    45
    # File 'src/oracle-exalogic-tools/lib/oracle-exalogic-tools/sdk.rb', line 45
    
    property :post_vserver_scripts, description: 'Run these scripts _after_ operating on the vservers. Add the prefix `local:` to run on the mintpress machine instead of the vserver', type: String
  • #default_aru ⇒ String
    'Generate jobs with a default ARU'

    Property Attributes
    
    
    47
    # File 'src/oracle-exalogic-tools/lib/oracle-exalogic-tools/sdk.rb', line 47
    
    property :default_aru, description: 'Generate jobs with a default ARU', type: String
  • #default_expected_patchlevel ⇒ String
    'Generate jobs with a default expected patchlevel'

    Property Attributes
    
    
    49
    # File 'src/oracle-exalogic-tools/lib/oracle-exalogic-tools/sdk.rb', line 49
    
    property :default_expected_patchlevel, description: 'Generate jobs with a default expected patchlevel', type: String
  • #all_computenodes ⇒ [TrueClass, FalseClass]
    ''

    Property Attributes
    
    
    50
    # File 'src/oracle-exalogic-tools/lib/oracle-exalogic-tools/sdk.rb', line 50
    
    property :all_computenodes, description: '', type: [TrueClass, FalseClass]
  • #computenode_patchlevel ⇒ String (Default Value: "none")
    'Patchlevels of computenode to ignore'

    Property Attributes
    • default"none"
    
    
    52
    # File 'src/oracle-exalogic-tools/lib/oracle-exalogic-tools/sdk.rb', line 52
    
    property :computenode_patchlevel, description: 'Patchlevels of computenode to ignore', default: "none", type: String
  • #load_vserver_state_file ⇒ String
    'Filename with the list of vservers to use'

    Property Attributes
    
    
    54
    # File 'src/oracle-exalogic-tools/lib/oracle-exalogic-tools/sdk.rb', line 54
    
    property :load_vserver_state_file, description: 'Filename with the list of vservers to use', type: String
  • #save_vserver_state_file ⇒ String
    'Filename to save the list of vservers we operated on'

    Property Attributes
    
    
    56
    # File 'src/oracle-exalogic-tools/lib/oracle-exalogic-tools/sdk.rb', line 56
    
    property :save_vserver_state_file, description: 'Filename to save the list of vservers we operated on', type: String
  • #script_name ⇒ String
    'Script to run'

    Property Attributes
    
    
    58
    # File 'src/oracle-exalogic-tools/lib/oracle-exalogic-tools/sdk.rb', line 58
    
    property :script_name, description: 'Script to run', type: String
  • #aru ⇒ String (Default Value: "")
    'ARU of the patch we are applying'

    Property Attributes
    • default""
    
    
    60
    # File 'src/oracle-exalogic-tools/lib/oracle-exalogic-tools/sdk.rb', line 60
    
    property :aru, description: 'ARU of the patch we are applying', default: "", type: String
  • #vserver_password ⇒ String (Default Value: "")
    'The password for vservers'

    Property Attributes
    • default""
    
    
    62
    # File 'src/oracle-exalogic-tools/lib/oracle-exalogic-tools/sdk.rb', line 62
    
    property :vserver_password, description: 'The password for vservers', default: "", type: String
  • #use_exalogic_parallel ⇒ [TrueClass, FalseClass] (Default Value: true)
    'Should we use the exa tools parallelisation - if not, we use our own and spawn exapatch multiple times'

    Property Attributes
    • defaulttrue
    
    
    64
    # File 'src/oracle-exalogic-tools/lib/oracle-exalogic-tools/sdk.rb', line 64
    
    property :use_exalogic_parallel, description: 'Should we use the exa tools parallelisation - if not, we use our own and spawn exapatch multiple times', default: true, type: [TrueClass, FalseClass]
  • #auto_backup ⇒ [TrueClass, FalseClass] (Default Value: true)
    'Should create a backup to facilitate rollback?'

    Property Attributes
    • defaulttrue
    
    
    66
    # File 'src/oracle-exalogic-tools/lib/oracle-exalogic-tools/sdk.rb', line 66
    
    property :auto_backup, description: 'Should create a backup to facilitate rollback?', default: true, type: [TrueClass, FalseClass]
  • #auto_rollback ⇒ [TrueClass, FalseClass]
    'Should we roll back automatically if the patch process fails?'

    Property Attributes
    
    
    68
    # File 'src/oracle-exalogic-tools/lib/oracle-exalogic-tools/sdk.rb', line 68
    
    property :auto_rollback, description: 'Should we roll back automatically if the patch process fails?', type: [TrueClass, FalseClass]
  • #also_vservers ⇒ [TrueClass, FalseClass]
    'Should we also patch the vservers in the same run?'

    Property Attributes
    
    
    70
    # File 'src/oracle-exalogic-tools/lib/oracle-exalogic-tools/sdk.rb', line 70
    
    property :also_vservers, description: 'Should we also patch the vservers in the same run?', type: [TrueClass, FalseClass]
  • #including_ilom ⇒ [TrueClass, FalseClass] (Default Value: true)
    'Should we patch the ilom as a part of this? (Oracle says this is generally required!)'

    Property Attributes
    • defaulttrue
    
    
    72
    # File 'src/oracle-exalogic-tools/lib/oracle-exalogic-tools/sdk.rb', line 72
    
    property :including_ilom, description: 'Should we patch the ilom as a part of this? (Oracle says this is generally required!)', default: true, type: [TrueClass, FalseClass]
  • #patch_folder ⇒ String
    'The local folder where the exalogic patch files exist'

    Property Attributes
    
    
    74
    # File 'src/oracle-exalogic-tools/lib/oracle-exalogic-tools/sdk.rb', line 74
    
    property :patch_folder, description: 'The local folder where the exalogic patch files exist', type: String
  • #zfs_primary_head ⇒ String
    'IP of the primary ZFS head'

    Property Attributes
    
    
    76
    # File 'src/oracle-exalogic-tools/lib/oracle-exalogic-tools/sdk.rb', line 76
    
    property :zfs_primary_head, description: 'IP of the primary ZFS head', type: String
  • #vserver ⇒ String
    'The name of the vserver to restore'

    Property Attributes
    
    
    78
    # File 'src/oracle-exalogic-tools/lib/oracle-exalogic-tools/sdk.rb', line 78
    
    property :vserver, description: 'The name of the vserver to restore', type: String

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

Class Method Summary collapse

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, #inspect, #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, #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 = {}) ⇒ Management

Returns a new instance of Management.

Class Method Details

.exit_on_failure?Boolean

Returns:

  • (Boolean)

Instance Method Details

#backup_controlstackObject

Backup the control stack using exabr

#backup_vserversObject

Backup a set of vservers which match the filter parameters

#check_computenode_authenticationObject

Patch any compute nodes which match the filter parameters

#disable_application_loadbalancingObject

Disable any applications found running on the load balancers

#discover_rackconfigObject

Run exadiscover to generate a rack configuration file

#enable_application_loadbalancingObject

Re-enable any appliaciton loadbalancer endpoints

#ensure_lctools_mountedObject

Ensure the lctools mountis mounted on a set of computenodes

#generate_runtime_plansObject

Generate plans to use this tool from mintpress runtime

#list_vserversObject

List all vservers on a given set of compute nodes

#patch_computenode_setObject

Patch any compute nodes which match the filter parameters

#patch_control_vserversObject

Patch the exalogic control_vservers

#patch_controlstackObject

Patch the exalogic controlstack

#patch_vserver_setObject

Patch a set of vservers which match the filter parameters

#patch_zfsObject

Patch the ZFS appliance

#report_control_vserversObject

Report validate the exalogic control_vservers patchlevel

#report_controlstackObject

Report validate the exalogic controlstack patchlevel

#restore_controlstackObject

Restore the control stack using exabr

#restore_vserverObject

Restore a single vserver to the most recent backup

#setup_patchObject

Prepare the exalogic patch bundle to be installed by running psuSetup.sh

#show_affected_vserversObject

List all vservers that would be affected by computenode patching

#show_computenode_patchlevelsObject

List all patchlevels of computenodes

#show_vserver_patchlevelsObject

List all patchlevels of vservers

#start_applicationsObject

Start any applications running on affects vservers

#start_vservers_on_computenodeObject

Start vservers using the compute node rather than the EMOC. This will just restart all servers which were stopped by stop_vservers_on_computenode

#start_vservers_with_emocObject

Start vservers using the EMOC. Note this is NOT useful for patching, but will integrate with application startup

#stop_applicationsObject

Stop any applications running on affects vservers

#stop_vservers_on_computenodeObject

Stop vservers using the compute node rather than the EMOC. This will stop _all_ servers on a computenode - to stop a single server, instead use 'stop_vservers_with_emoc'

#stop_vservers_with_emocObject

Stop vservers using the EMOC. Note this is NOT useful for patching, but will integrate with application shutdown

#update_lctoolsObject

Update the exalogic lifecycle tools shipped with a patch. Note that psu_setup will generally perform this task for you

#user_scriptObject

Run the a specified user script against a set of vservers

#user_shutdownObject

Run the user shutdown script on selected vservers

#user_startupObject

Run the user startup script on selected vservers

#validate_computenode_setObject

Patch any compute nodes which match the filter parameters

#validate_control_vserversObject

Prepatch validate the exalogic control_vservers

#validate_controlstackObject

Prepatch validate the exalogic controlstack

#validate_vserver_setObject

Prepatch validate a set of vservers which match the filter parameters

#validate_zfs_headObject

Ensure the ZFS appliance is ready for patching

#zfs_patchlevelObject

Show the patchlevel of the ZFS nodes