diff --git a/kolla/cmd/mergepwd.py b/kolla/cmd/mergepwd.py new file mode 100755 index 0000000000..b8fde1c778 --- /dev/null +++ b/kolla/cmd/mergepwd.py @@ -0,0 +1,39 @@ +#!/usr/bin/env python + +# 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 argparse +import yaml + + +def main(): + parser = argparse.ArgumentParser() + parser.add_argument("--old", help="old password file", required=True) + parser.add_argument("--new", help="new password file", required=True) + parser.add_argument("--final", help="merged password file", required=True) + args = parser.parse_args() + + with open(args.old, "r") as old_file: + old_passwords = yaml.safe_load(old_file) + + with open(args.new, "r") as new_file: + new_passwords = yaml.safe_load(new_file) + + new_passwords.update(old_passwords) + + with open(args.final, "w") as destination: + yaml.dump(new_passwords, destination) + + +if __name__ == '__main__': + main() diff --git a/setup.cfg b/setup.cfg index bacc903c68..8f78de6597 100644 --- a/setup.cfg +++ b/setup.cfg @@ -43,6 +43,7 @@ scripts = console_scripts = kolla-build = kolla.cmd.build:main kolla-genpwd = kolla.cmd.genpwd:main + kolla-mergepwd = kolla.cmd.mergepwd:main oslo.config.opts = kolla = kolla.opts:list_opts diff --git a/tools/merge_passwords.py b/tools/merge_passwords.py new file mode 120000 index 0000000000..ce2431d00a --- /dev/null +++ b/tools/merge_passwords.py @@ -0,0 +1 @@ +../kolla/cmd/mergepwd.py \ No newline at end of file