diff --git a/libraries/helpers.rb b/libraries/helpers.rb index 503c8da..52d2c1b 100644 --- a/libraries/helpers.rb +++ b/libraries/helpers.rb @@ -9,14 +9,26 @@ module Gridcentric module Repositories - def self.translate_distro_to_repo_type(distro) + # pversion is node["platform_version"] + def self.translate_distro_to_repo_type(distro, pversion, component, osver) case distro when "centos" return "centos" when "fedora" return "rpm" when "ubuntu" - return "ubuntu" + if component == "vms" + if pversion == "14.04" + return "trusty" + elsif pversion == "13.04" + return "raring" + elsif not ["folsom", "essex", "diablo"].include?(osver) + return "uca/" + osver + else + return "ubuntu" + else + return "ubuntu" + end when "debian" return "deb" else diff --git a/recipes/compute.rb b/recipes/compute.rb index 71b13d1..ef69859 100644 --- a/recipes/compute.rb +++ b/recipes/compute.rb @@ -49,12 +49,16 @@ end # Explicitly upgrade vms low-level components +# We ship qemu-precise for precise, and quantal, as long as UCA points +# to Grizzly or lower. Otherwise distro qemu is fine and we need +# wrapper instead. if platform?("ubuntu") - if node["platform_version"] == "13.04" - qemu_package = "vms-qemu-raring" - else - # Assume precise otherwise + if (node["platform_version"] == "12.04" || + node["platform_version"] == "12.10") && + ["folsom", "essex", "diablo", "grizzly"].include?(node["gridcentric"]["os-version"]) qemu_package = "vms-qemu-precise" + else + qemu_package = "vms-qemu-wrapper" end elsif platform_family?("rhel") # We don't have a host of choices here diff --git a/recipes/default.rb b/recipes/default.rb index a529e13..1014752 100644 --- a/recipes/default.rb +++ b/recipes/default.rb @@ -43,7 +43,9 @@ else parts.push(node["gridcentric"]["os-version"]) end - parts.push(Repositories.translate_distro_to_repo_type(node["platform"])) + parts.push(Repositories.translate_distro_to_repo_type(node["platform"], + node["platform_version"], component, + node["gridcentric"]["os-version"])) node.normal["gridcentric"]["repo"][component]["uri"] = parts.join("/") end end