Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixes #38103 - disallow direct container tar uploads #11262

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

ianballou
Copy link
Member

What are the changes introduced in this pull request?

Disables uploading container tar files via API/Hammer because podman push is supported now. The workflow was never properly implemented with Pulp 3 Katello and is mostly broken.

Considerations taken when implementing this change?

We could technically get the uploads working again, but I don't see a reason why we should support uploading container content outside of the container registry.

What are the testing steps for this pull request?

  1. Try hammer repository upload-content on a container repo.
  2. See the failure with a nice message.

@ianballou ianballou force-pushed the 38103-disallow-container-upload-cuz-we-have-push-now branch from c35b116 to 9361aa3 Compare December 16, 2024 16:29
Copy link
Member

@jeremylenz jeremylenz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I created a product and docker type repo, then tried to upload a random file to it. Not sure what I did wrong but I got this:

[vagrant@centos9-katello-devel hammer-cli-katello]$ hammer repository upload-content --id 52 --path ./release_notes.md
[..............................................................................................................................................................] [100%]
Error: undefined method `create' for #<PulpContainerClient::ContentManifestsApi:0x00007ffb5edfc800 @api_client=#<PulpContainerClient::ApiClient:0x00007ffb5edfc990 @config=#<PulpContainerClient::Configuration:0x00007ffb5edf4970 @scheme="https", @host="centos9-katello-devel.fedora.example.com", @base_path="", @api_key={}, @api_key_prefix={}, @timeout=3600, @client_side_validation=true, @ssl_verify=true, @ssl_verify_mode=nil, @ssl_ca_file="/home/vagrant/foreman-certs/proxy_ca.pem", @ssl_client_cert=#<OpenSSL::X509::Certificate: subject=#<OpenSSL::X509::Name CN=centos9-katello-devel.fedora.example.com,OU=PUPPET,O=FOREMAN,ST=North Carolina,C=US>, issuer=#<OpenSSL::X509::Name CN=centos9-katello-devel.fedora.example.com,OU=SomeOrgUnit,O=Katello,L=Raleigh,ST=North Carolina,C=US>, serial=#<OpenSSL::BN:0x00007ffb5edbdfb0>, not_before=2024-11-12 19:44:38 UTC, not_after=2038-01-17 19:44:39 UTC>, @ssl_client_key=#<OpenSSL::PKey::RSA:0x00007ffb27e5e6b8 oid=rsaEncryption>, @params_encoder=Faraday::FlatParamsEncoder, @debugging=true, @inject_format=false, @force_ending_format=false, @logger=#<Logging::Logger:0x00007ffb600d80f0 @name="katello/pulp_rest", @parent=#<Logging::RootLogger:0x00007ffb600f8030 @name="root", @appenders=[#<Logging::Appenders::File:0x00007ffb5fd774b0 @filename="/home/vagrant/foreman/log/development.log", @encoding=#<Encoding:UTF-8>, @io=#<File:/home/vagrant/foreman/log/development.log>, @close_method=:close, @buffer=[], @immediate=[], @auto_flushing=1, @async=false, @async_flusher=nil, @flush_period=nil, @name="foreman", @closed=false, @filters=[], @mutex=#<ReentrantMutex:0x00007ffb5fd76ee8 @locker=nil>, @layout=#<Foreman::LoggingImpl::MultilineRequestPatternLayout:0x00007ffb5fd7a340 @obj_format=:string, @backtrace=true, @utc_offset=nil, @cause_depth=8, @created_at=2024-12-16 17:42:19.790354631 +0000, @date_pattern="%Y-%m-%dT%H:%M:%S", @date_method=nil, @pattern="%d [%.1l|%.3c|%.8X{request}] %m\n", @color_scheme=#<Logging::ColorScheme:0x00007ffb600f8c38 @scheme={"date"=>"\e[32m", "logger"=>"\e[36m", "line"=>"\e[33m", "file"=>"\e[33m", "method"=>"\e[33m", "info"=>"\e[32m", "warn"=>"\e[33m", "error"=>"\e[31m", "fatal"=>"\e[37m\e[41m"}, @lines=false, @levels=true>, @name_map_0=["D", "\e[32mI\e[0m", "\e[33mW\e[0m", "\e[31mE\e[0m", "\e[37m\e[41mF\e[0m"]>, @level=0, @write_size=500>, #<Logging::Appenders::Stdout:0x00007ffb5fd74990 @io=#<IO:<STDOUT>>, @close_method=:close, @buffer=[], @immediate=[], @auto_flushing=1, @async=false, @async_flusher=nil, @flush_period=nil, @name="foreman", @closed=false, @filters=[], @mutex=#<ReentrantMutex:0x00007ffb5fd74670 @locker=nil>, @layout=#<Foreman::LoggingImpl::MultilineRequestPatternLayout:0x00007ffb5fd760d8 @obj_format=:string, @backtrace=true, @utc_offset=nil, @cause_depth=8, @created_at=2024-12-16 17:42:19.7906453 +0000, @date_pattern="%Y-%m-%dT%H:%M:%S", @date_method=nil, @pattern="%d [%.1l|%.3c|%.8X{request}] %m\n", @color_scheme=nil>, @level=0, @encoding=#<Encoding:UTF-8>, @write_size=500>], @additive=false, @caller_tracing=false, @level=0>, @appenders=[], @additive=true, @level=nil, @caller_tracing=false>, @username=nil, @password=nil>, @user_agent="OpenAPI-Generator/2.22.0/ruby", @default_headers={"Content-Type"=>"application/json", "User-Agent"=>"OpenAPI-Generator/2.22.0/ruby", "Correlation-ID"=>"26ece985-d6ea-48d7-b115-9c52053eac90"}>>
Successfully uploaded file release_notes.md

@ianballou
Copy link
Member Author

@jeremylenz mind if I see the entire backtrace from Dynflow?

@jeremylenz
Copy link
Member

Sure here it is

Error:

NoMethodError

undefined method `create' for #<PulpContainerClient::ContentManifestsApi:0x00007ffb5edfc800 @api_client=#<PulpContainerClient::ApiClient:0x00007ffb5edfc990 @config=#<PulpContainerClient::Configuration:0x00007ffb5edf4970 @scheme="https", @host="centos9-katello-devel.fedora.example.com", @base_path="", @api_key={}, @api_key_prefix={}, @timeout=3600, @client_side_validation=true, @ssl_verify=true, @ssl_verify_mode=nil, @ssl_ca_file="/home/vagrant/foreman-certs/proxy_ca.pem", @ssl_client_cert=#<OpenSSL::X509::Certificate: subject=#<OpenSSL::X509::Name CN=centos9-katello-devel.fedora.example.com,OU=PUPPET,O=FOREMAN,ST=North Carolina,C=US>, issuer=#<OpenSSL::X509::Name CN=centos9-katello-devel.fedora.example.com,OU=SomeOrgUnit,O=Katello,L=Raleigh,ST=North Carolina,C=US>, serial=#<OpenSSL::BN:0x00007ffb5edbdfb0>, not_before=2024-11-12 19:44:38 UTC, not_after=2038-01-17 19:44:39 UTC>, @ssl_client_key=#<OpenSSL::PKey::RSA:0x00007ffb27e5e6b8 oid=rsaEncryption>, @params_encoder=Faraday::FlatParamsEncoder, @debugging=true, @inject_format=false, @force_ending_format=false, @logger=#<Logging::Logger:0x00007ffb600d80f0 @name="katello/pulp_rest", @parent=#<Logging::RootLogger:0x00007ffb600f8030 @name="root", @appenders=[#<Logging::Appenders::File:0x00007ffb5fd774b0 @filename="/home/vagrant/foreman/log/development.log", @encoding=#<Encoding:UTF-8>, @io=#<File:/home/vagrant/foreman/log/development.log>, @close_method=:close, @buffer=[], @immediate=[], @auto_flushing=1, @async=false, @async_flusher=nil, @flush_period=nil, @name="foreman", @closed=false, @filters=[], @mutex=#<ReentrantMutex:0x00007ffb5fd76ee8 @locker=nil>, @layout=#<Foreman::LoggingImpl::MultilineRequestPatternLayout:0x00007ffb5fd7a340 @obj_format=:string, @backtrace=true, @utc_offset=nil, @cause_depth=8, @created_at=2024-12-16 17:42:19.790354631 +0000, @date_pattern="%Y-%m-%dT%H:%M:%S", @date_method=nil, @pattern="%d [%.1l|%.3c|%.8X{request}] %m\n", @color_scheme=#<Logging::ColorScheme:0x00007ffb600f8c38 @scheme={"date"=>"\e[32m", "logger"=>"\e[36m", "line"=>"\e[33m", "file"=>"\e[33m", "method"=>"\e[33m", "info"=>"\e[32m", "warn"=>"\e[33m", "error"=>"\e[31m", "fatal"=>"\e[37m\e[41m"}, @lines=false, @levels=true>, @name_map_0=["D", "\e[32mI\e[0m", "\e[33mW\e[0m", "\e[31mE\e[0m", "\e[37m\e[41mF\e[0m"]>, @level=0, @write_size=500>, #<Logging::Appenders::Stdout:0x00007ffb5fd74990 @io=#<IO:<STDOUT>>, @close_method=:close, @buffer=[], @immediate=[], @auto_flushing=1, @async=false, @async_flusher=nil, @flush_period=nil, @name="foreman", @closed=false, @filters=[], @mutex=#<ReentrantMutex:0x00007ffb5fd74670 @locker=nil>, @layout=#<Foreman::LoggingImpl::MultilineRequestPatternLayout:0x00007ffb5fd760d8 @obj_format=:string, @backtrace=true, @utc_offset=nil, @cause_depth=8, @created_at=2024-12-16 17:42:19.7906453 +0000, @date_pattern="%Y-%m-%dT%H:%M:%S", @date_method=nil, @pattern="%d [%.1l|%.3c|%.8X{request}] %m\n", @color_scheme=nil>, @level=0, @encoding=#<Encoding:UTF-8>, @write_size=500>], @additive=false, @caller_tracing=false, @level=0>, @appenders=[], @additive=true, @level=nil, @caller_tracing=false>, @username=nil, @password=nil>, @user_agent="OpenAPI-Generator/2.22.0/ruby", @default_headers={"Content-Type"=>"application/json", "User-Agent"=>"OpenAPI-Generator/2.22.0/ruby", "Correlation-ID"=>"26ece985-d6ea-48d7-b115-9c52053eac90"}>>


---
- "/home/vagrant/katello/app/services/katello/pulp3/pulp_content_unit.rb:63:in `content_api_create'"
- "/home/vagrant/katello/app/lib/actions/pulp3/repository/save_artifact.rb:39:in `invoke_external_task'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/action/polling.rb:84:in
  `initiate_external_action'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/action/polling.rb:19:in
  `run'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/action/cancellable.rb:15:in
  `run'"
- "/home/vagrant/katello/app/lib/actions/pulp3/abstract_async_task.rb:10:in `run'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/action.rb:590:in
  `block (3 levels) in execute_run'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/middleware/stack.rb:28:in
  `pass'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/middleware.rb:20:in
  `pass'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/middleware.rb:33:in
  `run'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/middleware/stack.rb:24:in
  `call'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/middleware/stack.rb:28:in
  `pass'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/middleware.rb:20:in
  `pass'"
- "/home/vagrant/katello/app/lib/actions/middleware/remote_action.rb:16:in `block
  in run'"
- "/home/vagrant/katello/app/lib/actions/middleware/remote_action.rb:40:in `block
  in as_remote_user'"
- "/home/vagrant/katello/app/models/katello/concerns/user_extensions.rb:21:in `cp_config'"
- "/home/vagrant/katello/app/lib/actions/middleware/remote_action.rb:27:in `as_cp_user'"
- "/home/vagrant/katello/app/lib/actions/middleware/remote_action.rb:39:in `as_remote_user'"
- "/home/vagrant/katello/app/lib/actions/middleware/remote_action.rb:16:in `run'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/middleware/stack.rb:24:in
  `call'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/middleware/stack.rb:28:in
  `pass'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/middleware.rb:20:in
  `pass'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/foreman-tasks-10.0.2/app/lib/actions/middleware/rails_executor_wrap.rb:14:in
  `block in run'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/activesupport-7.0.8.7/lib/active_support/execution_wrapper.rb:92:in
  `wrap'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/foreman-tasks-10.0.2/app/lib/actions/middleware/rails_executor_wrap.rb:13:in
  `run'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/middleware/stack.rb:24:in
  `call'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/middleware/stack.rb:28:in
  `pass'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/middleware.rb:20:in
  `pass'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/action/progress.rb:29:in
  `with_progress_calculation'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/action/progress.rb:15:in
  `run'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/middleware/stack.rb:24:in
  `call'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/middleware/stack.rb:28:in
  `pass'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/middleware.rb:20:in
  `pass'"
- "/home/vagrant/katello/app/lib/actions/middleware/keep_locale.rb:11:in `block in
  run'"
- "/home/vagrant/katello/app/lib/actions/middleware/keep_locale.rb:22:in `with_locale'"
- "/home/vagrant/katello/app/lib/actions/middleware/keep_locale.rb:11:in `run'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/middleware/stack.rb:24:in
  `call'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/middleware/stack.rb:28:in
  `pass'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/middleware.rb:20:in
  `pass'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/foreman-tasks-10.0.2/app/lib/actions/middleware/load_setting_values.rb:20:in
  `run'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/middleware/stack.rb:24:in
  `call'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/middleware/stack.rb:28:in
  `pass'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/middleware.rb:20:in
  `pass'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/foreman-tasks-10.0.2/app/lib/actions/middleware/keep_current_request_id.rb:15:in
  `block in run'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/foreman-tasks-10.0.2/app/lib/actions/middleware/keep_current_request_id.rb:52:in
  `restore_current_request_id'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/foreman-tasks-10.0.2/app/lib/actions/middleware/keep_current_request_id.rb:15:in
  `run'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/middleware/stack.rb:24:in
  `call'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/middleware/stack.rb:28:in
  `pass'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/middleware.rb:20:in
  `pass'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/foreman-tasks-10.0.2/app/lib/actions/middleware/keep_current_timezone.rb:15:in
  `block in run'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/foreman-tasks-10.0.2/app/lib/actions/middleware/keep_current_timezone.rb:44:in
  `restore_curent_timezone'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/foreman-tasks-10.0.2/app/lib/actions/middleware/keep_current_timezone.rb:15:in
  `run'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/middleware/stack.rb:24:in
  `call'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/middleware/stack.rb:28:in
  `pass'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/middleware.rb:20:in
  `pass'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/foreman-tasks-10.0.2/app/lib/actions/middleware/keep_current_taxonomies.rb:15:in
  `block in run'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/foreman-tasks-10.0.2/app/lib/actions/middleware/keep_current_taxonomies.rb:45:in
  `restore_current_taxonomies'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/foreman-tasks-10.0.2/app/lib/actions/middleware/keep_current_taxonomies.rb:15:in
  `run'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/middleware/stack.rb:24:in
  `call'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/middleware/stack.rb:28:in
  `pass'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/middleware.rb:20:in
  `pass'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/middleware.rb:33:in
  `run'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/middleware/stack.rb:24:in
  `call'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/middleware/stack.rb:28:in
  `pass'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/middleware.rb:20:in
  `pass'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/foreman-tasks-10.0.2/app/lib/actions/middleware/keep_current_user.rb:15:in
  `block in run'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/foreman-tasks-10.0.2/app/lib/actions/middleware/keep_current_user.rb:54:in
  `restore_curent_user'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/foreman-tasks-10.0.2/app/lib/actions/middleware/keep_current_user.rb:15:in
  `run'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/middleware/stack.rb:24:in
  `call'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/middleware/world.rb:31:in
  `execute'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/action.rb:589:in
  `block (2 levels) in execute_run'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/action.rb:588:in
  `catch'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/action.rb:588:in
  `block in execute_run'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/action.rb:491:in
  `block in with_error_handling'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/action.rb:491:in
  `catch'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/action.rb:491:in
  `with_error_handling'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/action.rb:583:in
  `execute_run'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/action.rb:304:in
  `execute'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/execution_plan/steps/abstract_flow_step.rb:18:in
  `block (2 levels) in execute'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/execution_plan/steps/abstract.rb:168:in
  `with_meta_calculation'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/execution_plan/steps/abstract_flow_step.rb:17:in
  `block in execute'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/execution_plan/steps/abstract_flow_step.rb:32:in
  `open_action'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/execution_plan/steps/abstract_flow_step.rb:16:in
  `execute'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/director.rb:70:in
  `execute'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/executors/parallel/worker.rb:16:in
  `block in on_message'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/executors.rb:18:in
  `run_user_code'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/executors/parallel/worker.rb:15:in
  `on_message'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/concurrent-ruby-edge-0.6.0/lib/concurrent-ruby-edge/concurrent/actor/context.rb:46:in
  `on_envelope'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/concurrent-ruby-edge-0.6.0/lib/concurrent-ruby-edge/concurrent/actor/behaviour/executes_context.rb:7:in
  `on_envelope'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/concurrent-ruby-edge-0.6.0/lib/concurrent-ruby-edge/concurrent/actor/behaviour/abstract.rb:25:in
  `pass'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/actor.rb:122:in
  `on_envelope'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/concurrent-ruby-edge-0.6.0/lib/concurrent-ruby-edge/concurrent/actor/behaviour/abstract.rb:25:in
  `pass'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/concurrent-ruby-edge-0.6.0/lib/concurrent-ruby-edge/concurrent/actor/behaviour/awaits.rb:15:in
  `on_envelope'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/concurrent-ruby-edge-0.6.0/lib/concurrent-ruby-edge/concurrent/actor/behaviour/abstract.rb:25:in
  `pass'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/concurrent-ruby-edge-0.6.0/lib/concurrent-ruby-edge/concurrent/actor/behaviour/sets_results.rb:14:in
  `on_envelope'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/dynflow-1.9.0/lib/dynflow/actor.rb:56:in
  `on_envelope'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/concurrent-ruby-edge-0.6.0/lib/concurrent-ruby-edge/concurrent/actor/behaviour/abstract.rb:25:in
  `pass'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/concurrent-ruby-edge-0.6.0/lib/concurrent-ruby-edge/concurrent/actor/behaviour/buffer.rb:38:in
  `process_envelope'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/concurrent-ruby-edge-0.6.0/lib/concurrent-ruby-edge/concurrent/actor/behaviour/buffer.rb:31:in
  `process_envelopes?'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/concurrent-ruby-edge-0.6.0/lib/concurrent-ruby-edge/concurrent/actor/behaviour/buffer.rb:20:in
  `on_envelope'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/concurrent-ruby-edge-0.6.0/lib/concurrent-ruby-edge/concurrent/actor/behaviour/abstract.rb:25:in
  `pass'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/concurrent-ruby-edge-0.6.0/lib/concurrent-ruby-edge/concurrent/actor/behaviour/termination.rb:55:in
  `on_envelope'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/concurrent-ruby-edge-0.6.0/lib/concurrent-ruby-edge/concurrent/actor/behaviour/abstract.rb:25:in
  `pass'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/concurrent-ruby-edge-0.6.0/lib/concurrent-ruby-edge/concurrent/actor/behaviour/removes_child.rb:10:in
  `on_envelope'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/concurrent-ruby-edge-0.6.0/lib/concurrent-ruby-edge/concurrent/actor/behaviour/abstract.rb:25:in
  `pass'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/concurrent-ruby-edge-0.6.0/lib/concurrent-ruby-edge/concurrent/actor/behaviour/sets_results.rb:14:in
  `on_envelope'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/concurrent-ruby-edge-0.6.0/lib/concurrent-ruby-edge/concurrent/actor/core.rb:162:in
  `process_envelope'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/concurrent-ruby-edge-0.6.0/lib/concurrent-ruby-edge/concurrent/actor/core.rb:96:in
  `block in on_envelope'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/concurrent-ruby-edge-0.6.0/lib/concurrent-ruby-edge/concurrent/actor/core.rb:119:in
  `block (2 levels) in schedule_execution'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/concurrent-ruby-1.1.10/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:47:in
  `block in synchronize'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/concurrent-ruby-1.1.10/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:47:in
  `synchronize'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/concurrent-ruby-1.1.10/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:47:in
  `synchronize'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/concurrent-ruby-edge-0.6.0/lib/concurrent-ruby-edge/concurrent/actor/core.rb:116:in
  `block in schedule_execution'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/concurrent-ruby-1.1.10/lib/concurrent-ruby/concurrent/executor/serialized_execution.rb:18:in
  `call'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/concurrent-ruby-1.1.10/lib/concurrent-ruby/concurrent/executor/serialized_execution.rb:96:in
  `work'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/concurrent-ruby-1.1.10/lib/concurrent-ruby/concurrent/executor/serialized_execution.rb:77:in
  `block in call_job'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/concurrent-ruby-1.1.10/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:352:in
  `run_task'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/concurrent-ruby-1.1.10/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:343:in
  `block (3 levels) in create_worker'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/concurrent-ruby-1.1.10/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:334:in
  `loop'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/concurrent-ruby-1.1.10/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:334:in
  `block (2 levels) in create_worker'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/concurrent-ruby-1.1.10/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:333:in
  `catch'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/concurrent-ruby-1.1.10/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:333:in
  `block in create_worker'"
- "/home/vagrant/foreman/.vendor/ruby/3.0.0/gems/logging-2.4.0/lib/logging/diagnostic_context.rb:474:in
  `block in create_with_logging_context'"

@ianballou
Copy link
Member Author

@jeremylenz I'm not sure how your request got that far along with my PR here since it blocks POST /repositories/:repository_id/content_uploads for all docker repositories.

If you're still hitting this, mind sticking a debugger right before my new code and seeing why it's passing?

@ianballou ianballou force-pushed the 38103-disallow-container-upload-cuz-we-have-push-now branch from 9361aa3 to 76287e9 Compare December 20, 2024 21:18
@jeremylenz
Copy link
Member

I think my server must have been running stale code or something. Working fine now!

$ hammer repository upload-content --id 52 --path ./release_notes.md
Could not upload the content:
  Cannot upload container content via Hammer/API. Use podman push instead.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants