Skip to content

Commit 875d40f

Browse files
lizardKmarie-j
authored andcommitted
feat(instances.iops): add new iops flavor type (#1389)
ref: MANAGER-2307
1 parent d94a578 commit 875d40f

File tree

10 files changed

+30
-5
lines changed

10 files changed

+30
-5
lines changed

packages/manager/modules/pci/src/components/project/flavors-list/flavor-group.class.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,13 @@ export default class FlavorGroup {
2525
),
2626
);
2727
this.flavors = flavors;
28+
29+
this.osTypes = uniq(
30+
map(
31+
this.flavors,
32+
flavor => flavor.osType,
33+
),
34+
);
2835
}
2936

3037
isAvailableInRegion(region) {

packages/manager/modules/pci/src/components/project/flavors-list/flavors-list.constants.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,18 @@ export const CATEGORIES = [
2626
title: 'Sandbox',
2727
pattern: /vps/,
2828
},
29+
{
30+
category: 'iops',
31+
title: 'IOPS',
32+
pattern: /ovh\.iops/,
33+
},
2934
];
3035

3136
export const FLEX_TYPE = /flex$/;
3237

3338
export const LEGACY_FLAVORS = /eg|sp|hg|vps-ssd/;
3439

35-
export const SSD_DISK_TYPES = [/ssd/, /nvme/];
40+
export const SSD_DISK_TYPES = [/ssd/, /nvme/, /iops/];
3641

3742
export const CPU_FREQUENCY = {
3843
'ovh.vps-ssd': 2.4,

packages/manager/modules/pci/src/components/project/flavors-list/translations/Messages_fr_FR.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
"pci_project_flavors_category_definition_ram": "Les instances à mémoire optimisée sont recommandées pour vos bases de données, analyses et calculs en mémoire, ainsi que d'autres applicatifs gourmands en RAM.",
55
"pci_project_flavors_category_definition_accelerated": "Les instances de calcul accéléré (GPU, FPGA) sont jusqu'à 1 000 fois plus rapides qu'un CPU sur certaines applications (rendering, transcodage vidéo, bio-informatique, Big Data, deep learning, etc.)",
66
"pci_project_flavors_category_definition_vps": "Les instances à ressources partagées (Sandbox) sont adaptées aux tests, recettes et environnements de développement. Leurs performances peuvent légèrement varier au cours du temps.",
7+
"pci_project_flavors_category_definition_iops": "Les instances IOPS livrent les transactions disque les plus rapides de la gamme Public Cloud.",
78
"pci_project_flavors_category_definition_none": "Pas de modèle disponible pour cette catégorie",
89
"pci_project_flavors_disk_size": "L'espace disque est inférieur à celui du modèle actuel",
910

packages/manager/modules/pci/src/components/project/images-list/images-list.component.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ export default {
77
bindings: {
88
displaySelectedImage: '<',
99
flavorType: '<?',
10+
osTypes: '<?',
1011
selectedImage: '=?',
1112
defaultImageId: '<?',
1213
onChange: '&?',

packages/manager/modules/pci/src/components/project/images-list/images-list.controller.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,9 @@ export default class ImagesListController {
140140
}
141141

142142
isCompatible(image) {
143-
return image.isAvailableInRegion(this.region) && image.isCompatibleWithFlavor(this.flavorType);
143+
return image.isAvailableInRegion(this.region)
144+
&& image.isCompatibleWithFlavor(this.flavorType)
145+
&& image.isCompatibleWithOsTypes(this.osTypes);
144146
}
145147

146148
isDistributionCompatible(images) {

packages/manager/modules/pci/src/components/project/images-list/images.class.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,10 @@ export default class Image {
5353
|| some(this.getFlavorTypes(), type => includes(flavorType, type));
5454
}
5555

56+
isCompatibleWithOsTypes(osTypes) {
57+
return includes(osTypes, this.type);
58+
}
59+
5660
getIdByRegion(region) {
5761
return get(find(this.regions, { region }), 'id');
5862
}

packages/manager/modules/pci/src/projects/project/instances/add/add.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@ <h1 data-translate="pci_projects_project_instances_add_title"></h1>
128128
<pci-project-images-list
129129
data-display-selected-image="$ctrl.displaySelectedImage"
130130
data-flavor-type="$ctrl.model.flavorGroup.name"
131+
data-os-types="$ctrl.model.flavorGroup.osTypes"
131132
data-region="$ctrl.model.datacenter.name"
132133
data-service-name="{{:: $ctrl.projectId }}"
133134
data-selected-image="$ctrl.model.image">

packages/manager/modules/pci/src/projects/project/instances/instance/backup/backup.html

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,5 +35,9 @@
3535
<span data-translate="pci_projects_project_instances_instance_backup_warning_message"></span>
3636
</oui-message>
3737

38+
<oui-message type="warning" data-ng-if="$ctrl.instance.flavor.type === 'ovh.iops'">
39+
<span data-translate="pci_projects_project_instances_instance_backup_warning_iops_message"></span>
40+
</oui-message>
41+
3842
</oui-modal>
3943
</form>

packages/manager/modules/pci/src/projects/project/instances/instance/backup/translations/Messages_fr_FR.json

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
"pci_projects_project_instances_instance_backup_cancel_label": "Annuler",
88

99
"pci_projects_project_instances_instance_backup_success_message": "Le backup {{ backup }} est en cours de création",
10-
"pci_projects_project_instances_instance_backup_error_backup": "Une erreur est survenue lors de la création du backup {{ backup }} : {{ message }}"
11-
12-
10+
"pci_projects_project_instances_instance_backup_error_backup": "Une erreur est survenue lors de la création du backup {{ backup }} : {{ message }}",
11+
"pci_projects_project_instances_instance_backup_warning_iops_message": "La sauvegarde ne concerne que votre disque racine (système d'exploitation). Aucune donnée ne sera sauvegardée à partir de périphériques NVMe. Veuillez utiliser vos propres outils pour cela."
1312
}

packages/manager/modules/pci/src/projects/project/instances/instance/edit/edit.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ <h1>{{:: 'pci_projects_project_instances_instance_edit_title' | translate }}</h1
6969

7070
<pci-project-images-list
7171
data-flavor-type="$ctrl.instance.flavor.type"
72+
data-os-types="[$ctrl.instance.flavor.osType]"
7273
data-region="$ctrl.instance.region"
7374
data-service-name="{{:: $ctrl.projectId }}"
7475
data-default-image-id="$ctrl.instance.image.id"

0 commit comments

Comments
 (0)