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