Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Variables
    1. Distribute variables into classes
      1. class: Main: Okapi Host, Username, Tenant
      2. class: Main (workflows specific): edge-host, API Keys
      3. class: Load: User, duration, ramp up <-- workflow specific
        1. Long vs. short durations 
        2. Big jobs vs. time-bound jobs.
      4. class: Flow-based: profile, file  <-- workflow specific
    2. Passing in variables from Jenkins job. 
      1. Group the like workflows' variables into separate groups and assigning probabilities in each group
      2. JSON configuration that has configurations for each workflow
        1. Pros: Does not need to create a long list of parameters in the Jenkins job. 
        2. Cons: Long file, hard to work with.
      3. Store the workflow configuration file on Github (pull it down when building the job)
        1. Pros:  Changes to the config are documented as Github as commit comment each time the file is checked in.
        2. Cons: The configuration still needs to be in some form (JSON, XML, plaint text/csv, etc..)
      4. Store the workflow config file in Artifact package
        1. Pros:
        2. Cons: 
          1. If a slight change to one of the parameters is made, a new artifact package will have to be recreated. 
          2. Need to keep record of the versions of the packages that have whichever changes. 
      5. Expose the parameters directly in Jenkins as text boxes and other controls (drop down lists, check boxes, etc..) 
        1. Pros:
        2. Cons: 
          1. A very long Jenkins job that may have well over 200 parameters.
  2. Probability of calls (TBD - with small POCs)
    1. Flow based?
    2. tenant/cluster based - to control the distribution of calls to the workflows. 
    3. Implementation:
      1. Smaller thread groups easier to manage, debug
                How:
                Pros:
                Cons:
      2. One thread group
                How: 
                Pros:
                Cons:
  3. How to retrieve secured variables like username, password?
  4. Automation: Any modifications to the current Jenkins job needed?  
  5. Script size: How big is too big? Can it reasonably accommodate 30-40 workflows?