|
2 | 2 | Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
|
3 | 3 | The Universal Permissive License (UPL), Version 1.0
|
4 | 4 | """
|
5 |
| -import copy |
6 | 5 |
|
7 |
| -from oracle.weblogic.deploy.util import PyOrderedDict as OrderedDict |
8 | 6 | from oracle.weblogic.deploy.util import WLSDeployArchive
|
9 | 7 |
|
10 | 8 | from wlsdeploy.aliases.location_context import LocationContext
|
|
17 | 15 | from wlsdeploy.tool.util.wlst_helper import WlstHelper
|
18 | 16 | from wlsdeploy.util import dictionary_utils
|
19 | 17 | from wlsdeploy.util.model import Model
|
20 |
| -from wlsdeploy.util import string_utils |
21 | 18 | from wlsdeploy.util.weblogic_helper import WebLogicHelper
|
22 | 19 |
|
23 |
| -from wlsdeploy.aliases.model_constants import CLUSTER |
24 |
| -from wlsdeploy.aliases.model_constants import MODEL_LIST_DELIMITER |
25 |
| -from wlsdeploy.aliases.model_constants import SERVER |
26 |
| - |
27 | 20 |
|
28 | 21 | class Creator(object):
|
29 | 22 | """
|
@@ -389,7 +382,6 @@ def _create_subfolders(self, location, model_nodes):
|
389 | 382 | self.logger.exiting(class_name=self.__class_name, method_name=_method_name)
|
390 | 383 | return
|
391 | 384 |
|
392 |
| - |
393 | 385 | def _is_type_valid(self, location, type_name):
|
394 | 386 | """
|
395 | 387 | Verify that the specified location in valid for the current WLS version.
|
@@ -447,139 +439,3 @@ def _format_model_path(self, location, name):
|
447 | 439 | path += '/'
|
448 | 440 | path += name
|
449 | 441 | return path
|
450 |
| - |
451 |
| - def _get_existing_server_names(self): |
452 |
| - """ |
453 |
| - Get the list of server names from WLST. |
454 |
| - :return: the list of server names |
455 |
| - :raises: CreateException: is an error occurs reading from the aliases or WLST |
456 |
| - """ |
457 |
| - _method_name = '_get_existing_server_names' |
458 |
| - |
459 |
| - self.logger.entering(class_name=self.__class_name, method_name=_method_name) |
460 |
| - server_location = LocationContext().append_location(SERVER) |
461 |
| - server_list_path = self.alias_helper.get_wlst_list_path(server_location) |
462 |
| - result = self.wlst_helper.get_existing_object_list(server_list_path) |
463 |
| - self.logger.exiting(class_name=self.__class_name, method_name=_method_name, result=result) |
464 |
| - return result |
465 |
| - |
466 |
| - def _get_clusters_and_members_map(self): |
467 |
| - """ |
468 |
| - Get a map keyed by cluster name with values that are a list of member server names |
469 |
| - :return: the cluster name to member server names map |
470 |
| - :raises: CreateException: is an error occurs reading from the aliases or WLST |
471 |
| - """ |
472 |
| - _method_name = '_get_clusters_and_members_map' |
473 |
| - |
474 |
| - self.logger.entering(class_name=self.__class_name, method_name=_method_name) |
475 |
| - server_location = LocationContext().append_location(SERVER) |
476 |
| - server_list_path = self.alias_helper.get_wlst_list_path(server_location) |
477 |
| - server_names = self.wlst_helper.get_existing_object_list(server_list_path) |
478 |
| - server_token = self.alias_helper.get_name_token(server_location) |
479 |
| - cluster_map = OrderedDict() |
480 |
| - for server_name in server_names: |
481 |
| - server_location.add_name_token(server_token, server_name) |
482 |
| - server_attributes_path = self.alias_helper.get_wlst_attributes_path(server_location) |
483 |
| - self.wlst_helper.cd(server_attributes_path) |
484 |
| - |
485 |
| - server_attributes_map = self.wlst_helper.lsa() |
486 |
| - cluster_name = dictionary_utils.get_element(server_attributes_map, CLUSTER) |
487 |
| - if string_utils.is_empty(cluster_name): |
488 |
| - # if server is not part of a cluster, continue with the next server |
489 |
| - continue |
490 |
| - |
491 |
| - if cluster_name not in cluster_map: |
492 |
| - cluster_map[cluster_name] = list() |
493 |
| - cluster_map[cluster_name].append(server_name) |
494 |
| - |
495 |
| - self.logger.exiting(class_name=self.__class_name, method_name=_method_name, result=cluster_map) |
496 |
| - return cluster_map |
497 |
| - |
498 |
| - def _get_server_group_targeting_limits(self, server_group_targeting_limits, clusters_map): |
499 |
| - """ |
500 |
| - Get any server group targeting limits specified in the model, converting any cluster |
501 |
| - names to the list of members. This method assumes that the limits dictionary is not |
502 |
| - None or empty. |
503 |
| - :param server_group_targeting_limits: the raw server group targeting_limits from the model |
504 |
| - :param clusters_map: the map of cluster names to member server names |
505 |
| - :return: the map of server groups to server names to target |
506 |
| - """ |
507 |
| - _method_name = '_get_server_group_targeting_limits' |
508 |
| - |
509 |
| - self.logger.entering(str(server_group_targeting_limits), str(clusters_map), |
510 |
| - class_name=self.__class_name, method_name=_method_name) |
511 |
| - sg_targeting_limits = copy.deepcopy(server_group_targeting_limits) |
512 |
| - for server_group_name, sg_targeting_limit in sg_targeting_limits.iteritems(): |
513 |
| - if type(sg_targeting_limit) is str: |
514 |
| - if MODEL_LIST_DELIMITER in sg_targeting_limit: |
515 |
| - sg_targeting_limit = sg_targeting_limit.split(MODEL_LIST_DELIMITER) |
516 |
| - else: |
517 |
| - # convert a single value into a list of one... |
518 |
| - new_list = list() |
519 |
| - new_list.append(sg_targeting_limit) |
520 |
| - sg_targeting_limit = new_list |
521 |
| - |
522 |
| - # Convert any references to a cluster name into the list of member server names |
523 |
| - new_list = list() |
524 |
| - for target_name in sg_targeting_limit: |
525 |
| - target_name = target_name.strip() |
526 |
| - if target_name in clusters_map: |
527 |
| - cluster_members = dictionary_utils.get_element(clusters_map, target_name) |
528 |
| - new_list.extend(cluster_members) |
529 |
| - else: |
530 |
| - # Assume it is a server name and add it to the new list |
531 |
| - new_list.append(target_name) |
532 |
| - sg_targeting_limits[server_group_name] = new_list |
533 |
| - |
534 |
| - self.logger.exiting(class_name=self.__class_name, method_name=_method_name, result=sg_targeting_limits) |
535 |
| - return sg_targeting_limits |
536 |
| - |
537 |
| - def _get_server_to_server_groups_map(self, admin_server_name, server_names, server_groups, sg_targeting_limits): |
538 |
| - """ |
539 |
| - Get the map of server names to the list of server groups to target to that server. |
540 |
| - :param admin_server_name: the admin server name |
541 |
| - :param server_names: the list of server names |
542 |
| - :param server_groups: the complete list of server groups that will, by default, be targeted to |
543 |
| - all managed servers unless the server is listed in the targeting limits map |
544 |
| - :param sg_targeting_limits: the targeting limits map |
545 |
| - :return: the map of server names to the list of server groups to target to that server |
546 |
| - """ |
547 |
| - _method_name = '_get_server_to_server_groups_map' |
548 |
| - |
549 |
| - self.logger.entering(admin_server_name, str(server_names), str(server_groups), str(sg_targeting_limits), |
550 |
| - class_name=self.__class_name, method_name=_method_name) |
551 |
| - result = OrderedDict() |
552 |
| - for server_name in server_names: |
553 |
| - server_groups_for_server = self.__get_server_groups_for_server(server_name, sg_targeting_limits) |
554 |
| - if server_groups_for_server is not None: |
555 |
| - result[server_name] = server_groups_for_server |
556 |
| - elif server_name != admin_server_name: |
557 |
| - # By default, we only target managed servers unless explicitly listed in the targeting limits |
558 |
| - result[server_name] = list(server_groups) |
559 |
| - else: |
560 |
| - result[admin_server_name] = list() |
561 |
| - if admin_server_name not in result: |
562 |
| - result[admin_server_name] = list() |
563 |
| - self.logger.exiting(class_name=self.__class_name, method_name=_method_name, result=result) |
564 |
| - return result |
565 |
| - |
566 |
| - def __get_server_groups_for_server(self, server_name, sg_targeting_limits): |
567 |
| - """ |
568 |
| - Get the servers groups to target for a given server name. |
569 |
| - :param server_name: the server name |
570 |
| - :param sg_targeting_limits: the targeting limits |
571 |
| - :return: the list of server groups to target to the specified server name, or None |
572 |
| - if the server name does not appear in the targeting limits |
573 |
| - """ |
574 |
| - _method_name = '__get_server_groups_for_server' |
575 |
| - |
576 |
| - self.logger.entering(server_name, str(sg_targeting_limits), |
577 |
| - class_name=self.__class_name, method_name=_method_name) |
578 |
| - result = None |
579 |
| - for server_group, server_names_list in sg_targeting_limits.iteritems(): |
580 |
| - if server_name in server_names_list: |
581 |
| - if result is None: |
582 |
| - result = list() |
583 |
| - result.append(server_group) |
584 |
| - self.logger.exiting(class_name=self.__class_name, method_name=_method_name, result=result) |
585 |
| - return result |
0 commit comments