pgAutoscaleModes: string[];
crushUsage: string[] = undefined; // Will only be set if a rule is used by some pool
ecpUsage: string[] = undefined; // Will only be set if a rule is used by some pool
+ crushRuleMaxSize = 10;
private modalSubscription: Subscription;
validators: [
CdValidators.custom(
'tooFewOsds',
- (rule: any) => this.info && rule && this.info.osd_count < rule.min_size
+ (rule: any) => this.info && rule && this.info.osd_count < 1
),
CdValidators.custom(
'required',
}),
erasureProfile: new FormControl(null),
pgNum: new FormControl('', {
- validators: [Validators.required, Validators.min(1)]
+ validators: [Validators.required]
}),
pgAutoscaleMode: new FormControl(null),
ecOverwrites: new FormControl(false),
compression: compressionForm,
max_bytes: new FormControl(''),
- max_objects: new FormControl(0, {
- validators: [Validators.min(0)]
- })
+ max_objects: new FormControl(0)
},
[CdValidators.custom('form', (): null => null)]
);
if (!this.info || this.info.osd_count < 1) {
return 0;
}
- const rule = this.form.getValue('crushRule');
- if (rule) {
- return rule.min_size;
- }
return 1;
}
rule.steps[0].item_name
);
const currentDomain = domains[rule.steps[1].type];
- const usable = currentDomain ? currentDomain.length : rule.max_size;
- rule.usable_size = Math.min(usable, rule.max_size);
+ const usable = currentDomain ? currentDomain.length : this.crushRuleMaxSize;
+ rule.usable_size = Math.min(usable, this.crushRuleMaxSize);
}
private replicatedPgCalc(pgs: number): number {
return;
}
if (usage) {
+ deletionBtn.animation = false;
deletionBtn.toggle();
this.data[dataName] = true;
setTimeout(() => {