Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add secondary backend support #114

Merged
merged 20 commits into from
Sep 10, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
a41b3bb
Call pgconfig.org API only when tweak settings are enabled
noliveleger Jul 9, 2020
ae8acd3
Bump version to 3.1.4
noliveleger Jul 9, 2020
5f3d2e3
Call migration from single to two_databases only when server role is …
noliveleger Jul 9, 2020
9a9f2a6
Added templates for secondary backend
noliveleger Jul 10, 2020
f44bacc
Do not ask for redis, MongoDB credentials on secondary backend
noliveleger Jul 10, 2020
f53476d
Use pgconfig docker API image instead of pgconfig.org API
noliveleger Jul 10, 2020
a1f5eb6
- Comply to #53: Refactored some code to use 80 characters per line.
noliveleger Jul 10, 2020
84ea50d
Merge branch 'master' into handle-secondary-backend
noliveleger Jul 10, 2020
c53f8ee
Bump version to 3.2.0
noliveleger Jul 10, 2020
28a1bbb
Update readme.md
noliveleger Jul 10, 2020
98dc262
Stop overwritting self.__config before persisting it to disk
noliveleger Jul 10, 2020
bbc969f
- fixed: test for KC name after upgrade
noliveleger Jul 10, 2020
bf5f584
fixed: Container does not stop on secondary backend with `run.py --stop`
noliveleger Aug 13, 2020
8aa268e
Added: new tests to validate containers on start/stop
noliveleger Aug 13, 2020
4cc97c5
Merge branch 'master' into handle-secondary-backend
noliveleger Aug 13, 2020
7ff2709
fixed: extra_hosts property in secondary backend YML file is not comm…
noliveleger Aug 25, 2020
e4437fb
added: Python 3.8 in tox interpreters
noliveleger Aug 25, 2020
741e553
bump version to 3.2.1
noliveleger Aug 25, 2020
574a8cf
Changed version of "kobo-docker" to "2.020.37"
noliveleger Sep 10, 2020
2e60cf2
Merge branch 'master' into handle-secondary-backend
noliveleger Sep 10, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 26 additions & 26 deletions helpers/command.py
Original file line number Diff line number Diff line change
Expand Up @@ -265,7 +265,7 @@ def start_maintenance(cls):
"-f", "docker-compose.maintenance.yml",
"-f", "docker-compose.maintenance.override.yml",
"-p", config_object.get_prefix("maintenance"),
"up", "-d", "maintenance"]
"up", "-d"]

CLI.run_command(frontend_command, config.get("kobodocker_path"))
CLI.colored_print("Maintenance mode has been started",
Expand Down Expand Up @@ -313,9 +313,7 @@ def start(cls, frontend_only=False):
sys.exit(1)

# Start the back-end containers
if not frontend_only:
if not config_object.multi_servers or \
config_object.primary_backend or config_object.secondary_backend:
if not frontend_only and config_object.backend:
backend_role = config.get("backend_server_role", "primary")

backend_command = ["docker-compose",
Expand All @@ -329,12 +327,13 @@ def start(cls, frontend_only=False):
"up", "-d"]
CLI.run_command(backend_command, config.get("kobodocker_path"))

# If this was previously a shared-database setup, migrate to separate
# databases for KPI and KoBoCAT
migrate_single_to_two_databases()

# Start the front-end containers
if not config_object.multi_servers or config_object.frontend:
if config_object.frontend:

# If this was previously a shared-database setup, migrate to separate
# databases for KPI and KoBoCAT
migrate_single_to_two_databases()

frontend_command = ["docker-compose",
"-f", "docker-compose.frontend.yml",
"-f", "docker-compose.frontend.override.yml",
Expand Down Expand Up @@ -367,9 +366,12 @@ def start(cls, frontend_only=False):
"It can take a few minutes.", CLI.COLOR_SUCCESS)
cls.info()
else:
CLI.colored_print(("Backend server should be up & running! "
"Please look at docker logs for further "
"information"), CLI.COLOR_WARNING)
CLI.colored_print(
("{} backend server is starting up and should be "
"up & running soon!\nPlease look at docker logs for "
"further information: `python3 run.py -cb logs -f`".format(
config.get('backend_server_role'))),
CLI.COLOR_WARNING)

@classmethod
def stop(cls, output=True, frontend_only=False):
Expand Down Expand Up @@ -405,21 +407,19 @@ def stop(cls, output=True, frontend_only=False):
"down"]
CLI.run_command(proxy_command, config_object.get_letsencrypt_repo_path())

if not frontend_only:
if not config_object.multi_servers or config_object.primary_backend:

backend_role = config.get("backend_server_role", "primary")
if not frontend_only and config_object.backend:
backend_role = config.get("backend_server_role", "primary")

backend_command = [
"docker-compose",
"-f",
"docker-compose.backend.{}.yml".format(backend_role),
"-f",
"docker-compose.backend.{}.override.yml".format(backend_role),
"-p", config_object.get_prefix("backend"),
"down"
]
CLI.run_command(backend_command, config.get("kobodocker_path"))
backend_command = [
"docker-compose",
"-f",
"docker-compose.backend.{}.yml".format(backend_role),
"-f",
"docker-compose.backend.{}.override.yml".format(backend_role),
"-p", config_object.get_prefix("backend"),
"down"
]
CLI.run_command(backend_command, config.get("kobodocker_path"))

if output:
CLI.colored_print("KoBoToolbox has been stopped", CLI.COLOR_SUCCESS)
Expand Down
Loading