Index: /branches/ipp-132_automate_jira_conf_backups/backups/atlassian_backups.config
===================================================================
--- /branches/ipp-132_automate_jira_conf_backups/backups/atlassian_backups.config	(revision 40893)
+++ /branches/ipp-132_automate_jira_conf_backups/backups/atlassian_backups.config	(revision 40894)
@@ -8,3 +8,3 @@
 conf_attachments_path = /var/atlassian/application-data/confluence/attachments
 mysqldump_password = not_a_real_password
-verbose = True
+verbose = False
Index: /branches/ipp-132_automate_jira_conf_backups/backups/backup_atlassian_applications.py
===================================================================
--- /branches/ipp-132_automate_jira_conf_backups/backups/backup_atlassian_applications.py	(revision 40893)
+++ /branches/ipp-132_automate_jira_conf_backups/backups/backup_atlassian_applications.py	(revision 40894)
@@ -99,4 +99,6 @@
         self.verbose               = config.getboolean('atlassian_backups', 'verbose')
 
+        self.mysqldump_password    = _get_str_key_from_section(config, section, 'mysqldump_password')
+
     def target_backup_paths_ok(self) -> bool:
         copy_paths = [ self.host_backup_path
@@ -150,6 +152,9 @@
         tar_return = self._tar_attachments()
 
+        # mysqldump
+        mysqldump_return = self.make_mysql_dump(self.mysqldump_password)
+
         # If successful: move tmp to old
-        if jira_return == 0 and conf_return == 0 and tar_return == 0:
+        if jira_return == 0 and conf_return == 0 and tar_return == 0 and mysqldump_return == 0:
             _move_dir_contents_to_dir(tmp_paths, old_paths, self.verbose)
         else:
@@ -252,4 +257,6 @@
         # do this as the dumper user
 
+        print(dump_password)
+
         latest_paths = self.target_paths("latest")
         if not self.target_backup_paths_ok():
@@ -270,4 +277,5 @@
                          , '--databases', 'jiradb', 'confluencedb'
                          ]
+        print(mysqldump_args)
         with open(dump_filepath, "w+") as df:
             mysqldump_process = subprocess.Popen(mysqldump_args, stdout=df, stderr=subprocess.PIPE)
@@ -278,4 +286,6 @@
         if stde is not None:
             decoded_stderr = stde.decode()
+            print(decoded_stderr)
+            print(decoded_stderr.casefold().find('error'.casefold()))
             if decoded_stderr.casefold().find('error'.casefold()) > -1:
                 raise sub_utils.SubprocessError()
Index: /branches/ipp-132_automate_jira_conf_backups/backups/backup_atlassian_applications_test.py
===================================================================
--- /branches/ipp-132_automate_jira_conf_backups/backups/backup_atlassian_applications_test.py	(revision 40893)
+++ /branches/ipp-132_automate_jira_conf_backups/backups/backup_atlassian_applications_test.py	(revision 40894)
@@ -25,5 +25,6 @@
         'conf_backup_path'      : os.path.join(tmpdir, 'conf_backup_path'),
         'jira_attachments_path' : os.path.join(tmpdir, 'jira_attachments_path'),
-        'conf_attachments_path' : os.path.join(tmpdir, 'conf_attachments_path')
+        'conf_attachments_path' : os.path.join(tmpdir, 'conf_attachments_path'),
+        'mysqldump_password'    : 'not_a_real_password'
     }
 
@@ -42,4 +43,5 @@
         assert ab.jira_attachments_path == "/var/atlassian/application-data/jira/data"
         assert ab.conf_attachments_path == "/var/atlassian/application-data/confluence/attachments"
+        assert ab.mysqldump_password    == "not_a_real_password"
         assert ab.verbose is True
 
@@ -54,4 +56,5 @@
         assert ab.jira_attachments_path == "/var/atlassian/application-data/jira/data"
         assert ab.conf_attachments_path == "/var/atlassian/application-data/confluence/attachments"
+        assert ab.mysqldump_password    == "not_a_real_password"
 
     def test_default_arguments(self):
@@ -65,4 +68,5 @@
         assert ab.jira_attachments_path == "/var/atlassian/application-data/jira/data"
         assert ab.conf_attachments_path == "/var/atlassian/application-data/confluence/attachments"
+        assert ab.mysqldump_password    == "not_a_real_password"
 
     def test_providing_config_directly(self):
@@ -76,4 +80,5 @@
         config.set('atlassian_backups', 'jira_attachments_path', 'custom_config6')
         config.set('atlassian_backups', 'conf_attachments_path', 'custom_config7')
+        config.set('atlassian_backups', 'mysqldump_password',    'custom_config8')
         config.set('atlassian_backups', 'verbose', 'False')
 
@@ -87,4 +92,5 @@
         assert ab.jira_attachments_path == 'custom_config6'
         assert ab.conf_attachments_path == 'custom_config7'
+        assert ab.mysqldump_password    == 'custom_config8'
         assert ab.verbose is False
 
@@ -386,10 +392,11 @@
     """ The mySQL dump tests require the machine on which they are
 running to have a mysql database running with a user called
-'dumper' and the password listed below.
-
+'dumper' and a password set to 'not_a_real_password'.
+
+In production, a proper password should be set on the server and in the config
+file.
+
+To change the password:
 UPDATE mysql.user SET authentication_string = PASSWORD('NEW_USER_PASSWORD')WHERE User = 'user-name' AND Host = 'localhost';FLUSH PRIVILEGES;
-
-Note that the actual password used for the backups is not included here,
-or in the main backup code for security.
 """
 
