Advertisement
Guest User

Untitled

a guest
Oct 10th, 2019
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.41 KB | None | 0 0
  1. <%#
  2. kind: snippet
  3. name: puppetlabs_repo
  4. model: ProvisioningTemplate
  5. snippet: true
  6. -%>
  7. <%
  8. http_proxy = host_param('http-proxy') ? " --httpproxy #{host_param('http-proxy')}" : nil
  9. http_port = host_param('http-proxy-port') ? " --httpport #{host_param('http-proxy-port')}" : nil
  10. proxy_uri = host_param('http-proxy') ? "http://#{host_param('http-proxy')}:#{host_param('http-proxy-port')}" : nil
  11. proxy_string = proxy_uri ? " -e https_proxy=#{proxy_uri}/" : ''
  12. proxy_string_bits = proxy_uri ? " -ProxyUsage Override -ProxyList #{proxy_uri}" : ''
  13. os_family = @host.operatingsystem.family
  14. os_major = @host.operatingsystem.major.to_i
  15. os_name = @host.operatingsystem.name
  16.  
  17. if os_family == 'Redhat'
  18. repo_host = 'yum.puppet.com'
  19. if os_name == 'Fedora'
  20. repo_os = 'fedora'
  21. else
  22. repo_os = 'el'
  23. end
  24. elsif os_family == 'Suse'
  25. repo_host = 'yum.puppet.com'
  26. repo_os = 'sles' # PuppetLabs repos only exist for SLES, not OpenSUSE
  27. elsif os_family == 'Debian'
  28. repo_host = 'apt.puppet.com'
  29. repo_os = @host.operatingsystem.release_name
  30. elsif os_family == 'Windows'
  31. repo_host = 'downloads.puppet.com'
  32. repo_os = 'windows'
  33. end
  34.  
  35.  
  36. if host_param_true?('enable-puppetlabs-repo')
  37. repo_name = 'puppetlabs-release'
  38. repo_subdir = ''
  39. elsif host_param_true?('enable-puppetlabs-puppet6-repo')
  40. repo_name = 'puppet6-release'
  41. repo_subdir = 'puppet6/'
  42. elsif host_param_true?('enable-puppetlabs-puppet5-repo')
  43. repo_name = 'puppet5-release'
  44. repo_subdir = 'puppet5/'
  45. end
  46. -%>
  47.  
  48. <% if repo_name -%>
  49. <% if os_family == 'Redhat' || os_name == 'SLES' -%>
  50. rpm -Uvh<%= http_proxy %><%= http_port %> https://<%= repo_host %>/<%= repo_subdir %><%= repo_name %>-<%= repo_os %>-<%= os_major %>.noarch.rpm
  51. <% elsif os_family == 'Debian' -%>
  52. apt-get update
  53. apt-get -y install ca-certificates
  54. wget -O /tmp/<%= repo_name %>-<%= repo_os %>.deb<%= proxy_string %> https://<%= repo_host %>/<%= repo_name %>-<%= repo_os %>.deb
  55. dpkg -i /tmp/<%= repo_name %>-<%= repo_os %>.deb
  56. <% elsif os_family == 'Windows' -%>
  57. $puppet_agent_source = 'https://<%= repo_host %>/<%= repo_os %>/puppet-agent-<%= @host.architecture %>-latest.msi'
  58. $puppet_agent_msi = "${env:TEMP}\puppet-agent-<%= @host.architecture %>.msi"
  59. Write-Host "Downloading puppet-agent from ${$puppet_agent_source} to ${puppet_agent_msi}"
  60. Start-BitsTransfer -Source "${puppet_agent_source}" -Destination "${puppet_agent_msi}"<%= proxy_string_bits %>
  61. <% end -%>
  62. <% end -%>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement