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

image: T4516: Added system image tools #1768

Merged
merged 19 commits into from
Nov 16, 2023
Merged

Conversation

zdc
Copy link
Contributor

@zdc zdc commented Jan 19, 2023

Change Summary

Added system image tools

Note that this needs to be merged along with:

vyos/vyatta-op#61
vyos/vyos-build#352
vyos/vyatta-cfg-system#212

for a successful build and image update.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Code style update (formatting, renaming)
  • Refactoring (no functional changes)
  • Migration from an old Vyatta component to vyos-1x, please link to related PR inside obsoleted component
  • Other (please describe):

Related Task(s)

Component(s) name

system image

Proposed changes

This commit adds the whole set of system image tools written from the scratch in Python that allows performing all the operations on images:

  • check information
  • perform installation and deletion
  • versions management

Also, it contains a new service that will update the GRUB menu and keep tracking its version in the future.

WARNING: The commit contains non-reversible changes. Because of boot menu changes, it will not be possible to manage images from older VyOS versions after an update.

How to test

Checklist:

  • I have read the CONTRIBUTING document
  • I have linked this PR to one or more Phabricator Task(s)
  • I have run the components SMOKETESTS if applicable
  • My commit headlines contain a valid Task id
  • My change requires a change to the documentation
  • I have updated the documentation accordingly

@c-po c-po requested review from a team, dmbaturin, sarthurdev, jestabro, sever-sever and c-po and removed request for a team January 19, 2023 18:27
@zdc zdc changed the title system image: T4516: Added system image tools image: T4516: Added system image tools Jan 19, 2023
@github-actions
Copy link

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@jestabro
Copy link
Contributor

jestabro commented Apr 9, 2023

PR's needed for build; draft state until the current one is moved from draft.
vyos/vyatta-op#61
vyos/vyos-build#352
vyos/vyatta-cfg-system#212

@jestabro
Copy link
Contributor

jestabro commented Apr 11, 2023

Minor fixes in this repo:
current...jestabro:image-tools

To be added to this PR when complete.

@jestabro
Copy link
Contributor

Comment above and repo updated.

@c-po
Copy link
Member

c-po commented May 23, 2023

@jestabro as maintainer you can also push to this branch of this PR - just a hint.

@jestabro
Copy link
Contributor

Thanks, @c-po ; one minor fix left, at which point I will update the PR repo and open for review.

@jestabro jestabro marked this pull request as ready for review May 23, 2023 19:00
@vyosbot vyosbot requested a review from a team May 23, 2023 19:01
jestabro
jestabro previously approved these changes May 23, 2023
@sever-sever
Copy link
Member

Has the issue of backward compatibility been resolved?
for example can I load after this to 1.3 and delete any image?

@jestabro
Copy link
Contributor

jestabro commented May 23, 2023

One can not mange system images from earlier images, after the update, as the grub files have been reorganized. This is a long needed change, so we should discuss the issue. One can consider adding tools to save and rebuild the original grub files for an image, however, moving forward will prevent relying on old tools.

@jestabro jestabro marked this pull request as draft May 23, 2023 20:03
@jestabro
Copy link
Contributor

jestabro commented May 23, 2023

Move to draft for discussion and testing.

Copy link

This pull request has conflicts, please resolve those before we can evaluate the pull request.

zdc and others added 11 commits November 15, 2023 11:29
This commit adds the whole set of system image tools written from the scratch in
Python that allows performing all the operations on images:

* check information
* perform installation and deletion
* versions management

Also, it contains a new service that will update the GRUB menu and keep tracking
its version in the future.

WARNING: The commit contains non-reversible changes. Because of boot menu
changes, it will not be possible to manage images from older VyOS versions after
an update.
This commit allows management of system images with either new or legacy
tools: 'add/delete/rename system image' and 'set default' are translated
appropriately on booting between images with the old and new tools.
Consequently, the warning of the initial commit of T4516 is dropped.
Copy link

Conflicts have been resolved. A maintainer will review the pull request shortly.

@jestabro
Copy link
Contributor

After merging, remaining issues of (1) non-interactive runs of add/delete image, resp. (2) check compatibility with XCP-NG images, will be handled in:
https://vyos.dev/T5751
https://vyos.dev/T5752

@jestabro jestabro marked this pull request as ready for review November 16, 2023 19:45
@vyosbot vyosbot requested a review from a team November 16, 2023 19:45
@jestabro jestabro merged commit d4f9d6c into vyos:current Nov 16, 2023
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

Successfully merging this pull request may close these issues.

5 participants