本文整理汇总了Python中trove.guestagent.manager.mysql_service.MySqlApp.complete_install_or_restart方法的典型用法代码示例。如果您正苦于以下问题:Python MySqlApp.complete_install_or_restart方法的具体用法?Python MySqlApp.complete_install_or_restart怎么用?Python MySqlApp.complete_install_or_restart使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类trove.guestagent.manager.mysql_service.MySqlApp
的用法示例。
在下文中一共展示了MySqlApp.complete_install_or_restart方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: prepare
# 需要导入模块: from trove.guestagent.manager.mysql_service import MySqlApp [as 别名]
# 或者: from trove.guestagent.manager.mysql_service.MySqlApp import complete_install_or_restart [as 别名]
def prepare(
self,
context,
databases,
memory_mb,
users,
device_path=None,
mount_point=None,
backup_id=None,
config_location=None,
config_contents=None,
):
"""Makes ready DBAAS on a Guest container."""
MySqlAppStatus.get().begin_mysql_install()
# status end_mysql_install set with secure()
app = MySqlApp(MySqlAppStatus.get())
restart_mysql = False
if device_path:
device = volume.VolumeDevice(device_path)
device.format()
# if a /var/lib/mysql folder exists, back it up.
if os.path.exists(CONF.mount_point):
# stop and do not update database
app.stop_db()
# rsync exiting data
if not backup_id:
restart_mysql = True
device.migrate_data(CONF.mount_point)
# mount the volume
device.mount(mount_point)
LOG.debug(_("Mounted the volume."))
# check mysql was installed and stopped
if restart_mysql:
app.start_mysql()
app.install_if_needed()
if backup_id:
self._perform_restore(backup_id, context, CONF.mount_point, app)
LOG.info(_("Securing mysql now."))
app.secure(config_location, config_contents)
if backup_id and MySqlAdmin().is_root_enabled():
MySqlAdmin().report_root_enabled(context)
else:
app.secure_root()
app.complete_install_or_restart()
if databases:
self.create_database(context, databases)
if users:
self.create_user(context, users)
LOG.info('"prepare" call has finished.')