Bug 1208618
Summary: | ActiveRecord::RecordInvalid: Validation failed: Title has already been taken | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | Red Hat Satellite | Reporter: | Og Maciel <omaciel> | ||||||||||||||||||||
Component: | Content Management | Assignee: | Justin Sherrill <jsherril> | ||||||||||||||||||||
Status: | CLOSED ERRATA | QA Contact: | Tazim Kolhar <tkolhar> | ||||||||||||||||||||
Severity: | medium | Docs Contact: | |||||||||||||||||||||
Priority: | unspecified | ||||||||||||||||||||||
Version: | 6.1.0 | CC: | bbuckingham, bkearney, chpeters, cwelton, jesusr, jmatthew, jsherril, mburgerh, mmccune, pcfe, peter.vreman, tcarlin, tkolhar, tsanders, zleite | ||||||||||||||||||||
Target Milestone: | Unspecified | Keywords: | Triaged | ||||||||||||||||||||
Target Release: | Unused | ||||||||||||||||||||||
Hardware: | Unspecified | ||||||||||||||||||||||
OS: | Unspecified | ||||||||||||||||||||||
URL: | http://projects.theforeman.org/issues/10690 | ||||||||||||||||||||||
Whiteboard: | |||||||||||||||||||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||||||||||||||||||
Doc Text: | Story Points: | --- | |||||||||||||||||||||
Clone Of: | Environment: | ||||||||||||||||||||||
Last Closed: | 2015-10-15 18:20:02 UTC | Type: | Bug | ||||||||||||||||||||
Regression: | --- | Mount Type: | --- | ||||||||||||||||||||
Documentation: | --- | CRM: | |||||||||||||||||||||
Verified Versions: | Category: | --- | |||||||||||||||||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||||||||||||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||||||||||||||||
Embargoed: | |||||||||||||||||||||||
Bug Depends On: | |||||||||||||||||||||||
Bug Blocks: | 1122832, 1212602, 1260212 | ||||||||||||||||||||||
Attachments: |
|
Created attachment 1010269 [details]
foreman-debug
Created attachment 1032248 [details]
Failed sync 2
Created redmine issue http://projects.theforeman.org/issues/10690 from this bug Moving to POST since upstream bug http://projects.theforeman.org/issues/10690 has been closed ------------- Justin Sherrill Applied in changeset commit:katello|45f26bce8777ca9ab4f75481e21afc8395981e77. Moving to assigned as the current fix is not sufficient. Moving to POST since upstream bug http://projects.theforeman.org/issues/10690 has been closed ------------- Justin Sherrill Applied in changeset commit:katello|45f26bce8777ca9ab4f75481e21afc8395981e77. Saw this issue today (7/22/2015): # rpm -qa | grep katello katello-certs-tools-2.2.1-1.el7sat.noarch pulp-katello-0.5-1.el7sat.noarch katello-debug-2.2.0.11-1.el7sat.noarch katello-installer-base-2.3.12-1.el7sat.noarch katello-server-ca-1.0-1.noarch katello-2.2.0.11-1.el7sat.noarch katello-service-2.2.0.11-1.el7sat.noarch katello-installer-2.3.12-1.el7sat.noarch katello-default-ca-1.0-1.noarch ruby193-rubygem-katello-2.2.0.51-1.el7sat.noarch rubygem-hammer_cli_katello-0.0.7.15-1.el7sat.noarch katello-common-2.2.0.11-1.el7sat.noarch Action: Actions::Katello::Repository::UpdateMedia Input: {"repo_id"=>3, "locale"=>"en"} Output: {} Exception: ActiveRecord::RecordInvalid: Validation failed: Title has already been taken Backtrace: /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/validations.rb:56:in `save!' /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/attribute_methods/dirty.rb:33:in `save!' /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/transactions.rb:246:in `block in save!' /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/transactions.rb:295:in `block in with_transaction_returning_status' /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract/database_statements.rb:192:in `transaction' /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/transactions.rb:208:in `transaction' /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/transactions.rb:293:in `with_transaction_returning_status' /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/transactions.rb:246:in `save!' /opt/rh/ruby193/root/usr/share/gems/gems/katello-2.2.0.51/app/models/katello/concerns/medium_extensions.rb:37:in `update_media' /opt/rh/ruby193/root/usr/share/gems/gems/katello-2.2.0.51/app/lib/actions/katello/repository/update_media.rb:23:in `finalize' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/action.rb:503:in `block (2 levels) in execute_finalize' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/middleware/stack.rb:26:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/middleware/stack.rb:26:in `pass' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/middleware.rb:16:in `pass' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/action/progress.rb:30:in `with_progress_calculation' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/action/progress.rb:22:in `finalize' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/middleware/stack.rb:22:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/middleware/stack.rb:26:in `pass' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/middleware.rb:16:in `pass' /opt/rh/ruby193/root/usr/share/gems/gems/katello-2.2.0.51/app/lib/actions/middleware/keep_locale.rb:27:in `block in finalize' /opt/rh/ruby193/root/usr/share/gems/gems/katello-2.2.0.51/app/lib/actions/middleware/keep_locale.rb:34:in `with_locale' /opt/rh/ruby193/root/usr/share/gems/gems/katello-2.2.0.51/app/lib/actions/middleware/keep_locale.rb:27:in `finalize' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/middleware/stack.rb:22:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/middleware/world.rb:30:in `execute' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/action.rb:502:in `block in execute_finalize' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/action.rb:396:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/action.rb:396:in `block in with_error_handling' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/action.rb:396:in `catch' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/action.rb:396:in `with_error_handling' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/action.rb:501:in `execute_finalize' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/action.rb:256:in `execute' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/execution_plan/steps/abstract_flow_step.rb:9:in `block (2 levels) in execute' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/execution_plan/steps/abstract.rb:155:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/execution_plan/steps/abstract.rb:155:in `with_meta_calculation' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/execution_plan/steps/abstract_flow_step.rb:8:in `block in execute' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/execution_plan/steps/abstract_flow_step.rb:22:in `open_action' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/execution_plan/steps/abstract_flow_step.rb:7:in `execute' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/executors/parallel/sequential_manager.rb:72:in `run_step' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/executors/parallel/sequential_manager.rb:57:in `dispatch' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/executors/parallel/sequential_manager.rb:64:in `block in run_in_sequence' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/executors/parallel/sequential_manager.rb:64:in `each' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/executors/parallel/sequential_manager.rb:64:in `all?' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/executors/parallel/sequential_manager.rb:64:in `run_in_sequence' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/executors/parallel/sequential_manager.rb:53:in `dispatch' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/executors/parallel/sequential_manager.rb:28:in `block (2 levels) in finalize' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/middleware/stack.rb:26:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/middleware/stack.rb:26:in `pass' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/middleware.rb:16:in `pass' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/middleware.rb:41:in `finalize_phase' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/middleware/stack.rb:22:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/middleware/stack.rb:26:in `pass' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/middleware.rb:16:in `pass' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/middleware.rb:41:in `finalize_phase' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/middleware/stack.rb:22:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/middleware/stack.rb:26:in `pass' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/middleware.rb:16:in `pass' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/middleware.rb:41:in `finalize_phase' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/middleware/stack.rb:22:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/middleware/world.rb:30:in `execute' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/executors/parallel/sequential_manager.rb:27:in `block in finalize' /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract/database_statements.rb:192:in `transaction' /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/transactions.rb:208:in `transaction' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/transaction_adapters/active_record.rb:5:in `transaction' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/executors/parallel/sequential_manager.rb:24:in `finalize' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/executors/parallel/worker.rb:23:in `block in on_message' /opt/rh/ruby193/root/usr/share/gems/gems/algebrick-0.4.0/lib/algebrick.rb:859:in `block in assigns' /opt/rh/ruby193/root/usr/share/gems/gems/algebrick-0.4.0/lib/algebrick.rb:858:in `tap' /opt/rh/ruby193/root/usr/share/gems/gems/algebrick-0.4.0/lib/algebrick.rb:858:in `assigns' /opt/rh/ruby193/root/usr/share/gems/gems/algebrick-0.4.0/lib/algebrick.rb:138:in `match_value' /opt/rh/ruby193/root/usr/share/gems/gems/algebrick-0.4.0/lib/algebrick.rb:116:in `block in match' /opt/rh/ruby193/root/usr/share/gems/gems/algebrick-0.4.0/lib/algebrick.rb:115:in `each' /opt/rh/ruby193/root/usr/share/gems/gems/algebrick-0.4.0/lib/algebrick.rb:115:in `match' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/executors/parallel/worker.rb:17:in `on_message' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/micro_actor.rb:82:in `on_envelope' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/micro_actor.rb:72:in `receive' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/micro_actor.rb:99:in `block (2 levels) in run' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/micro_actor.rb:99:in `loop' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/micro_actor.rb:99:in `block in run' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/micro_actor.rb:99:in `catch' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/micro_actor.rb:99:in `run' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.7/lib/dynflow/micro_actor.rb:13:in `block in initialize' /opt/rh/ruby193/root/usr/share/gems/gems/logging-1.8.1/lib/logging/diagnostic_context.rb:323:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/logging-1.8.1/lib/logging/diagnostic_context.rb:323:in `block in create_with_logging_context' This was seen in context of a RHCI deployment. We were downloading ~9 repositories, 2 repositories had errors syncing. The odd thing is that this exception of the Validation failed happened on a repository that showed no errors from the sync, it was 2 other non-related repos that showed a problem from Pulp syncing. Note that the attached issue really does not fully resolve the issue. after that was fixed it became apparent that it wouldn't. This would also need to be resolved for the issue to be truly fixed: http://projects.theforeman.org/issues/10826 Saw for 2nd time today, 7/22, attaching foreman-debug output. Created attachment 1054903 [details]
foreman-debug output from 2nd run on 7/22/2015
Moving to POST since upstream bug http://projects.theforeman.org/issues/10690 has been closed ------------- Justin Sherrill Applied in changeset commit:katello|45f26bce8777ca9ab4f75481e21afc8395981e77. I just had this occur to me when syncing RHEL 6.5 and RHEL 7.0 kickstarts simultaneously, for both kickstart trees at the same time, too. Same setup. Maxim, We are still not 100% sure of the cause or the reproducibility. If you are able to reproduce consistently, i am curious if you would test a patch for us: https://github.com/Katello/katello/pull/5372 This really should not affect the issue, but we have seen some evidence that it may. -Justin I hit this again last night as well, 7/23 @11pm. Saw this syncing RHEL kickstart 6.6. Fwiw, the only way I found until now is to sync all kickstart repositories sequentially. Just did 6.5 up to 7.1 without errors. I've synced _only_ 6.6 and I've still seen this error occur. Was able to sync five repos in parallel today with another patch I got from jsherill. Created attachment 1057922 [details]
repo sync for rhel5 products
Created attachment 1057923 [details]
foreman-debug attached
Tazim, This seems to indicate that your satellite had email sending turned on without properly configuring /etc/foreman/email.yml -Justin VERIFIED: # rpm -qa | grep foreman foreman-proxy-1.7.2.5-1.el6_6sat.noarch foreman-1.7.2.33-1.el6_6sat.noarch ruby193-rubygem-foreman_hooks-0.3.7-2.el6_6sat.noarch foreman-postgresql-1.7.2.33-1.el6_6sat.noarch cloud-qe-9.idmqe.lab.eng.bos.redhat.com-foreman-proxy-client-1.0-1.noarch ruby193-rubygem-foreman_docker-1.2.0.18-1.el6_6sat.noarch rubygem-hammer_cli_foreman_tasks-0.0.3.5-1.el6_6sat.noarch cloud-qe-9.idmqe.lab.eng.bos.redhat.com-foreman-proxy-1.0-1.noarch foreman-libvirt-1.7.2.33-1.el6_6sat.noarch foreman-ovirt-1.7.2.33-1.el6_6sat.noarch ruby193-rubygem-foreman-tasks-0.6.15.4-1.el6_6sat.noarch rubygem-hammer_cli_foreman_discovery-0.0.1.10-1.el6_6sat.noarch foreman-debug-1.7.2.33-1.el6_6sat.noarch foreman-vmware-1.7.2.33-1.el6_6sat.noarch ruby193-rubygem-foreman_discovery-2.0.0.19-1.el6_6sat.noarch ruby193-rubygem-foreman_bootdisk-4.0.2.13-1.el6_6sat.noarch rubygem-hammer_cli_foreman_bootdisk-0.1.2.7-1.el6_6sat.noarch rubygem-hammer_cli_foreman_docker-0.0.3.9-1.el6_6sat.noarch ruby193-rubygem-foreman_gutterball-0.0.1.9-1.el6_6sat.noarch foreman-selinux-1.7.2.13-1.el6_6sat.noarch cloud-qe-9.idmqe.lab.eng.bos.redhat.com-foreman-client-1.0-1.noarch foreman-gce-1.7.2.33-1.el6_6sat.noarch rubygem-hammer_cli_foreman-0.1.4.14-1.el6_6sat.noarch foreman-compute-1.7.2.33-1.el6_6sat.noarch ruby193-rubygem-foreman-redhat_access-0.2.1-1.el6_6sat.noarch steps: 1. Enable the following products from the web ui for synchronization: * Red Hat Enterprise Linux 5 Server Kickstart i386 5.11 * Red Hat Enterprise Linux 5 Server Kickstart x86_64 5.11 * Red Hat Enterprise Linux 5 Server RPMs i386 5Server * Red Hat Enterprise Linux 5 Server RPMs x86_64 5Server please let me know if any additional steps thanks repos synced screenshot attached Created attachment 1058085 [details]
repo sync for rhel5 products
Created attachment 1058097 [details]
repos _ sync Covered all 4 repos
I hit this problem with snap 15. This is the same issue we've seen in the past, but now with the unique constraint the error message changes. Will upload foreman-debug output named: foreman-debug-July31_2015_saw_unique_constraint_violated.tar.xz 2015-07-31 13:29:21 [E] PGError: ERROR: duplicate key value violates unique constraint "index_operatingsystems_on_title" DETAIL: Key (title)=(RedHat 6.7) already exists. : INSERT INTO "operatingsystems" ("created_at", "description", "hostgroups_count", "hosts_count", "major", "minor", "name", "nameindicator", "password_hash", "release_name", "title", "type", "updated_at") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13) RETURNING "id" (ActiveRecord::RecordNotUnique) /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/connection_adapters/postgresql_adapter.rb:1171:in `get_last_result' /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/connection_adapters/postgresql_adapter.rb:1171:in `exec_cache' /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/connection_adapters/postgresql_adapter.rb:665:in `block in exec_query' /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract_adapter.rb:280:in `block in log' /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/notifications/instrumenter.rb:20:in `instrument' /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract_adapter.rb:275:in `log' /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/connection_adapters/postgresql_adapter.rb:663:in `exec_query' /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract/database_statements.rb:63:in `exec_insert' /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract/database_statements.rb:90:in `insert' /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract/query_cache.rb:14:in `insert' /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/relation.rb:66:in `insert' /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/persistence.rb:366:in `create' /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/timestamp.rb:57:in `create' /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/callbacks.rb:268:in `block in create' /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:403:in `_run__2427313944654588772__create__2013826107241036993__callbacks' /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:405:in `__run_callback' /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:385:in `_run_create_callbacks' /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:81:in `run_callbacks' /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/callbacks.rb:268:in `create' /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/persistence.rb:347:in `create_or_update' /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/callbacks.rb:264:in `block in create_or_update' /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:436:in `_run__2427313944654588772__save__2013826107241036993__callbacks' /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:405:in `__run_callback' /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:385:in `_run_save_callbacks' /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:81:in `run_callbacks' /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/callbacks.rb:264:in `create_or_update' /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/persistence.rb:104:in `save!' /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/validations.rb:56:in `save!' /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/attribute_methods/dirty.rb:33:in `save!' /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/transactions.rb:246:in `block in save!' /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/transactions.rb:295:in `block in with_transaction_returning_status' /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract/database_statements.rb:192:in `transaction' /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/transactions.rb:208:in `transaction' /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/transactions.rb:293:in `with_transaction_returning_status' /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/transactions.rb:246:in `save!' /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/validations.rb:41:in `create!' /opt/rh/ruby193/root/usr/share/gems/gems/katello-2.2.0.64/app/models/katello/concerns/redhat_extensions.rb:46:in `create_operating_system' /opt/rh/ruby193/root/usr/share/gems/gems/katello-2.2.0.64/app/models/katello/concerns/redhat_extensions.rb:33:in `find_or_create_operating_system' /opt/rh/ruby193/root/usr/share/gems/gems/katello-2.2.0.64/app/lib/actions/katello/foreman/content_update.rb:36:in `block in finalize' /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/relation/delegation.rb:6:in `each' /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/relation/delegation.rb:6:in `each' /opt/rh/ruby193/root/usr/share/gems/gems/katello-2.2.0.64/app/lib/actions/katello/foreman/content_update.rb:34:in `finalize' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/action.rb:509:in `block (2 levels) in execute_finalize' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/middleware/stack.rb:26:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/middleware/stack.rb:26:in `pass' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/middleware.rb:16:in `pass' /opt/rh/ruby193/root/usr/share/gems/gems/katello-2.2.0.64/app/lib/actions/middleware/remote_action.rb:31:in `block in finalize' /opt/rh/ruby193/root/usr/share/gems/gems/katello-2.2.0.64/app/lib/actions/middleware/remote_action.rb:57:in `block (2 levels) in as_remote_user' /opt/rh/ruby193/root/usr/share/gems/gems/katello-2.2.0.64/app/lib/katello/util/thread_session.rb:84:in `pulp_config' /opt/rh/ruby193/root/usr/share/gems/gems/katello-2.2.0.64/app/lib/actions/middleware/remote_action.rb:43:in `as_pulp_user' /opt/rh/ruby193/root/usr/share/gems/gems/katello-2.2.0.64/app/lib/actions/middleware/remote_action.rb:56:in `block in as_remote_user' /opt/rh/ruby193/root/usr/share/gems/gems/katello-2.2.0.64/app/lib/katello/util/thread_session.rb:91:in `cp_config' /opt/rh/ruby193/root/usr/share/gems/gems/katello-2.2.0.64/app/lib/actions/middleware/remote_action.rb:38:in `as_cp_user' /opt/rh/ruby193/root/usr/share/gems/gems/katello-2.2.0.64/app/lib/actions/middleware/remote_action.rb:55:in `as_remote_user' /opt/rh/ruby193/root/usr/share/gems/gems/katello-2.2.0.64/app/lib/actions/middleware/remote_action.rb:31:in `finalize' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/middleware/stack.rb:22:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/middleware/stack.rb:26:in `pass' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/middleware.rb:16:in `pass' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/action/progress.rb:30:in `with_progress_calculation' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/action/progress.rb:22:in `finalize' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/middleware/stack.rb:22:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/middleware/stack.rb:26:in `pass' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/middleware.rb:16:in `pass' /opt/rh/ruby193/root/usr/share/gems/gems/katello-2.2.0.64/app/lib/actions/middleware/keep_locale.rb:27:in `block in finalize' /opt/rh/ruby193/root/usr/share/gems/gems/katello-2.2.0.64/app/lib/actions/middleware/keep_locale.rb:34:in `with_locale' /opt/rh/ruby193/root/usr/share/gems/gems/katello-2.2.0.64/app/lib/actions/middleware/keep_locale.rb:27:in `finalize' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/middleware/stack.rb:22:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/middleware/world.rb:30:in `execute' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/action.rb:508:in `block in execute_finalize' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/action.rb:402:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/action.rb:402:in `block in with_error_handling' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/action.rb:402:in `catch' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/action.rb:402:in `with_error_handling' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/action.rb:507:in `execute_finalize' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/action.rb:262:in `execute' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/execution_plan/steps/abstract_flow_step.rb:9:in `block (2 levels) in execute' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/execution_plan/steps/abstract.rb:155:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/execution_plan/steps/abstract.rb:155:in `with_meta_calculation' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/execution_plan/steps/abstract_flow_step.rb:8:in `block in execute' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/execution_plan/steps/abstract_flow_step.rb:22:in `open_action' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/execution_plan/steps/abstract_flow_step.rb:7:in `execute' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/executors/parallel/sequential_manager.rb:72:in `run_step' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/executors/parallel/sequential_manager.rb:57:in `dispatch' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/executors/parallel/sequential_manager.rb:64:in `block in run_in_sequence' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/executors/parallel/sequential_manager.rb:64:in `each' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/executors/parallel/sequential_manager.rb:64:in `all?' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/executors/parallel/sequential_manager.rb:64:in `run_in_sequence' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/executors/parallel/sequential_manager.rb:53:in `dispatch' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/executors/parallel/sequential_manager.rb:28:in `block (2 levels) in finalize' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/middleware/stack.rb:26:in `call' Created attachment 1058194 [details]
foreman debug from 7/31/2015 seen when unique constraint was violated
In regard to comment #30 below are the RPMs I used: # rpm -qa | grep katello rubygem-hammer_cli_katello-0.0.7.17-1.el7sat.noarch katello-installer-base-2.3.17-1.el7sat.noarch katello-default-ca-1.0-1.noarch pulp-katello-0.5-1.el7sat.noarch katello-common-2.2.0.14-1.el7sat.noarch katello-service-2.2.0.14-1.el7sat.noarch katello-debug-2.2.0.14-1.el7sat.noarch katello-certs-tools-2.2.1-1.el7sat.noarch katello-installer-2.3.17-1.el7sat.noarch katello-2.2.0.14-1.el7sat.noarch ruby193-rubygem-katello-2.2.0.64-1.el7sat.noarch katello-server-ca-1.0-1.noarch Also reproduced this error for RHCI. In my case, it appears twice in the same logfile at the same time: repository 'Red Hat Enterprise Virtualization Management Agents RPMs x86_64 6Server'; product 'Red Hat Enterprise Virtualization'; organization 'Default Organization' and repository 'Red Hat Enterprise Linux 6 Server - RH Common RPMs x86_64 6Server'; product 'Red Hat Enterprise Linux Server'; organization 'Default Organization' I saw this error this weekend: caused by: (PGError) ERROR: duplicate key value violates unique constraint "index_operatingsystems_on_title" DETAIL: Key (title)=(RedHat 6.7) already exists. ... skipped 131 lines 2015-08-01 17:21:21 [I] Completed 200 OK in 31125ms (Views: 30308.3ms | ActiveRecord: 787.9ms) 2015-08-01 17:21:21 [I] Processing by Api::V21::ForemanTasksController#index as JSON 2015-08-01 17:21:21 [I] Parameters: {"search"=>"parent_task_id = ac67580b-692e-43fe-a9f5-0a64d037bae1", "apiv"=>"v21"} 2015-08-01 17:21:31 [I] Completed 200 OK in 54973ms (Views: 54155.3ms | ActiveRecord: 808.5ms) 2015-08-01 17:21:31 [I] Processing by Api::V21::ForemanTasksController#index as JSON 2015-08-01 17:21:31 [I] Parameters: {"search"=>"parent_task_id = e9e3b1c1-3dde-49e5-91b3-1461807f628e", "apiv"=>"v21"} 2015-08-01 17:21:32 [E] A sub task failed (RuntimeError) /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/action/with_sub_plans.rb:158:in `check_for_errors!' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/action/with_sub_plans.rb:80:in `try_to_finish' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/action/with_sub_plans.rb:19:in `block in run' /opt/rh/ruby193/root/usr/share/gems/gems/algebrick-0.4.0/lib/algebrick.rb:859:in `block in assigns' /opt/rh/ruby193/root/usr/share/gems/gems/algebrick-0.4.0/lib/algebrick.rb:858:in `tap' /opt/rh/ruby193/root/usr/share/gems/gems/algebrick-0.4.0/lib/algebrick.rb:858:in `assigns' /opt/rh/ruby193/root/usr/share/gems/gems/algebrick-0.4.0/lib/algebrick.rb:138:in `match_value' /opt/rh/ruby193/root/usr/share/gems/gems/algebrick-0.4.0/lib/algebrick.rb:116:in `block in match' /opt/rh/ruby193/root/usr/share/gems/gems/algebrick-0.4.0/lib/algebrick.rb:115:in `each' /opt/rh/ruby193/root/usr/share/gems/gems/algebrick-0.4.0/lib/algebrick.rb:115:in `match' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/action/with_sub_plans.rb:9:in `run' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/action.rb:487:in `block (3 levels) in execute_run' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/middleware/stack.rb:26:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/middleware/stack.rb:26:in `pass' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/middleware.rb:16:in `pass' /opt/rh/ruby193/root/usr/share/gems/gems/foreman-tasks-0.6.15.4/app/lib/actions/middleware/keep_current_user.rb:23:in `block in run' /opt/rh/ruby193/root/usr/share/gems/gems/foreman-tasks-0.6.15.4/app/lib/actions/middleware/keep_current_user.rb:34:in `restore_curent_user' /opt/rh/ruby193/root/usr/share/gems/gems/foreman-tasks-0.6.15.4/app/lib/actions/middleware/keep_current_user.rb:23:in `run' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/middleware/stack.rb:22:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/middleware/stack.rb:26:in `pass' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/middleware.rb:16:in `pass' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/action/progress.rb:30:in `with_progress_calculation' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/action/progress.rb:16:in `run' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/middleware/stack.rb:22:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/middleware/stack.rb:26:in `pass' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/middleware.rb:16:in `pass' /opt/rh/ruby193/root/usr/share/gems/gems/katello-2.2.0.64/app/lib/actions/middleware/keep_locale.rb:23:in `block in run' /opt/rh/ruby193/root/usr/share/gems/gems/katello-2.2.0.64/app/lib/actions/middleware/keep_locale.rb:34:in `with_locale' /opt/rh/ruby193/root/usr/share/gems/gems/katello-2.2.0.64/app/lib/actions/middleware/keep_locale.rb:23:in `run' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/middleware/stack.rb:22:in `call' /opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7.9/lib/dynflow/middleware/world.rb:30:in `execute' Upstream bug component is Content Management Just encountered this in compose 4 :(. Attempted syncing: RHEL5/i386 RHEL5/x86_64 RHEL5/i386 kickstart RHEL5/x86_64 kickstart PGError: ERROR: duplicate key value violates unique constraint "index_operatingsystems_on_title" DETAIL: Key (title)=(RedHat 5.11) already exists. : INSERT INTO "operatingsystems" ("created_at", "description", "hostgroups_count", "hosts_count", "major", "minor", "name", "nameindicator", "password_hash", "release_name", "title", "type", "updated_at") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13) RETURNING "id" The repo that failed was the x86_64 kickstart tree Looking at the PGError above, there is no arch referenced. Would the proper fix include arch in there to assure a unique? Bouncing back to dev for analysis. VERIFIED: # rpm -qa | grep foreman ruby193-rubygem-foreman_hooks-0.3.7-2.el7sat.noarch rubygem-hammer_cli_foreman-0.1.4.14-1.el7sat.noarch ruby193-rubygem-foreman_bootdisk-4.0.2.13-1.el7sat.noarch foreman-gce-1.7.2.42-1.el7sat.noarch rubygem-hammer_cli_foreman_bootdisk-0.1.2.7-1.el7sat.noarch foreman-debug-1.7.2.42-1.el7sat.noarch foreman-proxy-1.7.2.6-1.el7sat.noarch foreman-1.7.2.42-1.el7sat.noarch foreman-vmware-1.7.2.42-1.el7sat.noarch ruby193-rubygem-foreman-redhat_access-0.2.3-1.el7sat.noarch rubygem-hammer_cli_foreman_discovery-0.0.1.10-1.el7sat.noarch dell-pem710-01.rhts.eng.bos.redhat.com-foreman-client-1.0-1.noarch dell-pem710-01.rhts.eng.bos.redhat.com-foreman-proxy-1.0-2.noarch foreman-compute-1.7.2.42-1.el7sat.noarch ruby193-rubygem-foreman_docker-1.2.0.22-1.el7sat.noarch ruby193-rubygem-foreman-tasks-0.6.15.7-1.el7sat.noarch rubygem-hammer_cli_foreman_tasks-0.0.3.5-1.el7sat.noarch foreman-libvirt-1.7.2.42-1.el7sat.noarch foreman-postgresql-1.7.2.42-1.el7sat.noarch dell-pem710-01.rhts.eng.bos.redhat.com-foreman-proxy-client-1.0-1.noarch foreman-ovirt-1.7.2.42-1.el7sat.noarch foreman-selinux-1.7.2.14-1.el7sat.noarch ruby193-rubygem-foreman_discovery-2.0.0.19-1.el7sat.noarch rubygem-hammer_cli_foreman_docker-0.0.3.9-1.el7sat.noarch ruby193-rubygem-foreman_gutterball-0.0.1.9-1.el7sat.noarch steps: 1. Enable the following products from the web ui for synchronization: * Red Hat Enterprise Linux 5 Server Kickstart i386 5.11 * Red Hat Enterprise Linux 5 Server Kickstart x86_64 5.11 * Red Hat Enterprise Linux 5 Server RPMs i386 5Server * Red Hat Enterprise Linux 5 Server RPMs x86_64 5Server 2. Synchronize them All the repos synced properly without any error Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2015:1911 *** Bug 1257054 has been marked as a duplicate of this bug. *** *** Bug 1259789 has been marked as a duplicate of this bug. *** |
Created attachment 1010268 [details] Failed sync Description of problem: I enabled several kickstart and RPM Red Hat products for synchronization, but I had issues with my RHEL 5 products as shown in the attached screenshot). It looks like that multiple similar versions of RHEL 5 products were the only ones that failed, as all of my similar RHEL 6 and 6 products were synchronized. Version-Release number of selected component (if applicable): * Satellite-6.1.0-RHEL-7-20150331.1 How reproducible: Steps to Reproduce: 1. Enable the following products from the web ui for synchronization: * Red Hat Enterprise Linux 5 Server Kickstart i386 5.11 * Red Hat Enterprise Linux 5 Server Kickstart x86_64 5.11 * Red Hat Enterprise Linux 5 Server RPMs i386 5Server * Red Hat Enterprise Linux 5 Server RPMs x86_64 5Server 2. Synchronize them 3. Actual results: The sync process for some of the RHEL 5 products fail. Looking at the failed tasks shows: ActiveRecord::RecordInvalid: Validation failed: Title has already been taken Expected results: Additional info: