Skip to content

Commit

Permalink
merge @RhinosF1's changes
Browse files Browse the repository at this point in the history
  • Loading branch information
Reception123 authored Jan 5, 2024
1 parent 8ebdd50 commit c6c5bdb
Showing 1 changed file with 11 additions and 7 deletions.
18 changes: 11 additions & 7 deletions modules/mediawiki/files/cookbooks/rename-wiki.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,20 +10,23 @@
'c5': 'db131',
}


def get_db_cluster(oldwiki_db):
command = f"salt-ssh -E 'db131*' cmd.run 'USE mhglobal; SELECT wiki_dbcluster FROM cw_wikis WHERE wiki_dbname = \"{oldwiki_db}\"'"
result = subprocess.run(command, shell=True, stdout=subprocess.PIPE, text=True)
cluster_name = result.stdout.strip()
return db_clusters.get(cluster_name)


def execute_salt_command(cluster, command):
salt_command = f"salt-ssh -E '{cluster}*' cmd.run '{command}'"
subprocess.run(salt_command, shell=True)


def main():
parser = argparse.ArgumentParser(description="Executes the commands needed to rename wikis")
parser.add_argument("--oldwiki", required=True, help="Old wiki database name")
parser.add_argument("--newwiki", required=True, help="New wiki database name")
parser = argparse.ArgumentParser(description='Executes the commands needed to rename wikis')
parser.add_argument('--oldwiki', required=True, help='Old wiki database name')
parser.add_argument('--newwiki', required=True, help='New wiki database name')

args = parser.parse_args()

Expand All @@ -34,16 +37,17 @@ def main():
oldwiki_cluster = get_db_cluster(oldwiki_db)

if not oldwiki_cluster:
print(f"Error: Unable to determine the db cluster for {oldwiki_db}")
print(f'Error: Unable to determine the db cluster for {oldwiki_db}')
return

# Step 2: Execute SQL commands for rename
execute_salt_command(oldwiki_cluster, f"mysqldump {oldwiki_db} > oldwikidb.sql")
execute_salt_command(oldwiki_cluster, f'mysqldump {oldwiki_db} > oldwikidb.sql')
execute_salt_command(oldwiki_cluster, f"mysql -e 'CREATE DATABASE {newwiki_db}'")
execute_salt_command(oldwiki_cluster, f"mysql -e 'USE {newwiki_db}; SOURCE /home/$user/oldwikidb.sql'")

# Step 3: Execute MediaWiki rename script
execute_salt_command('mwtask141', f"sudo -u www-data php /srv/mediawiki/w/extensions/CreateWiki/maintenance/renameWiki.php --wiki=loginwiki --rename {oldwiki_db} {newwiki_db} $user")
execute_salt_command('mwtask141', f'sudo -u www-data php /srv/mediawiki/w/extensions/CreateWiki/maintenance/renameWiki.php --wiki=loginwiki --rename {oldwiki_db} {newwiki_db} $user')


if __name__ == "__main__":
if __name__ == '__main__':
main()

0 comments on commit c6c5bdb

Please sign in to comment.