From 9c4cbed8d19ec0f486af454de6b117d77a0a0b84 Mon Sep 17 00:00:00 2001 From: Sunil G Date: Mon, 4 Jun 2018 00:06:56 +0530 Subject: [PATCH] =?UTF-8?q?YARN-8276.=20[UI2]=20After=20version=20field=20?= =?UTF-8?q?became=20mandatory,=20form-based=20submission=20of=20new=20YARN?= =?UTF-8?q?=20service=20doesn't=20work.=20Contributed=20by=20Gergely=20Nov?= =?UTF-8?q?=C3=A1k.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/webapp/app/components/deploy-service.js | 3 ++- .../src/main/webapp/app/models/yarn-servicedef.js | 8 +++++++- .../app/templates/components/deploy-service.hbs | 11 +++++++++++ .../src/main/webapp/app/utils/info-seeder.js | 1 + 4 files changed, 21 insertions(+), 2 deletions(-) diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/deploy-service.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/deploy-service.js index 18e4d36b81..ff939855e2 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/deploy-service.js +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/deploy-service.js @@ -152,7 +152,8 @@ export default Ember.Component.extend({ isUserNameGiven: Ember.computed.empty('userName'), - isValidServiceDef: Ember.computed('serviceDef.name', 'serviceDef.queue', 'serviceDef.serviceComponents.[]', function () { + isValidServiceDef: Ember.computed('serviceDef.name', 'serviceDef.queue', + 'serviceDef.version', 'serviceDef.serviceComponents.[]', function () { return this.get('serviceDef').isValidServiceDef(); }), diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/models/yarn-servicedef.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/models/yarn-servicedef.js index 2a9953dc97..c0153a5a2b 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/models/yarn-servicedef.js +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/models/yarn-servicedef.js @@ -22,6 +22,7 @@ import Ember from 'ember'; export default DS.Model.extend({ name: DS.attr('string', {defaultValue: ''}), queue: DS.attr('string', {defaultValue: ''}), + version: DS.attr('string', {defaultValue: ''}), lifetime: DS.attr('string', {defaultValue: ''}), isCached: DS.attr('boolean', {defaultValue: false}), @@ -44,6 +45,7 @@ export default DS.Model.extend({ clear() { this.set('name', ''); this.set('queue', ''); + this.set('version', ''); this.set('lifetime', ''); this.get('serviceComponents').clear(); this.get('serviceConfigs').clear(); @@ -52,7 +54,8 @@ export default DS.Model.extend({ }, isValidServiceDef() { - return this.get('name') !== '' && this.get('queue') !== '' && this.get('serviceComponents.length') > 0; + return this.get('name') !== '' && this.get('queue') !== '' && + this.get('version') !== '' && this.get('serviceComponents.length') > 0; }, createNewServiceComponent() { @@ -115,6 +118,7 @@ export default DS.Model.extend({ var json = { name: "", queue: "", + version: "", lifetime: "-1", components: [], configuration: { @@ -131,6 +135,7 @@ export default DS.Model.extend({ json['name'] = this.get('name'); json['queue'] = this.get('queue'); + json['version'] = this.get('version'); if (this.get('lifetime')) { json['lifetime'] = this.get('lifetime'); @@ -266,6 +271,7 @@ export default DS.Model.extend({ var clone = this.createNewServiceDef(); clone.set('name', this.get('name')); clone.set('queue', this.get('queue')); + clone.set('version', this.get('version')); clone.set('lifetime', this.get('lifetime')); clone.get('serviceComponents', this.get('serviceComponents')); clone.get('serviceConfigs', this.get('serviceConfigs')); diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/deploy-service.hbs b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/deploy-service.hbs index 2d186106b4..d348200920 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/deploy-service.hbs +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/deploy-service.hbs @@ -99,6 +99,17 @@ +
+
+
+ + + {{input type="text" class="form-control" placeholder="1.0.0" value=serviceDef.version}} +
+
+
+
+
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/utils/info-seeder.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/utils/info-seeder.js index 3d01391749..cfff9d0ebd 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/utils/info-seeder.js +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/utils/info-seeder.js @@ -19,6 +19,7 @@ export default { serviceName: "A unique application name", queueName: "The YARN queue that this application should be submitted to", + version: "Version of the service", lifetime: "Life time (in seconds) of the application from the time it reaches the STARTED state (after which it is automatically destroyed by YARN). For unlimited lifetime do not set a lifetime value.", components: "One or more components of the application. If the application is HBase say, then the component can be a simple role like master or regionserver. If the application is a complex business webapp then a component can be other applications say Kafka or Storm. Thereby it opens up the support for complex and nested applications.", configurations: "Set of configuration properties that can be injected into the application components via envs, files and custom pluggable helper docker containers. Files of several standard formats like xml, properties, json, yaml and templates will be supported.",