mirror of
https://github.com/ChristianLight/tutor.git
synced 2024-06-10 01:32:21 +00:00
Add --limit=myplugin
option to init
commands
This makes it possible to run "init" for some services only, which is useful during debugging.
This commit is contained in:
parent
a6c9bba3bf
commit
872a33414a
|
@ -2,6 +2,10 @@
|
||||||
|
|
||||||
Note: Breaking changes between versions are indicated by "💥".
|
Note: Breaking changes between versions are indicated by "💥".
|
||||||
|
|
||||||
|
## Unreleased
|
||||||
|
|
||||||
|
- [Feature] Add `--limit=myplugin` option to `init` commands for limit execution of initialisation to certain services and plugins
|
||||||
|
|
||||||
## v3.12.6 (2020-06-01)
|
## v3.12.6 (2020-06-01)
|
||||||
|
|
||||||
- [Improvement] Add `dig`, `ping` utilities to openedx-dev Docker image
|
- [Improvement] Add `dig`, `ping` utilities to openedx-dev Docker image
|
||||||
|
|
|
@ -165,11 +165,12 @@ def execute(context, args):
|
||||||
|
|
||||||
|
|
||||||
@click.command(help="Initialise all applications")
|
@click.command(help="Initialise all applications")
|
||||||
|
@click.option("-l", "--limit", help="Limit initialisation to this service or plugin")
|
||||||
@click.pass_obj
|
@click.pass_obj
|
||||||
def init(context):
|
def init(context, limit):
|
||||||
config = tutor_config.load(context.root)
|
config = tutor_config.load(context.root)
|
||||||
runner = ScriptRunner(context.root, config, context.docker_compose)
|
runner = ScriptRunner(context.root, config, context.docker_compose)
|
||||||
scripts.initialise(runner)
|
scripts.initialise(runner, limit_to=limit)
|
||||||
|
|
||||||
|
|
||||||
@click.command(
|
@click.command(
|
||||||
|
|
|
@ -36,7 +36,7 @@ def quickstart(context, non_interactive):
|
||||||
click.echo(fmt.title("Starting the platform"))
|
click.echo(fmt.title("Starting the platform"))
|
||||||
start.callback()
|
start.callback()
|
||||||
click.echo(fmt.title("Database creation and migrations"))
|
click.echo(fmt.title("Database creation and migrations"))
|
||||||
init.callback()
|
init.callback(limit=None)
|
||||||
|
|
||||||
|
|
||||||
@click.command(help="Run all configured Open edX services")
|
@click.command(help="Run all configured Open edX services")
|
||||||
|
@ -116,14 +116,15 @@ def delete(context, yes):
|
||||||
|
|
||||||
|
|
||||||
@click.command(help="Initialise all applications")
|
@click.command(help="Initialise all applications")
|
||||||
|
@click.option("-l", "--limit", help="Limit initialisation to this service or plugin")
|
||||||
@click.pass_obj
|
@click.pass_obj
|
||||||
def init(context):
|
def init(context, limit):
|
||||||
config = tutor_config.load(context.root)
|
config = tutor_config.load(context.root)
|
||||||
runner = K8sScriptRunner(context.root, config)
|
runner = K8sScriptRunner(context.root, config)
|
||||||
for service in ["mysql", "elasticsearch", "mongodb"]:
|
for service in ["mysql", "elasticsearch", "mongodb"]:
|
||||||
if tutor_config.is_service_activated(config, service):
|
if tutor_config.is_service_activated(config, service):
|
||||||
wait_for_pod_ready(config, service)
|
wait_for_pod_ready(config, service)
|
||||||
scripts.initialise(runner)
|
scripts.initialise(runner, limit_to=limit)
|
||||||
|
|
||||||
|
|
||||||
@click.command(help="Create an Open edX user and interactively set their password")
|
@click.command(help="Create an Open edX user and interactively set their password")
|
||||||
|
|
|
@ -57,7 +57,7 @@ def quickstart(context, non_interactive, pullimages_):
|
||||||
click.echo(fmt.title("Starting the platform in detached mode"))
|
click.echo(fmt.title("Starting the platform in detached mode"))
|
||||||
compose.start.callback(True, [])
|
compose.start.callback(True, [])
|
||||||
click.echo(fmt.title("Database creation and migrations"))
|
click.echo(fmt.title("Database creation and migrations"))
|
||||||
compose.init.callback()
|
compose.init.callback(limit=None)
|
||||||
echo_platform_info(config)
|
echo_platform_info(config)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -27,28 +27,36 @@ class BaseRunner:
|
||||||
yield from plugins.iter_hooks(self.config, hook)
|
yield from plugins.iter_hooks(self.config, hook)
|
||||||
|
|
||||||
|
|
||||||
def initialise(runner):
|
def initialise(runner, limit_to=None):
|
||||||
fmt.echo_info("Initialising all services...")
|
fmt.echo_info("Initialising all services...")
|
||||||
runner.run_job_from_template("mysql", "hooks", "mysql", "init")
|
if limit_to is None or limit_to == "mysql":
|
||||||
|
runner.run_job_from_template("mysql", "hooks", "mysql", "init")
|
||||||
for plugin_name, hook in runner.iter_plugin_hooks("pre-init"):
|
for plugin_name, hook in runner.iter_plugin_hooks("pre-init"):
|
||||||
for service in hook:
|
if limit_to is None or limit_to == plugin_name:
|
||||||
fmt.echo_info(
|
for service in hook:
|
||||||
"Plugin {}: running pre-init for service {}...".format(
|
fmt.echo_info(
|
||||||
plugin_name, service
|
"Plugin {}: running pre-init for service {}...".format(
|
||||||
|
plugin_name, service
|
||||||
|
)
|
||||||
|
)
|
||||||
|
runner.run_job_from_template(
|
||||||
|
service, plugin_name, "hooks", service, "pre-init"
|
||||||
)
|
)
|
||||||
)
|
|
||||||
runner.run_job_from_template(
|
|
||||||
service, plugin_name, "hooks", service, "pre-init"
|
|
||||||
)
|
|
||||||
for service in ["lms", "cms", "forum"]:
|
for service in ["lms", "cms", "forum"]:
|
||||||
fmt.echo_info("Initialising {}...".format(service))
|
if limit_to is None or limit_to == service:
|
||||||
runner.run_job_from_template(service, "hooks", service, "init")
|
fmt.echo_info("Initialising {}...".format(service))
|
||||||
|
runner.run_job_from_template(service, "hooks", service, "init")
|
||||||
for plugin_name, hook in runner.iter_plugin_hooks("init"):
|
for plugin_name, hook in runner.iter_plugin_hooks("init"):
|
||||||
for service in hook:
|
if limit_to is None or limit_to == plugin_name:
|
||||||
fmt.echo_info(
|
for service in hook:
|
||||||
"Plugin {}: running init for service {}...".format(plugin_name, service)
|
fmt.echo_info(
|
||||||
)
|
"Plugin {}: running init for service {}...".format(
|
||||||
runner.run_job_from_template(service, plugin_name, "hooks", service, "init")
|
plugin_name, service
|
||||||
|
)
|
||||||
|
)
|
||||||
|
runner.run_job_from_template(
|
||||||
|
service, plugin_name, "hooks", service, "init"
|
||||||
|
)
|
||||||
fmt.echo_info("All services initialised.")
|
fmt.echo_info("All services initialised.")
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user