cfme.utils.trackerbot module

class cfme.utils.trackerbot.Group(name, stream=True, active=True)[source]

Bases: dict

dict subclass to help serialize groups as JSON

class cfme.utils.trackerbot.Provider(key)[source]

Bases: dict

dict subclass to help serialize providers as JSON

class cfme.utils.trackerbot.ProviderTemplate(provider, template, usable=None, tested=None)[source]

Bases: dict

dict subclass to help serialize providertemplate details as JSON

class cfme.utils.trackerbot.Template(name, group=None, datestamp=None, custom_data=None)[source]

Bases: dict

dict subclass to help serialize templates as JSON

cfme.utils.trackerbot.active_streams(api, force=False)[source]

Return an API object authenticated to the given trackerbot api

cfme.utils.trackerbot.check_if_tested(api, template_name, provider_type)[source]

Check if a template has been tested on a specific provider type.

  • template_name – e.g. “cfme-59021-02141929”
  • provider_type – e.g. “rhevm”

True if this template has been tested on at least one deployment of this provider type False otherwise


Get a parser with basic trackerbot configuration params already set up

It will use the following keys from the env conf if they’re available:

# with example values
    url: http://hostname/api/
    username: username
    apikey: 0123456789abcdef
cfme.utils.trackerbot.composite_uncollect(build, source='jenkins', limit_ts=None)[source]

Composite build function

cfme.utils.trackerbot.delete_provider_template(api, provider, template)[source]

Delete a provider/template relationship, used when a template is removed from one provider

cfme.utils.trackerbot.depaginate(api, result)[source]

Depaginate the first (or only) page of a paginated result

cfme.utils.trackerbot.get_tested_providers(api, template_name)[source]

Return all tested provider templates for given template_name

cfme.utils.trackerbot.latest_template(api, group, provider_key=None)[source]
cfme.utils.trackerbot.mark_provider_template(api, provider, template, tested=None, usable=None, diagnosis='', build_number=None, stream=None, custom_data=None)[source]

Mark a provider template as tested and/or usable

  • api – The trackerbot API to act on
  • provider – The provider’s key in cfme_data or a Provider instance
  • template – The name of the template to mark on this provider or a Template
  • tested – Whether or not this template has been tested on this provider
  • usable – Whether or not this template is usable on this provider
  • diagnosis – Optional reason for marking a template

Returns the response of the API request

cfme.utils.trackerbot.mark_unusable_as_untested(api, template_name, provider_type)[source]

Search through all tested providers and if provider type is unusable, mark it as not tested

This action is limited to a specific template_name and a specific provider_type

cfme.utils.trackerbot.post_jenkins_result(job_name, number, stream, date, template, build_status, artifact_report)[source]
cfme.utils.trackerbot.post_task_result(tid, result, output=None, coverage=0.0)[source]
cfme.utils.trackerbot.set_provider_active(api, provider, active=True)[source]

Set a provider active (or inactive)

  • api – The trackerbot API to act on
  • active – active flag to set on the provider (True or False)
cfme.utils.trackerbot.templates_to_test(api, limit=1, request_type=None)[source]

get untested templates to pass to jenkins

  • limit – max number of templates to pull per request
  • request_type – request the provider_key of specific type
  • openstack (e.g) –
cfme.utils.trackerbot.trackerbot_add_provider_template(stream, provider, template_name, custom_data=None)[source]