perfsonar / mesh-config

Centralized configuration framework for measurement points and GUIs
Apache License 2.0
2 stars 0 forks source link

BUG: meshconfig pinger test specification #34

Closed igarny closed 8 years ago

igarny commented 8 years ago

Hi Andy,

with this excerpt: [centos@pertcs01 ~]$ grep -A5 -B5 ".3" train-mesh.xml type pinger # Perform PingER tests test_interval 900 force_bidirectional 1 ipv4_only 1 packet_count 8 packet_interval .3 packet_size 1000 random_start_percentage 5

I am getting the errors bellow when building the json config. I was relying on the documentation here: http://docs.perfsonar.net/release_candidates/4.0rc1/config_mesh.html#id9

when I fix the packet_interval value to 1, the errors disappeared.

Of course it could a problem of documentation.

regards, Ivan

[centos@pertcs01 ~]$ /usr/lib/perfsonar/bin/build_json -o train-mesh.json train-mesh.xml 2016/10/19 08:08:47 (20659) ERROR> Utils.pm:80 perfSONAR_PS::MeshConfig::Utils::load_mesh - Invalid mesh configuration: Attribute (packet_interval) does not pass the type constraint because: Validation failed for 'Int' with value .3 at /usr/lib/perfsonar/bin/../lib/perfSONAR_PS/MeshConfig/Config/Base.pm line 165 perfSONAR_PS::MeshConfig::Config::Base::parse('perfSONAR_PS::MeshConfig::Config::TestParameters::Base', 'HASH(0x38c7488)', 1, undef) called at /usr/lib/perfsonar/bin/../lib/perfSONAR_PS/MeshConfig/Config/Base.pm line 150 perfSONAR_PS::MeshConfig::Config::Base::parse('perfSONAR_PS::MeshConfig::Config::Test', 'HASH(0x38c7398)', 1, undef) called at /usr/lib/perfsonar/bin/../lib/perfSONAR_PS/MeshConfig/Config/Base.pm line 137 perfSONAR_PS::MeshConfig::Config::Base::parse('perfSONAR_PS::MeshConfig::Config::Mesh', 'HASH(0x38b6820)', 1, undef) called at /usr/lib/perfsonar/bin/../lib/perfSONAR_PS/MeshConfig/Utils.pm line 76 eval {...} called at /usr/lib/perfsonar/bin/../lib/perfSONAR_PS/MeshConfig/Utils.pm line 73 perfSONAR_PS::MeshConfig::Utils::load_mesh('HASH(0x38be018)') called at /usr/lib/perfsonar/bin/../lib/perfSONAR_PS/MeshConfig/Utils.pm line 370 perfSONAR_PS::MeshConfig::Utils::build_json('configuration', 'HASH(0x3892e38)', 'skip_validation', undef, 'resolve_includes', undef) called at /usr/lib/perfsonar/bin/build_json line 84 Resulting mesh is invalid: Invalid mesh configuration: Attribute (packet_interval) does not pass the type constraint because: Validation failed for 'Int' with value .3 at /usr/lib/perfsonar/bin/../lib/perfSONAR_PS/MeshConfig/Config/Base.pm line 165 perfSONAR_PS::MeshConfig::Config::Base::parse('perfSONAR_PS::MeshConfig::Config::TestParameters::Base', 'HASH(0x38c7488)', 1, undef) called at /usr/lib/perfsonar/bin/../lib/perfSONAR_PS/MeshConfig/Config/Base.pm line 150 perfSONAR_PS::MeshConfig::Config::Base::parse('perfSONAR_PS::MeshConfig::Config::Test', 'HASH(0x38c7398)', 1, undef) called at /usr/lib/perfsonar/bin/../lib/perfSONAR_PS/MeshConfig/Config/Base.pm line 137 perfSONAR_PS::MeshConfig::Config::Base::parse('perfSONAR_PS::MeshConfig::Config::Mesh', 'HASH(0x38b6820)', 1, undef) called at /usr/lib/perfsonar/bin/../lib/perfSONAR_PS/MeshConfig/Utils.pm line 76 eval {...} called at /usr/lib/perfsonar/bin/../lib/perfSONAR_PS/MeshConfig/Utils.pm line 73 perfSONAR_PS::MeshConfig::Utils::load_mesh('HASH(0x38be018)') called at /usr/lib/perfsonar/bin/../lib/perfSONAR_PS/MeshConfig/Utils.pm line 370 perfSONAR_PS::MeshConfig::Utils::build_json('configuration', 'HASH(0x3892e38)', 'skip_validation', undef, 'resolve_includes', undef) called at /usr/lib/perfsonar/bin/build_json line 84

arlake228 commented 8 years ago

Looks like the MeshConfig requires that to be an Int currently, though you are correct documentation does not indicate as such. The ping command and pscheduler both accept decimal values, so it should in fact be allowed to be a decimal. I will have a forthcoming commit that allows this to be a decimal.