Skip to content

Latest commit

 

History

History
34 lines (22 loc) · 1.04 KB

README.md

File metadata and controls

34 lines (22 loc) · 1.04 KB

POC automated updates

Setup

  1. Create venv python3 -m venv ./venv
  2. Install dependencies venv/bin/pip install -r requirements.txt

Update dependency file

venv/bin/pip3 freeze > requirements.txt

Execute

venv/bin/python3 executable/linux_updating.py executable/config.yml --create-test-env --destroy-test

Flow

Need 3 files:

Updating Linux

There are two modes(prod & test mode) (for poc reasons just implement the test mode)

  • prod mode will have more features like backup/rollback...

  • Create tmp test env

  • Use existing ansible roles to provision env

  • Now the state of the tmp test env, should be the same as the prod env

  • Get running systemd services from prod and test env and compare?

  • Anyways definitly get running systemd services from test env

  • Check health of tmp test env with prometheus alertmanager

  • Execute upgrade (Where does this code lays? is it in infra_config? an own branch?)

  • Execute dist upgrade

  • Get running systemd services and compare with list before update, if it does not match, show the difference