biemond/biemond-orawls

View on GitHub
files/providers/wls_migratable_target/create_modify.py.erb

Summary

Maintainability
Test Coverage
# check the domain else we need to skip this (done in wls_access.rb)
real_domain='<%= domain %>'

wlst_action = '<%= wlst_action %>'

migratable_target_name           = '<%= migratable_target_name %>'
cluster                          = '<%= cluster %>'
number_of_restart_attempts       = <%= number_of_restart_attempts %>
seconds_between_restarts         = <%= seconds_between_restarts %>

<% if constrained_candidate_servers %>
constrained_candidate_servers    = [<%= constrained_candidate_servers.map{ |server| "'#{server}'" }.join(',') %>]
<% else %>
constrained_candidate_servers    = []
<% end %>

user_preferred_server            = '<%= user_preferred_server %>'
migration_policy                 = '<%= migration_policy %>'

edit()
startEdit()

try:
    cd('/')
    if wlst_action == 'create':
        migratableTarget = cmo.createMigratableTarget(migratable_target_name)
    else:
        migratableTarget = cmo.lookupMigratableTarget(migratable_target_name)

    targetCluster = cmo.lookupCluster(cluster)

    migratableTarget.setCluster(targetCluster)
    migratableTarget.setNumberOfRestartAttempts(number_of_restart_attempts)
    migratableTarget.setSecondsBetweenRestarts(seconds_between_restarts)
    migratableTarget.setMigrationPolicy(migration_policy)

    preferredServer = cmo.lookupServer(user_preferred_server)
    preferredServerCluster = preferredServer.getCluster()
    if preferredServerCluster is None or preferredServerCluster.getName() != cluster:
        raise RuntimeError, 'Preferred server is not part of the cluster the migratable target will run in.'
    migratableTarget.setUserPreferredServer(preferredServer)

    migratableTarget.setConstrainedCandidateServers(map(lambda serverName: cmo.lookupServer(serverName), constrained_candidate_servers))

    save()
    activate()
    report_back_success()

except:
    report_back_error()