sensu / sensu-chef

Sensu Chef cookbook.
https://supermarket.chef.io/cookbooks/sensu
Apache License 2.0
221 stars 280 forks source link

Installation of Sensu Enterprise Dashboard is broken on Centos due to repository configuration #507

Closed cwjohnston closed 8 years ago

cwjohnston commented 8 years ago

Expected Behavior

The sensu::enterprise_dashboard recipe should successfully install the sensu-enterprise-dashboard package.

Current Behavior

The sensu::enterprise_dashboard recipe fails to run with the following error:

Recipe: sensu::enterprise_dashboard
         * yum_package[sensu-enterprise-dashboard] action install
           * No candidate version available for sensu-enterprise-dashboard
           ================================================================================
           Error executing action `install` on resource 'yum_package[sensu-enterprise-dashboard]'
           ================================================================================

           Chef::Exceptions::Package
           -------------------------
           No candidate version available for sensu-enterprise-dashboard

           Resource Declaration:
           ---------------------
           # In /tmp/kitchen/cache/cookbooks/sensu/recipes/enterprise_dashboard.rb

            22: package "sensu-enterprise-dashboard" do
            23:   version node["sensu"]["enterprise-dashboard"]["version"]
            24: end
            25:

           Compiled Resource:
           ------------------
           # Declared in /tmp/kitchen/cache/cookbooks/sensu/recipes/enterprise_dashboard.rb:22:in `from_file'

           yum_package("sensu-enterprise-dashboard") do
             package_name "sensu-enterprise-dashboard"
             action [:install]
             retries 0
             retry_delay 2
             default_guard_interpreter :default
             declared_type :package
             cookbook_name "sensu"
             recipe_name "enterprise_dashboard"
             version "1:1.4.0-1"
             flush_cache {:before=>false, :after=>false}
           end

           Platform:
           ---------
           x86_64-linux

From browsing the repo contents it appears that this failure occurs because the sensu::enterprise_repo recipe configures Yum with a repository definition targeting the noarch directory for installing Sensu Enterprise itself (a Java application which is not compiled for a particular CPU architecture), whereas the Enterprise Dashboard packages are compiled for both i386 and x86_64 architectures.

Possible Solution

Update the sensu::_enterprise_repo recipe to ensure Yum is configured for both the noarch and local CPU architecture paths in the Sensu Enterprise repository.

Steps to Reproduce (for bugs)

  1. Run test-kitchen enterprise-dashboard suite on any Centos platform

    Your Environment

    • Version of this cookbook used: 3.1.0
    • Version of Sensu used: Sensu Enterprise 1.14.9
    • Version of Chef used: 12.14.89
    • Operating System and version (e.g. CentOS 7, Ubuntu 14.04):
    • Link to your project: N/A