You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@slider.apache.org by "thomas liu (JIRA)" <ji...@apache.org> on 2015/04/07 22:12:13 UTC

[jira] [Comment Edited] (SLIDER-820) Enable AgentProviderService issue INSTALL and CONFIGURE command for addon packages

    [ https://issues.apache.org/jira/browse/SLIDER-820?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14393726#comment-14393726 ] 

thomas liu edited comment on SLIDER-820 at 4/7/15 8:11 PM:
-----------------------------------------------------------

Previously, AgentProviderService issues commands for one component like:
INSTALL -> START -> GET_STATUS... -> STOP
now with add on packages, we would like it to issue commands:
INSTALL -> INSTALL_ADDON (for add on pkg 1) -> INSTALL_ADDON (for add on pkg 2) ... -> START -> GET_STATUS... -> STOP

In AgentProviderService, we keep ComponentInstanceState for each Component. In org.apache.slider.providers.agent.application.metadata.ComponentInstanceState, we keep a map from package name to org.apache.slider.providers.agent.State. So besides the component state we keep in ComponentInstanceState, we are also tracking the state for each add on package.

Metainfo.json for each add on package will be read into Metainfo object in SliderAM. We've extended the existing Metainfo, Application, Component to hold those fields for add on packages
We also keep a map from package name to the add on packages' Metainfo object in AgentProviderService

When the component(master package component is in 'installed' state, this means the component is installed and now we can install the add on packages for this component. So We modify ComponentInstanceState.getNextCommand() to check, when the component is in 'installed' state, we go through the pkg->State map to see if any package is in 'init' state. If so, it means the package is not installed yet, and now we issue 'INSTALL_ADDON' command for it. The next heartbeat from the component can also indicate the component is in 'installing in progress' state, which means the add on package is still in installation. The way we distinguish whether it is the component (master pkg) is in 'in progress' state or it is the add on pkg in the state is: there is a field passed from SliderAgent to SliderAM 'package'. If it is null, then the heartbeat is for the master package, if not, the value is the name of the package. In the case when the add on package is in 'installing in progress' state, getNextCommand() will issue NOP command.



was (Author: thomas_liu):
In org.apache.slider.providers.agent.application.metadata.Component, we add a new String List that keeps track of the order in which master and addon packages should be installed, configured and started
In AgentProviderService, we keep ComponentInstanceState for each Component+package. (We use component + '-' + package as the identifier in the map)
And at the moment when previously we call ComponentInstanceState.getCommand() to determine the next command for the component, now we first query Component which package comes next, and then we call getCommand() on the package's ComponentInstanceState to get the next command to run.
So we are issuing commands 'master package INSTALL', 'addon package 1 INSTALL', ... 'master package START', one by one. Only after previous command got successfully executed on the SliderAgent side, we start to execute the next command. We still rely on existing ComponentCommandOrder to enforce component instantiation order. So on the SliderAgent side, it will install packages one by one and then start the master.

> Enable AgentProviderService issue INSTALL and CONFIGURE command for addon packages
> ----------------------------------------------------------------------------------
>
>                 Key: SLIDER-820
>                 URL: https://issues.apache.org/jira/browse/SLIDER-820
>             Project: Slider
>          Issue Type: Sub-task
>          Components: agent-provider, core
>            Reporter: thomas liu
>             Fix For: Slider 0.80
>
>
> Enable AgentProviderService issue INSTALL and CONFIGURE command for addon packages, with parameters in the commands to install and configure addon packages onto master package directories, for lib, conf, bin...



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)