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

Github link seems to no longer be valid #479

Closed
isuftin opened this issue Feb 14, 2018 · 6 comments
Closed

Github link seems to no longer be valid #479

isuftin opened this issue Feb 14, 2018 · 6 comments

Comments

@isuftin
Copy link

isuftin commented Feb 14, 2018

In the latest cookbook, the download URL when only a version is specified (at least for CentOS 7) points to https://github.com/rabbitmq/rabbitmq-server/releases/download/rabbitmq_v3_7_3/rabbitmq-server-3.7.3-1.el7.noarch.rpm

This returns a 404. It seems like the correct URL is currently https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.3/rabbitmq-server-3.7.3-1.el7.noarch.rpm

It seems as though this change was introduced here: https://github.com/rabbitmq/chef-cookbook/pull/458/files

  • RabbitMQ version - 3.7.3
  • Erlang version - R16B-03.18.el7
  • A runnable code sample, terminal transcript or detailed set of
    instructions that can be used to reproduce the issue
---
driver:
  name: vagrant
  provision: true

provisioner:
  product_name: chef

verifier:
  name: inspec

platforms:
  - name: centos-7

suites:
  - name: default-cluster-2
    run_list:
      - recipe[rabbitmq]
    attributes: {
      "rabbitmq" : {
        "version" : "3.7.3"
      }
    }
    driver:
      network:
      - ["private_network", {ip: "192.168.33.34"}]
      - ["forwarded_port", {guest: 5672, host: 5672, auto_correct: true}] # RabbitMQ
      - ["forwarded_port", {guest: 15672, host: 15672, auto_correct: true}] # RabbitMQ

  • RabbitMQ plugin information via rabbitmq-plugins list
  • Client library version (for all libraries used)
  • Operating system, version, and patch level - bento/centos-7.4 (virtualbox, 201801.02.0)

Error seen:

         * remote_file[/tmp/kitchen/cache/rabbitmq-server-3.7.3-1.el7.noarch.rpm] action create_if_missing[2018-02-14T17:47:38+00:00] WARN: remote_file[/tmp/kitchen/cache/ra[63/44352]
ver-3.7.3-1.el7.noarch.rpm] cannot be downloaded from https://github.com/rabbitmq/rabbitmq-server/releases/download/rabbitmq_v3_7_3/rabbitmq-server-3.7.3-1.el7.noarch.rpm: 404 "Not Found"


           ================================================================================
           Error executing action `create_if_missing` on resource 'remote_file[/tmp/kitchen/cache/rabbitmq-server-3.7.3-1.el7.noarch.rpm]'
           ================================================================================

           Net::HTTPServerException
           ------------------------
           404 "Not Found"

           Resource Declaration:
           ---------------------
           # In /tmp/kitchen/cache/cookbooks/rabbitmq/recipes/default.rb

           157:     remote_file "#{Chef::Config[:file_cache_path]}/#{rpm_package_name}" do
           158:       source "#{rpm_package_url}#{rpm_package_name}"
           159:       action :create_if_missing
           160:     end
           161:     rpm_package "#{Chef::Config[:file_cache_path]}/#{rpm_package_name}"

           Compiled Resource:
           ------------------
           # Declared in /tmp/kitchen/cache/cookbooks/rabbitmq/recipes/default.rb:157:in `from_file'

           remote_file("/tmp/kitchen/cache/rabbitmq-server-3.7.3-1.el7.noarch.rpm") do
             provider Chef::Provider::RemoteFile
             action [:create_if_missing]
             default_guard_interpreter :default
             source ["https://github.com/rabbitmq/rabbitmq-server/releases/download/rabbitmq_v3_7_3/rabbitmq-server-3.7.3-1.el7.noarch.rpm"]
             use_etag true
             use_last_modified true
             declared_type :remote_file
             cookbook_name "rabbitmq"
             recipe_name "default"
             remote_domain nil
             remote_user nil
             owner nil
             group nil
             checksum nil
             mode nil
             verifications []
           end

           System Info:
           ------------
           chef_version=13.7.16
           platform=centos
           platform_version=7.4.1708
           ruby=ruby 2.4.3p205 (2017-12-14 revision 61247) [x86_64-linux]
           program_name=chef-client worker: ppid=8550;start=17:47:22;
           executable=/opt/chef/bin/chef-client


       Running handlers:
       [2018-02-14T17:47:38+00:00] ERROR: Running exception handlers
       Running handlers complete
       [2018-02-14T17:47:38+00:00] ERROR: Exception handlers complete
       Chef Client failed. 0 resources updated in 15 seconds
       [2018-02-14T17:47:38+00:00] FATAL: Stacktrace dumped to /tmp/kitchen/cache/chef-stacktrace.out
       [2018-02-14T17:47:38+00:00] FATAL: Please provide the contents of the stacktrace.out file if you file a bug report
       [2018-02-14T17:47:38+00:00] ERROR: remote_file[/tmp/kitchen/cache/rabbitmq-server-3.7.3-1.el7.noarch.rpm] (rabbitmq::default line 157) had an error: Net::HTTPServerException: 4
04 "Not Found"
       [2018-02-14T17:47:38+00:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)
>>>>>> ------Exception-------
>>>>>> Class: Kitchen::ActionFailed
>>>>>> Message: 1 actions failed.
>>>>>>     Converge failed on instance <default-cluster-2-centos-7>.  Please see .kitchen/logs/default-cluster-2-centos-7.log for more details
>>>>>> ----------------------
>>>>>> Please see .kitchen/logs/kitchen.log for more details
>>>>>> Also try running `kitchen diagnose --all` for configuration

@isuftin
Copy link
Author

isuftin commented Feb 14, 2018

FYI, the following attribute set is a workaround for now:

default['rabbitmq']['version'] = '3.7.3'
default['rabbitmq']['rpm_package_url'] = 'https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.3/'

However, with the latest version, this becomes an issue: #478

@michaelklishin
Copy link
Member

3.7 packages will be downloaded from Bintray if you omit node['rabbitmq']['rpm_package_url'].

@michaelklishin
Copy link
Member

I don't see how #478 is related.

RabbitMQ 3.7 uses a different tagging scheme from previous versions, so downloading from GitHub won't be very convenient. Latest 3.6.x releases and 3.7.x and all releases going forward can be obtained from Bintray and Bintray URLs do not include tag names (only versions), so that's what I was trying to drive at with the move to Bintray.

I'm currently discussing the future of this cookbook with @jjasghar, likely we will have a branch for 3.6.x for some time and master will be significantly reworked for 3.7.

@isuftin
Copy link
Author

isuftin commented Feb 14, 2018

@michaelklishin I did start out my kitchen run with just the version and not the rpm_package_url. I ran into the problem when it tried to go to github with just the version attribute alone. Thoughts?

@michaelklishin
Copy link
Member

@isuftin are you using master or 5.5.0? Older versions are not aware of RabbitMQ 3.7.0's tag naming scheme and will not use Bintray.

@michaelklishin
Copy link
Member

@isuftin see my findings in #481. So you need to

  • Use RabbitMQ cookbook 5.5.0
  • Set the version as explained in the README
  • Provision Erlang/OTP from the ESL repository (I added a README note)

and that seems to be it, a 3.7.3 node is up and running for me.

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

No branches or pull requests

2 participants