You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by al...@apache.org on 2016/10/21 18:53:16 UTC
[1/2] ambari git commit: AMBARI-18662. Check that Stack Version and
repo URLs match up when registering repo (alexantonenko)
Repository: ambari
Updated Branches:
refs/heads/trunk 5114bc9f7 -> 00f1e71b6
AMBARI-18662. Check that Stack Version and repo URLs match up when registering repo (alexantonenko)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/00f1e71b
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/00f1e71b
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/00f1e71b
Branch: refs/heads/trunk
Commit: 00f1e71b62f4133e70d7d8f9f2cd6fa0624ec40d
Parents: db8f3e3
Author: Alex Antonenko <hi...@gmail.com>
Authored: Fri Oct 21 17:13:40 2016 +0300
Committer: Alex Antonenko <hi...@gmail.com>
Committed: Fri Oct 21 21:53:10 2016 +0300
----------------------------------------------------------------------
ambari-web/app/controllers/installer.js | 3 ++-
.../app/controllers/wizard/step1_controller.js | 21 +++++++++++++++++++-
ambari-web/app/messages.js | 2 ++
ambari-web/test/controllers/installer_test.js | 13 +++++++-----
4 files changed, 32 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/00f1e71b/ambari-web/app/controllers/installer.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/installer.js b/ambari-web/app/controllers/installer.js
index e2c60c4..f736ba3 100644
--- a/ambari-web/app/controllers/installer.js
+++ b/ambari-web/app/controllers/installer.js
@@ -841,6 +841,7 @@ App.InstallerController = App.WizardController.extend({
selectedStack.get('operatingSystems').forEach(function (os) {
if (os.get('isSelected') && !os.get('isEmpty')) {
os.get('repositories').forEach(function (repo) {
+ if (!repo.get('isUtils') && wizardStep1Controller.inappropriateUrlForStackVersion(repo, stackVersion)) return;
repo.setProperties({
errorTitle: '',
errorContent: '',
@@ -888,8 +889,8 @@ App.InstallerController = App.WizardController.extend({
}
}
this.set('validationCnt', this.get('validationCnt') - 1);
+ this.set('content.isCheckInProgress', false);
if (!this.get('validationCnt')) {
- this.set('content.isCheckInProgress', false);
data.dfd.resolve();
}
},
http://git-wip-us.apache.org/repos/asf/ambari/blob/00f1e71b/ambari-web/app/controllers/wizard/step1_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/wizard/step1_controller.js b/ambari-web/app/controllers/wizard/step1_controller.js
index e1cb4ff..6c105c2 100644
--- a/ambari-web/app/controllers/wizard/step1_controller.js
+++ b/ambari-web/app/controllers/wizard/step1_controller.js
@@ -272,6 +272,25 @@ App.WizardStep1Controller = Em.Controller.extend({
this.selectStackBy('id', event.context.get('id'));
},
+ inappropriateUrlForStackVersion: function (repo, stackVersion) {
+ var baseUrl = repo.get('baseUrl'),
+ splittedBaseUrlArray = baseUrl.split('/'),
+ versionInUrl = baseUrl[baseUrl.length - 1] === '/' ? splittedBaseUrlArray[splittedBaseUrlArray.length - 2] :
+ splittedBaseUrlArray[splittedBaseUrlArray.length - 1],
+ versionInUrlString = String(parseFloat(versionInUrl)),
+ UrlIsInvalidForStackVersion = versionInUrlString !== stackVersion;
+
+ if (UrlIsInvalidForStackVersion) {
+ repo.setProperties({
+ validation: App.Repository.validation.INVALID,
+ errorTitle: Em.I18n.t("installer.step1.error.inappropriateUrlForStackVersion.title"),
+ errorContent: Em.I18n.t("installer.step1.error.inappropriateUrlForStackVersion.content").format(stackVersion, versionInUrlString)
+ });
+ }
+
+ return UrlIsInvalidForStackVersion;
+ },
+
/**
* Show popup with options to upload new version
*
@@ -444,7 +463,7 @@ App.WizardStep1Controller = Em.Controller.extend({
enterUrlRadioButton: Em.Checkbox.extend({
attributeBindings: [ 'type', 'checked' ],
checked: Em.computed.alias('controller.optionsToSelect.useLocalRepo.enterUrl.isSelected'),
- type: 'radio',
+ type: 'radio'
}),
click: function () {
http://git-wip-us.apache.org/repos/asf/ambari/blob/00f1e71b/ambari-web/app/messages.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js
index a3c5e58..b27e8f5 100644
--- a/ambari-web/app/messages.js
+++ b/ambari-web/app/messages.js
@@ -627,6 +627,8 @@ Em.I18n.translations = {
'installer.step1.invalidURLAttention': '<b>Attention:</b> Please make sure all repository URLs are valid before proceeding.',
'installer.step1.checkAtLeastOneAttention': '<b>Attention:</b> Please check at least one repository.',
'installer.step1.retryRepoUrls': 'Click <b>here</b> to retry.',
+ 'installer.step1.error.inappropriateUrlForStackVersion.title':'Inappropriate Url for selected Stack Version',
+ 'installer.step1.error.inappropriateUrlForStackVersion.content': 'Your stack version is {0} when version in Url is {1}',
'installer.step2.header':'Install Options',
'installer.step2.body':'Enter the list of hosts to be included in the cluster and provide your SSH key.',
http://git-wip-us.apache.org/repos/asf/ambari/blob/00f1e71b/ambari-web/test/controllers/installer_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/controllers/installer_test.js b/ambari-web/test/controllers/installer_test.js
index 441af87..63578bc 100644
--- a/ambari-web/test/controllers/installer_test.js
+++ b/ambari-web/test/controllers/installer_test.js
@@ -75,8 +75,8 @@ describe('App.InstallerController', function () {
Em.Object.create({
isSelected: true,
reload: false,
- id: 'nn-cc',
- stackNameVersion: 'nn-cc',
+ id: 'nn-2.5',
+ stackNameVersion: 'nn-2.5',
repositories: Em.A([
Em.Object.create({
isSelected: true,
@@ -89,6 +89,7 @@ describe('App.InstallerController', function () {
isEmpty: false,
repositories: Em.A([
Em.Object.create({
+ baseUrl: 'url/2.5',
isEmpty: false,
errorTitle: '1',
errorContent: '1',
@@ -100,7 +101,8 @@ describe('App.InstallerController', function () {
})
]);
var wizard = Em.Object.create({
- skipValidationChecked: true
+ skipValidationChecked: true,
+ inappropriateUrlForStackVersion: App.WizardStep1Controller.create().inappropriateUrlForStackVersion
});
it ('Should reload installed stacks', function() {
@@ -114,8 +116,8 @@ describe('App.InstallerController', function () {
{
"isSelected": true,
"reload": true,
- "id": "nn-cc",
- "stackNameVersion": 'nn-cc',
+ "id": "nn-2.5",
+ "stackNameVersion": 'nn-2.5',
"repositories": [
{
"isSelected": true,
@@ -128,6 +130,7 @@ describe('App.InstallerController', function () {
"isEmpty": false,
"repositories": [
{
+ "baseUrl": "url/2.5",
"isEmpty": false,
"errorTitle": "",
"errorContent": "",
[2/2] ambari git commit: AMBARI-18627. Add service wizard hung at
Choose services page as no ClusterStackVersion is available with
state=CURRENT . Additional fix (alexantonenko)
Posted by al...@apache.org.
AMBARI-18627. Add service wizard hung at Choose services page as no ClusterStackVersion is available with state=CURRENT . Additional fix
(alexantonenko)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/db8f3e3f
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/db8f3e3f
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/db8f3e3f
Branch: refs/heads/trunk
Commit: db8f3e3f8855fc3174fa6b41ed86c87b9263321a
Parents: 5114bc9
Author: Alex Antonenko <hi...@gmail.com>
Authored: Wed Oct 19 19:28:54 2016 +0300
Committer: Alex Antonenko <hi...@gmail.com>
Committed: Fri Oct 21 21:53:10 2016 +0300
----------------------------------------------------------------------
.../controllers/global/cluster_controller.js | 13 ++--
.../main/admin/stack_and_upgrade_controller.js | 8 +--
ambari-web/app/controllers/wizard.js | 8 +--
ambari-web/app/utils/ajax/ajax.js | 4 +-
.../global/cluster_controller_test.js | 22 ++++++
.../admin/stack_and_upgrade_controller_test.js | 74 +-------------------
6 files changed, 36 insertions(+), 93 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/db8f3e3f/ambari-web/app/controllers/global/cluster_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/global/cluster_controller.js b/ambari-web/app/controllers/global/cluster_controller.js
index 2dd0496..edb9a26 100644
--- a/ambari-web/app/controllers/global/cluster_controller.js
+++ b/ambari-web/app/controllers/global/cluster_controller.js
@@ -510,14 +510,11 @@ App.ClusterController = Em.Controller.extend(App.ReloadPopupMixin, {
},
checkDetailedRepoVersionSuccessCallback: function (data) {
- var items = data.items;
- var version;
- if (items && items.length) {
- var repoVersions = items[0].repository_versions;
- if (repoVersions && repoVersions.length) {
- version = Em.get(repoVersions[0], 'RepositoryVersions.repository_version');
- }
- }
+ var rv = (Em.getWithDefault(data, 'items', []) || []).filter(function(i) {
+ return Em.getWithDefault(i || {}, 'ClusterStackVersions.stack', null) === App.get('currentStackName') &&
+ Em.getWithDefault(i || {}, 'ClusterStackVersions.version', null) === App.get('currentStackVersionNumber');
+ })[0];
+ var version = Em.getWithDefault(rv || {}, 'repository_versions.0.RepositoryVersions.repository_version', false);
App.set('isStormMetricsSupported', stringUtils.compareVersions(version, '2.2.2') > -1 || !version);
},
checkDetailedRepoVersionErrorCallback: function () {
http://git-wip-us.apache.org/repos/asf/ambari/blob/db8f3e3f/ambari-web/app/controllers/main/admin/stack_and_upgrade_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/admin/stack_and_upgrade_controller.js b/ambari-web/app/controllers/main/admin/stack_and_upgrade_controller.js
index 58344b2..32b2d73 100644
--- a/ambari-web/app/controllers/main/admin/stack_and_upgrade_controller.js
+++ b/ambari-web/app/controllers/main/admin/stack_and_upgrade_controller.js
@@ -1903,11 +1903,9 @@ App.MainAdminStackAndUpgradeController = Em.Controller.extend(App.LocalStorage,
* @param {object|null} jsonData
*/
loadServiceVersionFromVersionDefinitionsSuccessCallback: function (jsonData) {
- var versions = Em.getWithDefault(jsonData, 'items', []);
- var currentVersion = versions.filterProperty('ClusterStackVersions.state', 'CURRENT')[0];
- var rv = currentVersion || versions.filter(function(i) {
- return i.ClusterStackVersions.stack === App.get('currentStackName') &&
- i.ClusterStackVersions.version === App.get('currentStackVersionNumber');
+ var rv = Em.getWithDefault(jsonData, 'items', []).filter(function(i) {
+ return Em.getWithDefault(i, 'ClusterStackVersions.stack', null) === App.get('currentStackName') &&
+ Em.getWithDefault(i, 'ClusterStackVersions.version', null) === App.get('currentStackVersionNumber');
})[0];
var map = this.get('serviceVersionsMap');
var stackServices = Em.getWithDefault(rv || {}, 'repository_versions.0.RepositoryVersions.stack_services', false);
http://git-wip-us.apache.org/repos/asf/ambari/blob/db8f3e3f/ambari-web/app/controllers/wizard.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/wizard.js b/ambari-web/app/controllers/wizard.js
index 8b979cd..0eb3d50 100644
--- a/ambari-web/app/controllers/wizard.js
+++ b/ambari-web/app/controllers/wizard.js
@@ -698,11 +698,9 @@ App.WizardController = Em.Controller.extend(App.LocalStorage, App.ThemesMappingM
serviceVersionsMap: {},
loadServiceVersionFromVersionDefinitionsSuccessCallback: function (jsonData) {
- var versions = Em.getWithDefault(jsonData, 'items', []);
- var currentVersion = versions.filterProperty('ClusterStackVersions.state', 'CURRENT')[0];
- var rv = currentVersion || versions.filter(function(i) {
- return i.ClusterStackVersions.stack === App.get('currentStackName') &&
- i.ClusterStackVersions.version === App.get('currentStackVersionNumber');
+ var rv = Em.getWithDefault(jsonData, 'items', []).filter(function(i) {
+ return Em.getWithDefault(i, 'ClusterStackVersions.stack', null) === App.get('currentStackName') &&
+ Em.getWithDefault(i, 'ClusterStackVersions.version', null) === App.get('currentStackVersionNumber');
})[0];
var map = this.get('serviceVersionsMap');
var stackServices = Em.getWithDefault(rv || {}, 'repository_versions.0.RepositoryVersions.stack_services', false);
http://git-wip-us.apache.org/repos/asf/ambari/blob/db8f3e3f/ambari-web/app/utils/ajax/ajax.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/utils/ajax/ajax.js b/ambari-web/app/utils/ajax/ajax.js
index 6c7ed88..bf5f767 100644
--- a/ambari-web/app/utils/ajax/ajax.js
+++ b/ambari-web/app/utils/ajax/ajax.js
@@ -1383,11 +1383,11 @@ var urls = {
'mock': ''
},
'cluster.load_detailed_repo_version': {
- 'real': '/clusters/{clusterName}/stack_versions?ClusterStackVersions/state=CURRENT&fields=repository_versions/RepositoryVersions/repository_version&minimal_response=true',
+ 'real': '/clusters/{clusterName}/stack_versions?fields=repository_versions/RepositoryVersions/repository_version,ClusterStackVersions/stack,ClusterStackVersions/version&minimal_response=true',
'mock': '/data/stack_versions/stack_version_all.json'
},
'cluster.load_current_repo_stack_services': {
- 'real': '/clusters/{clusterName}/stack_versions?fields=repository_versions/RepositoryVersions/stack_services,ClusterStackVersions/state',
+ 'real': '/clusters/{clusterName}/stack_versions?fields=repository_versions/RepositoryVersions/stack_services,ClusterStackVersions/stack,ClusterStackVersions/version',
'mock': '/data/stack_versions/stack_version_all.json'
},
'cluster.save_provisioning_state': {
http://git-wip-us.apache.org/repos/asf/ambari/blob/db8f3e3f/ambari-web/test/controllers/global/cluster_controller_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/controllers/global/cluster_controller_test.js b/ambari-web/test/controllers/global/cluster_controller_test.js
index 0fb8b22..fa95c3e 100644
--- a/ambari-web/test/controllers/global/cluster_controller_test.js
+++ b/ambari-web/test/controllers/global/cluster_controller_test.js
@@ -295,11 +295,29 @@ describe('App.clusterController', function () {
});
describe('#checkDetailedRepoVersionSuccessCallback()', function () {
+ beforeEach(function () {
+ sinon.stub(App, 'get', function(key) {
+ if (key === 'currentStackName') {
+ return 'HDP';
+ }
+ if (key === 'currentStackVersionNumber') {
+ return '2.2';
+ }
+ return Em.get(App, key);
+ });
+ });
+ afterEach(function() {
+ App.get.restore();
+ });
var cases = [
{
items: [
{
+ ClusterStackVersions: {
+ stack: 'HDP',
+ version: '2.2'
+ },
repository_versions: [
{
RepositoryVersions: {
@@ -315,6 +333,10 @@ describe('App.clusterController', function () {
{
items: [
{
+ ClusterStackVersions: {
+ stack: 'HDP',
+ version: '2.2'
+ },
repository_versions: [
{
RepositoryVersions: {
http://git-wip-us.apache.org/repos/asf/ambari/blob/db8f3e3f/ambari-web/test/controllers/main/admin/stack_and_upgrade_controller_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/controllers/main/admin/stack_and_upgrade_controller_test.js b/ambari-web/test/controllers/main/admin/stack_and_upgrade_controller_test.js
index 21942d4..7fc183b 100644
--- a/ambari-web/test/controllers/main/admin/stack_and_upgrade_controller_test.js
+++ b/ambari-web/test/controllers/main/admin/stack_and_upgrade_controller_test.js
@@ -3136,32 +3136,6 @@ describe('App.MainAdminStackAndUpgradeController', function() {
items: [
{
ClusterStackVersions: {
- state: 'CURRENT'
- },
- repository_versions: [
- {
- RepositoryVersions: {
- stack_services: [
- { name: 'S1', versions: ['v1']}
- ]
- }
- }
- ]
- }
- ]
- },
- currentStackData: {
- currentStackVersionNumber: '2.2',
- currentStackName: 'HDP'
- },
- m: 'should add stack services from stack version with state CURRENT',
- e: { "S1": "v1"}
- },
- {
- jsonData: {
- items: [
- {
- ClusterStackVersions: {
version: '2.3',
stack: 'HDP',
state: 'INIT'
@@ -3198,54 +3172,8 @@ describe('App.MainAdminStackAndUpgradeController', function() {
currentStackVersionNumber: '2.2',
currentStackName: 'HDP'
},
- m: 'should add stack services from stack version by current stack name and version number' +
- 'when CURRENT version not available',
+ m: 'should add stack services from stack version by current stack name and version number',
e: { "S2": "v2"}
- },
- {
- jsonData: {
- items: [
- {
- ClusterStackVersions: {
- version: '2.3',
- stack: 'HDP',
- state: 'CURRENT'
- },
- repository_versions: [
- {
- RepositoryVersions: {
- stack_services: [
- { name: 'S3', versions: ['v3']}
- ]
- }
- }
- ]
- },
- {
- ClusterStackVersions: {
- version: '2.2',
- stack: 'HDP',
- state: 'INIT'
- },
- repository_versions: [
- {
- RepositoryVersions: {
- stack_services: [
- { name: 'S2', versions: ['v2']}
- ]
- }
- }
- ]
- }
- ]
- },
- currentStackData: {
- currentStackVersionNumber: '2.2',
- currentStackName: 'HDP'
- },
- m: 'should add stack services by state CURRENT even when there is stack version with ' +
- 'current stack name and version number',
- e: { "S3": "v3"}
}
];