
MoltenIron is a tool to manage a pool of baremetal nodes that are to be used as test targets in a baremetal CI environment, instead of VM guests. MoltenIron allows you to add, allocate, and release nodes from it's pool using the following methods: add - Add a node to the pool allocate - checkout a baremetal node from the pool, returning the required info in json format to the requester. It then marks the node as in use so that no other VM will check it out. release - return the baremetal node to the pool, allowing another VM to eventually allocate it. Change-Id: I8d276d677d9b09bc34032f46c825320d5d83e756
42 lines
1.1 KiB
Python
Executable File
42 lines
1.1 KiB
Python
Executable File
#!/usr/bin/env python
|
|
|
|
# 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.
|
|
|
|
import os
|
|
import sys
|
|
import yaml
|
|
|
|
|
|
def SQL(query):
|
|
print(os.popen("mysql -u root -p --execute=\"" + query + "\"").read())
|
|
|
|
|
|
def main():
|
|
path = sys.argv[0]
|
|
dirs = path.split("/")
|
|
newPath = "/".join(dirs[:-1]) + "/"
|
|
fobj = open(newPath + "conf.yaml", "r")
|
|
conf = yaml.load(fobj)
|
|
|
|
# Create the SQL User
|
|
SQL("CREATE USER '"+conf["sqlUser"]+"'@'localhost' "
|
|
"IDENTIFIED BY '"+conf["sqlPass"]+"';")
|
|
SQL("GRANT ALL ON MoltenIron.* TO '"+conf["sqlUser"]+"'@'localhost';")
|
|
return 0
|
|
|
|
if __name__ == "__main__":
|
|
main()
|