Support old and new system stack externalId formats

This commit is contained in:
Vincent Fiduccia 2016-05-24 23:08:21 -07:00
parent c0ae43e371
commit cb5ff32084
6 changed files with 44 additions and 17 deletions

View File

@ -47,7 +47,7 @@ export default Ember.Component.extend({
return;
}
var stack = this.get('model.stacks').filterBy('externalId','system://kubernetes')[0];
var stack = this.get('k8s').filterSystemStack(this.get('model.stacks'));
if ( !stack )
{
this.set('currentStep', 2);

View File

@ -1,9 +1,5 @@
import Ember from 'ember';
import { debouncedObserver } from 'ui/utils/debounce';
import C from 'ui/utils/constants';
const OLD_STACK_ID = C.EXTERNALID.KIND_SYSTEM + C.EXTERNALID.KIND_SEPARATOR + C.EXTERNALID.KIND_MESOS;
const NEW_STACK_PREFIX = C.EXTERNALID.KIND_SYSTEM_CATALOG + C.EXTERNALID.KIND_SEPARATOR + C.CATALOG.LIBRARY_KEY + C.EXTERNALID.GROUP_SEPARATOR + C.EXTERNALID.KIND_MESOS + C.EXTERNALID.GROUP_SEPARATOR;
export default Ember.Component.extend({
mesos: Ember.inject.service(),
@ -49,11 +45,7 @@ export default Ember.Component.extend({
return;
}
var stack = this.get('model.stacks').filter((stack) => {
let externalId = stack.get('externalId')||'';
return externalId === OLD_STACK_ID || externalId.indexOf(NEW_STACK_PREFIX) === 0;
})[0];
var stack = this.get('mesos').filterSystemStack(this.get('model.stacks'));
if ( !stack )
{
this.set('currentStep', 2);

View File

@ -2,6 +2,8 @@ import Ember from 'ember';
import { debouncedObserver } from 'ui/utils/debounce';
export default Ember.Component.extend({
swarm: Ember.inject.service(),
currentStep: 0,
subStep: 0,
subCount: 0,
@ -37,7 +39,7 @@ export default Ember.Component.extend({
return;
}
var stack = this.get('model.stacks').filterBy('externalId','system://swarm')[0];
var stack = this.get('swarm').filterSystemStack(this.get('model.stacks'));
if ( !stack )
{
this.set('currentStep', 2);

View File

@ -430,8 +430,7 @@ export default Ember.Service.extend({
isReady() {
return this.get('store').find('environment').then((stacks) => {
return this.get('store').find('service').then((services) => {
let eId = C.EXTERNALID.KIND_SYSTEM + C.EXTERNALID.KIND_SEPARATOR + C.EXTERNALID.KIND_KUBERNETES;
let stack = stacks.filterBy('externalId', eId)[0];
let stack = this.filterSystemStack(stacks);
if ( stack )
{
let matching = services.filterBy('environmentId', stack.get('id'));
@ -454,6 +453,18 @@ export default Ember.Service.extend({
});
},
filterSystemStack(stacks) {
const OLD_STACK_ID = C.EXTERNALID.KIND_SYSTEM + C.EXTERNALID.KIND_SEPARATOR + C.EXTERNALID.KIND_KUBERNETES;
const NEW_STACK_PREFIX = C.EXTERNALID.KIND_SYSTEM_CATALOG + C.EXTERNALID.KIND_SEPARATOR + C.CATALOG.LIBRARY_KEY + C.EXTERNALID.GROUP_SEPARATOR + C.EXTERNALID.KIND_KUBERNETES + C.EXTERNALID.GROUP_SEPARATOR;
var stack = (stacks||[]).filter((stack) => {
let externalId = stack.get('externalId')||'';
return externalId === OLD_STACK_ID || externalId.indexOf(NEW_STACK_PREFIX) === 0;
})[0];
return stack;
},
_getCollection(type, resourceName) {
return this._find(`${C.K8S.TYPE_PREFIX}${type}`, null, {
url: resourceName

View File

@ -27,8 +27,7 @@ export default Ember.Service.extend({
isReady: function() {
return this.get('store').find('environment').then((stacks) => {
return this.get('store').find('service').then((services) => {
let eId = C.EXTERNALID.KIND_SYSTEM + C.EXTERNALID.KIND_SEPARATOR + C.EXTERNALID.KIND_MESOS;
let stack = stacks.filterBy('externalId', eId)[0];
let stack = this.filterSystemStack(stacks);
if ( stack )
{
let matching = services.filterBy('environmentId', stack.get('id'));
@ -50,4 +49,16 @@ export default Ember.Service.extend({
return Ember.RSVP.resolve(false);
});
},
filterSystemStack(stacks) {
const OLD_STACK_ID = C.EXTERNALID.KIND_SYSTEM + C.EXTERNALID.KIND_SEPARATOR + C.EXTERNALID.KIND_MESOS;
const NEW_STACK_PREFIX = C.EXTERNALID.KIND_SYSTEM_CATALOG + C.EXTERNALID.KIND_SEPARATOR + C.CATALOG.LIBRARY_KEY + C.EXTERNALID.GROUP_SEPARATOR + C.EXTERNALID.KIND_MESOS + C.EXTERNALID.GROUP_SEPARATOR;
var stack = (stacks||[]).filter((stack) => {
let externalId = stack.get('externalId')||'';
return externalId === OLD_STACK_ID || externalId.indexOf(NEW_STACK_PREFIX) === 0;
})[0];
return stack;
},
});

View File

@ -5,8 +5,7 @@ export default Ember.Service.extend({
isReady() {
return this.get('store').find('environment').then((stacks) => {
return this.get('store').find('service').then((services) => {
let eId = C.EXTERNALID.KIND_SYSTEM + C.EXTERNALID.KIND_SEPARATOR + C.EXTERNALID.KIND_SWARM;
let stack = stacks.filterBy('externalId', eId)[0];
let stack = this.filterSystemStack(stacks);
if ( stack )
{
let matching = services.filterBy('environmentId', stack.get('id'));
@ -21,4 +20,16 @@ export default Ember.Service.extend({
return Ember.RSVP.resolve(false);
});
},
filterSystemStack(stacks) {
const OLD_STACK_ID = C.EXTERNALID.KIND_SYSTEM + C.EXTERNALID.KIND_SEPARATOR + C.EXTERNALID.KIND_SWARM;
const NEW_STACK_PREFIX = C.EXTERNALID.KIND_SYSTEM_CATALOG + C.EXTERNALID.KIND_SEPARATOR + C.CATALOG.LIBRARY_KEY + C.EXTERNALID.GROUP_SEPARATOR + C.EXTERNALID.KIND_SWARM + C.EXTERNALID.GROUP_SEPARATOR;
var stack = (stacks||[]).filter((stack) => {
let externalId = stack.get('externalId')||'';
return externalId === OLD_STACK_ID || externalId.indexOf(NEW_STACK_PREFIX) === 0;
})[0];
return stack;
},
});