Class: MintPress::Migration::ModelProcessor

Inherits:
Object
  • Object
show all
Includes:
MintLogger
Defined in:
src/mintpress-oldworld-integration/lib/mintpress-oldworld-integration/model-transform.rb

Properties (Read/Write)

Properties (Read Only)

Constant Summary

Constants included from MintLogger

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

Instance Method Summary collapse

Methods included from MintLogger::Utils::Common

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

Constructor Details

#initialize(model, installation_filter: nil, patch_id_filter: nil, host_filter: nil, admin_host: nil, host_options: nil, domain_filter: nil, nm_filter: nil, repository_filter: nil, component_filter: nil, instance_filter: nil, ssl_enabled: false, installations_fatal: true, templates_fatal: true, generic_component_okay: false, include_online_parts: false, allow_otd: true, domain_args: {}, otd_args: {}) ⇒ ModelProcessor

Returns a new instance of ModelProcessor.

Instance Method Details

#add_otd_configuration(domain, domain_object, domain_json) ⇒ Object

#binaries_from_modelObject

#cast_type(obj, k, v, known_array: false) ⇒ Object

#clobberObject

#clobber_binariesObject

#configure_all_nodemanagersObject

#configure_nodemanagersObject

#configure_system_componentsObject

#construct_hash_name(prop_value, type, model_parent) ⇒ Object

#create_all_domainsObject

For legacy integration, this _just_ calls create - we expect orchestration to happen outside!

#create_all_reposObject

#create_bare_transport(h) ⇒ Object

#create_domain_object(domain_object) ⇒ Object

#create_generic_resource_from_model(model, res_name, type, parent, config_list_entry) ⇒ Object

This implements the creation of a resource by finding it in the parent, and then creating it if iut exists,a nd calling the mbean setter on whatever comes out the other side

#create_host_object(h) ⇒ Object

#create_installation_object(i, added_hosts: []) ⇒ Object

#create_instance_object(i) ⇒ Object

#create_instancesObject

#create_nodemanager_object(nodemanager_object, postfix = "") ⇒ Object

#deploy_instancesObject

#do_execute_stage(t) ⇒ Object

#do_transfer_stage(t) ⇒ Object

#domainsObject

#domains_from_modelObject

#drop_all_domainsObject

#drop_all_instancesObject

#drop_all_reposObject

#dump_modelObject

#ensure_no_incorrect_attribute_types(obj, type) ⇒ Object

This function ensures that we don't have typo'd types, since it turns out they're easy to typo, and fail badly - the example is thiS: { name: "fooInstance" type: "MintPress::Instance::Foo" attributes: MintPress::Instance::Boo: foo_param: x } This would fail by just setting no params,r ather than actually failing with an error like it should for this obviously invalid input

#fill_otd_props(domain, new_thing, model_parent, thing, name_attr, model_name, children: {}) ⇒ Object

#find_all_instancesObject

#find_my_instance(instance_name) ⇒ Object

#fix_hash_types!(hash) ⇒ Object

#generic_fmw_params(i, h) ⇒ Object

#get_fmwinfra(i) ⇒ Object

#get_installation_deps(iname) ⇒ Object

#get_java(i) ⇒ Object

#get_name(c) ⇒ Object

#get_server(s, domain) ⇒ Object

#grab_rcu_opts!(r, rcu_opts, dest_opt, from) ⇒ Object

#handle_configlist_targets!(config_list_entry, me) ⇒ Object

Apply configurationList targets to an entry - speerated out here so thins that don't use create_generic_resource_from_model can still use this...

#handle_direct_attributes(obj, model) ⇒ Object

#handle_legacy_opt(opts, param, prop, localjson, split: true, append: nil) ⇒ Object

Obviously this needs to do string stuff....

#handle_otd_args(control) ⇒ Object

#handle_otd_type(domain, model_name, name_attr, parent_name, model_parent, mintpress_ptr, object_type, children: {}) ⇒ Object

This function handles actually processing the OTD attributes Note to JJ: Please document this more, because it is confusiong as hell, and almost certainly only makes sense to jj... EXplanation of the children attribute - it informs what to pass to the next level of this function. Currently it takes keys: :name_attr -> passed to name_attr :object_type -> passed to object_type :params -> passed to local_props

#host_objectObject

#hosts_from_modelObject

#install_everythingObject

#install_thing(i) ⇒ Object

#installationsObject

#instancesObject

#instances_from_modelObject

#mbeans_from_model(r, obj, folding_parts: []) ⇒ Object

#nodemanagersObject

#nodemanagers_from_modelObject

#obj_to_type(v, deets) ⇒ Object

#otd_configurationsObject

#otd_create_configObject

#otd_iterate_properties!(item, my_object) ⇒ Object

This iterates the name/target pairs that are used in the old model ONLY for OTD - the format of that is we set the attribute named `target` on the object that is called `name` within our own object. Clear as mud! the psuedo code makes more sense: my_object.get_property(name).target = value

#otd_start_snmpObject

#otd_toggle_primaryObject

#pack_unpack_domainsObject

Do a pack/unpack for any domain hosts for which it needs to be done...

#patch_stage(stage) ⇒ Object

#patch_thing(i, stage) ⇒ Object

#perform_executes(stage, id: nil) ⇒ Object

#perform_transfers(stage, id: nil) ⇒ Object

#post_domainObject

#post_first_admin_startObject

#post_managed_startObject

#pre_first_admin_startObject

#pre_managed_startObject

#restart_all_managedObject

#siebel_start_application_interfaceObject

#siebel_start_enterprise_containerObject

#siebel_start_siebel_gatewayObject

#siebel_start_siebel_serverObject

#siebel_stop_application_interfaceObject

#siebel_stop_enterprise_containerObject

#siebel_stop_siebel_gatewayObject

#siebel_stop_siebel_serverObject

#split_vals(optval, split: true) ⇒ Object

#start_admin_serverObject

#start_all_managedObject

#start_all_managed_serversObject

start servers DEFAULT: The servers will be started parallelly If the managed servers are to be started sequentially 'startup_control.parallel_tasks' args has to be set

#start_all_nodemanagersObject

#start_all_system_componentsObject

start servers DEFAULT: The servers will be started parallelly If the managed servers are to be started sequentially 'startup_control.parallel_tasks' args has to be set

#start_instancesObject

#start_managed_on_host(h) ⇒ Object

#stop_admin_serverObject

#stop_all_managedObject

#stop_all_managed_serversObject

#stop_all_nodemanagersObject

#stop_all_system_componentsObject

#stop_instancesObject

#stop_managed_on_host(h) ⇒ Object

#to_bool(s) ⇒ Object

#update_instancesObject