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
Automation of upgrades for standalone servers #6583
Conversation
Leaving a note here for the hooks logic, will need to discuss this with @nqb and the rest of the team: I added a logic to allow defining hooks in The content of this directory should be managed by a seperate package built on maintenance/X.Y and do-upgrade.sh will have to upgrade it before running the "real" upgrade process |
152e358
to
14b2ad9
Compare
7622af6
to
2d62841
Compare
Packages |
@nqb, I've performed the adjustments based on our discussion, it should be ready for packaging |
@satkunas, could you look at the conflicting files (related to frontend) ? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
First review, without paying so much attention to run-upgrade.sh
. I will review it more precisely during my second.
- IMHO, we should avoid duplicating documentation related to fields between documentation.conf, .vue files and AsciiDoc documentation
elif is_deb_based; then | ||
OS="Debian-11" | ||
fi | ||
curl https://www.packetfence.org/downloads/PacketFence/latest-stable-$OS.txt |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If suggest to do a GitHub API call to get latest stable based on stable
tag.
We decided to not use it anymore but it could be interested to use it for that purpose.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The thing is the stable tag will differ for RHEL8 and RHEL9 when we get there so we'd need a stable-rhel8 stable-debian11, etc
By putting it in a file here, we're able to stop updating the stable release when we switch OS
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I understand your idea and your approach. I will see if I can automate update of these two files when we will release.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That would indeed be the goal, the release pipeline should be performing this, not one of us manually
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should be ready now. I will run a pipeline and see if it works. Meanwhile, could you add support to pull latest-devel-$OS-txt
when we are testing on devel
or on development branches ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pipeline triggered with BUILD_ARTIFACTS_WEBSITE=yes
:
https://gitlab.com/inverse-inc/packetfence/-/pipelines/382749074
It should create latest-devel-$OS.txt
files.
@julsemaan, as discussed together, please add following features:
|
@julsemaan, another thing that came to my mind and which is related to #6468, is it possible to perform upgrade in a non-interactive way ? I see that you use some environment variables to avoid asking questions but I didn't test completely. |
It is possible to do this indeed |
- for EL: packetfence-release pkg - for Debian : packetfence-archive-keyring pkg packetfence main package is now dependent to each of this package. having gpg or gnupg2 is necessary to install packetfence too
b47d282
to
bb4e5e9
Compare
maintenance is not supported
@fdurand, can you take a look at this to make sure it makes sense and we'll be ready to merge, we'll do the doc post-merge |
Waiting end of https://gitlab.com/inverse-inc/packetfence/-/pipelines/382848646 to confirm |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It miss generatemonitconfig in lib/pf/cmd/pf.pm
Its in its own file actually: https://github.com/inverse-inc/packetfence/blob/bcaf91b9c9947ff149ee82b7ca204a6508665f72/lib/pf/cmd/pf/generatemonitconfig.pm |
it´s just to have the output when you do a bin/pfcmd |
Ready to merge on my side. I will let @fdurand and @julsemaan provide their inputs before merging. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It miss the symbolic link for packetfence.monit-drop-in.service
Not sure which symlink you're talking about |
you need to have a symbolic link between the file and the debian directory
My bad it´s useless since you are not using dh_installinit |
it´s ok on my side to merge |
Related to #6583 Necessary for Perl unit tests.
NOT READY
Missing:
See Automation of upgrades for standalone servers #6583 (comment) for details
Description
Allows to upgrade a standalone server via a single script that performs the whole upgrade
Impacts
We won't need @lzammit to do the upgrades anymore
Delete branch after merge
YES
Checklist
(REQUIRED) - [yes, no or n/a]
NEWS file entries
TODO