-
Notifications
You must be signed in to change notification settings - Fork 54
Description
Version:
3.12
Environment:
Platform: opensuse-leap
Platform Version: 15.1
Scenario:
I am looking to use the mixlib library to install chef-client on an OpenSUSE platform. This fails with a Mixlib::Install::Backend::ArtifactsNotFound error. Further investigations shows that the chef_client_updater cookbook uses the Mixlib::Install.detect_platform method which gives the follow
chef (17.10.3)> Mixlib::Install.detect_platform => {:platform=>"opensuse-leap", :platform_version=>"15.1", :architecture=>"x86_64"}
but there is no actual artifact for opensuse-leap. There is an artifact for sles though
#<Mixlib::Install::ArtifactInfo:0x00000000047e4bf0 @architecture="x86_64", @license="Chef EULA", @license_content=nil, @md5="ab0960c880ded991952bbac2948a8880", @platform="sles", @platform_version="15", @product_description="Chef Infra Client", @product_name="chef", @sha1="d36af7195b7a47cb954730fe3125a46eab64bf7b", @sha256="f0bfbeca774f540781477aff50ae50151a0d1a53d770f129cb0eacca271b9ec1", @software_dependencies=nil, @url="https://packages.chef.io/files/current/chef/18.0.54/sles/15/chef-18.0.54-1.sles12.x86_64.rpm", @version="18.0.54">,
[What you are trying to achieve and you can't?]
Install a chef_client version using mixlib
Steps to Reproduce:
`require 'mixlib/install'
options = {
channel: :current,
product_name: 'chef',
product_version: :18,
platform: 'opensuse-leap',
platform_version: '15.1',
architecture: 'x86_64'
}
artifact = Mixlib::Install.new(options).artifact_info`
Expected Result:
Install desired version of chef-client using mixlib-install
Actual Result:
Artifact not found for desired OS