molteniron/utils/createDB.py

64 lines
1.6 KiB
Python
Executable File

#!/usr/bin/env python
"""
Create the MoltenIron user in mysql and grant it access.
"""
# Copyright (c) 2016 IBM Corporation.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
# implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# pylint: disable-msg=C0103
from __future__ import print_function
import os
import sys
import yaml
def SQL(query):
"""Perform a mysql command"""
print(os.popen("mysql -u root -p --execute=\"" + query + "\"").read())
def main():
"""The main routine"""
path = sys.argv[0]
dirs = path.split("/")
# This program is located in molteniron/utils/ directory.
# The conf.yaml is located in the molteniron/ directory.
newPath = "/".join(dirs[:-2]) + "/"
fobj = open(newPath + "molteniron/conf.yaml", "r")
conf = yaml.load(fobj)
# Create the SQL User
SQL("CREATE USER '" +
conf["sqlUser"] +
"'@'localhost' IDENTIFIED BY '" +
conf["sqlPass"] +
"';")
# And grant that SQL user access to the MoltenIron database
SQL("GRANT ALL ON MoltenIron.* TO '" +
conf["sqlUser"] +
"'@'localhost';")
return 0
if __name__ == "__main__":
rc = main()
sys.exit(rc)