Upgrade groups portal instances to use manifest based deployment
Both staging and productive groups instances will use the manifest published at tarballs.openstack.org/groups/drupal-updates catalog. It helps to separate the staging and prod deployment source versions, passed in package_branch parameter. Drush dsd tool updated to v0.9, and puppet sitedeploy and siteupdate resources were also refactored to support drush-dl package provider parameters. Change-Id: I8299c063ea774a85554c2406c6cb6ccb007fb182
This commit is contained in:
		@@ -22,8 +22,8 @@
 | 
				
			|||||||
# - download_dir: download directory, local copy of release tarball lives here
 | 
					# - download_dir: download directory, local copy of release tarball lives here
 | 
				
			||||||
 | 
					
 | 
				
			||||||
define drupal::drush (
 | 
					define drupal::drush (
 | 
				
			||||||
  $drushdsdtar     = 'https://github.com/mkissam/drush-dsd/archive/v0.8.tar.gz',
 | 
					  $drushdsdtar     = 'https://github.com/mkissam/drush-dsd/archive/v0.9.tar.gz',
 | 
				
			||||||
  $basedrushdsdtar = 'drush-dsd-0.8.tar.gz',
 | 
					  $basedrushdsdtar = 'drush-dsd-0.9.tar.gz',
 | 
				
			||||||
  $download_dir    = '/srv/downloads',
 | 
					  $download_dir    = '/srv/downloads',
 | 
				
			||||||
) {
 | 
					) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -187,55 +187,24 @@ class drupal (
 | 
				
			|||||||
    require   => File["${site_root}/etc"],
 | 
					    require   => File["${site_root}/etc"],
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # add site distro tarball from http repository including
 | 
					 | 
				
			||||||
  # md5 hash file
 | 
					 | 
				
			||||||
  exec { "download:${package_branch}.md5":
 | 
					 | 
				
			||||||
    command   => "/usr/bin/wget --timestamping ${package_repository}/${package_branch}.md5 -O /tmp/${package_branch}.md5",
 | 
					 | 
				
			||||||
    logoutput => 'on_failure',
 | 
					 | 
				
			||||||
    cwd       => '/tmp'
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  file { "/srv/downloads/${package_branch}.md5":
 | 
					 | 
				
			||||||
    ensure    => present,
 | 
					 | 
				
			||||||
    source    => "/tmp/${package_branch}.md5",
 | 
					 | 
				
			||||||
    owner     => 'root',
 | 
					 | 
				
			||||||
    group     => 'root',
 | 
					 | 
				
			||||||
    mode      => '0644',
 | 
					 | 
				
			||||||
    require   => [ Exec["download:${package_branch}.md5"], File['/srv/downloads'] ]
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  exec { "download:${package_branch}.tar.gz":
 | 
					 | 
				
			||||||
    command     => "/usr/bin/wget ${package_repository}/${package_branch}.tar.gz -O /srv/downloads/${package_branch}.tar.gz",
 | 
					 | 
				
			||||||
    logoutput   => 'on_failure',
 | 
					 | 
				
			||||||
    refreshonly => true,
 | 
					 | 
				
			||||||
    subscribe   => File["/srv/downloads/${package_branch}.md5"],
 | 
					 | 
				
			||||||
    require     => File['/srv/downloads'],
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  # deploy a site from scratch when site status is 'NOT INSTALLED'
 | 
					  # deploy a site from scratch when site status is 'NOT INSTALLED'
 | 
				
			||||||
  exec { "sitedeploy-${site_name}":
 | 
					  exec { "sitedeploy-${site_name}":
 | 
				
			||||||
    command     => "/usr/bin/drush dsd-init @${site_alias} /srv/downloads/${package_branch}.tar.gz",
 | 
					    command     => "/usr/bin/drush dsd-init @${site_alias}",
 | 
				
			||||||
    logoutput   => true,
 | 
					    logoutput   => true,
 | 
				
			||||||
    timeout     => 600,
 | 
					    timeout     => 600,
 | 
				
			||||||
    onlyif      => "/usr/bin/drush dsd-status @${site_alias} | /bin/grep -c 'NOT INSTALLED'",
 | 
					    onlyif      => "/usr/bin/drush dsd-status @${site_alias} | /bin/grep -c 'NOT INSTALLED'",
 | 
				
			||||||
    refreshonly => true,
 | 
					 | 
				
			||||||
    subscribe   => File["/srv/downloads/${package_branch}.md5"],
 | 
					 | 
				
			||||||
    require     => [
 | 
					    require     => [
 | 
				
			||||||
      Exec["download:${package_branch}.md5"],
 | 
					 | 
				
			||||||
      File['/etc/drush/aliases.drushrc.php'],
 | 
					      File['/etc/drush/aliases.drushrc.php'],
 | 
				
			||||||
      ]
 | 
					      ]
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # update the site into a new slot when a remote update available
 | 
					  # update the site into a new slot when a remote update available
 | 
				
			||||||
  exec { "siteupdate-${site_name}":
 | 
					  exec { "siteupdate-${site_name}":
 | 
				
			||||||
    command     => "/usr/bin/drush dsd-update @${site_alias} /srv/downloads/${package_branch}.tar.gz",
 | 
					    command     => "/usr/bin/drush dsd-update @${site_alias}",
 | 
				
			||||||
    logoutput   => true,
 | 
					    logoutput   => true,
 | 
				
			||||||
    timeout     => 600,
 | 
					    timeout     => 600,
 | 
				
			||||||
    onlyif      => "/usr/bin/drush dsd-status @${site_alias} | /bin/grep -c 'UPDATE'",
 | 
					    onlyif      => "/usr/bin/drush dsd-status @${site_alias} | /bin/grep -c 'UPDATE'",
 | 
				
			||||||
    refreshonly => true,
 | 
					 | 
				
			||||||
    subscribe   => File["/srv/downloads/${package_branch}.md5"],
 | 
					 | 
				
			||||||
    require     => [
 | 
					    require     => [
 | 
				
			||||||
      Exec["download:${package_branch}.md5"],
 | 
					 | 
				
			||||||
      File['/etc/drush/aliases.drushrc.php'],
 | 
					      File['/etc/drush/aliases.drushrc.php'],
 | 
				
			||||||
      Exec["sitedeploy-${site_name}"],
 | 
					      Exec["sitedeploy-${site_name}"],
 | 
				
			||||||
      ]
 | 
					      ]
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -23,7 +23,10 @@ $aliases['<%= @site_alias %>'] = array(
 | 
				
			|||||||
  'profile' => '<%= @site_profile %>',
 | 
					  'profile' => '<%= @site_profile %>',
 | 
				
			||||||
  'default-admin-password' => '<%= @site_admin_password %>',
 | 
					  'default-admin-password' => '<%= @site_admin_password %>',
 | 
				
			||||||
  'disable-features-revert' => FALSE,
 | 
					  'disable-features-revert' => FALSE,
 | 
				
			||||||
  'package-provider' => 'static-tarball',
 | 
					  'package-provider' => 'drush-dl',
 | 
				
			||||||
  'package-repository' => '<%= @package_repository %>',
 | 
					  'package-repository' => '<%= @package_repository %>',
 | 
				
			||||||
  'package-branch' => '<%= @package_branch %>',
 | 
					  'package-dist-name' => 'groups',
 | 
				
			||||||
 | 
					<% if @package_branch == 'dev' %>
 | 
				
			||||||
 | 
					  'package-dev-branch' => TRUE,
 | 
				
			||||||
 | 
					<% end %>
 | 
				
			||||||
);
 | 
					);
 | 
				
			||||||
		Reference in New Issue
	
	Block a user