| Class | BoxGrinder::ApplianceConfigValidator |
| In: |
lib/boxgrinder-core/validators/appliance-config-validator.rb
lib/boxgrinder-core/validators/appliance-config-validator.rb |
| Parent: | Object |
# File lib/boxgrinder-core/validators/appliance-config-validator.rb, line 23
23: def initialize(appliance_config, options = {})
24: @appliance_config = appliance_config
25: @options = options
26: end
# File lib/boxgrinder-core/validators/appliance-config-validator.rb, line 23
23: def initialize(appliance_config, options = {})
24: @appliance_config = appliance_config
25: @options = options
26: end
# File lib/boxgrinder-core/validators/appliance-config-validator.rb, line 28
28: def validate
29: check_for_missing_field('name')
30: # check_for_missing_field('summary')
31:
32: validate_os
33: validate_hardware
34: validate_repos
35: end
# File lib/boxgrinder-core/validators/appliance-config-validator.rb, line 28
28: def validate
29: check_for_missing_field('name')
30: # check_for_missing_field('summary')
31:
32: validate_os
33: validate_hardware
34: validate_repos
35: end
# File lib/boxgrinder-core/validators/appliance-config-validator.rb, line 39
39: def check_for_missing_field(name)
40: raise ApplianceValidationError, "Missing field: appliance definition file should have field '#{name}'" if eval("@appliance_config.#{name}").nil?
41: end
# File lib/boxgrinder-core/validators/appliance-config-validator.rb, line 39
39: def check_for_missing_field(name)
40: raise ApplianceValidationError, "Missing field: appliance definition file should have field '#{name}'" if eval("@appliance_config.#{name}").nil?
41: end
# File lib/boxgrinder-core/validators/appliance-config-validator.rb, line 43
43: def validate_hardware
44: raise ApplianceValidationError, "Not valid CPU amount: Too many or too less CPU's: '#{@appliance_config.hardware.cpus}'. Please choose from 1-4. Please correct your appliance definition file, thanks." unless @appliance_config.hardware.cpus >= 1 and @appliance_config.hardware.cpus <= 4
45: raise ApplianceValidationError, "Not valid memory amount: '#{@appliance_config.hardware.memory}' is wrong value. Please correct your appliance definition file" if @appliance_config.hardware.memory =~ /\d/
46: raise ApplianceValidationError, "Not valid memory amount: '#{@appliance_config.hardware.memory}' is not allowed here. Memory should be multiplicity of 64. Please correct your appliance definition file" if (@appliance_config.hardware.memory.to_i % 64 > 0)
47:
48: raise ApplianceValidationError, "No partitions found. Please correct your appliance definition file" if @appliance_config.hardware.partitions.size == 0
49: end
# File lib/boxgrinder-core/validators/appliance-config-validator.rb, line 43
43: def validate_hardware
44: raise ApplianceValidationError, "Not valid CPU amount: Too many or too less CPU's: '#{@appliance_config.hardware.cpus}'. Please choose from 1-4. Please correct your appliance definition file, thanks." unless @appliance_config.hardware.cpus >= 1 and @appliance_config.hardware.cpus <= 4
45: raise ApplianceValidationError, "Not valid memory amount: '#{@appliance_config.hardware.memory}' is wrong value. Please correct your appliance definition file" if @appliance_config.hardware.memory =~ /\d/
46: raise ApplianceValidationError, "Not valid memory amount: '#{@appliance_config.hardware.memory}' is not allowed here. Memory should be multiplicity of 64. Please correct your appliance definition file" if (@appliance_config.hardware.memory.to_i % 64 > 0)
47:
48: raise ApplianceValidationError, "No partitions found. Please correct your appliance definition file" if @appliance_config.hardware.partitions.size == 0
49: end
# File lib/boxgrinder-core/validators/appliance-config-validator.rb, line 51
51: def validate_os
52: raise ApplianceValidationError, "No operating system selected" if @appliance_config.os.name.nil?
53: end
# File lib/boxgrinder-core/validators/appliance-config-validator.rb, line 51
51: def validate_os
52: raise ApplianceValidationError, "No operating system selected" if @appliance_config.os.name.nil?
53: end
# File lib/boxgrinder-core/validators/appliance-config-validator.rb, line 55
55: def validate_repos
56: return if @appliance_config.repos.size == 0
57:
58: @appliance_config.repos.each do |repo|
59: raise ApplianceValidationError, "Not valid repo format: '#{repo}' is wrong value. Please correct your appliance definition file, thanks." unless repo.class.eql?(Hash)
60: raise ApplianceValidationError, "Not valid repo format: Please specify name for repository. Please correct your appliance definition file, thanks." unless repo.keys.include?('name')
61: raise ApplianceValidationError, "Not valid repo format: There is no 'mirrorlist' or 'baseurl' specified for '#{repo['name']}' repository. Please correct your appliance definition file, thanks." unless repo.keys.include?('mirrorlist') or repo.keys.include?('baseurl')
62: end
63: end
# File lib/boxgrinder-core/validators/appliance-config-validator.rb, line 55
55: def validate_repos
56: return if @appliance_config.repos.size == 0
57:
58: @appliance_config.repos.each do |repo|
59: raise ApplianceValidationError, "Not valid repo format: '#{repo}' is wrong value. Please correct your appliance definition file, thanks." unless repo.class.eql?(Hash)
60: raise ApplianceValidationError, "Not valid repo format: Please specify name for repository. Please correct your appliance definition file, thanks." unless repo.keys.include?('name')
61: raise ApplianceValidationError, "Not valid repo format: There is no 'mirrorlist' or 'baseurl' specified for '#{repo['name']}' repository. Please correct your appliance definition file, thanks." unless repo.keys.include?('mirrorlist') or repo.keys.include?('baseurl')
62: end
63: end