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

Open
DeepDiver1975 opened this issue Apr 6, 2016 · 9 comments
Open
Assignees

Comments

@DeepDiver1975
Copy link
Member

@DeepDiver1975 DeepDiver1975 commented Apr 6, 2016

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

This comment has been minimized.

Copy link
Member Author

@DeepDiver1975 DeepDiver1975 commented Apr 6, 2016

@karlitschek

This comment has been minimized.

Copy link

@karlitschek karlitschek commented Apr 7, 2016

looks good!

@DeepDiver1975

This comment has been minimized.

Copy link
Member Author

@DeepDiver1975 DeepDiver1975 commented Apr 11, 2016

@cmonteroluque

This comment has been minimized.

Copy link

@cmonteroluque cmonteroluque commented Apr 12, 2016

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

@DeepDiver1975

This comment has been minimized.

Copy link
Member Author

@DeepDiver1975 DeepDiver1975 commented Apr 12, 2016

I will merge the idea into this ticket.

@VicDeo

This comment has been minimized.

Copy link
Member

@VicDeo 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.

@cmonteroluque cmonteroluque modified the milestones: 9.2-next, 9.1-current May 30, 2016
@VicDeo

This comment has been minimized.

Copy link
Member

@VicDeo VicDeo commented May 31, 2016

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

@DeepDiver1975

This comment has been minimized.

Copy link
Member Author

@DeepDiver1975 DeepDiver1975 commented May 31, 2016

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

@PVince81

This comment has been minimized.

Copy link
Member

@PVince81 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
Projects
None yet
5 participants
You can’t perform that action at this time.