[ https://issues.apache.org/jira/browse/AMBARI-19637?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Richard Zang updated AMBARI-19637: ---------------------------------- Attachment: AMBARI-19637.patch > No baseURL field on Register Version page if repoinfo.xml contains only one > baseurl > ----------------------------------------------------------------------------------- > > Key: AMBARI-19637 > URL: https://issues.apache.org/jira/browse/AMBARI-19637 > Project: Ambari > Issue Type: Bug > Components: ambari-admin > Affects Versions: 2.5.0 > Reporter: Richard Zang > Assignee: Richard Zang > Priority: Critical > Attachments: AMBARI-19637.patch > > > The issue here is that if repoinfo.xml declares only one repo url per os > family, then UI fails with list index out bounds error > *repoinfo.xml* > {code}<reposinfo> > <os family="redhat6"> > <repo> > <baseurl>http://foo</baseurl> > <repoid>PERF-1.0</repoid> > <reponame>PERF</reponame> > <unique>true</unique> > </repo> > </os> > </reposinfo>{code} > errors in console > {code}TypeError: Cannot read property 'Repositories' of undefined > at > http://c6401.ambari.apache.org:8080/views/ADMIN_VIEW/2.5.0.0/INSTANCE/scripts/main.js:4560:44 > at Array.forEach (native) > at Scope.$scope.setVersionSelected > (http://c6401.ambari.apache.org:8080/views/ADMIN_VIEW/2.5.0.0/INSTANCE/scripts/main.js:4557:42) > at > http://c6401.ambari.apache.org:8080/views/ADMIN_VIEW/2.5.0.0/INSTANCE/scripts/main.js:4669:16 > at wrappedCallback > (http://c6401.ambari.apache.org:8080/views/ADMIN_VIEW/2.5.0.0/INSTANCE/scripts/vendor.js:23340:81) > at > http://c6401.ambari.apache.org:8080/views/ADMIN_VIEW/2.5.0.0/INSTANCE/scripts/vendor.js:23426:26 > at Scope.$eval > (http://c6401.ambari.apache.org:8080/views/ADMIN_VIEW/2.5.0.0/INSTANCE/scripts/vendor.js:24469:28) > at Scope.$digest > (http://c6401.ambari.apache.org:8080/views/ADMIN_VIEW/2.5.0.0/INSTANCE/scripts/vendor.js:24281:31) > at Scope.$apply > (http://c6401.ambari.apache.org:8080/views/ADMIN_VIEW/2.5.0.0/INSTANCE/scripts/vendor.js:24573:24) > at done > (http://c6401.ambari.apache.org:8080/views/ADMIN_VIEW/2.5.0.0/INSTANCE/scripts/vendor.js:20146:45)(anonymous > function) @ vendor.js:21839 > 6vendor.js:21839 TypeError: Cannot read property 'Repositories' of undefined > at > http://c6401.ambari.apache.org:8080/views/ADMIN_VIEW/2.5.0.0/INSTANCE/scripts/main.js:4560:44 > at Array.forEach (native) > at Scope.$scope.setVersionSelected > (http://c6401.ambari.apache.org:8080/views/ADMIN_VIEW/2.5.0.0/INSTANCE/scripts/main.js:4557:42) > at Scope.$scope.onStackIdChange > (http://c6401.ambari.apache.org:8080/views/ADMIN_VIEW/2.5.0.0/INSTANCE/scripts/main.js:4578:12) > at > http://c6401.ambari.apache.org:8080/views/ADMIN_VIEW/2.5.0.0/INSTANCE/scripts/vendor.js:22614:21 > at callback > (http://c6401.ambari.apache.org:8080/views/ADMIN_VIEW/2.5.0.0/INSTANCE/scripts/vendor.js:30903:17) > at Scope.$eval > (http://c6401.ambari.apache.org:8080/views/ADMIN_VIEW/2.5.0.0/INSTANCE/scripts/vendor.js:24469:28) > at Scope.$apply > (http://c6401.ambari.apache.org:8080/views/ADMIN_VIEW/2.5.0.0/INSTANCE/scripts/vendor.js:24567:23) > at HTMLLIElement.<anonymous> > (http://c6401.ambari.apache.org:8080/views/ADMIN_VIEW/2.5.0.0/INSTANCE/scripts/vendor.js:30908:23) > at HTMLLIElement.jQuery.event.dispatch > (http://c6401.ambari.apache.org:8080/views/ADMIN_VIEW/2.5.0.0/INSTANCE/scripts/vendor.js:4737:27){code} > The hardcoded index is here: > {code}response.updateObj.operating_systems.forEach(function(os) { > $scope.defaulfOSRepos[os.OperatingSystems.os_type] = { > defaultBaseUrl: os.repositories[0].Repositories.base_url, > defaultUtilsUrl: os.repositories[1].Repositories.base_url > }; > });{code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)