1
1
Upgrade Dos and Don'ts
for JIRA + Confluence


Jeff Curry, Technical Support, Atlassian




                               ...
JIRA Master!




               3
                   3
Agenda
• Case review
    • Best practices
    • Prevention
    • Watch out!

    Questions?
•




                       4...
Best Practices - No Cowboys Allowed




                                      5
                                          5
Case #1 of 12 - Backup schmakups
• Upgraded with production server, no backups
• Canʼt start old version either




      ...
Case #1 of 12 - Backup schmakups
• Upgraded with production server, no backups
• Canʼt start old version either




      ...
Pro Tip #1 of 12 – Backup, cowboy!
• Backup: Application directory, data directory, database
• Create an upgrade checklist...
Pro Tip #1 of 12 – Backup, cowboy!
• Backup: Application directory, data directory, database
• Create an upgrade checklist...
Case #2 of 12 – Murphyʼs Law at work
• Server crashed with sound backup strategy in place




                            ...
Case #2 of 12 – Murphyʼs Law at work
• Server crashed with sound backup strategy in place




                       Resto...
Pro Tip #2 of 12 - Practice restores
• Preferably not when production is down…




                                       ...
Case #3 of 12 –
• Remote operations fail to complete after Confluence upgrade




                                         ...
Case #3 of 12 –
• Remote operations fail to complete after Confluence upgrade
• Firewall?




                             ...
Case #3 of 12 –
• Remote operations fail to complete after Confluence upgrade
• Firewall?
• Network?




                  ...
Case #3 of 12 –
• Remote operations fail to complete after Confluence upgrade
• Firewall?
• Network?
• Virus scanner?




 ...
Case #3 of 12 –
• Remote operations fail to complete after Confluence upgrade
• Firewall?
• Network?
• Virus scanner?
• RPC...
Case #3 of 12 –
• Remote operations fail to complete after Confluence upgrade
• Firewall?
• Network?
• Virus scanner?
• RPC...
Pro Tip #3 of 12 - Track your changes
• Keep rolling log
 • Confluence page
 Inventory at upgrade time
 • Modz_detector ( A...
Pro Tip #3 of 12 - Track your changes
• Keep rolling log
 • Confluence page
 Inventory at upgrade time
 • Modz_detector ( A...
Prevention – Better safe than sorry




                                      12
                                       12
Case #4 of 12 – Plugin safari
After upgrading in testing JIRA no longer starts




                                       ...
Case #4 of 12 – Plugin safari
After upgrading in testing JIRA no longer starts

2010-04-30 09:44:38,151 main FATAL [atlass...
Case #4 of 12 – Plugin safari
assign-from-customfield-plugin-1[1].3.jar   jira-dashboard-sharing-1[1].1-JIRA3.11.jar
atlas...
Pro Tip #4 of 12 - Know your plugins
•                           System
•                     Canʼt mess with ʻem
•       ...
Pro Tip #4.5 of 12 – Upgrade your plugins
• The old way…




                                             16
             ...
Pro Tip #4.5 of 12 – Upgrade your plugins
• The old way…




                                             17
             ...
Pro Tip #4.5 of 12 – Upgrade your plugins
• The new way!




                                             18
             ...
Case #5 of 12 – Major upgrades
• Attachments not being converted as advertised




                                       ...
Case #5 of 12 – Major upgrades
• Attachments not being converted as advertised
• XML not suitable for large restores




 ...
Case #5 of 12 – Major upgrades
• Attachments not being converted as advertised
• XML not suitable for large restores
 Atta...
Universal Pro Tip - RTFM
    Consult documentation
    • Release notes
    • Upgrade guide



•                     [ This...
Pro Tip #5 of 12 -
• Communicate with stake holders
• Evaluate milestone releases
• New release cycle- 3-4 months




    ...
Case #6 of 12 – Little pestering flies…
• Preserving old-school navigation in JIRA 4.1+




                               ...
Pro Tip #6 of 12 – Engage your users
• Involve in upgrade decision
• Invite them to perform QA ( in testing! )




       ...
Case #7 of 12 – Gadgets load slowly
• After upgrading to JIRA 4.0 gadgets take forever to load




                       ...
Case #7 of 12 – Gadgets load slowly
• After upgrading to JIRA 4.0 gadgets take forever to load
• Reverse-proxy?




      ...
Case #7 of 12 – Gadgets load slowly
• After upgrading to JIRA 4.0 gadgets take forever to load
• Reverse-proxy?
• Server r...
Case #7 of 12 – Gadgets load slowly
• After upgrading to JIRA 4.0 gadgets take forever to load
• Reverse-proxy?
• Server r...
Case #7 of 12 – Gadgets load slowly
• After upgrading to JIRA 4.0 gadgets take forever to load
• Reverse-proxy?
• Server r...
Case #7 of 12 – Gadgets load slowly
• After upgrading to JIRA 4.0 gadgets take forever to load
• Reverse-proxy?
• Server r...
Pro Tip #7 of 12 – Test new features
• Review release summary pages
 • http://confluence.atlassian.com/display/DOC/Confluenc...
Watch out!




             26
              26
Case #8 of 12 – The devil is in the details
• Setup new JIRA for upgrade, receiving “404 Not Found”




                  ...
Case #8 of 12 – The devil is in the details
• Setup new JIRA for upgrade, receiving “404 Not Found”

   2010-04-20 16:07:3...
Pro Tip #8 of 12 - Use the GUI!




                                  28
                                   28
Case #9 of 12 – The complex upgrade




                                      29
                                       29
Case #9 of 12 – The complex upgrade
• Receiving 404 page after upgrading JIRA and Confluence
• New
    • Hardware
    • Win...
Pro Tip #9 of 12 –




                     30
                      30
Pro Tip #9 of 12 –
• Deploy JIRA on new server, restore data




                                            30
          ...
Pro Tip #9 of 12 –
• Deploy JIRA on new server, restore data
• Deploy Confluence, restore data




                        ...
Pro Tip #9 of 12 –
• Deploy JIRA on new server, restore data
• Deploy Confluence, restore data
• KB article to fix class loa...
Pro Tip #9 of 12 –
• Deploy JIRA on new server, restore data
• Deploy Confluence, restore data
• KB article to fix class loa...
Pro Tip #9 of 12 –
• Deploy JIRA on new server, restore data
• Deploy Confluence, restore data
• KB article to fix class loa...
Case #10 of 12 –
Duplicate mail notifications




                              31
                               31
Case #10 of 12 –
 Duplicate mail notifications
# Testing
 • Production data
 • Jelly scripts
 • Workflow transitions
       ...
Pro Tip #10 of 12 –
• bin/setenv.sh:

 #DISABLE_NOTIFICATIONS="
 -Datlassian.mail.senddisabled=true
 -Datlassian.mail.fetc...
Confluence support #1 headache




                                33
                                 33
Case #11 of 12 – Cutting corners




                                   34
                                    34
Case #11 of 12 – Cutting corners
• Step 1 – Upgrade Confluence




                                    34
                 ...
Case #11 of 12 – Cutting corners
• Step 1 – Upgrade Confluence
• Step 2 – Old DB -> New Confluence




                     ...
Case #11 of 12 – Cutting corners
• Step 1 – Upgrade Confluence
• Step 2 – Old DB -> New Confluence
• Step 3 – Works good eno...
Case #11 of 12 – Cutting corners
• Step 1 – Upgrade Confluence
• Step 2 – Old DB -> New Confluence
• Step 3 – Works good eno...
Case #11 of 12 – Cutting corners
• Step 1 – Upgrade Confluence
• Step 2 – Old DB -> New Confluence
• Step 3 – Works good eno...
Case #11 of 12 – Cutting corners
• Step 1 – Upgrade Confluence
• Step 2 – Old DB -> New Confluence
• Step 3 – Works good eno...
Case #11 of 12 – Cutting corners
• Step 1 – Upgrade Confluence
• Step 2 – Old DB -> New Confluence
• Step 3 – Works good eno...
Pro Tip #11 of 12 - Donʼt cut corners!
 Donʼt make assumptions
 Freeze data for upgrade process
• Perfect practice makes p...
Case #12 of 12 – $*#&$! Gadget loopback!
• Created internal checklist and tested, tested, tested!




                    ...
Case #12 of 12 – $*#&$! Gadget loopback!
• Created internal checklist and tested, tested, tested!




                    ...
Pro Tip #12 of 12 –




                      37
                       37
Pro Tip #12 of 12 –
• Reverse-proxy
• Load-balancer
• More?
•                         Exit strategy




                  ...
Summary



  Best Practices   Prevention   Watch out!




                                             38
                ...
Summary



   Best Practices   Prevention     Watch out!



Go home, upgrade JIRA to 4.1 and Confluence to 3.2


          ...
Resources




            39
             39
Resources
• forums.atlassian.com
• confluence.atlassian.com
 • confluence.atlassian.com/display/JIRAKB/JIRA+Knowledge+Base+H...
Upcoming SlideShare
Loading in...5
×

Upgrade Dos and Don'ts for JIRA and Confluence - Atlassian Summit 2010

4,169

Published on

Upgrade Dos and Don'ts for JIRA and Confluence

Jeff Curry, Atlassian

Published in: Technology, Art & Photos
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
4,169
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
53
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Upgrade Dos and Don'ts for JIRA and Confluence - Atlassian Summit 2010

  1. 1. 1 1
  2. 2. Upgrade Dos and Don'ts for JIRA + Confluence Jeff Curry, Technical Support, Atlassian 2 2
  3. 3. JIRA Master! 3 3
  4. 4. Agenda • Case review • Best practices • Prevention • Watch out! Questions? • 4 4
  5. 5. Best Practices - No Cowboys Allowed 5 5
  6. 6. Case #1 of 12 - Backup schmakups • Upgraded with production server, no backups • Canʼt start old version either 6 6
  7. 7. Case #1 of 12 - Backup schmakups • Upgraded with production server, no backups • Canʼt start old version either 6 6
  8. 8. Pro Tip #1 of 12 – Backup, cowboy! • Backup: Application directory, data directory, database • Create an upgrade checklist 7 7
  9. 9. Pro Tip #1 of 12 – Backup, cowboy! • Backup: Application directory, data directory, database • Create an upgrade checklist Confluence JIRA Layout and Menu Look and feel Search Issue Navigator Permissions Workflow transitions Attachments Attachment links Plugins Plugins 7 7
  10. 10. Case #2 of 12 – Murphyʼs Law at work • Server crashed with sound backup strategy in place 8 8
  11. 11. Case #2 of 12 – Murphyʼs Law at work • Server crashed with sound backup strategy in place Restore? 8 8
  12. 12. Pro Tip #2 of 12 - Practice restores • Preferably not when production is down… 9 9
  13. 13. Case #3 of 12 – • Remote operations fail to complete after Confluence upgrade 10 10
  14. 14. Case #3 of 12 – • Remote operations fail to complete after Confluence upgrade • Firewall? 10 10
  15. 15. Case #3 of 12 – • Remote operations fail to complete after Confluence upgrade • Firewall? • Network? 10 10
  16. 16. Case #3 of 12 – • Remote operations fail to complete after Confluence upgrade • Firewall? • Network? • Virus scanner? 10 10
  17. 17. Case #3 of 12 – • Remote operations fail to complete after Confluence upgrade • Firewall? • Network? • Virus scanner? • RPC plugin? 10 10
  18. 18. Case #3 of 12 – • Remote operations fail to complete after Confluence upgrade • Firewall? • Network? • Virus scanner? • RPC plugin? • CUSTOMIZIATION! 10 10
  19. 19. Pro Tip #3 of 12 - Track your changes • Keep rolling log • Confluence page Inventory at upgrade time • Modz_detector ( Administration -> System Info ) 11 11
  20. 20. Pro Tip #3 of 12 - Track your changes • Keep rolling log • Confluence page Inventory at upgrade time • Modz_detector ( Administration -> System Info ) JIRA find . –newer views Connie find . –newer users 11 11
  21. 21. Prevention – Better safe than sorry 12 12
  22. 22. Case #4 of 12 – Plugin safari After upgrading in testing JIRA no longer starts 13 13
  23. 23. Case #4 of 12 – Plugin safari After upgrading in testing JIRA no longer starts 2010-04-30 09:44:38,151 main FATAL [atlassian.jira.upgrade.ConsistencyLauncher] An Error occurred during ConsistencyLauncher servlet context initialisation - com.atlassian.plugin.DefaultModuleDescriptorFactory. <init>(Lcom/atlassian/plugin/hostcontainer/HostContainer;) java.lang.NoSuchMethodError: com.atlassian.plugin.DefaultModuleDescriptorFactory. <init>(Lcom/atlassian/plugin/hostcontainer/HostContainer;) 13 13
  24. 24. Case #4 of 12 – Plugin safari assign-from-customfield-plugin-1[1].3.jar jira-dashboard-sharing-1[1].1-JIRA3.11.jar atlassian-configurableobjects-0.9.jar jira-fisheye-plugin-2.2.4.jar atl-jira-subversion-plugin-0.10.4.1.jar jira-greenhopper-plugin-4.3.1.jar atlassian-plugins-0.23.2.jar jira-misc-workflow-extensions-1[1].3.jar atlassian-tagutil-0.1.jar jira-toolkit-0.7.30.jar dwr-2.0.5.jar jregex-1.2_01.jar javamail-1.3.3.jar language_default.jar jira-bamboo-plugin-2.3.1.jar ldapsdk-4.1.jar jira-calendar-plugin-1.9.jar mkk-jira-plugin-1[1].4.0-Jira-3.10.jar jira-charting-plugin-1.4.1.jar tdt-easyadmin-plugin-1.1.jar 14 14
  25. 25. Pro Tip #4 of 12 - Know your plugins • System • Canʼt mess with ʻem • Bundled • Can be upgraded independently, disabled • Third-party • Skyʼs the limit 15 15
  26. 26. Pro Tip #4.5 of 12 – Upgrade your plugins • The old way… 16 16
  27. 27. Pro Tip #4.5 of 12 – Upgrade your plugins • The old way… 17 17
  28. 28. Pro Tip #4.5 of 12 – Upgrade your plugins • The new way! 18 18
  29. 29. Case #5 of 12 – Major upgrades • Attachments not being converted as advertised 19 19
  30. 30. Case #5 of 12 – Major upgrades • Attachments not being converted as advertised • XML not suitable for large restores 19 19
  31. 31. Case #5 of 12 – Major upgrades • Attachments not being converted as advertised • XML not suitable for large restores Attachment change with 2.7.3 19 19
  32. 32. Universal Pro Tip - RTFM Consult documentation • Release notes • Upgrade guide • [ This half intentionally left blank ] 20 20
  33. 33. Pro Tip #5 of 12 - • Communicate with stake holders • Evaluate milestone releases • New release cycle- 3-4 months 21 21
  34. 34. Case #6 of 12 – Little pestering flies… • Preserving old-school navigation in JIRA 4.1+ 22 22
  35. 35. Pro Tip #6 of 12 – Engage your users • Involve in upgrade decision • Invite them to perform QA ( in testing! ) 23 23
  36. 36. Case #7 of 12 – Gadgets load slowly • After upgrading to JIRA 4.0 gadgets take forever to load 24 24
  37. 37. Case #7 of 12 – Gadgets load slowly • After upgrading to JIRA 4.0 gadgets take forever to load • Reverse-proxy? 24 24
  38. 38. Case #7 of 12 – Gadgets load slowly • After upgrading to JIRA 4.0 gadgets take forever to load • Reverse-proxy? • Server resources? 24 24
  39. 39. Case #7 of 12 – Gadgets load slowly • After upgrading to JIRA 4.0 gadgets take forever to load • Reverse-proxy? • Server resources? • Client config? 24 24
  40. 40. Case #7 of 12 – Gadgets load slowly • After upgrading to JIRA 4.0 gadgets take forever to load • Reverse-proxy? • Server resources? • Client config? • Profiling data looking good… 24 24
  41. 41. Case #7 of 12 – Gadgets load slowly • After upgrading to JIRA 4.0 gadgets take forever to load • Reverse-proxy? • Server resources? • Client config? • Profiling data looking good… • 1/5 second – 1 second page load time 24 24
  42. 42. Pro Tip #7 of 12 – Test new features • Review release summary pages • http://confluence.atlassian.com/display/DOC/Confluence+Release+Summary • http://confluence.atlassian.com/display/JIRA/JIRA+Release+Summary Encourage key stakeholders to evaluate 25 25
  43. 43. Watch out! 26 26
  44. 44. Case #8 of 12 – The devil is in the details • Setup new JIRA for upgrade, receiving “404 Not Found” 27 27
  45. 45. Case #8 of 12 – The devil is in the details • Setup new JIRA for upgrade, receiving “404 Not Found” 2010-04-20 16:07:38,561 main ERROR [jira.appconsistency.db.DatabaseConsistencyCheck] There was a SQL exception checking for database driver correctness. Skipping. org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class 'com.mysqljdbc.Driver' for connect URL 'jdbc:mysql:localhost/jiradb? autoReconnect=true&useUnicode=true&characterEncoding=UTF8' 27 27
  46. 46. Pro Tip #8 of 12 - Use the GUI! 28 28
  47. 47. Case #9 of 12 – The complex upgrade 29 29
  48. 48. Case #9 of 12 – The complex upgrade • Receiving 404 page after upgrading JIRA and Confluence • New • Hardware • Windows XP -> Debian linux • Standalone -> EAR/WAR • Trouble with configuring • LDAP • SSL • Days to resolve… 29 29
  49. 49. Pro Tip #9 of 12 – 30 30
  50. 50. Pro Tip #9 of 12 – • Deploy JIRA on new server, restore data 30 30
  51. 51. Pro Tip #9 of 12 – • Deploy JIRA on new server, restore data • Deploy Confluence, restore data 30 30
  52. 52. Pro Tip #9 of 12 – • Deploy JIRA on new server, restore data • Deploy Confluence, restore data • KB article to fix class loading 30 30
  53. 53. Pro Tip #9 of 12 – • Deploy JIRA on new server, restore data • Deploy Confluence, restore data • KB article to fix class loading • Configure SSL • Mail server • LDAP server • Tomcat 30 30
  54. 54. Pro Tip #9 of 12 – • Deploy JIRA on new server, restore data • Deploy Confluence, restore data • KB article to fix class loading • Configure SSL • Mail server • LDAP server • Tomcat • Configure LDAP 30 30
  55. 55. Case #10 of 12 – Duplicate mail notifications 31 31
  56. 56. Case #10 of 12 – Duplicate mail notifications # Testing • Production data • Jelly scripts • Workflow transitions Forgot notification schemes 31 31
  57. 57. Pro Tip #10 of 12 – • bin/setenv.sh: #DISABLE_NOTIFICATIONS=" -Datlassian.mail.senddisabled=true -Datlassian.mail.fetchdisabled=true -Datlassian.mail.popdisabled=true” • Remove mail server in admin UI 32 32
  58. 58. Confluence support #1 headache 33 33
  59. 59. Case #11 of 12 – Cutting corners 34 34
  60. 60. Case #11 of 12 – Cutting corners • Step 1 – Upgrade Confluence 34 34
  61. 61. Case #11 of 12 – Cutting corners • Step 1 – Upgrade Confluence • Step 2 – Old DB -> New Confluence 34 34
  62. 62. Case #11 of 12 – Cutting corners • Step 1 – Upgrade Confluence • Step 2 – Old DB -> New Confluence • Step 3 – Works good enough 34 34
  63. 63. Case #11 of 12 – Cutting corners • Step 1 – Upgrade Confluence • Step 2 – Old DB -> New Confluence • Step 3 – Works good enough •… 34 34
  64. 64. Case #11 of 12 – Cutting corners • Step 1 – Upgrade Confluence • Step 2 – Old DB -> New Confluence • Step 3 – Works good enough •… # Step 4 – Hmmm… attachments missing 34 34
  65. 65. Case #11 of 12 – Cutting corners • Step 1 – Upgrade Confluence • Step 2 – Old DB -> New Confluence • Step 3 – Works good enough •… # Step 4 – Hmmm… attachments missing • Step 5 – Contact support, failing to mention this for awhile 34 34
  66. 66. Case #11 of 12 – Cutting corners • Step 1 – Upgrade Confluence • Step 2 – Old DB -> New Confluence • Step 3 – Works good enough •… # Step 4 – Hmmm… attachments missing • Step 5 – Contact support, failing to mention this for awhile • Step 6 – ??? 34 34
  67. 67. Pro Tip #11 of 12 - Donʼt cut corners! Donʼt make assumptions Freeze data for upgrade process • Perfect practice makes perfect 35 35
  68. 68. Case #12 of 12 – $*#&$! Gadget loopback! • Created internal checklist and tested, tested, tested! 36 36
  69. 69. Case #12 of 12 – $*#&$! Gadget loopback! • Created internal checklist and tested, tested, tested! 36 36
  70. 70. Pro Tip #12 of 12 – 37 37
  71. 71. Pro Tip #12 of 12 – • Reverse-proxy • Load-balancer • More? • Exit strategy 37 37
  72. 72. Summary Best Practices Prevention Watch out! 38 38
  73. 73. Summary Best Practices Prevention Watch out! Go home, upgrade JIRA to 4.1 and Confluence to 3.2 38 38
  74. 74. Resources 39 39
  75. 75. Resources • forums.atlassian.com • confluence.atlassian.com • confluence.atlassian.com/display/JIRAKB/JIRA+Knowledge+Base+Home • confluence.atlassian.com/display/CONFKB/Confluence+Knowledge+Base+Home • jira.atlassian.com • support.atlassian.com • Pssst… Freenode IRC #atlassian, #atlassiandev 39 39
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×