Hmm, my workaround works until i try upgrade HDP stack. There is another hard coded package. I'll investigate it more Tomorrow but now it looks like big race condition - I am not able to specify deb package per component without changing ambari server and agent code. This was more clear in 2.2 version.
Am i only one who need more control on installed package in custom service? On Thu, Jan 12, 2017 at 11:30 AM, Lukáš Drbal <lukas.dr...@gmail.com> wrote: > Hi, > > i found an workaround - copy method install_packages into my class and > replace that hardcoded Script [1] > > Its different in trunk [2] but package resource_management.libraries.functions > is still hardcoded. > > I'll create an Jira for that because it breaks functionality and we don't > want change ambari source code. > > ---- > [1] https://github.com/apache/ambari/blob/release-2.4.2/ > ambari-common/src/main/python/resource_management/libraries/ > script/script.py#L556 > [2] https://github.com/apache/ambari/blob/trunk/ambari- > common/src/main/python/resource_management/libraries/script/script.py#L625 > > On Mon, Jan 9, 2017 at 9:19 PM, Lukáš Drbal <lukas.dr...@gmail.com> wrote: > >> Hi Alejandro, >> >> thank you for response! I definitely don't, because it means change >> ambari source code just because adding new service and this wasn't needed >> in 2.2. Am i correct? >> If yes, that's strange :-( >> >> Lukas >> >> On Mon, Jan 9, 2017 at 8:16 PM, Alejandro Fernandez < >> afernan...@hortonworks.com> wrote: >> >>> Hi Lukas, >>> >>> It's not finding the method names "should_install_supervisor", " >>> should_install_apache" >>> >>> Did you add them to this list? >>> >>> __all__ = ["is_lzo_enabled", "should_install_phoenix", >>> "should_install_ams_collector", "should_install_ams_grafana", >>> "should_install_mysql", "should_install_mysql_connector", >>> "should_install_ranger_tagsync"] >>> >>> >>> Thanks, >>> >>> Alejandro >>> >>> From: Lukáš Drbal <lukas.dr...@gmail.com> >>> Reply-To: "user@ambari.apache.org" <user@ambari.apache.org> >>> Date: Monday, January 9, 2017 at 8:17 AM >>> To: "user@ambari.apache.org" <user@ambari.apache.org> >>> Subject: Ambari 2.4 - custom service and condition package instalation >>> >>> Hi, >>> >>> i have custom service which provides more components [1]. >>> All components are installed from deb packages and i don't wanna install >>> all packages on all nodes (just component specific) so i try to use >>> condition [2] but it ends with error: >>> "resource_management.core.exceptions.Fail: Condition with name >>> 'should_install_confluent_supervisor', when installing package >>> supervisor. Please check package_conditions.py." >>> >>> I check source code and it look's [3] like there is hardcoded package >>> "resource_management.libraries.functions". >>> >>> In 2.2 i was able to use param exclude_packages in install method. How i >>> can achieve same functionality in 2.4? Did i miss something? >>> >>> Thanks for help. >>> >>> [1] >>> I have list of all packages in metainfo.xml >>> For example: >>> <osSpecifics> >>> <osSpecific> >>> <osFamily>ubuntu14</osFamily> >>> <packages> >>> <package> >>> <name>supervisor</name> >>> <condition>should_install_supervisor</condition> >>> </package> >>> <package> >>> <name>apache</name> >>> <condition>should_install_apache</condition> >>> </package> >>> </packages> >>> </<osSpecific> >>> </osSpecifics> >>> >>> def should_install_supervisor(): >>> config = Script.get_config() >>> # _has_applicable_local_component is copied >>> from ambari-common/src/main/python/resource_management/libra >>> ries/functions/package_conditions.py >>> return _has_applicable_local_component(config, ["MY_SERVICE"]) >>> >>> [3] https://github.com/apache/ambari/blob/release-2.4.2/ambari- >>> common/src/main/python/resource_management/libraries/script/ >>> script.py#L592 >>> >>> -- >>> Save The World - http://www.worldcommunitygrid.org/ >>> http://www.worldcommunitygrid.org/stat/viewMemberInfo.do?userName=LesTR >>> >>> LesTR >>> >> >> >> >> -- >> Save The World - http://www.worldcommunitygrid.org/ >> http://www.worldcommunitygrid.org/stat/viewMemberInfo.do?userName=LesTR >> >> LesTR >> > > > > -- > Save The World - http://www.worldcommunitygrid.org/ > http://www.worldcommunitygrid.org/stat/viewMemberInfo.do?userName=LesTR > > LesTR > -- Save The World - http://www.worldcommunitygrid.org/ http://www.worldcommunitygrid.org/stat/viewMemberInfo.do?userName=LesTR LesTR