本文整理汇总了Python中codalabtools.deploy.DeploymentConfig.getDatabaseAdminPassword方法的典型用法代码示例。如果您正苦于以下问题:Python DeploymentConfig.getDatabaseAdminPassword方法的具体用法?Python DeploymentConfig.getDatabaseAdminPassword怎么用?Python DeploymentConfig.getDatabaseAdminPassword使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类codalabtools.deploy.DeploymentConfig
的用法示例。
在下文中一共展示了DeploymentConfig.getDatabaseAdminPassword方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: install_mysql
# 需要导入模块: from codalabtools.deploy import DeploymentConfig [as 别名]
# 或者: from codalabtools.deploy.DeploymentConfig import getDatabaseAdminPassword [as 别名]
def install_mysql(choice="all"):
"""
Installs a local instance of MySQL of the web instance. This will only work
if the number of web instances is one.
choice: Indicates which assets to create/install:
'mysql' -> just install MySQL; don't create the databases
'site_db' -> just create the site database
'bundles_db' -> just create the bundle service database
'all' or '' -> install all three
"""
require("configuration")
if len(env.roledefs["web"]) != 1:
raise Exception("Task install_mysql requires exactly one web instance.")
if choice == "mysql":
choices = {"mysql"}
elif choice == "site_db":
choices = {"site_db"}
elif choice == "bundles_db":
choices = {"bundles_db"}
elif choice == "all":
choices = {"mysql", "site_db", "bundles_db"}
else:
raise ValueError("Invalid choice: %s. Valid choices are: 'build', 'web' or 'all'." % (choice))
configuration = DeploymentConfig(env.cfg_label, env.cfg_path)
dba_password = configuration.getDatabaseAdminPassword()
if "mysql" in choices:
sudo("DEBIAN_FRONTEND=noninteractive apt-get -q -y install mysql-server")
sudo("mysqladmin -u root password {0}".format(dba_password))
if "site_db" in choices:
db_name = configuration.getDatabaseName()
db_user = configuration.getDatabaseUser()
db_password = configuration.getDatabasePassword()
cmds = [
"create database {0};".format(db_name),
"create user '{0}'@'localhost' IDENTIFIED BY '{1}';".format(db_user, db_password),
"GRANT ALL PRIVILEGES ON {0}.* TO '{1}'@'localhost' WITH GRANT OPTION;".format(db_name, db_user),
]
run('mysql --user=root --password={0} --execute="{1}"'.format(dba_password, " ".join(cmds)))
if "bundles_db" in choices:
db_name = configuration.getBundleServiceDatabaseName()
db_user = configuration.getBundleServiceDatabaseUser()
db_password = configuration.getBundleServiceDatabasePassword()
cmds = [
"create database {0};".format(db_name),
"create user '{0}'@'localhost' IDENTIFIED BY '{1}';".format(db_user, db_password),
"GRANT ALL PRIVILEGES ON {0}.* TO '{1}'@'localhost' WITH GRANT OPTION;".format(db_name, db_user),
]
run('mysql --user=root --password={0} --execute="{1}"'.format(dba_password, " ".join(cmds)))
示例2: _deploy
# 需要导入模块: from codalabtools.deploy import DeploymentConfig [as 别名]
# 或者: from codalabtools.deploy.DeploymentConfig import getDatabaseAdminPassword [as 别名]
def _deploy():
# Update website
env_prefix, env_shell = setup_env()
with env_prefix, env_shell, cd(env.deploy_codalab_dir):
run('git pull')
run('git checkout %s' % env.git_codalab_tag)
run('./dev_setup.sh')
# Update bundle service
with cd(env.deploy_codalab_cli_dir):
run('git pull')
run('git checkout %s' % env.git_codalab_cli_tag)
run('./setup.sh')
run('venv/bin/pip install MySQL-Python')
run('venv/bin/alembic upgrade head')
# Create local.py
cfg = DeploymentConfig(env.cfg_label, env.cfg_path)
dep = Deployment(cfg)
buf = StringIO()
buf.write(dep.getSettingsFileContent())
settings_file = os.path.join(env.deploy_codalab_dir, 'codalab', 'codalab', 'settings', 'local.py')
put(buf, settings_file)
# Update the website configuration
env_prefix, env_shell = setup_env()
with env_prefix, env_shell, cd(env.deploy_codalab_dir), cd('codalab'):
# Generate configuration files (bundle_server_config, nginx, etc.)
run('python manage.py config_gen')
# Migrate database
run('python manage.py syncdb --migrate')
# Create static pages
run('python manage.py collectstatic --noinput')
# For sending email, have the right domain name.
run('python manage.py set_site %s' % cfg.getSslRewriteHosts()[0])
# Create a superuser for OAuth
run('python manage.py create_codalab_user %s' % cfg.getDatabaseAdminPassword())
# Allow bundle service to connect to website for OAuth
run('mkdir -p ~/.codalab && python manage.py set_oauth_key ./config/generated/bundle_server_config.json > ~/.codalab/config.json')
# Put nginx and supervisor configuration files in place
sudo('ln -sf `pwd`/config/generated/nginx.conf /etc/nginx/sites-enabled/codalab.conf')
sudo('ln -sf `pwd`/config/generated/supervisor.conf /etc/supervisor/conf.d/codalab.conf')
# Setup new relic
run('newrelic-admin generate-config %s newrelic.ini' % cfg.getNewRelicKey())
# Install SSL certficates (/etc/ssl/certs/)
require('configuration')
if (len(cfg.getSslCertificateInstalledPath()) > 0) and (len(cfg.getSslCertificateKeyInstalledPath()) > 0):
put(cfg.getSslCertificatePath(), cfg.getSslCertificateInstalledPath(), use_sudo=True)
put(cfg.getSslCertificateKeyPath(), cfg.getSslCertificateKeyInstalledPath(), use_sudo=True)
else:
logger.info("Skipping certificate installation because both files are not specified.")
示例3: install_mysql
# 需要导入模块: from codalabtools.deploy import DeploymentConfig [as 别名]
# 或者: from codalabtools.deploy.DeploymentConfig import getDatabaseAdminPassword [as 别名]
def install_mysql():
"""
Installs a local instance of MySQL of the web instance. This will only work
if the number of web instances is one.
"""
require('configuration')
if len(env.roledefs['web']) <> 1:
raise(Exception("Task install_mysql requires exactly one web instance."))
configuration = DeploymentConfig(env.cfg_label, env.cfg_path)
dba_password = configuration.getDatabaseAdminPassword()
db_name = configuration.getDatabaseName()
db_user = configuration.getDatabaseUser()
db_password = configuration.getDatabasePassword()
sudo('DEBIAN_FRONTEND=noninteractive apt-get -q -y install mysql-server')
sudo('mysqladmin -u root password {0}'.format(dba_password))
cmds = ["create database {0};".format(db_name),
"create user '{0}'@'localhost' IDENTIFIED BY '{1}';".format(db_user, db_password),
"GRANT ALL PRIVILEGES ON {0}.* TO '{1}'@'localhost' WITH GRANT OPTION;".format(db_name, db_user) ]
run('mysql --user=root --password={0} --execute="{1}"'.format(dba_password, " ".join(cmds)))