Fedora Websites Release SOP

From FedoraProject

(Difference between revisions)
Jump to: navigation, search
(Fedora 12 Notes)
(Update for syncStatic move to bapp1.)
Line 37: Line 37:
 
<pre>
 
<pre>
 
# Ensure you have the puppet repo checked out to ~/puppet and up to date
 
# Ensure you have the puppet repo checked out to ~/puppet and up to date
cd ~/puppet && make HOSTS="puppet1 proxy1 proxy2 proxy3 proxy4 proxy5" push
+
cd ~/puppet && make HOSTS="bapp1 proxy1 proxy2 proxy3 proxy4 proxy5" push
 +
</pre>
  
# Once /usr/local/bin/syncStatic is updated with your changes, run
+
On bapp1, run:
 +
<pre>
 +
# Once /usr/local/bin/syncStatic on bapp1 is updated with your changes, run
 
sudo /usr/local/bin/syncStatic
 
sudo /usr/local/bin/syncStatic
 +
</pre>
  
# To sync the changes out, you can use func if you have sudo on puppet1.
+
Finally, on the proxies:
 +
 
 +
<pre>
 +
# To sync the changes out, you can use func from puppet1 if you have sudo on puppet1.
 
# Otherwise, SSH to the proxies and call the below command.
 
# Otherwise, SSH to the proxies and call the below command.
sudo func proxy\* call command run "/usr/local/bin/syncFiles.sh fedoraproject.org /srv/web/fedoraproject.org/"
+
sudo /usr/bin/rsync -a --no-owner --no-group bapp1.vpn.fedoraproject.org::fedoraproject.org/* /srv/web/fedoraproject.org/
 
</pre>
 
</pre>
  
Line 60: Line 67:
 
Unfreeze website (modules/fedora-web/files/syncStatic.sh), push after 9:05 AM EDT.
 
Unfreeze website (modules/fedora-web/files/syncStatic.sh), push after 9:05 AM EDT.
  
Run sudo /usr/local/bin/syncStatic on puppet1 after 9:45 AM EDT, make sure this
+
Run sudo /usr/local/bin/syncStatic on bapp1 after 9:45 AM EDT, make sure this
succeeds by checking /var/lib/puppet/application/fedoraproject.org.
+
succeeds by checking /srv/web/fedoraproject.org.
  
 
Release:
 
Release:
  
Push commit to redirect get-prerelease to get-fedora.
+
Push commit to redirect get-prerelease to get-fedora. If you have sudo on puppet1, run:
  
sudo func proxy\* call command run "/usr/local/bin/syncFiles.sh fedoraproject.org /srv/web/fedoraproject.org/"
+
sudo func proxy\* call command run "/usr/bin/rsync -a --no-owner --no-group bapp1.vpn.fedoraproject.org::fedoraproject.org/* /srv/web/fedoraproject.org/"
  
Manually run
+
Otherwise, manually run this on each proxy server:
  
sudo /usr/local/bin/syncFiles.sh fedoraproject.org /srv/web/fedoraproject.org/
+
sudo /usr/bin/rsync -a --no-owner --no-group bapp1.vpn.fedoraproject.org::fedoraproject.org/* /srv/web/fedoraproject.org/
 
+
on any proxy server where the func call did not succeed.
+
  
 
If necessary, clear proxy caches using
 
If necessary, clear proxy caches using
Line 87: Line 92:
 
proxies is
 
proxies is
  
sudo /usr/local/bin/syncFiles.sh start.fedoraproject.org /srv/web/start.fedoraproject.org/
+
<pre>
 +
sudo /usr/bin/rsync -a --no-owner --no-group bapp1.vpn.fedoraproject.org::start.fedoraproject.org/* /srv/web/start.fedoraproject.org/
 +
</pre>
  
 
Adding
 
Adding

Revision as of 21:46, 8 December 2009

Artwork DesignService fedorawebsitesbanner 3.png


Contents

Preparing the website for a release

Update gpg key

As the release approaches, watch the fedora-release package for a new key to be added. Use the update-gpg-keys script in the fedora-web git repository to add it to static/. Manually add it to /keys and /verify.

Branch master for stable release in fedora-web git repository

Note.png
Perhaps this should be done right after release?
git branch f12 master && git push origin f12

Unfreeze website

Comment out the git checkout line in modules/fedora-web/files/syncStatic.sh on puppet1.

Prepare puppet commits

Prior to release day, prepare puppet commits to move the fedora-web branch to the release (alpha, beta, final, whatever) and, edit redirects.conf (in modules/fedora-web/files on puppet1) to do the right thing with /get-prerelease requests.

Fire in the hole

On release day, wait for rel-eng to say go, then push the puppet changes (e.g.: cd ~/puppet && git push). Then, on puppet1 run:

# Ensure you have the puppet repo checked out to ~/puppet and up to date
cd ~/puppet && make HOSTS="bapp1 proxy1 proxy2 proxy3 proxy4 proxy5" push

On bapp1, run:

# Once /usr/local/bin/syncStatic on bapp1 is updated with your changes, run
sudo /usr/local/bin/syncStatic

Finally, on the proxies:

# To sync the changes out, you can use func from puppet1 if you have sudo on puppet1.
# Otherwise, SSH to the proxies and call the below command.
sudo /usr/bin/rsync -a --no-owner --no-group bapp1.vpn.fedoraproject.org::fedoraproject.org/* /srv/web/fedoraproject.org/

to push the updated website live.

Fedora 12 Notes

(Still needs to be wikified)



The times below are based on the timing of the website build and sync cronjobs.
It'd be a good idea to double check those in advance.

Unfreeze website (modules/fedora-web/files/syncStatic.sh), push after 9:05 AM EDT.

Run sudo /usr/local/bin/syncStatic on bapp1 after 9:45 AM EDT, make sure this
succeeds by checking /srv/web/fedoraproject.org.

Release:

Push commit to redirect get-prerelease to get-fedora.  If you have sudo on puppet1, run:

sudo func proxy\* call command run "/usr/bin/rsync -a --no-owner --no-group bapp1.vpn.fedoraproject.org::fedoraproject.org/* /srv/web/fedoraproject.org/"

Otherwise, manually run this on each proxy server:

sudo /usr/bin/rsync -a --no-owner --no-group bapp1.vpn.fedoraproject.org::fedoraproject.org/* /srv/web/fedoraproject.org/

If necessary, clear proxy caches using

rm -rf /srv/cache/mod_cache/*

After the site is out, do link checking and push any last-minute fixes/changes
by committing to the git repo, running syncStatic, and syncing to the proxies
as above.

Update the static banner on start.fedoraproject.org.  The procedure is the
same as with fedoraproject.org, except that the command to run on the
proxies is

<pre>
sudo /usr/bin/rsync -a --no-owner --no-group bapp1.vpn.fedoraproject.org::start.fedoraproject.org/* /srv/web/start.fedoraproject.org/

Adding

add release banner countdown add new release checksum files add gpg keys

Watch the webmaster@ moderator queue for reports of website issues.

update start.fp.o banner image </pre>