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

clear separation of updater responsibilities vs core responsibilities #304

Closed
5 tasks
DeepDiver1975 opened this issue Apr 6, 2016 · 9 comments
Closed
5 tasks
Assignees

Comments

@DeepDiver1975
Copy link
Member

Background:

  • only core and the used apps can tightly manage their upgrade process
  • giving the updater a too fine granular control over the individual steps I see us being blocked in the future with respect to enhancing core's mechanism
  • finally: core has to upgrade itself properly without the updater app

Updater Responsibilities:

  • download new versions
  • create checkpoints
  • respect upgrade channels
  • guide the overall process
  • inform the user about the upgrade

Core Responsibilities:

  • occ upgrade and ajax/upgrade remain the master entry points for the upgrade process
  • the upgrade will be split into the requires more fine granular sub steps:
  1. Repair and cleanup (pre upgrade, DB collations update, ..) [danger, might take long]
  2. db schema upgrade simulated (optionally, can be done online in advance)
  3. disable 3rdparty/no shipped apps
  4. db schema upgrade real [danger, might take long]
  5. execute core upgrade scripts [danger, might take long]
  6. upgrade shipped apps [danger, might take long] - schema migration & app upgrade scripts
  7. try reenable, download and upgrade 3rdparty/non shipped apps. (one app after another)
  8. repair and cleanup step 1 (post upgrade, repair legacy storage, ..) [danger, might take long]

Will move to core once discussion is final

Core Upgrade Changes:

  • occ:upgrade will execute all sub steps
  • each step can be executed by itself
  • all substeps will be exposed to the updater so that it can call them step by step
  • all upgrade steps can be executed even if we are already in maintenance mode
  • new method is required to ensure only one upgrade process is triggered

maybe worth an issue on it's own

webui integration of core and updater

  • core/ajax/update renders core templates 😠
  • updater should consume a json based api to trigger and query for the current processing state
  • core's own update ui should consume the json api
  • no eventsource please 😠

@DeepDiver1975 DeepDiver1975 added this to the 9.1-current milestone Apr 6, 2016
@DeepDiver1975
Copy link
Member Author

@karlitschek

@karlitschek
Copy link

looks good!

@DeepDiver1975
Copy link
Member Author

refs owncloud/core#23913

@ghost
Copy link

ghost commented Apr 12, 2016

how does this match with #204? @DeepDiver1975 @karlitschek @VicDeo

@DeepDiver1975
Copy link
Member Author

I will merge the idea into this ticket.

@VicDeo
Copy link
Member

VicDeo commented Apr 18, 2016

@DeepDiver1975 there should be a room for integrity check as well.
Before or After or Before-n-After the process.

If it is done before the upgrade, integrity check cache should be flushed at the end of upgrade.

@ghost ghost assigned VicDeo May 30, 2016
@ghost ghost modified the milestones: 9.2-next, 9.1-current May 30, 2016
@VicDeo
Copy link
Member

VicDeo commented May 31, 2016

@DeepDiver1975 should substeps be invoked as a parameter passed to
occ upgrade or as a new commands?

@DeepDiver1975
Copy link
Member Author

We will add subtasks of occ upgrade. But this is out of scope for 9.1

@PVince81
Copy link
Contributor

PVince81 commented Apr 7, 2017

moving to backlog, needs rescheduling and scoping

@PVince81 PVince81 modified the milestones: backlog, 10.0 Apr 7, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants