Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@
from resource_management.libraries.script import Script
from resource_management.core.logger import Logger
from resource_management.libraries.functions.default import default
from resource_management.libraries.functions.cluster_settings import get_cluster_setting_value, get_cluster_setting

def get_not_managed_resources():
"""
Expand All @@ -35,8 +34,8 @@ def get_not_managed_resources():
"""
config = Script.get_config()
not_managed_hdfs_path_list = json.loads(config['hostLevelParams']['not_managed_hdfs_path_list'])[:]
if get_cluster_setting('managed_hdfs_resource_property_names') is not None:
managed_hdfs_resource_property_names = get_cluster_setting_value('managed_hdfs_resource_property_names')
if 'managed_hdfs_resource_property_names' in config['configurations']['cluster-env']:
managed_hdfs_resource_property_names = config['configurations']['cluster-env']['managed_hdfs_resource_property_names']
managed_hdfs_resource_property_list = filter(None, [property.strip() for property in managed_hdfs_resource_property_names.split(',')])

for property_name in managed_hdfs_resource_property_list:
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -51,13 +51,13 @@ def create_repo_files(self):
Creates repositories in a consistent manner for all types
:return: a dictionary with repo ID => repo file name mapping
"""
if self.command_repository.mpack_id is None:
if self.command_repository.version_id is None:
raise Fail("The command repository was not parsed correctly")

if 0 == len(self.command_repository.items):
Logger.warning(
"Repository for {0}/{1} has no repositories. Ambari may not be managing this version.".format(
self.command_repository.mpack_name, self.command_repository.version_string))
self.command_repository.stack_name, self.command_repository.version_string))
return {}

append_to_file = False # initialize to False to create the file anew.
Expand All @@ -73,7 +73,7 @@ def create_repo_files(self):
if not repository.ambari_managed:
Logger.warning(
"Repository for {0}/{1}/{2} is not managed by Ambari".format(
self.command_repository.mpack_name, self.command_repository.version_string, repository.repo_id))
self.command_repository.stack_name, self.command_repository.version_string, repository.repo_id))
else:
Repository(repository.repo_id,
action="create",
Expand Down Expand Up @@ -133,9 +133,10 @@ def __init__(self, repo_object):
else:
raise Fail("Cannot deserialize command repository {0}".format(str(repo_object)))

self.mpack_id = _find_value(json_dict, 'mpackId')
self.mpack_name = _find_value(json_dict, 'mpackName')
self.version_string = _find_value(json_dict, 'mpackVersion')
# version_id is the primary id of the repo_version table in the database
self.version_id = _find_value(json_dict, 'repoVersionId')
self.stack_name = _find_value(json_dict, 'stackName')
self.version_string = _find_value(json_dict, 'repoVersion')
self.repo_filename = _find_value(json_dict, 'repoFileName')
self.feat = CommandRepositoryFeature(_find_value(json_dict, "feature", default={}))
self.items = []
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,8 +61,6 @@
from resource_management.libraries.functions.show_logs import show_logs
from resource_management.core.providers import get_provider
from resource_management.libraries.functions.fcntl_based_process_lock import FcntlBasedProcessLock
from resource_management.libraries.functions.config_helper import get_mpack_name, get_mpack_version, \
get_mpack_instance_name, get_module_name, get_component_type, get_component_instance_name

import ambari_simplejson as json # simplejson is much faster comparing to Python 2.6 json module and has the same functions set.

Expand Down Expand Up @@ -793,21 +791,6 @@ def load_available_packages(self):
Logger.exception("Unable to load available packages")
self.available_packages_in_repos = []

def create_component_instance(self):
# should be used only when mpack-instance-manager is available
from resource_management.libraries.functions.mpack_manager_helper import create_component_instance
config = self.get_config()
mpack_name = get_mpack_name(config)
mpack_version = get_mpack_version(config)
mpack_instance_name = get_mpack_instance_name(config)
module_name = get_module_name(config)
component_type = get_component_type(config)
component_instance_name = get_component_instance_name(config)

create_component_instance(mpack_name=mpack_name, mpack_version=mpack_version, instance_name=mpack_instance_name,
module_name=module_name, components_instance_type=component_type,
component_instance_name=component_instance_name)


def install_packages(self, env):
"""
Expand Down
12 changes: 1 addition & 11 deletions ambari-project/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -485,13 +485,6 @@
<artifactId>swagger-maven-plugin</artifactId>
<version>${swagger.maven.plugin.version}</version>
</dependency>
<dependency>
<groupId>org.inferred</groupId>
<artifactId>freebuilder</artifactId>
<version>1.14.8</version>
<optional>true</optional>
<scope>provided</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
Expand All @@ -515,10 +508,7 @@
<encoding>UTF-8</encoding>
<consoleOutput>true</consoleOutput>
<failsOnError>true</failsOnError>
<sourceDirectories>
<sourceDirectory>src/main/java</sourceDirectory>
<sourceDirectory>src/test/java</sourceDirectory>
</sourceDirectories>
<includeTestSourceDirectory>true</includeTestSourceDirectory>
<linkXRef>false</linkXRef>
</configuration>
<executions>
Expand Down
4 changes: 0 additions & 4 deletions ambari-server/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1644,10 +1644,6 @@
<version>0.1.10</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.inferred</groupId>
<artifactId>freebuilder</artifactId>
</dependency>
</dependencies>

<pluginRepositories>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,11 +51,5 @@ public enum ExperimentalFeature {
* For code that is for upgrading Mpacks. Use this to mark code that may ultimately
* be removed.
*/
MPACK_UPGRADES,

/**
* Used to mark code that is required for successful removal and refactoring
* when repo versions are dropped.
*/
REPO_VERSION_REMOVAL;
MPACK_UPGRADES
}
Original file line number Diff line number Diff line change
Expand Up @@ -31,13 +31,4 @@ public ServiceComponentHostNotFoundException(String clusterName,
+ ", hostName=" + hostName);
}

public ServiceComponentHostNotFoundException(String clusterName,
String serviceName, Long serviceComponentId, String hostName) {
super("ServiceComponentHost not found"
+ ", clusterName=" + clusterName
+ ", serviceName=" + serviceName
+ ", serviceComponentId=" + serviceComponentId
+ ", hostName=" + hostName);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,10 @@

import java.util.List;

import org.apache.ambari.server.api.services.AmbariMetaInfo;
import org.apache.ambari.server.orm.dao.MpackHostStateDAO;
import org.apache.ambari.server.orm.entities.MpackHostStateEntity;
import org.apache.ambari.server.state.Mpack;
import org.apache.ambari.server.orm.dao.HostVersionDAO;
import org.apache.ambari.server.orm.dao.ServiceComponentDesiredStateDAO;
import org.apache.ambari.server.orm.entities.HostVersionEntity;
import org.apache.ambari.server.orm.entities.ServiceComponentDesiredStateEntity;
import org.apache.ambari.server.state.RepositoryVersionState;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Expand All @@ -39,41 +39,48 @@ public class StateRecoveryManager {
private static final Logger LOG = LoggerFactory.getLogger(StateRecoveryManager.class);

@Inject
private MpackHostStateDAO mpackHostStateDAO;
private HostVersionDAO hostVersionDAO;

/**
* Used for looking up {@link Mpack} instances by IDs.
*/
@Inject
private AmbariMetaInfo ambariMetaInfo;
private ServiceComponentDesiredStateDAO serviceComponentDAO;

public void doWork() {
updateManagementPackInstallationState();
checkHostAndClusterVersions();
}

/**
* Resets any management pack installation states from
* {@link RepositoryVersionState#INSTALLING} to
* {@link RepositoryVersionState#INSTALL_FAILED}.
*/
void updateManagementPackInstallationState() {
List<MpackHostStateEntity> mpackHostStates = mpackHostStateDAO.findAll();
for (MpackHostStateEntity mpackHostState : mpackHostStates) {
if (mpackHostState.getState() == RepositoryVersionState.INSTALLING) {
mpackHostState.setState(RepositoryVersionState.INSTALL_FAILED);

Mpack mpack = ambariMetaInfo.getMpack(mpackHostState.getMpackId());

void checkHostAndClusterVersions() {
List<HostVersionEntity> hostVersions = hostVersionDAO.findAll();
for (HostVersionEntity hostVersion : hostVersions) {
if (hostVersion.getState().equals(RepositoryVersionState.INSTALLING)) {
hostVersion.setState(RepositoryVersionState.INSTALL_FAILED);
String msg = String.format(
"The installation state of management pack %s on host %s was set from %s to %s",
mpack.getName(),
mpackHostState.getHostName(),
"Recovered state of host version %s on host %s from %s to %s",
hostVersion.getRepositoryVersion().getDisplayName(),
hostVersion.getHostName(),
RepositoryVersionState.INSTALLING,
RepositoryVersionState.INSTALL_FAILED);
LOG.warn(msg);
hostVersionDAO.merge(hostVersion);
}
}

mpackHostStateDAO.merge(mpackHostState);
List<ServiceComponentDesiredStateEntity> components = serviceComponentDAO.findAll();
for (ServiceComponentDesiredStateEntity component : components) {
if (RepositoryVersionState.INSTALLING == component.getRepositoryState()) {
component.setRepositoryState(RepositoryVersionState.INSTALL_FAILED);
serviceComponentDAO.merge(component);
String msg = String.format(
"Recovered state of cluster %s of component %s/%s for version %s from %s to %s",
component.getClusterId(),
component.getServiceId(),
component.getComponentName(),
component.getDesiredRepositoryVersion().getDisplayName(),
RepositoryVersionState.INSTALLING,
RepositoryVersionState.INSTALL_FAILED);
LOG.warn(msg);
}
}
}


}
Loading