Skip to content
This repository was archived by the owner on Jan 20, 2021. It is now read-only.

Commit b1661a7

Browse files
author
Pearl Dsilva
committed
Added powerflex support to create storage pool foem
1 parent ad71213 commit b1661a7

File tree

1 file changed

+46
-10
lines changed

1 file changed

+46
-10
lines changed

src/views/infra/AddPrimaryStorage.vue

Lines changed: 46 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -249,16 +249,41 @@
249249
</a-form-item>
250250
</div>
251251
<div v-if="this.providerSelected === 'PowerFlex'">
252-
<a-form-item :label="$t('label.powerflex.gateway')">
253-
<a-input v-decorator="['powerflexGateway']" />
254-
<a-form-item :label="$t('label.powerflex.gateway.username')">
255-
<a-input v-decorator="['powerflexGatewayUsername']" />
252+
<a-form-item>
253+
<span slot="label">
254+
{{ $t('label.powerflex.gateway') }}
255+
<a-tooltip :title="$t('label.powerflex.gateway')">
256+
<a-icon type="info-circle" style="color: rgba(0,0,0,.45)" />
257+
</a-tooltip>
258+
</span>
259+
<a-input v-decorator="['powerflexGateway', { rules: [{ required: true, message: `${$t('label.required')}` }] }]"/>
256260
</a-form-item>
257-
<a-form-item :label="$t('label.powerflex.gateway.password')">
258-
<a-input v-decorator="['powerflexGatewayPassword']" />
261+
<a-form-item>
262+
<span slot="label">
263+
{{ $t('label.powerflex.gateway.username') }}
264+
<a-tooltip :title="$t('label.powerflex.gateway.username')">
265+
<a-icon type="info-circle" style="color: rgba(0,0,0,.45)" />
266+
</a-tooltip>
267+
</span>
268+
<a-input v-decorator="['powerflexGatewayUsername', { rules: [{ required: true, message: `${$t('label.required')}` }] }]"/>
269+
</a-form-item>
270+
<a-form-item>
271+
<span slot="label">
272+
{{ $t('label.powerflex.gateway.password') }}
273+
<a-tooltip :title="$t('label.powerflex.gateway.password')">
274+
<a-icon type="info-circle" style="color: rgba(0,0,0,.45)" />
275+
</a-tooltip>
276+
</span>
277+
<a-input-password v-decorator="['powerflexGatewayPassword', { rules: [{ required: true, message: `${$t('label.required')}` }] }]"/>
259278
</a-form-item>
260-
</a-form-item><a-form-item :label="$t('label.powerflex.storage.pool')">
261-
<a-input v-decorator="['powerflexStoragePool']" />
279+
<a-form-item>
280+
<span slot="label">
281+
{{ $t('label.powerflex.storage.pool') }}
282+
<a-tooltip :title="$t('label.powerflex.storage.pool')">
283+
<a-icon type="info-circle" style="color: rgba(0,0,0,.45)" />
284+
</a-tooltip>
285+
</span>
286+
<a-input v-decorator="['powerflexStoragePool', { rules: [{ required: true, message: `${$t('label.required')}` }] }]"/>
262287
</a-form-item>
263288
</div>
264289
<div v-if="this.protocolSelected === 'RBD'">
@@ -570,6 +595,11 @@ export default {
570595
}
571596
return url
572597
},
598+
powerflexURL (gateway, username, password, pool) {
599+
var url = 'powerflex://' + encodeURIComponent(username) + ':' + encodeURIComponent(password) + '@' +
600+
gateway + '/' + encodeURIComponent(pool)
601+
return url
602+
},
573603
closeModal () {
574604
this.$parent.$parent.close()
575605
},
@@ -662,7 +692,7 @@ export default {
662692
url = this.iscsiURL(server, iqn, lun)
663693
}
664694
params.url = url
665-
if (values.provider !== 'DefaultPrimary') {
695+
if (values.provider !== 'DefaultPrimary' && values.provider !== 'PowerFlex') {
666696
if (values.managed) {
667697
params.managed = true
668698
} else {
@@ -678,11 +708,17 @@ export default {
678708
params.url = values.url
679709
}
680710
}
711+
712+
if (values.provider === 'PowerFlex') {
713+
params.url = this.powerflexURL(values.powerflexGateway, values.powerflexGatewayUsername,
714+
values.powerflexGatewayPassword, values.powerflexStoragePool)
715+
}
716+
681717
if (this.selectedTags.length > 0) {
682718
params.tags = this.selectedTags.join()
683719
}
684720
this.loading = true
685-
api('createStoragePool', params).then(json => {
721+
api('createStoragePool', {}, 'POST', params).then(json => {
686722
this.$notification.success({
687723
message: this.$t('label.add.primary.storage'),
688724
description: this.$t('label.add.primary.storage')

0 commit comments

Comments
 (0)