From e0c1fda74ead87fc35367cfec2bbfd96c1b25c21 Mon Sep 17 00:00:00 2001 From: Marton Kiss Date: Mon, 20 Oct 2014 15:16:37 +0200 Subject: [PATCH] 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 --- manifests/drush.pp | 4 ++-- manifests/init.pp | 35 ++----------------------------- templates/aliases.drushrc.php.erb | 7 +++++-- 3 files changed, 9 insertions(+), 37 deletions(-) diff --git a/manifests/drush.pp b/manifests/drush.pp index b80adb0..d1ff866 100644 --- a/manifests/drush.pp +++ b/manifests/drush.pp @@ -22,8 +22,8 @@ # - download_dir: download directory, local copy of release tarball lives here define drupal::drush ( - $drushdsdtar = 'https://github.com/mkissam/drush-dsd/archive/v0.8.tar.gz', - $basedrushdsdtar = 'drush-dsd-0.8.tar.gz', + $drushdsdtar = 'https://github.com/mkissam/drush-dsd/archive/v0.9.tar.gz', + $basedrushdsdtar = 'drush-dsd-0.9.tar.gz', $download_dir = '/srv/downloads', ) { diff --git a/manifests/init.pp b/manifests/init.pp index 20f6aee..75f5160 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -187,55 +187,24 @@ class drupal ( 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' 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, timeout => 600, onlyif => "/usr/bin/drush dsd-status @${site_alias} | /bin/grep -c 'NOT INSTALLED'", - refreshonly => true, - subscribe => File["/srv/downloads/${package_branch}.md5"], require => [ - Exec["download:${package_branch}.md5"], File['/etc/drush/aliases.drushrc.php'], ] } # update the site into a new slot when a remote update available 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, timeout => 600, onlyif => "/usr/bin/drush dsd-status @${site_alias} | /bin/grep -c 'UPDATE'", - refreshonly => true, - subscribe => File["/srv/downloads/${package_branch}.md5"], require => [ - Exec["download:${package_branch}.md5"], File['/etc/drush/aliases.drushrc.php'], Exec["sitedeploy-${site_name}"], ] diff --git a/templates/aliases.drushrc.php.erb b/templates/aliases.drushrc.php.erb index c9cac6a..f6edb6c 100644 --- a/templates/aliases.drushrc.php.erb +++ b/templates/aliases.drushrc.php.erb @@ -23,7 +23,10 @@ $aliases['<%= @site_alias %>'] = array( 'profile' => '<%= @site_profile %>', 'default-admin-password' => '<%= @site_admin_password %>', 'disable-features-revert' => FALSE, - 'package-provider' => 'static-tarball', + 'package-provider' => 'drush-dl', 'package-repository' => '<%= @package_repository %>', - 'package-branch' => '<%= @package_branch %>', + 'package-dist-name' => 'groups', +<% if @package_branch == 'dev' %> + 'package-dev-branch' => TRUE, +<% end %> ); \ No newline at end of file