python-tripleoclient/tripleoclient/v1/tripleo_upgrade.py

43 lines
1.5 KiB
Python

# Copyright 2018 Red Hat, Inc.
#
# 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.
#
from oslo_config import cfg
from oslo_log import log as logging
from tripleoclient import constants
from tripleoclient.exceptions import UndercloudUpgradeNotConfirmed
from tripleoclient import utils
from tripleoclient.v1.tripleo_deploy import Deploy
CONF = cfg.CONF
class Upgrade(Deploy):
"""Upgrade TripleO"""
log = logging.getLogger(__name__ + ".Upgrade")
def take_action(self, parsed_args):
logging.register_options(CONF)
logging.setup(CONF, '')
self.log.debug("take_action(%s)" % parsed_args)
if (not parsed_args.yes
and not utils.prompt_user_for_confirmation(
constants.UPGRADE_PROMPT, self.log)):
raise UndercloudUpgradeNotConfirmed(constants.UPGRADE_NO)
parsed_args.standalone = True
parsed_args.upgrade = True
super(Upgrade, self).take_action(parsed_args)