4 # Copyright (C) 2014 Google Inc.
7 # Redistribution and use in source and binary forms, with or without
8 # modification, are permitted provided that the following conditions are
11 # 1. Redistributions of source code must retain the above copyright notice,
12 # this list of conditions and the following disclaimer.
14 # 2. Redistributions in binary form must reproduce the above copyright
15 # notice, this list of conditions and the following disclaimer in the
16 # documentation and/or other materials provided with the distribution.
18 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
19 # IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
20 # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
21 # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
22 # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
23 # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24 # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
25 # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
26 # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
27 # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
28 # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 # pylint: disable=C0103
33 """Hook to be run after upgrading to this version.
39 from ganeti import utils
40 from ganeti import cli
47 if len(sys.argv) != 2:
48 cli.ToStderr("Expecting precisely one argument, the version upgrading from")
50 versionstring = sys.argv[1]
52 version = utils.version.ParseVersion(versionstring)
56 if utils.version.IsBefore(version, 2, 12, 5):
57 result = utils.RunCmd(["gnt-cluster", "renew-crypto",
58 "--new-node-certificates", "-f", "-d"])
60 cli.ToStderr("Failed to create node certificates: %s; Output %s" %
61 (result.fail_reason, result.output))
64 if utils.version.IsBefore(version, 2, 13, 0):
65 result = utils.RunCmd(["gnt-cluster", "renew-crypto",
66 "--new-ssh-keys", "--no-ssh-key-check", "-f", "-d"])
69 cli.ToStderr("Failed to create SSH keys: %s; Output %s" %
70 (result.fail_reason, result.output))
75 if __name__ == "__main__":