StarlingX Integration and packaging
Go to file
Steven Webster 5d51ff6dd7 Enable puppet-firewall parsing of --random-fully rules
A problem may occur if puppet attempts to inject a firewall rule
while the underlying iptables/ip6tables has existing rules which
use the --random-fully flag in the NAT table.

The issue occurs because puppet-firewall first makes a call to
iptables-save/ip6tables-save to parse the existing rules
(to determine if the rule already exists).  If it finds a rule
with --random-fully, it will immediately bail out.

The current version(s) of puppet-firewall in StarlingX are old
enough that they don't have parsing logic for the --random-fully
flag that was initially supported in iptables version 1.6.2+.

Now that StarlingX uses iptables 1.8.4, we must account for the
possibility that various components (ie. kubernetes) will make
use of --random-fully rules.

This feature has been implemented upstream in the following commits:

https://github.com/puppetlabs/puppetlabs-firewall/commits/

9a4bc6a81cf0cd4a56ba458fadac830a2c4df529
0ea2b74c0b4a451a37bae8c2ff105b72481ab485

The above commits have been ported back to:

CentOS: puppet-firewall-1.8.2
Debian: puppetlabs-firewall-1.12.0

Since StarlingX does not currently build it's own version
of puppet-firewall in either CentOS or Debian, this commit
also contains the infrastructure to do so.

Testing:

Note: Since the issue is intermittent on unlock, the functional
tests were performed with a custom runtime manifest that installed
a dummy iptables/ip6tables rule when an interface was modified.
At this time, it was guaranteed that there were rules with
the --random-fully flag present.

CentOS:

Package build: PASS
Present in iso: PASS
IPv4 functional test (iptables): PASS
IPv6 functional test (ip6tables): PASS

Debian:

Package build: PASS
Present in iso: PASS
IPv4 functional test (iptables): PASS
IPv6 functional test (ip6tables): PASS

Closes-Bug: #1971900

Signed-off-by: Steven Webster <steven.webster@windriver.com>
Change-Id: I7dbb9e1b99d95df0aa5a7db7aa22c3c314253788
2022-05-10 11:17:08 -04:00
base Merge "Remove init script from haproxy" 2022-04-20 19:13:10 +00:00
bmc/Redfishtool Add auto-versioning to starlingx/integ packages 2020-06-24 09:48:28 +08:00
centos-debian-compat Debian: Disable pci-irq-affinity-agent service 2022-04-27 21:22:36 +00:00
ceph/ceph debian: Fix ceph lsb script 2022-03-16 15:42:51 +02:00
config Enable puppet-firewall parsing of --random-fully rules 2022-05-10 11:17:08 -04:00
database Add auto-versioning to starlingx/integ packages 2020-06-24 09:48:28 +08:00
devstack Relocated some packages to repo 'utilities' 2019-09-05 20:31:36 -04:00
doc Switch to newer openstackdocstheme and reno versions 2020-06-04 14:28:48 +02:00
docker/python-docker meta_data.yaml: add sha256sum checksum 2022-03-03 14:30:40 +08:00
filesystem meta_data.yaml: add sha256sum checksum 2022-03-03 14:30:40 +08:00
golang-github-dev Debian: runc upversion to 1.0.2 2022-04-02 00:31:03 +00:00
gpu/gpu-operator integ: gpu-operator chart upgrade 1.6.0 -> 1.8.1 2021-11-23 00:56:53 +00:00
grub debian: Provide softlinks to grub menus 2022-04-12 15:58:37 -04:00
kubernetes Make /usr readonly to support OSTree 2022-04-29 11:19:37 -04:00
ldap Make /usr readonly to support OSTree 2022-04-29 11:19:37 -04:00
livepatch/kpatch/debian kpatch: Add initial version for debian 2022-04-19 22:57:27 -04:00
logging/logrotate/centos Add auto-versioning to starlingx/integ packages 2020-06-24 09:48:28 +08:00
networking Merge "integ: remove mlx4 from openvswitch" 2022-03-10 19:48:12 +00:00
ostree initramfs-ostree: upgrade to version 20220422 2022-04-22 15:53:04 +08:00
python debian: python-nss: add build scripts + patches 2022-04-11 15:09:33 -04:00
releasenotes Switch to newer openstackdocstheme and reno versions 2020-06-04 14:28:48 +02:00
requests-toolbelt Add auto-versioning to starlingx/integ packages 2020-06-24 09:48:28 +08:00
security Determine the SW_VERSION at run time 2022-04-23 08:36:05 +08:00
storage-drivers Upgrade Trident to 22.01.0 version. 2022-03-16 08:05:34 -04:00
tools Add libbpf v0.5.0 2021-10-29 17:23:16 -04:00
virt Fix qemu and kubernetes build resource requirements 2022-03-15 11:39:08 -04:00
.gitignore Add Docker Registry Token Server 2019-01-08 11:42:04 -05:00
.gitreview OpenDev Migration Patch 2019-04-19 19:52:31 +00:00
.yamllint Add .yamllint file 2021-09-09 19:05:36 +03:00
.zuul.yaml Updating the pylint tox target to reflect its targets 2021-11-04 10:22:24 -05:00
CONTRIBUTORS.wrs StarlingX open source release updates 2018-05-31 07:36:35 -07:00
LICENSE StarlingX open source release updates 2018-05-31 07:36:35 -07:00
README.rst Followup opendev cleanup and test jobs 2019-04-21 09:23:19 -05:00
bindep.txt Fix pylint zuul jobs failing due to libvirt-python and pkgconfig 2019-07-04 14:14:39 -05:00
centos_build_layer.cfg Build layering, add layer build config file and srpm and tarball lst 2019-10-21 09:24:22 +08:00
centos_extra_downloads.lst Move mellanox userspace from integ repo 2020-05-06 19:58:38 -04:00
centos_guest_image.inc Subdirectory kernel relocated to new repo starlingx/kernel 2020-04-11 13:08:18 -04:00
centos_guest_image_rt.inc Subdirectory kernel relocated to new repo starlingx/kernel 2020-04-11 13:08:18 -04:00
centos_iso_image.inc Add Kubernetes 1.23.1 pkg 2022-03-11 12:29:41 -05:00
centos_pkg_dirs Enable puppet-firewall parsing of --random-fully rules 2022-05-10 11:17:08 -04:00
centos_pkg_dirs_installer Config file changes for packages being relocated to repo 'compile' 2019-09-05 20:28:59 -04:00
centos_pkg_dirs_rt Move mellanox userspace from integ repo 2020-05-06 19:58:38 -04:00
centos_srpms_3rdparties.lst networking: Update keepalived from 1.3.5 to 2.1.5 2021-11-12 12:12:16 -05:00
centos_srpms_centos.lst Enable puppet-firewall parsing of --random-fully rules 2022-05-10 11:17:08 -04:00
centos_stable_docker_images.inc debian: sriov-network-device: convert to debian 2022-04-18 15:48:20 -04:00
centos_stable_wheels.inc Add libvirt module to stable wheels for image build 2019-04-04 22:54:04 -04:00
centos_tarball-dl.lst Merge "Upgrade Trident to 22.01.0 version." 2022-03-16 21:24:06 +00:00
debian_build_layer.cfg Add debian_build_layer.cfg file 2021-10-05 14:08:19 -04:00
debian_iso_image.inc Add debian_iso_image.inc file 2021-10-27 02:51:46 -04:00
debian_pkg_dirs Enable puppet-firewall parsing of --random-fully rules 2022-05-10 11:17:08 -04:00
distroless_stable_docker_images.inc debian: sriov-network-device: convert to debian 2022-04-18 15:48:20 -04:00
pylint.rc Updating the pylint tox target to reflect its targets 2021-11-04 10:22:24 -05:00
test-requirements.txt Add default test framework 2018-06-11 13:45:22 -05:00
tox.ini Updating the pylint tox target to reflect its targets 2021-11-04 10:22:24 -05:00

README.rst

integ

StarlingX Integration