diff --git a/app/models/manageiq/providers/ansible_tower/inventory/collector/automation_manager.rb b/app/models/manageiq/providers/ansible_tower/inventory/collector/automation_manager.rb index 3acd070fd8a..7752d44161e 100644 --- a/app/models/manageiq/providers/ansible_tower/inventory/collector/automation_manager.rb +++ b/app/models/manageiq/providers/ansible_tower/inventory/collector/automation_manager.rb @@ -14,4 +14,8 @@ def hosts def job_templates connection.api.job_templates.all end + + def projects + @connection.api.projects.all + end end diff --git a/app/models/manageiq/providers/ansible_tower/inventory/parser/automation_manager.rb b/app/models/manageiq/providers/ansible_tower/inventory/parser/automation_manager.rb index 84dbf6c3dd7..0ed2e737548 100644 --- a/app/models/manageiq/providers/ansible_tower/inventory/parser/automation_manager.rb +++ b/app/models/manageiq/providers/ansible_tower/inventory/parser/automation_manager.rb @@ -3,6 +3,7 @@ def parse inventory_groups configured_systems configuration_scripts + configuration_script_sources end def inventory_groups @@ -32,4 +33,20 @@ def configuration_scripts o[:inventory_root_group] = target.inventory_groups.lazy_find(i.inventory_id.to_s) end end + + def configuration_script_sources + collector.projects.each do |i| + o = target.configuration_script_sources.find_or_build(i.id.to_s) + o[:description] = i.description + o[:name] = i.name + + i.playbooks.each do |playbook_name| + # FIXME: its not really nice how I have to build a manager_ref / uuid here + p = target.playbooks.find_or_build("#{i.id}__#{playbook_name}") + # FIXME: how about just adding `o` - configuration_script_source here? + p[:configuration_script_source] = target.configuration_script_sources.lazy_find(i.id.to_s) + p[:name] = playbook_name + end + end + end end diff --git a/app/models/manageiq/providers/ansible_tower/inventory/target/automation_manager.rb b/app/models/manageiq/providers/ansible_tower/inventory/target/automation_manager.rb index 7cb23608c0e..97e258826a3 100644 --- a/app/models/manageiq/providers/ansible_tower/inventory/target/automation_manager.rb +++ b/app/models/manageiq/providers/ansible_tower/inventory/target/automation_manager.rb @@ -27,4 +27,24 @@ def configuration_scripts :builder_params => {:manager => @root} ) end + + def configuration_script_sources + collections[:configuration_script_sources] ||= ManagerRefresh::InventoryCollection.new( + :model_class => ConfigurationScriptSource, + :association => :configuration_script_sources, + :manager_ref => [:manager_ref], + :parent => @root, + :builder_params => {:manager => @root} + ) + end + + def playbooks + collections[:playbooks] ||= ManagerRefresh::InventoryCollection.new( + :model_class => ManageIQ::Providers::AnsibleTower::AutomationManager::Playbook, + :association => :configuration_script_payloads, + :manager_ref => [:manager_ref], + :parent => @root, + :builder_params => {:manager => @root} + ) + end end diff --git a/app/models/manageiq/providers/automation_manager.rb b/app/models/manageiq/providers/automation_manager.rb index cf776578bd7..81e9721e93d 100644 --- a/app/models/manageiq/providers/automation_manager.rb +++ b/app/models/manageiq/providers/automation_manager.rb @@ -8,6 +8,7 @@ class ManageIQ::Providers::AutomationManager < ::ExtManagementSystem has_many :inventory_groups, :dependent => :destroy, :foreign_key => "ems_id", :inverse_of => :manager has_many :inventory_root_groups, :dependent => :destroy, :foreign_key => "ems_id", :inverse_of => :manager has_many :configuration_script_sources, :dependent => :destroy, :foreign_key => "manager_id" + has_many :configuration_script_payloads, :through => :configuration_script_sources virtual_column :total_configuration_profiles, :type => :integer virtual_column :total_configured_systems, :type => :integer diff --git a/spec/models/manageiq/providers/ansible_tower/automation_manager/refresher_spec.rb b/spec/models/manageiq/providers/ansible_tower/automation_manager/refresher_spec.rb index 2d8b07115d5..50c08f6caf5 100644 --- a/spec/models/manageiq/providers/ansible_tower/automation_manager/refresher_spec.rb +++ b/spec/models/manageiq/providers/ansible_tower/automation_manager/refresher_spec.rb @@ -1,14 +1,39 @@ describe ManageIQ::Providers::AnsibleTower::AutomationManager::Refresher do - let(:auth) { FactoryGirl.create(:authentication) } + # To re-record cassettes or to add cassettes you can add another inner `VCR.use_cassette` block to the + # 'will perform a full refresh' example. When running specs, new requests are recorded to the innermost cassette and + # can be played back from any level of nesting (it tries the innermost cassette first, then searches up the parent + # chain) - http://stackoverflow.com/a/13425826 + # + # To add a new cassette + # * add another block (innermost) with an empty cassette + # * change existing cassettes to use your working credentials + # * run the specs to create a new cassette + # * change new and existing cassettes to use default credentials + # + # To re-record a cassette + # * temporarily make the cassette the innermost one (see above about recording) + # * rm cassette ; run specs + # * change back the order of cassettes + # + # To change credentials in cassettes: + # replace with defaults - before committing + # ruby -pi -e 'gsub /dev-ansible-tower3.cloudforms.lab.eng.rdu2.redhat.com/, "dev-ansible-tower2.example.com"; gsub /admin:smartvm/, "testuser:secret"' spec/vcr_cassettes/manageiq/providers/ansible_tower/automation_manager/*.yml + # replace with your working credentials + # ruby -pi -e 'gsub /dev-ansible-tower2.example.com/, "dev-ansible-tower3.cloudforms.lab.eng.rdu2.redhat.com"; gsub /testuser:secret/, "admin:smartvm"' spec/vcr_cassettes/manageiq/providers/ansible_tower/automation_manager/*.yml + + let(:tower_url) { ENV['TOWER_URL'] || "https://dev-ansible-tower2.example.com/api/v1/" } + let(:auth_userid) { ENV['TOWER_USER'] || 'testuser' } + let(:auth_password) { ENV['TOWER_PASSWORD'] || 'secret' } + + let(:auth) { FactoryGirl.create(:authentication, :userid => auth_userid, :password => auth_password) } let(:automation_manager) { provider.automation_manager } let(:expected_counterpart_vm) { FactoryGirl.create(:vm, :uid_ems => "4233080d-7467-de61-76c9-c8307b6e4830") } let(:provider) do _guid, _server, zone = EvmSpecHelper.create_guid_miq_server_zone FactoryGirl.create(:provider_ansible_tower, :zone => zone, - :url => "https://dev-ansible-tower2.example.com/api/v1/", - :verify_ssl => false, - ).tap { |provider| provider.authentications << auth } + :url => tower_url, + :verify_ssl => false,).tap { |provider| provider.authentications << auth } end it ".ems_type" do @@ -19,9 +44,12 @@ expected_counterpart_vm 2.times do + # to re-record cassettes see comment at the beginning of this file VCR.use_cassette(described_class.name.underscore) do - EmsRefresh.refresh(automation_manager) - expect(automation_manager.reload.last_refresh_error).to be_nil + VCR.use_cassette(described_class.name.underscore + '_configuration_script_sources') do + EmsRefresh.refresh(automation_manager) + expect(automation_manager.reload.last_refresh_error).to be_nil + end end assert_counts @@ -29,6 +57,8 @@ assert_configuration_script_with_nil_survey_spec assert_configuration_script_with_survey_spec assert_inventory_root_group + assert_configuration_script_sources + assert_playbooks end end @@ -38,6 +68,25 @@ def assert_counts expect(automation_manager.configured_systems.count).to eq(98) expect(automation_manager.configuration_scripts.count).to eq(13) expect(automation_manager.inventory_groups.count).to eq(7) + expect(automation_manager.configuration_script_sources.count).to eq(6) + expect(automation_manager.configuration_script_payloads.count).to eq(438) + end + + def assert_playbooks + configuration_script_source = automation_manager.configuration_script_sources.find_by(:manager_ref => 29) + expect(configuration_script_source.configuration_script_payloads.first).to be_an_instance_of(ManageIQ::Providers::AnsibleTower::AutomationManager::Playbook) + expect(configuration_script_source.configuration_script_payloads.count).to eq(60) + expect(configuration_script_source.configuration_script_payloads.map(&:name)).to include('jboss-standalone/demo-aws-launch.yml') + end + + def assert_configuration_script_sources + expect(automation_manager.configuration_script_sources.count).to eq(6) + configuration_script_source = automation_manager.configuration_script_sources.find_by(:manager_ref => 4) + expect(configuration_script_source).to be_an_instance_of(ConfigurationScriptSource) + expect(configuration_script_source).to have_attributes( + :name => 'Demo Project', + :description => 'A great demo', + ) end def assert_configured_system diff --git a/spec/vcr_cassettes/manageiq/providers/ansible_tower/automation_manager/refresher_configuration_script_sources.yml b/spec/vcr_cassettes/manageiq/providers/ansible_tower/automation_manager/refresher_configuration_script_sources.yml new file mode 100644 index 00000000000..c4f1ca35325 --- /dev/null +++ b/spec/vcr_cassettes/manageiq/providers/ansible_tower/automation_manager/refresher_configuration_script_sources.yml @@ -0,0 +1,473 @@ +--- +http_interactions: +- request: + method: get + uri: https://testuser:secret@dev-ansible-tower2.example.com/api/v1/projects + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Faraday v0.9.2 + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 301 + message: MOVED PERMANENTLY + headers: + Date: + - Tue, 07 Feb 2017 11:41:14 GMT + Server: + - Apache/2.4.6 (Red Hat Enterprise Linux) OpenSSL/1.0.1e-fips mod_wsgi/3.4 Python/2.7.5 + Location: + - https://dev-ansible-tower2.example.com/api/v1/projects/ + Content-Length: + - '0' + Content-Type: + - text/html; charset=utf-8 + body: + encoding: UTF-8 + string: '' + http_version: + recorded_at: Tue, 07 Feb 2017 10:41:16 GMT +- request: + method: get + uri: https://testuser:secret@dev-ansible-tower2.example.com/api/v1/projects/ + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Faraday v0.9.2 + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Tue, 07 Feb 2017 11:41:15 GMT + Server: + - Apache/2.4.6 (Red Hat Enterprise Linux) OpenSSL/1.0.1e-fips mod_wsgi/3.4 Python/2.7.5 + Vary: + - Accept,Cookie + Allow: + - GET, POST, HEAD, OPTIONS + X-Api-Time: + - 0.114s + Content-Length: + - '14223' + Content-Type: + - application/json + body: + encoding: UTF-8 + string: '{"count":6,"next":null,"previous":null,"results":[{"id":4,"type":"project","url":"/api/v1/projects/4/","related":{"created_by":"/api/v1/users/1/","last_job":"/api/v1/project_updates/104/","notification_templates_error":"/api/v1/projects/4/notification_templates_error/","notification_templates_success":"/api/v1/projects/4/notification_templates_success/","object_roles":"/api/v1/projects/4/object_roles/","notification_templates_any":"/api/v1/projects/4/notification_templates_any/","project_updates":"/api/v1/projects/4/project_updates/","update":"/api/v1/projects/4/update/","access_list":"/api/v1/projects/4/access_list/","playbooks":"/api/v1/projects/4/playbooks/","schedules":"/api/v1/projects/4/schedules/","teams":"/api/v1/projects/4/teams/","activity_stream":"/api/v1/projects/4/activity_stream/","organization":"/api/v1/organizations/1/","last_update":"/api/v1/project_updates/104/"},"summary_fields":{"last_job":{"id":104,"name":"Demo + Project","description":"A great demo","finished":"2017-02-06T15:07:07.184Z","status":"successful","failed":false},"last_update":{"id":104,"name":"Demo + Project","description":"A great demo","status":"successful","failed":false},"organization":{"id":1,"name":"Default","description":""},"created_by":{"id":1,"username":"admin","first_name":"","last_name":""},"object_roles":{"admin_role":{"description":"Can + manage all aspects of the project","id":8,"name":"Admin"},"use_role":{"description":"Can + use the project in a job template","id":10,"name":"Use"},"update_role":{"description":"May + update project or inventory or group using the configured source update system","id":11,"name":"Update"},"read_role":{"description":"May + view settings for the project","id":9,"name":"Read"}}},"created":"2016-08-02T17:57:02.914Z","modified":"2017-02-06T10:54:17.047Z","name":"Demo + Project","description":"A great demo","local_path":"_4__demo_project","scm_type":"git","scm_url":"https://github.com/ansible/ansible-tower-samples","scm_branch":"","scm_clean":false,"scm_delete_on_update":false,"credential":null,"last_job_run":"2017-02-06T15:07:07.184032Z","last_job_failed":false,"has_schedules":false,"next_job_run":null,"status":"successful","organization":1,"scm_delete_on_next_update":false,"scm_update_on_launch":true,"scm_update_cache_timeout":0,"last_update_failed":false,"last_updated":"2017-02-06T15:07:07.184032Z"},{"id":29,"type":"project","url":"/api/v1/projects/29/","related":{"created_by":"/api/v1/users/1/","modified_by":"/api/v1/users/1/","last_job":"/api/v1/project_updates/25/","notification_templates_error":"/api/v1/projects/29/notification_templates_error/","notification_templates_success":"/api/v1/projects/29/notification_templates_success/","object_roles":"/api/v1/projects/29/object_roles/","notification_templates_any":"/api/v1/projects/29/notification_templates_any/","project_updates":"/api/v1/projects/29/project_updates/","update":"/api/v1/projects/29/update/","access_list":"/api/v1/projects/29/access_list/","playbooks":"/api/v1/projects/29/playbooks/","schedules":"/api/v1/projects/29/schedules/","teams":"/api/v1/projects/29/teams/","activity_stream":"/api/v1/projects/29/activity_stream/","organization":"/api/v1/organizations/1/","last_update":"/api/v1/project_updates/25/"},"summary_fields":{"last_job":{"id":25,"name":"lg-project","description":"lg_project","finished":"2016-09-13T21:19:27.503Z","status":"successful","failed":false},"last_update":{"id":25,"name":"lg-project","description":"lg_project","status":"successful","failed":false},"organization":{"id":1,"name":"Default","description":""},"created_by":{"id":1,"username":"admin","first_name":"","last_name":""},"modified_by":{"id":1,"username":"admin","first_name":"","last_name":""},"object_roles":{"admin_role":{"description":"Can + manage all aspects of the project","id":34,"name":"Admin"},"use_role":{"description":"Can + use the project in a job template","id":36,"name":"Use"},"update_role":{"description":"May + update project or inventory or group using the configured source update system","id":37,"name":"Update"},"read_role":{"description":"May + view settings for the project","id":35,"name":"Read"}}},"created":"2016-09-13T21:19:22.328Z","modified":"2016-09-13T21:22:39.402Z","name":"lg-project","description":"lg_project","local_path":"_29__lg_project","scm_type":"git","scm_url":"https://github.com/ansible/ansible-examples.git","scm_branch":"","scm_clean":false,"scm_delete_on_update":false,"credential":null,"last_job_run":"2016-09-13T21:19:27.503464Z","last_job_failed":false,"has_schedules":false,"next_job_run":null,"status":"successful","organization":1,"scm_delete_on_next_update":false,"scm_update_on_launch":false,"scm_update_cache_timeout":0,"last_update_failed":false,"last_updated":"2016-09-13T21:19:27.503464Z"},{"id":35,"type":"project","url":"/api/v1/projects/35/","related":{"created_by":"/api/v1/users/1/","modified_by":"/api/v1/users/1/","credential":"/api/v1/credentials/3/","last_job":"/api/v1/project_updates/85/","notification_templates_error":"/api/v1/projects/35/notification_templates_error/","notification_templates_success":"/api/v1/projects/35/notification_templates_success/","object_roles":"/api/v1/projects/35/object_roles/","notification_templates_any":"/api/v1/projects/35/notification_templates_any/","project_updates":"/api/v1/projects/35/project_updates/","update":"/api/v1/projects/35/update/","access_list":"/api/v1/projects/35/access_list/","playbooks":"/api/v1/projects/35/playbooks/","schedules":"/api/v1/projects/35/schedules/","teams":"/api/v1/projects/35/teams/","activity_stream":"/api/v1/projects/35/activity_stream/","organization":"/api/v1/organizations/1/","last_update":"/api/v1/project_updates/85/"},"summary_fields":{"last_job":{"id":85,"name":"DB-Github","description":"DB-Playbooks","finished":"2017-01-09T16:12:56.801Z","status":"successful","failed":false},"last_update":{"id":85,"name":"DB-Github","description":"DB-Playbooks","status":"successful","failed":false},"credential":{"id":3,"name":"db-github","description":"db-github","kind":"scm","cloud":false},"organization":{"id":1,"name":"Default","description":""},"created_by":{"id":1,"username":"admin","first_name":"","last_name":""},"modified_by":{"id":1,"username":"admin","first_name":"","last_name":""},"object_roles":{"admin_role":{"description":"Can + manage all aspects of the project","id":67,"name":"Admin"},"use_role":{"description":"Can + use the project in a job template","id":69,"name":"Use"},"update_role":{"description":"May + update project or inventory or group using the configured source update system","id":70,"name":"Update"},"read_role":{"description":"May + view settings for the project","id":68,"name":"Read"}}},"created":"2017-01-09T16:11:19.711Z","modified":"2017-01-18T22:36:12.573Z","name":"DB_Github","description":"DB + Playbooks","local_path":"_35__db_github","scm_type":"git","scm_url":"https://github.com/syncrou/playbooks","scm_branch":"master","scm_clean":false,"scm_delete_on_update":false,"credential":3,"last_job_run":"2017-01-09T16:12:56.801413Z","last_job_failed":false,"has_schedules":false,"next_job_run":null,"status":"successful","organization":1,"scm_delete_on_next_update":false,"scm_update_on_launch":true,"scm_update_cache_timeout":60,"last_update_failed":false,"last_updated":"2017-01-09T16:12:56.801413Z"},{"id":36,"type":"project","url":"/api/v1/projects/36/","related":{"created_by":"/api/v1/users/1/","last_job":"/api/v1/project_updates/88/","notification_templates_error":"/api/v1/projects/36/notification_templates_error/","notification_templates_success":"/api/v1/projects/36/notification_templates_success/","object_roles":"/api/v1/projects/36/object_roles/","notification_templates_any":"/api/v1/projects/36/notification_templates_any/","project_updates":"/api/v1/projects/36/project_updates/","update":"/api/v1/projects/36/update/","access_list":"/api/v1/projects/36/access_list/","playbooks":"/api/v1/projects/36/playbooks/","schedules":"/api/v1/projects/36/schedules/","teams":"/api/v1/projects/36/teams/","activity_stream":"/api/v1/projects/36/activity_stream/","organization":"/api/v1/organizations/2/","last_update":"/api/v1/project_updates/88/"},"summary_fields":{"last_job":{"id":88,"name":"jwong-org2","description":"","finished":"2017-01-09T22:30:24.403Z","status":"successful","failed":false},"last_update":{"id":88,"name":"jwong-org2","description":"","status":"successful","failed":false},"organization":{"id":2,"name":"Test + Org","description":"For tests"},"created_by":{"id":1,"username":"admin","first_name":"","last_name":""},"object_roles":{"admin_role":{"description":"Can + manage all aspects of the project","id":78,"name":"Admin"},"use_role":{"description":"Can + use the project in a job template","id":80,"name":"Use"},"update_role":{"description":"May + update project or inventory or group using the configured source update system","id":81,"name":"Update"},"read_role":{"description":"May + view settings for the project","id":79,"name":"Read"}}},"created":"2017-01-09T20:52:37.728Z","modified":"2017-01-09T20:52:43.453Z","name":"jwong-org2","description":"","local_path":"_36__jwong_org2","scm_type":"git","scm_url":"https://github.com/ManageIQ/manageiq","scm_branch":"","scm_clean":false,"scm_delete_on_update":false,"credential":null,"last_job_run":"2017-01-09T22:30:24.403065Z","last_job_failed":false,"has_schedules":false,"next_job_run":null,"status":"successful","organization":2,"scm_delete_on_next_update":false,"scm_update_on_launch":false,"scm_update_cache_timeout":0,"last_update_failed":false,"last_updated":"2017-01-09T22:30:24.403065Z"},{"id":37,"type":"project","url":"/api/v1/projects/37/","related":{"created_by":"/api/v1/users/1/","last_job":"/api/v1/project_updates/87/","notification_templates_error":"/api/v1/projects/37/notification_templates_error/","notification_templates_success":"/api/v1/projects/37/notification_templates_success/","object_roles":"/api/v1/projects/37/object_roles/","notification_templates_any":"/api/v1/projects/37/notification_templates_any/","project_updates":"/api/v1/projects/37/project_updates/","update":"/api/v1/projects/37/update/","access_list":"/api/v1/projects/37/access_list/","playbooks":"/api/v1/projects/37/playbooks/","schedules":"/api/v1/projects/37/schedules/","teams":"/api/v1/projects/37/teams/","activity_stream":"/api/v1/projects/37/activity_stream/","organization":"/api/v1/organizations/2/","last_update":"/api/v1/project_updates/87/"},"summary_fields":{"last_job":{"id":87,"name":"Test + Project","description":"","finished":"2017-01-09T20:53:07.520Z","status":"successful","failed":false},"last_update":{"id":87,"name":"Test + Project","description":"","status":"successful","failed":false},"organization":{"id":2,"name":"Test + Org","description":"For tests"},"created_by":{"id":1,"username":"admin","first_name":"","last_name":""},"object_roles":{"admin_role":{"description":"Can + manage all aspects of the project","id":82,"name":"Admin"},"use_role":{"description":"Can + use the project in a job template","id":84,"name":"Use"},"update_role":{"description":"May + update project or inventory or group using the configured source update system","id":85,"name":"Update"},"read_role":{"description":"May + view settings for the project","id":83,"name":"Read"}}},"created":"2017-01-09T20:52:53.974Z","modified":"2017-01-09T20:52:54.110Z","name":"Test + Project","description":"","local_path":"_37__test_project","scm_type":"git","scm_url":"https://github.com/ansible/ansible-tower-samples","scm_branch":"","scm_clean":false,"scm_delete_on_update":false,"credential":null,"last_job_run":"2017-01-09T20:53:07.520250Z","last_job_failed":false,"has_schedules":false,"next_job_run":null,"status":"successful","organization":2,"scm_delete_on_next_update":false,"scm_update_on_launch":true,"scm_update_cache_timeout":0,"last_update_failed":false,"last_updated":"2017-01-09T20:53:07.520250Z"},{"id":40,"type":"project","url":"/api/v1/projects/40/","related":{"created_by":"/api/v1/users/1/","last_job":"/api/v1/project_updates/99/","notification_templates_error":"/api/v1/projects/40/notification_templates_error/","notification_templates_success":"/api/v1/projects/40/notification_templates_success/","object_roles":"/api/v1/projects/40/object_roles/","notification_templates_any":"/api/v1/projects/40/notification_templates_any/","project_updates":"/api/v1/projects/40/project_updates/","update":"/api/v1/projects/40/update/","access_list":"/api/v1/projects/40/access_list/","playbooks":"/api/v1/projects/40/playbooks/","schedules":"/api/v1/projects/40/schedules/","teams":"/api/v1/projects/40/teams/","activity_stream":"/api/v1/projects/40/activity_stream/","organization":"/api/v1/organizations/3/","last_update":"/api/v1/project_updates/99/"},"summary_fields":{"last_job":{"id":99,"name":"RH-labs","description":"Red + Hat innovation Labs","finished":"2017-01-30T11:29:33.684Z","status":"successful","failed":false},"last_update":{"id":99,"name":"RH-labs","description":"Red + Hat innovation Labs","status":"successful","failed":false},"organization":{"id":3,"name":"ACME + Corp","description":"Which belongs to goern"},"created_by":{"id":1,"username":"admin","first_name":"","last_name":""},"object_roles":{"admin_role":{"description":"Can + manage all aspects of the project","id":115,"name":"Admin"},"use_role":{"description":"Can + use the project in a job template","id":117,"name":"Use"},"update_role":{"description":"May + update project or inventory or group using the configured source update system","id":118,"name":"Update"},"read_role":{"description":"May + view settings for the project","id":116,"name":"Read"}}},"created":"2017-01-30T11:14:00.785Z","modified":"2017-01-30T11:14:00.911Z","name":"RH-labs","description":"Red + Hat innovation Labs","local_path":"_40__rh_labs","scm_type":"git","scm_url":"https://github.com/goern/artifactory-on-openshift","scm_branch":"","scm_clean":false,"scm_delete_on_update":false,"credential":null,"last_job_run":"2017-01-30T11:29:33.684145Z","last_job_failed":false,"has_schedules":false,"next_job_run":null,"status":"successful","organization":3,"scm_delete_on_next_update":false,"scm_update_on_launch":false,"scm_update_cache_timeout":0,"last_update_failed":false,"last_updated":"2017-01-30T11:29:33.684145Z"}]}' + http_version: + recorded_at: Tue, 07 Feb 2017 10:41:17 GMT +- request: + method: get + uri: https://testuser:secret@dev-ansible-tower2.example.com/api/v1/projects/4/playbooks/ + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Faraday v0.9.2 + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Tue, 07 Feb 2017 11:41:16 GMT + Server: + - Apache/2.4.6 (Red Hat Enterprise Linux) OpenSSL/1.0.1e-fips mod_wsgi/3.4 Python/2.7.5 + Vary: + - Accept,Cookie + Allow: + - GET, HEAD, OPTIONS + X-Api-Time: + - 0.031s + Content-Length: + - '19' + Content-Type: + - application/json + body: + encoding: UTF-8 + string: '["hello_world.yml"]' + http_version: + recorded_at: Tue, 07 Feb 2017 10:41:18 GMT +- request: + method: get + uri: https://testuser:secret@dev-ansible-tower2.example.com/api/v1/projects/29/playbooks/ + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Faraday v0.9.2 + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Tue, 07 Feb 2017 11:41:16 GMT + Server: + - Apache/2.4.6 (Red Hat Enterprise Linux) OpenSSL/1.0.1e-fips mod_wsgi/3.4 Python/2.7.5 + Vary: + - Accept,Cookie + Allow: + - GET, HEAD, OPTIONS + X-Api-Time: + - 0.045s + Content-Length: + - '2050' + Content-Type: + - application/json + body: + encoding: UTF-8 + string: '["jboss-standalone/demo-aws-launch.yml","jboss-standalone/deploy-application.yml","jboss-standalone/site.yml","lamp_haproxy/aws/demo-aws-launch.yml","lamp_haproxy/aws/rolling_update.yml","lamp_haproxy/aws/site.yml","lamp_haproxy/provision.yml","lamp_haproxy/rolling_update.yml","lamp_haproxy/site.yml","lamp_simple/site.yml","lamp_simple_rhel7/site.yml","language_features/ansible_pull.yml","language_features/batch_size_control.yml","language_features/cloudformation.yaml","language_features/complex_args.yml","language_features/conditionals_part1.yml","language_features/conditionals_part2.yml","language_features/custom_filters.yml","language_features/delegation.yml","language_features/environment.yml","language_features/eucalyptus-ec2.yml","language_features/file_secontext.yml","language_features/get_url.yml","language_features/group_by.yml","language_features/group_commands.yml","language_features/intermediate_example.yml","language_features/intro_example.yml","language_features/loop_nested.yml","language_features/loop_plugins.yml","language_features/loop_with_items.yml","language_features/mysql.yml","language_features/nested_playbooks.yml","language_features/netscaler.yml","language_features/postgresql.yml","language_features/prompts.yml","language_features/rabbitmq.yml","language_features/register_logic.yml","language_features/roletest.yml","language_features/roletest2.yml","language_features/selective_file_sources.yml","language_features/tags.yml","language_features/upgraded_vars.yml","language_features/user_commands.yml","language_features/zfs.yml","mongodb/playbooks/testsharding.yml","mongodb/site.yml","tomcat-memcached-failover/site.yml","tomcat-standalone/site.yml","windows/create-user.yml","windows/deploy-site.yml","windows/enable-iis.yml","windows/install-msi.yml","windows/ping.yml","windows/run-powershell.yml","windows/test.yml","windows/wamp_haproxy/demo-aws-wamp-launch.yml","windows/wamp_haproxy/rolling_update.yml","windows/wamp_haproxy/site.yml","wordpress-nginx/site.yml","wordpress-nginx_rhel7/site.yml"]' + http_version: + recorded_at: Tue, 07 Feb 2017 10:41:18 GMT +- request: + method: get + uri: https://testuser:secret@dev-ansible-tower2.example.com/api/v1/projects/35/playbooks/ + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Faraday v0.9.2 + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Tue, 07 Feb 2017 11:41:17 GMT + Server: + - Apache/2.4.6 (Red Hat Enterprise Linux) OpenSSL/1.0.1e-fips mod_wsgi/3.4 Python/2.7.5 + Vary: + - Accept,Cookie + Allow: + - GET, HEAD, OPTIONS + X-Api-Time: + - 0.032s + Content-Length: + - '131' + Content-Type: + - application/json + body: + encoding: UTF-8 + string: '["create_ec2.yml","dump_db.yml","general_state_ec2.yml","pkginfo.yml","start_ec2.yml","stop_ec2.yml","tag_old_nodes.yml","yum.yml"]' + http_version: + recorded_at: Tue, 07 Feb 2017 10:41:19 GMT +- request: + method: get + uri: https://testuser:secret@dev-ansible-tower2.example.com/api/v1/projects/36/playbooks/ + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Faraday v0.9.2 + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Tue, 07 Feb 2017 11:41:17 GMT + Server: + - Apache/2.4.6 (Red Hat Enterprise Linux) OpenSSL/1.0.1e-fips mod_wsgi/3.4 Python/2.7.5 + Vary: + - Accept,Cookie + Allow: + - GET, HEAD, OPTIONS + X-Api-Time: + - 1.991s + Content-Length: + - '22984' + Content-Type: + - application/json + body: + encoding: UTF-8 + string: '["db/schema.yml","locale/en.yml","product/alerts/rss/dev_vms.yml","product/alerts/rss/lifecycle_events.yml","product/alerts/rss/microsoft_vms.yml","product/alerts/rss/newest_vms.yml","product/alerts/rss/prod_vms.yml","product/alerts/rss/test_vms.yml","product/alerts/rss/vmware_vms.yml","product/chargeback/chargeback_vm_monthly.yaml","product/charts/miq_reports/ontap_logical_disk.yaml","product/charts/miq_reports/vim_perf_daily.yaml","product/charts/miq_reports/vim_perf_daily_cloud.yaml","product/charts/miq_reports/vim_perf_daily_middleware_datasource.yaml","product/charts/miq_reports/vim_perf_daily_middleware_messaging_jms_queue.yaml","product/charts/miq_reports/vim_perf_daily_middleware_messaging_jms_topic.yaml","product/charts/miq_reports/vim_perf_daily_middleware_server.yaml","product/charts/miq_reports/vim_perf_hourly.yaml","product/charts/miq_reports/vim_perf_hourly_cloud.yaml","product/charts/miq_reports/vim_perf_hourly_middleware_datasource.yaml","product/charts/miq_reports/vim_perf_hourly_middleware_messaging_jms_queue.yaml","product/charts/miq_reports/vim_perf_hourly_middleware_messaging_jms_topic.yaml","product/charts/miq_reports/vim_perf_hourly_middleware_server.yaml","product/charts/miq_reports/vim_perf_planning.yaml","product/charts/miq_reports/vim_perf_realtime.yaml","product/charts/miq_reports/vim_perf_realtime_middleware_datasource.yaml","product/charts/miq_reports/vim_perf_realtime_middleware_messaging_jms_queue.yaml","product/charts/miq_reports/vim_perf_realtime_middleware_messaging_jms_topic.yaml","product/charts/miq_reports/vim_perf_realtime_middleware_server.yaml","product/charts/miq_reports/vim_perf_summ_daily.yaml","product/charts/miq_reports/vim_perf_tag_daily.yaml","product/charts/miq_reports/vim_perf_tag_hourly.yaml","product/charts/miq_reports/vim_perf_topday.yaml","product/charts/miq_reports/vim_perf_tophour.yaml","product/charts/miq_reports/vim_perf_util_4_ts.yaml","product/charts/miq_reports/vim_perf_util_daily.yaml","product/charts/miq_reports/vmdb_database.yaml","product/charts/miq_reports/vmdb_table.yaml","product/compare/ems_clusters.yaml","product/compare/hosts.yaml","product/compare/vms.yaml","product/reports/100_Configuration + Management - Virtual Machines/005_VMs with Free Space _ 50% by Department.yaml","product/reports/100_Configuration + Management - Virtual Machines/006_VMs w_Free Space _ 75% by Function.yaml","product/reports/100_Configuration + Management - Virtual Machines/007_VMs w_Free Space _ 75% by LOB.yaml","product/reports/100_Configuration + Management - Virtual Machines/009_VM Disk Usage.yaml","product/reports/100_Configuration + Management - Virtual Machines/010_VMs_ Hardware.yaml","product/reports/100_Configuration + Management - Virtual Machines/020_Vendor and Type.yaml","product/reports/100_Configuration + Management - Virtual Machines/022_Vendor and Guest OS.yaml","product/reports/100_Configuration + Management - Virtual Machines/025_Location and Size.yaml","product/reports/100_Configuration + Management - Virtual Machines/026_VMs_ UUIDs.yaml","product/reports/100_Configuration + Management - Virtual Machines/027_VMs_ with no UUID.yaml","product/reports/100_Configuration + Management - Virtual Machines/028_VMs with Volume Free Space -= 20%.yaml","product/reports/100_Configuration + Management - Virtual Machines/029_VMs with Volume Free Space -= 80%.yaml","product/reports/100_Configuration + Management - Virtual Machines/030_by MAC Address.yaml","product/reports/100_Configuration + Management - Virtual Machines/031_Unregistered VMs.yaml","product/reports/100_Configuration + Management - Virtual Machines/032_Orphaned VMs.yaml","product/reports/100_Configuration + Management - Virtual Machines/036_Snapshot Summary.yaml","product/reports/100_Configuration + Management - Virtual Machines/050_User Accounts Windows .yaml","product/reports/100_Configuration + Management - Virtual Machines/051_User Accounts Linux.yaml","product/reports/100_Configuration + Management - Virtual Machines/052_Account Groups Windows .yaml","product/reports/100_Configuration + Management - Virtual Machines/053_Account Groups Linux.yaml","product/reports/100_Configuration + Management - Virtual Machines/059_Guest OS Information (any OS).yaml","product/reports/100_Configuration + Management - Virtual Machines/060_Guest OS Information - Windows.yaml","product/reports/100_Configuration + Management - Virtual Machines/062_Guest OS Information - Linux.yaml","product/reports/100_Configuration + Management - Virtual Machines/063_Guest OS Password Information.yaml","product/reports/100_Configuration + Management - Virtual Machines/064_Guest OS HKLM Registry Information.yaml","product/reports/110_Configuration + Management - Hosts/010_Summary.yaml","product/reports/110_Configuration Management + - Hosts/011_Host Summary with VM info.yaml","product/reports/110_Configuration + Management - Hosts/012_Virtual Infrastructure Platforms.yaml","product/reports/110_Configuration + Management - Hosts/015_Host - ESX Services.yaml","product/reports/110_Configuration + Management - Hosts/016_Host - ESX Service Console Packages.yaml","product/reports/110_Configuration + Management - Hosts/020_Date Brought under Management.yaml","product/reports/110_Configuration + Management - Hosts/030_Hardware.yaml","product/reports/110_Configuration Management + - Hosts/040_Summary for VMs.yaml","product/reports/110_Configuration Management + - Hosts/050_Patches.yaml","product/reports/110_Configuration Management - + Hosts/060_VM Relationships.yaml","product/reports/110_Configuration Management + - Hosts/070_Storage Adapters.yaml","product/reports/110_Configuration Management + - Hosts/080_Network information.yaml","product/reports/110_Configuration Management + - Hosts/090_vLANs and vSwitches.yaml","product/reports/120_Configuration Management + - Providers/010_Summary.yaml","product/reports/120_Configuration Management + - Providers/020_Host Relationships.yaml","product/reports/120_Configuration + Management - Providers/030_VM Relationships.yaml","product/reports/120_Configuration + Management - Providers/040_Monthly Host Count per Provider.yaml","product/reports/120_Configuration + Management - Providers/050_Monthly Vm Count per Provider.yaml","product/reports/130_Configuration + Management - Clusters/010_Summary.yaml","product/reports/130_Configuration + Management - Clusters/020_Hosts Affinity.yaml","product/reports/130_Configuration + Management - Clusters/030_VM Affinity with Power State.yaml","product/reports/130_Configuration + Management - Clusters/040_Cluster Resources.yaml","product/reports/140_Configuration + Management - Resource Pools/010_Summary.yaml","product/reports/150_Configuration + Management - Storage/010_Summary.yaml","product/reports/150_Configuration + Management - Storage/020_Summary for VMs.yaml","product/reports/150_Configuration + Management - Storage/030_Summary for Hosts.yaml","product/reports/150_Configuration + Management - Storage/040_LUN Information.yaml","product/reports/160_Configuration + Management - VM Folders/010_Folders_ VM Relationships.yaml","product/reports/170_Configuration + Management - Containers/010_Nodes by Capacity.yaml","product/reports/170_Configuration + Management - Containers/020_Nodes by CPU Usage.yaml","product/reports/170_Configuration + Management - Containers/030_Nodes by Memory Usage.yaml","product/reports/170_Configuration + Management - Containers/040_Recently Discovered Container Groups.yaml","product/reports/170_Configuration + Management - Containers/050_Number of Nodes per CPU Cores.yaml","product/reports/170_Configuration + Management - Containers/060_Container Groups per Ready Status.yaml","product/reports/170_Configuration + Management - Containers/070_Projects by Pod Number.yaml","product/reports/170_Configuration + Management - Containers/080_Projects by CPU Usage.yaml","product/reports/170_Configuration + Management - Containers/090_Projects by Memory Usage.yaml","product/reports/170_Configuration + Management - Containers/100_Pod counts For Container Images by Project.yaml","product/reports/170_Configuration + Management - Containers/110_Number of Images per Node.yaml","product/reports/300_Migration + Readiness - Virtual Machines/010_Summary - VMs migration ready.yaml","product/reports/300_Migration + Readiness - Virtual Machines/011_Summary - VMs NOT migration ready.yaml","product/reports/300_Migration + Readiness - Virtual Machines/020_Detailed - VMs migration ready.yaml","product/reports/300_Migration + Readiness - Virtual Machines/021_Detailed - VMs NOT migration ready.yaml","product/reports/400_Operations- + Virtual Machines/010_Registered VMs by Free Space.yaml","product/reports/400_Operations- + Virtual Machines/015_Registered Free Space _35%.yaml","product/reports/400_Operations- + Virtual Machines/016_Unregistered Free Space _35%.yaml","product/reports/400_Operations- + Virtual Machines/020_Online VMs.yaml","product/reports/400_Operations- Virtual + Machines/022_VMs not Powered On.yaml","product/reports/400_Operations- Virtual + Machines/040_VMs_ Offline VMs not yet Scanned.yaml","product/reports/400_Operations- + Virtual Machines/045_VMs_ Offline VMs with Snapshot.yaml","product/reports/400_Operations- + Virtual Machines/050_VMs without VMware tools.yaml","product/reports/400_Operations- + Virtual Machines/055_VMs with old VMware tools.yaml","product/reports/400_Operations- + Virtual Machines/060_VMware Tools Versions.yaml","product/reports/410_Operations + - EVM/025_EVM Snapshots.yaml","product/reports/410_Operations - EVM/026_Consolidate + Helper Snapshots.yaml","product/reports/410_Operations - EVM/030_EVM Server_ + UserID Usage Report.yaml","product/reports/410_Operations - EVM/032_EVM Server_ + UserIDs Never Used.yaml","product/reports/420_Operations - Clusters/010_Cluster + - DRS migrations.yaml","product/reports/421_Operations - Events/VC Snapshot + Events by User.yaml","product/reports/425_VM Sprawl - Candidates/052_VMs with + Volume Free Space -= 75%.yaml","product/reports/425_VM Sprawl - Candidates/053_VMs + with disk free space _ 5GB.yaml","product/reports/425_VM Sprawl - Candidates/054_VM + Uptime - longest running.yaml","product/reports/425_VM Sprawl - Candidates/055_VMs + Powered Off registered to a Host.yaml","product/reports/425_VM Sprawl - Candidates/056_VMs + pending Retirement.yaml","product/reports/425_VM Sprawl - Candidates/057_VMs + that are Retired.yaml","product/reports/425_VM Sprawl - Candidates/058_VMs + with invalid allocation of RAM.yaml","product/reports/425_VM Sprawl - Candidates/059_Summary + of VM Create and Deletes.yaml","product/reports/450_Relationships - Virtual + Machines, Folders, Clusters/010_VMs Relationships.yaml","product/reports/450_Relationships + - Virtual Machines, Folders, Clusters/020_VM Folders relationships.yaml","product/reports/450_Relationships + - Virtual Machines, Folders, Clusters/030_Clusters Relationships.yaml","product/reports/500_Events + - Operations/110_vm_operational_vm_power.yaml","product/reports/500_Events + - Operations/120_Events_for_VM_prod_webserver.yaml","product/reports/500_Events + - Operations/130_Reconfigure_Events_by_Department.yaml","product/reports/500_Events + - Operations/140_VC_Events_initiated_by_username_EVM.yaml","product/reports/520_Events + - Policy/110_Policy Events.yaml","product/reports/520_Events - Policy/120_Policy + Events2.yaml","product/reports/650_Performance by Asset Type - Virtual Machines/050_Host + CPU Usage per VM.yaml","product/reports/650_Performance by Asset Type - Virtual + Machines/065_VM Performance - daily over last week.yaml","product/reports/650_Performance + by Asset Type - Virtual Machines/100_VMs_with_Max_Daily_Mem_ 50%_past_mo.yaml","product/reports/650_Performance + by Asset Type - Virtual Machines/110_VMs_with_Avg_Daily_Mem_ 50%_past_mo.yaml","product/reports/650_Performance + by Asset Type - Virtual Machines/120_VMs_with_Avg_Daily_CPU_ 85%_past_mo.yaml","product/reports/650_Performance + by Asset Type - Virtual Machines/130_VMs_with_Max_Daily_CPU_ 85%_past_mo .yaml","product/reports/650_Performance + by Asset Type - Virtual Machines/140_VMs with Avg Daily Mem _ 95%_past_mo + .yaml","product/reports/650_Performance by Asset Type - Virtual Machines/150_All + Departments with Performance.yaml","product/reports/650_Performance by Asset + Type - Virtual Machines/160_Top CPU Consumers weekly.yaml","product/reports/650_Performance + by Asset Type - Virtual Machines/170_Top Memory Consumers weekly.yaml","product/reports/650_Performance + by Asset Type - Virtual Machines/180_Top Storage Consumers.yaml","product/reports/650_Performance + by Asset Type - Virtual Machines/190_VM Resource Utilization.yaml","product/reports/650_Performance + by Asset Type - Virtual Machines/200_Weekly Utilization Overview.yaml","product/reports/660_Performance + by Asset Type - Clusters/110_Cluster_Memory_and_CPU_Usage_7_days.yaml","product/reports/670_Performance + by Asset Type - Middleware Servers/110_JVM Heap Usage - daily over last week.yaml","product/reports/670_Performance + by Asset Type - Middleware Servers/120_JVM Non Heap Usage - daily over last + week.yaml","product/reports/670_Performance by Asset Type - Middleware Servers/130_JVM + Garbage Collection - daily over last week.yaml","product/reports/670_Performance + by Asset Type - Middleware Servers/140_Transactions - every minute over last + hour.yaml","product/reports/670_Performance by Asset Type - Middleware Servers/150_Transactions + - hourly over last day.yaml","product/reports/680_Performance by Asset Type + - Middleware Datasources/110_Datasource Pool - every minute for the last hour.yaml","product/reports/680_Performance + by Asset Type - Middleware Datasources/120_Datasource Pool - hourly for the + last day.yaml","product/reports/700_Running Processes - Virtual Machines/110_Processes_for_prod_ + VMs_sort_by_CPU_Time.yaml","product/reports/750_Trending - Clusters/050_Cluster + memory trend 6 months.yaml","product/reports/750_Trending - Clusters/060_Cluster + CPU Trends last week.yaml","product/reports/750_Trending - Clusters/070_Cluster + IO Trends last week.yaml","product/reports/750_Trending - Clusters/080_Cluster + Memory Trends last week.yaml","product/reports/760_Trending - Storage/110_Datastore_Capacity_Trend_over_6 + mos.yaml","product/reports/770_Trending - Hosts/110_Host_Peak_CPU_Used_Trend_over_6_mos.yaml","product/reports/770_Trending + - Hosts/110_Host_Peak_Memory_Used_Trends_for_6_Mos.yaml","product/reports/770_Trending + - Hosts/120_Host CPU Trends last week.yaml","product/reports/770_Trending + - Hosts/130_Host IO Trends last week.yaml","product/reports/770_Trending - + Hosts/140_Host Memory Trends last week.yaml","product/reports/780_Tenants + - Tenant Quotas/001_Tenant Quotas.yaml","product/reports/900_Provisioning + - Activity Reports/110_Provisioning Activity - by Approver.yaml","product/reports/900_Provisioning + - Activity Reports/120_Provisioning Activity - by Datastore.yaml","product/reports/900_Provisioning + - Activity Reports/130_Provisioning Activity - by Requester.yaml","product/reports/900_Provisioning + - Activity Reports/140_Provisioning Activity - by VM.yaml","product/timelines/miq_reports/tl_bottleneck_events.yaml","product/timelines/miq_reports/tl_events_daily.yaml","product/timelines/miq_reports/tl_events_hourly.yaml","product/timelines/miq_reports/tl_policy_events_daily.yaml","product/timelines/miq_reports/tl_policy_events_hourly.yaml","product/views/Account-groups.yaml","product/views/Account-users.yaml","product/views/AdvancedSetting.yaml","product/views/ArbitrationProfile.yaml","product/views/AutomationRequest.yaml","product/views/AvailabilityZone.yaml","product/views/ChargebackRate.yaml","product/views/CimBaseStorageExtent.yaml","product/views/CimStorageExtent.yaml","product/views/CloudNetwork.yaml","product/views/CloudObjectStoreContainer-cloud_object_store_containers.yaml","product/views/CloudObjectStoreContainer.yaml","product/views/CloudObjectStoreObject-cloud_object_store_objects.yaml","product/views/CloudObjectStoreObject.yaml","product/views/CloudService.yaml","product/views/CloudSubnet.yaml","product/views/CloudTenant.yaml","product/views/CloudVolume-based_volumes.yaml","product/views/CloudVolume.yaml","product/views/CloudVolumeBackup-cloud_volume_backups.yaml","product/views/CloudVolumeBackup.yaml","product/views/CloudVolumeSnapshot-cloud_volume_snapshots.yaml","product/views/CloudVolumeSnapshot.yaml","product/views/Condition.yaml","product/views/ConditionSet.yaml","product/views/ConfiguredSystem.yaml","product/views/Container.yaml","product/views/ContainerBuild.yaml","product/views/ContainerGroup.yaml","product/views/ContainerImage.yaml","product/views/ContainerImageRegistry.yaml","product/views/ContainerNode.yaml","product/views/ContainerProject.yaml","product/views/ContainerReplicator.yaml","product/views/ContainerRoute.yaml","product/views/ContainerService.yaml","product/views/ContainerTemplate.yaml","product/views/CustomizationTemplate.yaml","product/views/Dialog.yaml","product/views/ems_block_storage.yaml","product/views/ems_object_storage.yaml","product/views/EmsCluster.yaml","product/views/EventLog-event_logs.yaml","product/views/Filesystem.yaml","product/views/FirewallRule.yaml","product/views/Flavor.yaml","product/views/FloatingIp.yaml","product/views/Group.yaml","product/views/GuestApplication.yaml","product/views/Host.yaml","product/views/HostAggregate.yaml","product/views/InstanceOrImage.yaml","product/views/IsoDatastore.yaml","product/views/Job.yaml","product/views/LdapRegion.yaml","product/views/LoadBalancer.yaml","product/views/ManageIQ_Providers_AnsibleTower_ConfigurationManager.yaml","product/views/ManageIQ_Providers_AnsibleTower_ConfigurationManager_ConfigurationScript.yaml","product/views/ManageIQ_Providers_AnsibleTower_ConfigurationManager_ConfiguredSystem.yaml","product/views/ManageIQ_Providers_AnsibleTower_ConfigurationManager_Job.yaml","product/views/ManageIQ_Providers_CloudManager.yaml","product/views/ManageIQ_Providers_CloudManager_AuthKeyPair.yaml","product/views/ManageIQ_Providers_CloudManager_OrchestrationStack.yaml","product/views/ManageIQ_Providers_CloudManager_Template-all_vms_and_templates.yaml","product/views/ManageIQ_Providers_CloudManager_Template.yaml","product/views/ManageIQ_Providers_CloudManager_Vm-all_vms_and_templates.yaml","product/views/ManageIQ_Providers_CloudManager_Vm-vms.yaml","product/views/ManageIQ_Providers_CloudManager_Vm.yaml","product/views/ManageIQ_Providers_ConfigurationManager.yaml","product/views/ManageIQ_Providers_ContainerManager.yaml","product/views/ManageIQ_Providers_DatawarehouseManager.yaml","product/views/ManageIQ_Providers_Foreman_ConfigurationManager.yaml","product/views/ManageIQ_Providers_Foreman_ConfigurationManager_ConfiguredSystem.yaml","product/views/ManageIQ_Providers_InfraManager.yaml","product/views/ManageIQ_Providers_InfraManager_Template.yaml","product/views/ManageIQ_Providers_InfraManager_Vm.yaml","product/views/ManageIQ_Providers_MiddlewareManager.yaml","product/views/ManageIQ_Providers_NetworkManager.yaml","product/views/ManageIQ_Providers_StorageManager.yaml","product/views/ManageIQ_Providers_Vmware_CloudManager_OrchestrationTemplate.yaml","product/views/MiddlewareDatasource.yaml","product/views/MiddlewareDeployment.yaml","product/views/MiddlewareDomain.yaml","product/views/MiddlewareMessaging.yaml","product/views/MiddlewareServer.yaml","product/views/MiddlewareServerGroup.yaml","product/views/MiqAction.yaml","product/views/MiqActionSet.yaml","product/views/MiqAeClass.yaml","product/views/MiqAeInstance.yaml","product/views/MiqAlert.yaml","product/views/MiqDialog.yaml","product/views/MiqEvent-actions.yaml","product/views/MiqEvent.yaml","product/views/MiqGroup.yaml","product/views/MiqPolicy.yaml","product/views/MiqPolicySet.yaml","product/views/MiqProvision.yaml","product/views/MiqReportResult-all.yaml","product/views/MiqReportResult.yaml","product/views/MiqRequest.yaml","product/views/MiqSchedule.yaml","product/views/MiqServer.yaml","product/views/MiqTask.yaml","product/views/MiqTemplate-all_miq_templates.yaml","product/views/MiqTemplate.yaml","product/views/MiqUserRole.yaml","product/views/MiqWidget-all.yaml","product/views/MiqWidget.yaml","product/views/MiqWorker.yaml","product/views/NetworkPort.yaml","product/views/NetworkRouter.yaml","product/views/OntapFileShare.yaml","product/views/OntapLogicalDisk.yaml","product/views/OntapStorageSystem.yaml","product/views/OntapStorageVolume.yaml","product/views/OpenscapRuleResult.yaml","product/views/OrchestrationStack.yaml","product/views/OrchestrationStackOutput.yaml","product/views/OrchestrationStackParameter.yaml","product/views/OrchestrationStackResource.yaml","product/views/OrchestrationTemplate.yaml","product/views/OrchestrationTemplateAzure.yaml","product/views/OrchestrationTemplateCfn.yaml","product/views/OrchestrationTemplateHot.yaml","product/views/OrchestrationTemplateVnfd.yaml","product/views/OsProcess-processes.yaml","product/views/Patch.yaml","product/views/PersistentVolume.yaml","product/views/Policy.yaml","product/views/PolicySet.yaml","product/views/ProductUpdate.yaml","product/views/PxeImageType.yaml","product/views/PxeServer.yaml","product/views/RegistryItem.yaml","product/views/ResourcePool.yaml","product/views/ScanHistory.yaml","product/views/ScanItemSet.yaml","product/views/SecurityGroup.yaml","product/views/ServerBuild.yaml","product/views/Service.yaml","product/views/ServiceCatalog.yaml","product/views/ServiceTemplate.yaml","product/views/ServiceTemplateCatalog.yaml","product/views/SniaLocalFileSystem.yaml","product/views/Storage.yaml","product/views/StorageCluster.yaml","product/views/StorageFile-debris_files.yaml","product/views/StorageFile-disk_files.yaml","product/views/StorageFile-files.yaml","product/views/StorageFile-snapshot_files.yaml","product/views/StorageFile-vm_misc_files.yaml","product/views/StorageFile-vm_ram_files.yaml","product/views/StorageManager.yaml","product/views/SystemService-filesystem_drivers.yaml","product/views/SystemService-kernel_drivers.yaml","product/views/SystemService-linux_initprocesses.yaml","product/views/SystemService-win32_services.yaml","product/views/SystemService.yaml","product/views/Tenant.yaml","product/views/User.yaml","product/views/Vm-all_vms.yaml","product/views/Vm-VmReconfigureRequest.yaml","product/views/Vm.yaml","product/views/Vm__restricted.yaml","product/views/VmdbDatabaseConnection.yaml","product/views/VmdbDatabaseSetting.yaml","product/views/VmdbIndex.yaml","product/views/VmdbTableEvm.yaml","product/views/VmOrTemplate-all_archived.yaml","product/views/VmOrTemplate-all_orphaned.yaml","product/views/VmOrTemplate-all_vms_and_templates.yaml","product/views/VmOrTemplate.yaml","product/views/Vsc.yaml","spec/migrations/data/20150625220141_fix_serialized_reports_for_rails_four_spec/binary_blob_hash.yaml","spec/migrations/data/20150625220141_fix_serialized_reports_for_rails_four_spec/binary_blob_obj.yaml","spec/migrations/data/20150625220141_fix_serialized_reports_for_rails_four_spec/miq_report_hash.yaml","spec/migrations/data/20150625220141_fix_serialized_reports_for_rails_four_spec/miq_report_obj.yaml","spec/models/rss_feed/data/newest_vms.yml"]' + http_version: + recorded_at: Tue, 07 Feb 2017 10:41:22 GMT +- request: + method: get + uri: https://testuser:secret@dev-ansible-tower2.example.com/api/v1/projects/37/playbooks/ + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Faraday v0.9.2 + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Tue, 07 Feb 2017 11:41:20 GMT + Server: + - Apache/2.4.6 (Red Hat Enterprise Linux) OpenSSL/1.0.1e-fips mod_wsgi/3.4 Python/2.7.5 + Vary: + - Accept,Cookie + Allow: + - GET, HEAD, OPTIONS + X-Api-Time: + - 0.033s + Content-Length: + - '19' + Content-Type: + - application/json + body: + encoding: UTF-8 + string: '["hello_world.yml"]' + http_version: + recorded_at: Tue, 07 Feb 2017 10:41:22 GMT +- request: + method: get + uri: https://testuser:secret@dev-ansible-tower2.example.com/api/v1/projects/40/playbooks/ + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Faraday v0.9.2 + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Tue, 07 Feb 2017 11:41:21 GMT + Server: + - Apache/2.4.6 (Red Hat Enterprise Linux) OpenSSL/1.0.1e-fips mod_wsgi/3.4 Python/2.7.5 + Vary: + - Accept,Cookie + Allow: + - GET, HEAD, OPTIONS + X-Api-Time: + - 0.033s + Content-Length: + - '190' + Content-Type: + - application/json + body: + encoding: UTF-8 + string: '["playbooks/check-service.yaml","playbooks/create-default-repositories.yaml","playbooks/delete-persistentvolumeclaims.yaml","playbooks/deploy-service.yaml","playbooks/undeploy-service.yaml"]' + http_version: + recorded_at: Tue, 07 Feb 2017 10:41:23 GMT +recorded_with: VCR 3.0.3