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 <[email protected]> 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 < > [email protected]> 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 <[email protected]> >> Reply-To: "[email protected]" <[email protected]> >> Date: Monday, January 9, 2017 at 8:17 AM >> To: "[email protected]" <[email protected]> >> 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
