Skip to content

Commit

Permalink
Feature/debian12 (#8215)
Browse files Browse the repository at this point in the history
* Move from debian 11 to debian 12

* Debian12 on proxysql Dockerfile

* Debian12: move from deb11 to deb12

* Change from latest to feature-debian12 #NEED TO BE REVERTED LATER

* Rules replace spaces by tab

* test build package12 [perl-client]

* add unittest for debian [perl-client]

* add sign-package for debian 12 [perl-client]

* add upload package  for debian 12 [perl-client]

* add packetfence-perl for debian 12 [perl]

* packetfence-perl fix error buid debian12  [perl]

* Remove reference to debian11 for debian12

* Move debian 11 to debian 12 missing part

* Update PF-perl container version

* test new build [perl]

* upgrade  [perl] modules

* update changelog [perl]

* upgrade spec files for packetfence and debian

* Wake up gitlab

* Fix mariadb on pfsetacls containers

* Fixing: PEP 668 – Marking Python base environments as “externally managed”

* Fixing: PEP 668 – Marking Python base environments as "externally managed" on pfsetacls

* Fix sudo issue

* Remove version of netdata and mariadb, we will use debian repos and version

* Update redis conf to redis 5:7.0.15-1~deb12u1 config

* Remove python3-twisted-bin from control

* Fix specific values for redis configs

* Revert "Change from latest to feature-debian12 #NEED TO BE REVERTED LATER"

This reverts commit 913d84a.

* Remove vagrant image to default image see #8166

* Update bookworm vagrant version

* jump to samba-4.20.1 version with bookworm

* CI: Fix AD samba answer

* CI: fix dot1x eap peap

* Debian12 Bring back debian11 on other VM for tests

* Revert "CI: fix dot1x eap peap"

This reverts commit 16dcf73.

* Revert "CI: Fix AD samba answer"

This reverts commit 4859289.

* Debian12: Bring back debain11 to samba4ad for testing

* Debian12 adding -legacy to fix #8172 in tests

* Debian12 change OS value to ansible vars OS

* Firewalld Start changing ssh module to exec module on venom tests

* Debian12 fix debianize.patch

* Debian12 revert preprovisionning OS for nodes

* Debian12 Add bookworm for packetfence-test on node01

* Debian12 CI Nodes: add 13.2 for other deb needed on debian11

* test pf_api_service_restart_async

* fix lib check_internet_access_on_host_with_ping

* restore pf_api_system_service_restart_async

* test Sanitize logs

* update repo for wireless device

* variable ansible_distribution_release is not see by wrieless device [perl]

* upgrade redis to 7.2.5 for rhel

* add  break_system_packages option for  pip

* update installation o xmltodict

* pdate installation o xmltodict debian and redhat

* fix issue for sanitize logs

* use ssh instead type exec for check_internet_access_on_host

* add retry for http on get_id_of_radius_audit_log_entry

* remove time from check_radius_audit_log

* decrease retry to 3 seconds

* change get_id_of_radius_audit_log_entry

* add custum config dor openssl.cnf on ntlm-auth-api container

* fix dot1x_eap_tls issues

* openssl -legacy option is not supported on rhel8, I have added an exception

* remove anused lines on run_tests.yml playbooks

* Upgrade Template-Toolkit 3.009  -> 3.010 [perl]

* improve wired_dot1x_eap_peap_firewall_sso_radius/56_check_firewall_sso_start.yml

* improve  wired_dot1x_eap_peap_firewall_sso_https/56_check_firewall_sso_start.yml

* remove get_time task from check_radius_audit_log

* restore no_log for Sanitize logs

* remove  retry_if condition for check_mock_history_request  check

* remove trailing space

* update box_version on  addons/vagrant/inventory/hosts

* upgrade golang

---------

Co-authored-by: JeGoi <[email protected]>
  • Loading branch information
stegar123 and JeGoi authored Jul 15, 2024
1 parent 8181c43 commit 118c451
Show file tree
Hide file tree
Showing 110 changed files with 6,413 additions and 1,406 deletions.
8 changes: 4 additions & 4 deletions .github/workflows/main_packetfence-perl.yml
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ jobs:
if: ${{ contains( github.event.head_commit.message, '[perl]') || needs.build_preparation.outputs.path_changes == 'true' && needs.build_preparation.outputs.regex_match_branch != '' }}
strategy:
matrix:
images: ['debian', 'rhel8']
images: ['debian11', 'debian12', 'rhel8']
uses: ./.github/workflows/packetfence-perl_build_image_package.yml
needs: ['build_preparation']
with:
Expand All @@ -87,7 +87,7 @@ jobs:
unit_tests_packages:
strategy:
matrix:
images: ['debian', 'rhel8']
images: ['debian11', 'debian12', 'rhel8']
uses: ./.github/workflows/reusable_unit_test.yml
needs: ['build_preparation', 'build_images_and_packages']
with:
Expand All @@ -97,7 +97,7 @@ jobs:
sign_package:
strategy:
matrix:
images: ['debian', 'rhel8']
images: ['debian11', 'debian12', 'rhel8']
uses: ./.github/workflows/reusable_sign_packages.yml
needs: ['build_preparation', 'build_images_and_packages', 'unit_tests_packages']
with:
Expand All @@ -110,7 +110,7 @@ jobs:
upload_packages:
strategy:
matrix:
images: ['debian', 'rhel8']
images: ['debian11', 'debian12', 'rhel8']
uses: ./.github/workflows/reusable_upload_packages.yml
needs: ['build_preparation', 'build_images_and_packages', 'unit_tests_packages', 'sign_package']
with:
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/main_perl-client.yml
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ jobs:
if: ${{ contains( github.event.head_commit.message, '[perl-client]') || needs.build_preparation.outputs.path_changes == 'true' && needs.build_preparation.outputs.regex_match_branch != '' }}
strategy:
matrix:
images: ['debian', 'rhel8']
images: ['debian11', 'debian12', 'rhel8']
uses: ./.github/workflows/perl-client_build_package.yml
needs: ['build_preparation']
with:
Expand All @@ -84,7 +84,7 @@ jobs:
unit_tests_packages:
strategy:
matrix:
images: ['debian', 'rhel8']
images: ['debian11', 'debian12', 'rhel8']
uses: ./.github/workflows/reusable_unit_test.yml
needs: ['build_preparation', 'build_packages']
with:
Expand All @@ -94,7 +94,7 @@ jobs:
sign_package:
strategy:
matrix:
images: ['debian', 'rhel8']
images: ['debian11', 'debian12', 'rhel8']
uses: ./.github/workflows/reusable_sign_packages.yml
needs: ['build_preparation', 'build_packages', 'unit_tests_packages']
with:
Expand All @@ -107,7 +107,7 @@ jobs:
upload_packages:
strategy:
matrix:
images: ['debian', 'rhel8']
images: ['debian11', 'debian12', 'rhel8']
uses: ./.github/workflows/reusable_upload_packages.yml
needs: ['build_preparation', 'build_packages', 'unit_tests_packages', 'sign_package']
with:
Expand Down
12 changes: 8 additions & 4 deletions .github/workflows/packetfence-perl_build_image_package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -95,13 +95,17 @@ jobs:
run: |
cd /root
set -e && python3 install_cpan.py -d dependencies.csv -vi true && ./build_package.sh
ls -la ${{ inputs._OUTPUT_DIRECTORY }}/${{inputs._IMAGE_TYPE}}/packages/
ls -la ${{ inputs._OUTPUT_DIRECTORY }}
ls -la ${{ inputs._OUTPUT_DIRECTORY }}/${{env.PATH_PACKAGE}}/packages/
env:
PATH_PACKAGE: ${{ inputs._IMAGE_TYPE == 'rhel8' && 'rhel8' || 'debian' }}

- name: Upload the package to artifactory ${{inputs._IMAGE_TYPE}}
uses: actions/upload-artifact@v3
with:
name: ${{ env.ARTIFACTORY_NAME }}
path: ${{ inputs._OUTPUT_DIRECTORY }}/${{ inputs._IMAGE_TYPE}}/packages/${{ env.PACKAGE_NAME }}
path: ${{ inputs._OUTPUT_DIRECTORY }}/${{ env.PATH_PACKAGE }}/packages/${{ env.PACKAGE_NAME }}
env:
PACKAGE_NAME: ${{ inputs._IMAGE_TYPE == 'rhel8' && 'packetfence-perl-*.rpm' || 'packetfence-perl*.deb' }}
ARTIFACTORY_NAME: ${{ inputs._IMAGE_TYPE == 'rhel8' && 'package-rpm' || 'package-deb' }}
PACKAGE_NAME: ${{ inputs._IMAGE_TYPE == 'rhel8' && 'packetfence-perl-*.rpm' || inputs._IMAGE_TYPE == 'debian11' && 'packetfence-perl*.deb' || inputs._IMAGE_TYPE == 'debian12' && 'packetfence-perl*.deb' }}
ARTIFACTORY_NAME: ${{ inputs._IMAGE_TYPE == 'rhel8' && 'package-rpm8' || inputs._IMAGE_TYPE == 'debian11' && 'package-deb11' || inputs._IMAGE_TYPE == 'debian12' && 'package-deb12' }}
PATH_PACKAGE: ${{ inputs._IMAGE_TYPE == 'rhel8' && 'rhel8' || 'debian' }}
20 changes: 11 additions & 9 deletions .github/workflows/perl-client_build_package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
runs-on: package-build
needs: git_checkout
container:
image: registry.gitlab.com/orange-opensource/gitlab-buildpkg/${{ inputs._IMAGE_TYPE == 'rhel8' && 'centos:8' || 'debian:bullseye'}}
image: registry.gitlab.com/orange-opensource/gitlab-buildpkg/${{ inputs._IMAGE_TYPE == 'rhel8' && 'centos:8' || inputs._IMAGE_TYPE == 'debian11' && 'debian:bullseye' || inputs._IMAGE_TYPE == 'debian12' && 'debian:bookworm' }}
env:
EXECUTION_DIRECTORY: '/mnt/packetfence/'
# volumes:
Expand All @@ -41,8 +41,10 @@ jobs:
run: dnf -y install rpm-sign python39 && python3.9 -m pip install -q -U pip && pip install -q pynacl requests

- name: Install Debian dependencies ${{ inputs._IMAGE_TYPE }}
if: inputs._IMAGE_TYPE == 'debian'
run: apt -qq update && apt -qq -y install python3 python3-pip && python3 -m pip install -q -U pip && pip install -q pynacl requests
if: inputs._IMAGE_TYPE == 'debian11' || inputs._IMAGE_TYPE == 'debian12'
run: apt -qq update && apt -qq -y install python3 python3-pip && python3 -m pip install -q -U pip ${{ env.BREAK_OPTION}} && pip install -q pynacl requests ${{ env.BREAK_OPTION}}
env:
BREAK_OPTION: ${{ inputs._IMAGE_TYPE == 'debian12' && '--break-system-packages' || '' }}

- name: Safety add directory
shell: bash
Expand All @@ -63,23 +65,23 @@ jobs:
cd "${EXECUTION_DIRECTORY}"/addons/perl-client/
set -e && export FINGERBANK_API_KEY=$(set -e && python3 "${EXECUTION_DIRECTORY}"/addons/packetfence-perl/psono.py --api_key_id=${{ secrets.PSONO_API_KEY_ID }} --api_key_secret_key=${{ secrets.PSONO_API_KEY_SECRET_KEY }} --secret_id=${{ vars.PSONO_BUILDS_KEY_FINGERBANK }} --return_value=password)
set -e && make SHELL='sh' -e ${{ inputs._IMAGE_TYPE == 'rhel8' && 'build_rpm' || 'build_deb'}}
ls -la "${EXECUTION_DIRECTORY}"/addons/perl-client/result/${{ inputs._IMAGE_TYPE == 'rhel8' && 'centos/8' || 'debian/bullseye'}}
ls -la "${EXECUTION_DIRECTORY}"/addons/perl-client/result/${{ inputs._IMAGE_TYPE == 'rhel8' && 'centos/8' || inputs._IMAGE_TYPE == 'debian11' && 'debian/bullseye' || inputs._IMAGE_TYPE == 'debian12' && 'debian/bookworm'}}
env:
CI_COMMIT_REF_NAME: ${{ inputs._BRANCH_NAME }}

- name: Upload the package to artifactory ${{inputs._IMAGE_TYPE}}
uses: actions/upload-artifact@v3
with:
name: ${{ env.ARTIFACTORY_NAME }}
# path: /__w/packetfence/packetfence/addons/perl-client/result/${{ inputs._IMAGE_TYPE == 'rhel8' && 'centos/8' || 'debian/bullseye'}}/${{ env.PACKAGE_NAME }}
path: /mnt/packetfence/addons/perl-client/result/${{ inputs._IMAGE_TYPE == 'rhel8' && 'centos/8' || 'debian/bullseye'}}/${{ env.PACKAGE_NAME }}
# path: /__w/packetfence/packetfence/addons/perl-client/result/${{ inputs._IMAGE_TYPE == 'rhel8' && 'centos/8' || inputs._IMAGE_TYPE == 'debian11' && 'debian/bookworm'}}/${{ env.PACKAGE_NAME }}
path: /mnt/packetfence/addons/perl-client/result/${{ inputs._IMAGE_TYPE == 'rhel8' && 'centos/8' || inputs._IMAGE_TYPE == 'debian11' && 'debian/bullseye' || inputs._IMAGE_TYPE == 'debian12' && 'debian/bookworm'}}/${{ env.PACKAGE_NAME }}
env:
PACKAGE_NAME: ${{ inputs._IMAGE_TYPE == 'rhel8' && 'fingerbank-*.noarch.rpm' || 'fingerbank*.deb' }}
ARTIFACTORY_NAME: ${{ inputs._IMAGE_TYPE == 'rhel8' && 'package-rpm' || 'package-deb' }}
PACKAGE_NAME: ${{ inputs._IMAGE_TYPE == 'rhel8' && 'fingerbank-*.noarch.rpm' || inputs._IMAGE_TYPE == 'debian11' && 'fingerbank*.deb' || inputs._IMAGE_TYPE == 'debian12' && 'fingerbank*.deb' }}
ARTIFACTORY_NAME: ${{ inputs._IMAGE_TYPE == 'rhel8' && 'package-rpm8' || inputs._IMAGE_TYPE == 'debian11' && 'package-deb11' || inputs._IMAGE_TYPE == 'debian12' && 'package-deb12' }}
PATH: "${GITHUB_WORKSPACE}"

- name: Clean directory
if: always()
run: |
rm -rf "${EXECUTION_DIRECTORY}"
rm -rf ${HOME}/rpmbuild
rm -rf ${HOME}/rpmbuild
11 changes: 6 additions & 5 deletions .github/workflows/reusable_sign_packages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ on:

jobs:
sign_package_deb:
if: inputs._IMAGE_TYPE == 'debian'
if: inputs._IMAGE_TYPE == 'debian11' || inputs._IMAGE_TYPE == 'debian12'
runs-on: packetfence-perl-package-build
container:
image: debian:11.0
Expand All @@ -31,7 +31,7 @@ jobs:
name: ${{ env.ARTIFACTORY_NAME }}
path: /mnt
env:
ARTIFACTORY_NAME: ${{ inputs._IMAGE_TYPE == 'rhel8' && 'package-rpm' || 'package-deb' }}
ARTIFACTORY_NAME: ${{ inputs._IMAGE_TYPE == 'rhel8' && 'package-rpm8' || inputs._IMAGE_TYPE == 'debian11' && 'package-deb11' || inputs._IMAGE_TYPE == 'debian12' && 'package-deb12' }}

- name: Install Debian dependencies ${{ inputs._IMAGE_TYPE }}
run: apt -qq update && apt -qq -y install gpg dpkg-sig python3 python3-pip && python3 -m pip install -q -U pip && pip install -q pynacl requests
Expand All @@ -55,7 +55,7 @@ jobs:
path: /mnt/${{ env.PACKAGE_NAME }}
env:
PACKAGE_NAME: ${{ inputs._IMAGE_TYPE == 'rhel8' && env.RPM_FORMAT_PACKAGE_NAME || env.DEB_FORMAT_PACKAGE_NAME }}
ARTIFACTORY_NAME: ${{ inputs._IMAGE_TYPE == 'rhel8' && 'package-rpm' || 'package-deb' }}
ARTIFACTORY_NAME: ${{ inputs._IMAGE_TYPE == 'rhel8' && 'package-rpm8' || inputs._IMAGE_TYPE == 'debian11' && 'package-deb11' || inputs._IMAGE_TYPE == 'debian12' && 'package-deb12' }}
DEB_FORMAT_PACKAGE_NAME: "${{ inputs._PACKAGE_NAME }}*.deb"
RPM_FORMAT_PACKAGE_NAME: "${{ inputs._PACKAGE_NAME }}*.rpm"

Expand All @@ -73,7 +73,8 @@ jobs:
name: ${{ env.ARTIFACTORY_NAME }}
path: /mnt
env:
ARTIFACTORY_NAME: ${{ inputs._IMAGE_TYPE == 'rhel8' && 'package-rpm' || 'package-deb' }}
ARTIFACTORY_NAME: ${{ inputs._IMAGE_TYPE == 'rhel8' && 'package-rpm8' || inputs._IMAGE_TYPE == 'debian11' && 'package-deb11' || inputs._IMAGE_TYPE == 'debian12' && 'package-deb12' }}


- name: Install RHEL dependencies ${{ inputs._IMAGE_TYPE }}
run: dnf -y install rpm-sign python39 && python3.9 -m pip install -q -U pip && pip install -q pynacl requests
Expand Down Expand Up @@ -103,6 +104,6 @@ jobs:
path: /mnt/${{ env.PACKAGE_NAME }}
env:
PACKAGE_NAME: ${{ inputs._IMAGE_TYPE == 'rhel8' && env.RPM_FORMAT_PACKAGE_NAME || env.DEB_FORMAT_PACKAGE_NAME }}
ARTIFACTORY_NAME: ${{ inputs._IMAGE_TYPE == 'rhel8' && 'package-rpm' || 'package-deb' }}
ARTIFACTORY_NAME: ${{ inputs._IMAGE_TYPE == 'rhel8' && 'package-rpm8' || inputs._IMAGE_TYPE == 'debian11' && 'package-deb11' || inputs._IMAGE_TYPE == 'debian12' && 'package-deb12' }}
DEB_FORMAT_PACKAGE_NAME: "${{ inputs._PACKAGE_NAME }}*.deb"
RPM_FORMAT_PACKAGE_NAME: "${{ inputs._PACKAGE_NAME }}*.rpm"
8 changes: 4 additions & 4 deletions .github/workflows/reusable_unit_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,15 @@ jobs:
unit-test:
runs-on: packetfence-perl-package-build
container:
image: ${{ inputs._IMAGE_TYPE == 'rhel8' && 'redhat/ubi8:8.8' || 'debian:11.0'}}
image: ${{ inputs._IMAGE_TYPE == 'rhel8' && 'redhat/ubi8:8.8' || inputs._IMAGE_TYPE == 'debian11' && 'debian:bullseye' || inputs._IMAGE_TYPE == 'debian12' && 'debian:bookworm'}}
steps:
- name: Download artifactory ${{ inputs._IMAGE_TYPE }}
uses: actions/download-artifact@v3
with:
name: ${{ env.ARTIFACTORY_NAME }}
path: /mnt
env:
ARTIFACTORY_NAME: ${{ inputs._IMAGE_TYPE == 'rhel8' && 'package-rpm' || 'package-deb' }}
ARTIFACTORY_NAME: ${{ inputs._IMAGE_TYPE == 'rhel8' && 'package-rpm8' || inputs._IMAGE_TYPE == 'debian11' && 'package-deb11' || inputs._IMAGE_TYPE == 'debian12' && 'package-deb12' }}

- name: Install the package ${{ inputs._PACKAGE_NAME}} rhel8
if: inputs._IMAGE_TYPE == 'rhel8'
Expand All @@ -36,14 +36,14 @@ jobs:
rpm -qa | grep ${{ inputs._PACKAGE_NAME }}
- name: Install the package ${{ inputs._PACKAGE_NAME}} debian
if: inputs._IMAGE_TYPE == 'debian'
if: inputs._IMAGE_TYPE == 'debian11' || inputs._IMAGE_TYPE == 'debian12'
run: |
ls -la /mnt
apt update; apt install -y gnupg sudo wget curl
PF_RELEASE_PATH=https://raw.githubusercontent.com/inverse-inc/packetfence/devel/conf/pf-release
PF_MINOR_RELEASE=$(curl -s ${PF_RELEASE_PATH} | grep -oE '[0-9]+\.[0-9]+')
wget -q -O - https://inverse.ca/downloads/GPG_PUBLIC_KEY | apt-key add -
echo "deb http://inverse.ca/downloads/PacketFence/debian/${PF_MINOR_RELEASE} bullseye bullseye" > /etc/apt/sources.list.d/packetfence.list
echo "deb http://inverse.ca/downloads/PacketFence/debian/${PF_MINOR_RELEASE} bookworm bookworm" > /etc/apt/sources.list.d/packetfence.list
apt update
set -e && find /mnt -name ${{ inputs._PACKAGE_NAME }}*.deb -exec bash -c 'apt install -f -y {}' \;
echo "Next packages ${{ inputs._PACKAGE_NAME }} was installed successfuly: "
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/reusable_upload_packages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
name: ${{ env.ARTIFACTORY_NAME }}
path: /mnt
env:
ARTIFACTORY_NAME: ${{ inputs._IMAGE_TYPE == 'rhel8' && 'package-rpm' || 'package-deb' }}
ARTIFACTORY_NAME: ${{ inputs._IMAGE_TYPE == 'rhel8' && 'package-rpm8' || inputs._IMAGE_TYPE == 'debian11' && 'package-deb11' || inputs._IMAGE_TYPE == 'debian12' && 'package-deb12' }}

- name: Install dependencies ${{ inputs._IMAGE_TYPE }}
run: apt -qq update && apt -qq -y install openssh-client rsync python3 python3-pip && python3 -m pip install -q -U pip && pip install -q pynacl requests
Expand Down
Loading

0 comments on commit 118c451

Please sign in to comment.