omf_ec 6.0.8.pre.4 → 6.0.8.pre.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/bin/omf_ec +18 -3
- data/example/test_exp/test01.rb +1 -1
- data/lib/omf_ec/context/app_context.rb +14 -6
- data/lib/omf_ec.rb +1 -1
- data/test/omf_ec/app_context_spec.rb +41 -0
- metadata +38 -19
- checksums.yaml +0 -7
    
        data/bin/omf_ec
    CHANGED
    
    | @@ -53,8 +53,18 @@ flag [:log_config] | |
| 53 53 | 
             
            desc "Add some colours to logging"
         | 
| 54 54 | 
             
            switch [:colour]
         | 
| 55 55 |  | 
| 56 | 
            +
            desc "EC config file"
         | 
| 57 | 
            +
            arg_name "file"
         | 
| 58 | 
            +
            flag [:c, :config]
         | 
| 59 | 
            +
             | 
| 60 | 
            +
            $config_file = ".config/omf_ec.yml"
         | 
| 61 | 
            +
            ARGV.each_index {|a|
         | 
| 62 | 
            +
              if ARGV[a]=="-c" or ARGV[a]=="--config"
         | 
| 63 | 
            +
                $config_file = ARGV[a+1] if not ARGV[a+1].nil?
         | 
| 64 | 
            +
              end
         | 
| 65 | 
            +
            }
         | 
| 56 66 | 
             
            # the path given here is relative to the user's home directory
         | 
| 57 | 
            -
            config_file( | 
| 67 | 
            +
            config_file($config_file)
         | 
| 58 68 |  | 
| 59 69 | 
             
            desc "Execute an experiment script"
         | 
| 60 70 | 
             
            arg_name "path_to_script_file [-- --experiment_property value]"
         | 
| @@ -184,7 +194,7 @@ desc "Return the status of the nodes" | |
| 184 194 | 
             
            command :stat do |c|
         | 
| 185 195 | 
             
              c.desc "use this testbed configuration in OMF 5 EC config file"
         | 
| 186 196 | 
             
              c.arg_name "AGGREGATE"
         | 
| 187 | 
            -
              c.flag [: | 
| 197 | 
            +
              c.flag [:C], :default_value => "default"
         | 
| 188 198 |  | 
| 189 199 | 
             
              c.desc "comma-separated list of nodes to image"
         | 
| 190 200 | 
             
              c.arg_name "TOPOLOGY"
         | 
| @@ -194,7 +204,7 @@ command :stat do |c| | |
| 194 204 | 
             
              c.switch [:s, :summary]
         | 
| 195 205 |  | 
| 196 206 | 
             
              c.action do |global_options, options, args|
         | 
| 197 | 
            -
                @cmd = "omf-5.4 stat -c #{options[: | 
| 207 | 
            +
                @cmd = "omf-5.4 stat -c #{options[:C]} -t #{options[:t]} "
         | 
| 198 208 | 
             
                @cmd += "-s" if options[:s]
         | 
| 199 209 | 
             
                load_exp(@testbed_exp_path, global_options, options)
         | 
| 200 210 | 
             
              end
         | 
| @@ -283,6 +293,11 @@ def setup_logging(global_options = {}) | |
| 283 293 | 
             
                                                       :pattern => '[%d] %-5l %c: %m\n')))
         | 
| 284 294 | 
             
              end
         | 
| 285 295 |  | 
| 296 | 
            +
              if OmfEc.experiment.oml_uri
         | 
| 297 | 
            +
                require 'oml4r/logging/oml4r_appender'
         | 
| 298 | 
            +
                Logging.logger.root.add_appenders(Logging.appenders.oml4r('oml4r', :appName => 'omf_ec_log', :domain => "#{OmfEc.experiment.id}", :collect => "#{OmfEc.experiment.oml_uri}"))
         | 
| 299 | 
            +
              end
         | 
| 300 | 
            +
             | 
| 286 301 | 
             
              OmfCommon.load_logging_config(global_options[:log_config])
         | 
| 287 302 | 
             
            end
         | 
| 288 303 |  | 
    
        data/example/test_exp/test01.rb
    CHANGED
    
    
| @@ -58,12 +58,20 @@ module OmfEc::Context | |
| 58 58 |  | 
| 59 59 | 
             
                # For now this follows v5.4 syntax...
         | 
| 60 60 | 
             
                # We have not yet finalised an OML syntax inside OEDL for v6
         | 
| 61 | 
            -
                 | 
| 62 | 
            -
             | 
| 63 | 
            -
             | 
| 64 | 
            -
                   | 
| 65 | 
            -
                   | 
| 66 | 
            -
                   | 
| 61 | 
            +
                # TODO: v6 currently does not support OML filters. Formerly in v5.x, these
         | 
| 62 | 
            +
                # filters were defined in an optional block.
         | 
| 63 | 
            +
                def measure(mp, opts, &block)
         | 
| 64 | 
            +
                  collect_point = opts.delete(:collect)
         | 
| 65 | 
            +
                  collect_point ||= OmfEc.experiment.oml_uri 
         | 
| 66 | 
            +
                  if collect_point.nil?
         | 
| 67 | 
            +
                    warn "No OML URI configured for measurement collection! "+
         | 
| 68 | 
            +
                         "(see option 'oml_uri'). Disabling OML Collection for '#{mp}'."
         | 
| 69 | 
            +
                    return
         | 
| 70 | 
            +
                  end
         | 
| 71 | 
            +
                  stream = { :mp => mp , :filters => [] }.merge(opts)
         | 
| 72 | 
            +
                  index = @oml_collections.find_index { |c| c[:url] == collect_point }
         | 
| 73 | 
            +
                  @oml_collections << {:url => collect_point, :streams => [stream] } if index.nil?
         | 
| 74 | 
            +
                  @oml_collections[index][:streams] << stream unless index.nil?
         | 
| 67 75 | 
             
                end
         | 
| 68 76 |  | 
| 69 77 | 
             
                def properties
         | 
    
        data/lib/omf_ec.rb
    CHANGED
    
    | @@ -47,7 +47,7 @@ end | |
| 47 47 |  | 
| 48 48 | 
             
                def register_default_callback(topic)
         | 
| 49 49 | 
             
                  topic.on_inform do |msg|
         | 
| 50 | 
            -
            OmfEc::MPReceived.inject(Time.now.to_f, topic.id, msg.mid) if OmfCommon::Measure.enabled?
         | 
| 50 | 
            +
                    OmfEc::MPReceived.inject(Time.now.to_f, topic.id, msg.mid) if OmfCommon::Measure.enabled?
         | 
| 51 51 | 
             
                    case msg.itype.upcase
         | 
| 52 52 | 
             
                    when 'CREATION.FAILED'
         | 
| 53 53 | 
             
                      warn "RC reports creation.failed: '#{msg[:reason]}'", msg.src
         | 
| @@ -0,0 +1,41 @@ | |
| 1 | 
            +
            # Copyright (c) 2014 National ICT Australia Limited (NICTA).
         | 
| 2 | 
            +
            # This software may be used and distributed solely under the terms of the MIT license (License).
         | 
| 3 | 
            +
            # You should find a copy of the License in LICENSE.TXT or at http://opensource.org/licenses/MIT.
         | 
| 4 | 
            +
            # By downloading or using this software you accept the terms and the liability disclaimer in the License.
         | 
| 5 | 
            +
             | 
| 6 | 
            +
            require 'test_helper'
         | 
| 7 | 
            +
            require 'omf_ec/context/app_context'
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            describe OmfEc::Context::AppContext do
         | 
| 10 | 
            +
              before do
         | 
| 11 | 
            +
                OmfEc.experiment.stubs(:app_definitions).returns({'foo_app' => 'foo_def'})
         | 
| 12 | 
            +
                @app_context = OmfEc::Context::AppContext.new('foo_app', 'foo_group')
         | 
| 13 | 
            +
              end
         | 
| 14 | 
            +
             | 
| 15 | 
            +
              describe "when defined with an associated application definition" do
         | 
| 16 | 
            +
                it "must be able to create valid configuration hash for OML Collection Measurement Points" do
         | 
| 17 | 
            +
                  @app_context.measure('ms1', :samples => 1)
         | 
| 18 | 
            +
                  @app_context.oml_collections.must_equal []
         | 
| 19 | 
            +
                  @app_context.measure('ms1', :samples => 1, :collect => "foo1")
         | 
| 20 | 
            +
                  @app_context.oml_collections.must_equal [{:url=>"foo1", :streams=>[{:mp=>"ms1", :filters=>[], :samples=>1}]}]
         | 
| 21 | 
            +
                  @app_context.oml_collections = []
         | 
| 22 | 
            +
                  @app_context.measure('ms1', :samples => 1, :collect => "foo1")
         | 
| 23 | 
            +
                  @app_context.measure('ms2', :interval => 1, :collect => "foo1")
         | 
| 24 | 
            +
                  @app_context.oml_collections.must_equal [{:url=>"foo1", :streams=>[{:mp=>"ms1", :filters=>[], :samples=>1}, {:mp=>"ms2", :filters=>[], :interval=>1}]}]
         | 
| 25 | 
            +
                  @app_context.oml_collections = []
         | 
| 26 | 
            +
                  @app_context.measure('ms1', :samples => 1, :collect => "foo1")
         | 
| 27 | 
            +
                  @app_context.measure('ms2', :interval => 1, :collect => "foo2")
         | 
| 28 | 
            +
                  @app_context.oml_collections.must_equal [{:url=>"foo1", :streams=>[{:mp=>"ms1", :filters=>[], :samples=>1}]}, {:url=>"foo2", :streams=>[{:mp=>"ms2", :filters=>[], :interval=>1}]}]
         | 
| 29 | 
            +
                  OmfEc.experiment.stubs(:oml_uri).returns('foo_url')
         | 
| 30 | 
            +
                  @app_context.oml_collections = []
         | 
| 31 | 
            +
                  @app_context.measure('ms1', :samples => 1)
         | 
| 32 | 
            +
                  @app_context.measure('ms2', :interval => 1)
         | 
| 33 | 
            +
                  @app_context.oml_collections.must_equal [{:url=>"foo_url", :streams=>[{:mp=>"ms1", :filters=>[], :samples=>1}, {:mp=>"ms2", :filters=>[], :interval=>1}]}]
         | 
| 34 | 
            +
                  @app_context.oml_collections = []
         | 
| 35 | 
            +
                  @app_context.measure('ms1', :samples => 1)
         | 
| 36 | 
            +
                  @app_context.measure('ms2', :interval => 1, :collect => "foo2")
         | 
| 37 | 
            +
                  @app_context.oml_collections.must_equal [{:url=>"foo_url", :streams=>[{:mp=>"ms1", :filters=>[], :samples=>1}]}, {:url=>"foo2", :streams=>[{:mp=>"ms2", :filters=>[], :interval=>1}]}]
         | 
| 38 | 
            +
                end
         | 
| 39 | 
            +
             | 
| 40 | 
            +
              end
         | 
| 41 | 
            +
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,18 +1,20 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: omf_ec
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 6.0.8.pre. | 
| 4 | 
            +
              version: 6.0.8.pre.5
         | 
| 5 | 
            +
              prerelease: 6
         | 
| 5 6 | 
             
            platform: ruby
         | 
| 6 7 | 
             
            authors:
         | 
| 7 8 | 
             
            - NICTA
         | 
| 8 9 | 
             
            autorequire: 
         | 
| 9 10 | 
             
            bindir: bin
         | 
| 10 11 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2014- | 
| 12 | 
            +
            date: 2014-02-05 00:00:00.000000000 Z
         | 
| 12 13 | 
             
            dependencies:
         | 
| 13 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 15 | 
             
              name: minitest
         | 
| 15 16 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 17 | 
            +
                none: false
         | 
| 16 18 | 
             
                requirements:
         | 
| 17 19 | 
             
                - - ~>
         | 
| 18 20 | 
             
                  - !ruby/object:Gem::Version
         | 
| @@ -20,6 +22,7 @@ dependencies: | |
| 20 22 | 
             
              type: :development
         | 
| 21 23 | 
             
              prerelease: false
         | 
| 22 24 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 25 | 
            +
                none: false
         | 
| 23 26 | 
             
                requirements:
         | 
| 24 27 | 
             
                - - ~>
         | 
| 25 28 | 
             
                  - !ruby/object:Gem::Version
         | 
| @@ -27,6 +30,7 @@ dependencies: | |
| 27 30 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 28 31 | 
             
              name: em-minitest-spec
         | 
| 29 32 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 33 | 
            +
                none: false
         | 
| 30 34 | 
             
                requirements:
         | 
| 31 35 | 
             
                - - ~>
         | 
| 32 36 | 
             
                  - !ruby/object:Gem::Version
         | 
| @@ -34,6 +38,7 @@ dependencies: | |
| 34 38 | 
             
              type: :development
         | 
| 35 39 | 
             
              prerelease: false
         | 
| 36 40 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 41 | 
            +
                none: false
         | 
| 37 42 | 
             
                requirements:
         | 
| 38 43 | 
             
                - - ~>
         | 
| 39 44 | 
             
                  - !ruby/object:Gem::Version
         | 
| @@ -41,85 +46,97 @@ dependencies: | |
| 41 46 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 42 47 | 
             
              name: simplecov
         | 
| 43 48 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 49 | 
            +
                none: false
         | 
| 44 50 | 
             
                requirements:
         | 
| 45 | 
            -
                - - '>='
         | 
| 51 | 
            +
                - - ! '>='
         | 
| 46 52 | 
             
                  - !ruby/object:Gem::Version
         | 
| 47 53 | 
             
                    version: '0'
         | 
| 48 54 | 
             
              type: :development
         | 
| 49 55 | 
             
              prerelease: false
         | 
| 50 56 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 57 | 
            +
                none: false
         | 
| 51 58 | 
             
                requirements:
         | 
| 52 | 
            -
                - - '>='
         | 
| 59 | 
            +
                - - ! '>='
         | 
| 53 60 | 
             
                  - !ruby/object:Gem::Version
         | 
| 54 61 | 
             
                    version: '0'
         | 
| 55 62 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 56 63 | 
             
              name: pry
         | 
| 57 64 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 65 | 
            +
                none: false
         | 
| 58 66 | 
             
                requirements:
         | 
| 59 | 
            -
                - - '>='
         | 
| 67 | 
            +
                - - ! '>='
         | 
| 60 68 | 
             
                  - !ruby/object:Gem::Version
         | 
| 61 69 | 
             
                    version: '0'
         | 
| 62 70 | 
             
              type: :development
         | 
| 63 71 | 
             
              prerelease: false
         | 
| 64 72 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 73 | 
            +
                none: false
         | 
| 65 74 | 
             
                requirements:
         | 
| 66 | 
            -
                - - '>='
         | 
| 75 | 
            +
                - - ! '>='
         | 
| 67 76 | 
             
                  - !ruby/object:Gem::Version
         | 
| 68 77 | 
             
                    version: '0'
         | 
| 69 78 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 70 79 | 
             
              name: mocha
         | 
| 71 80 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 81 | 
            +
                none: false
         | 
| 72 82 | 
             
                requirements:
         | 
| 73 | 
            -
                - - '>='
         | 
| 83 | 
            +
                - - ! '>='
         | 
| 74 84 | 
             
                  - !ruby/object:Gem::Version
         | 
| 75 85 | 
             
                    version: '0'
         | 
| 76 86 | 
             
              type: :development
         | 
| 77 87 | 
             
              prerelease: false
         | 
| 78 88 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 89 | 
            +
                none: false
         | 
| 79 90 | 
             
                requirements:
         | 
| 80 | 
            -
                - - '>='
         | 
| 91 | 
            +
                - - ! '>='
         | 
| 81 92 | 
             
                  - !ruby/object:Gem::Version
         | 
| 82 93 | 
             
                    version: '0'
         | 
| 83 94 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 84 95 | 
             
              name: omf_common
         | 
| 85 96 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 97 | 
            +
                none: false
         | 
| 86 98 | 
             
                requirements:
         | 
| 87 99 | 
             
                - - '='
         | 
| 88 100 | 
             
                  - !ruby/object:Gem::Version
         | 
| 89 | 
            -
                    version: 6.0.8.pre. | 
| 101 | 
            +
                    version: 6.0.8.pre.5
         | 
| 90 102 | 
             
              type: :runtime
         | 
| 91 103 | 
             
              prerelease: false
         | 
| 92 104 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 105 | 
            +
                none: false
         | 
| 93 106 | 
             
                requirements:
         | 
| 94 107 | 
             
                - - '='
         | 
| 95 108 | 
             
                  - !ruby/object:Gem::Version
         | 
| 96 | 
            -
                    version: 6.0.8.pre. | 
| 109 | 
            +
                    version: 6.0.8.pre.5
         | 
| 97 110 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 98 111 | 
             
              name: gli
         | 
| 99 112 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 113 | 
            +
                none: false
         | 
| 100 114 | 
             
                requirements:
         | 
| 101 | 
            -
                - - '>='
         | 
| 115 | 
            +
                - - ! '>='
         | 
| 102 116 | 
             
                  - !ruby/object:Gem::Version
         | 
| 103 117 | 
             
                    version: '0'
         | 
| 104 118 | 
             
              type: :runtime
         | 
| 105 119 | 
             
              prerelease: false
         | 
| 106 120 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 121 | 
            +
                none: false
         | 
| 107 122 | 
             
                requirements:
         | 
| 108 | 
            -
                - - '>='
         | 
| 123 | 
            +
                - - ! '>='
         | 
| 109 124 | 
             
                  - !ruby/object:Gem::Version
         | 
| 110 125 | 
             
                    version: '0'
         | 
| 111 126 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 112 127 | 
             
              name: sequel
         | 
| 113 128 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 129 | 
            +
                none: false
         | 
| 114 130 | 
             
                requirements:
         | 
| 115 | 
            -
                - - '>='
         | 
| 131 | 
            +
                - - ! '>='
         | 
| 116 132 | 
             
                  - !ruby/object:Gem::Version
         | 
| 117 133 | 
             
                    version: '0'
         | 
| 118 134 | 
             
              type: :runtime
         | 
| 119 135 | 
             
              prerelease: false
         | 
| 120 136 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 137 | 
            +
                none: false
         | 
| 121 138 | 
             
                requirements:
         | 
| 122 | 
            -
                - - '>='
         | 
| 139 | 
            +
                - - ! '>='
         | 
| 123 140 | 
             
                  - !ruby/object:Gem::Version
         | 
| 124 141 | 
             
                    version: '0'
         | 
| 125 142 | 
             
            description: Experiment controller of OMF, a generic framework for controlling and
         | 
| @@ -165,6 +182,7 @@ files: | |
| 165 182 | 
             
            - lib/omf_ec/group.rb
         | 
| 166 183 | 
             
            - lib/omf_ec/version.rb
         | 
| 167 184 | 
             
            - omf_ec.gemspec
         | 
| 185 | 
            +
            - test/omf_ec/app_context_spec.rb
         | 
| 168 186 | 
             
            - test/omf_ec/context_spec.rb
         | 
| 169 187 | 
             
            - test/omf_ec/dsl_spec.rb
         | 
| 170 188 | 
             
            - test/omf_ec/experiment_property_spec.rb
         | 
| @@ -174,25 +192,26 @@ files: | |
| 174 192 | 
             
            homepage: http://omf.mytestbed.net
         | 
| 175 193 | 
             
            licenses:
         | 
| 176 194 | 
             
            - MIT
         | 
| 177 | 
            -
            metadata: {}
         | 
| 178 195 | 
             
            post_install_message: 
         | 
| 179 196 | 
             
            rdoc_options: []
         | 
| 180 197 | 
             
            require_paths:
         | 
| 181 198 | 
             
            - lib
         | 
| 182 199 | 
             
            required_ruby_version: !ruby/object:Gem::Requirement
         | 
| 200 | 
            +
              none: false
         | 
| 183 201 | 
             
              requirements:
         | 
| 184 | 
            -
              - - '>='
         | 
| 202 | 
            +
              - - ! '>='
         | 
| 185 203 | 
             
                - !ruby/object:Gem::Version
         | 
| 186 204 | 
             
                  version: 1.9.3
         | 
| 187 205 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 206 | 
            +
              none: false
         | 
| 188 207 | 
             
              requirements:
         | 
| 189 | 
            -
              - - '>'
         | 
| 208 | 
            +
              - - ! '>'
         | 
| 190 209 | 
             
                - !ruby/object:Gem::Version
         | 
| 191 210 | 
             
                  version: 1.3.1
         | 
| 192 211 | 
             
            requirements: []
         | 
| 193 212 | 
             
            rubyforge_project: omf_ec
         | 
| 194 | 
            -
            rubygems_version:  | 
| 213 | 
            +
            rubygems_version: 1.8.24
         | 
| 195 214 | 
             
            signing_key: 
         | 
| 196 | 
            -
            specification_version:  | 
| 215 | 
            +
            specification_version: 3
         | 
| 197 216 | 
             
            summary: OMF experiment controller
         | 
| 198 217 | 
             
            test_files: []
         | 
    
        checksums.yaml
    DELETED
    
    | @@ -1,7 +0,0 @@ | |
| 1 | 
            -
            ---
         | 
| 2 | 
            -
            SHA1:
         | 
| 3 | 
            -
              metadata.gz: 0c8f0366816084708f868b39e9cf0ba8188fc311
         | 
| 4 | 
            -
              data.tar.gz: b2bf0c637089196f8996da713770d152f386d6f5
         | 
| 5 | 
            -
            SHA512:
         | 
| 6 | 
            -
              metadata.gz: 7c81d45d25d9bcd907458a7cb34ff0bb2e39ad26341aa6126b3340fc125fb59594bd3420388e670b3df608a23ae2b5297ff62276eba28dc1f3fcdf83b81ebace
         | 
| 7 | 
            -
              data.tar.gz: 1383c37c3f7b7522b12b5f57108ba78cba43b035b35e26f9ea85a09f2ee0aa332ccefb6508e9dcfaeaf0dca52218ca3324a990d20dc96932076c72750e7eed5f
         |