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

WIP bump 10.0.1 #166

Open
wants to merge 10 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/composite/collectlogs/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ runs:
sudo chmod -R o+r /tmp/kind_logs

- name: Upload logs
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: ${{ inputs.artifact-name }}
path: /tmp/kind_logs/
2 changes: 1 addition & 1 deletion charts/frr-k8s/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ Kubernetes: `>= 1.19.0-0`
| frrk8s.disableCertRotation | bool | `false` | |
| frrk8s.frr.image.pullPolicy | string | `nil` | |
| frrk8s.frr.image.repository | string | `"quay.io/frrouting/frr"` | |
| frrk8s.frr.image.tag | string | `"9.1.0"` | |
| frrk8s.frr.image.tag | string | `"10.1.0"` | |
| frrk8s.frr.metricsBindAddress | string | `"127.0.0.1"` | |
| frrk8s.frr.metricsPort | int | `7573` | |
| frrk8s.frr.resources | object | `{}` | |
Expand Down
2 changes: 1 addition & 1 deletion charts/frr-k8s/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ frrk8s:
frr:
image:
repository: quay.io/frrouting/frr
tag: 9.1.0
tag: 10.0.1
pullPolicy:
metricsBindAddress: 127.0.0.1
metricsPort: 7573
Expand Down
8 changes: 4 additions & 4 deletions config/all-in-one/frr-k8s-prometheus.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1166,7 +1166,7 @@ spec:
env:
- name: TINI_SUBREAPER
value: "true"
image: quay.io/frrouting/frr:9.1.0
image: quay.io/frrouting/frr:10.0.1
livenessProbe:
failureThreshold: 3
httpGet:
Expand Down Expand Up @@ -1199,7 +1199,7 @@ spec:
- --metrics-bind-address=127.0.0.1
command:
- /etc/frr_metrics/frr-metrics
image: quay.io/frrouting/frr:9.1.0
image: quay.io/frrouting/frr:10.0.1
name: frr-metrics
ports:
- containerPort: 7573
Expand All @@ -1213,7 +1213,7 @@ spec:
name: metrics
- command:
- /etc/frr_reloader/frr-reloader.sh
image: quay.io/frrouting/frr:9.1.0
image: quay.io/frrouting/frr:10.0.1
name: reloader
volumeMounts:
- mountPath: /var/run/frr
Expand All @@ -1228,7 +1228,7 @@ spec:
- /bin/sh
- -c
- cp -rLf /tmp/frr/* /etc/frr/
image: quay.io/frrouting/frr:9.1.0
image: quay.io/frrouting/frr:10.0.1
name: cp-frr-files
securityContext:
runAsGroup: 101
Expand Down
8 changes: 4 additions & 4 deletions config/all-in-one/frr-k8s.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1135,7 +1135,7 @@ spec:
env:
- name: TINI_SUBREAPER
value: "true"
image: quay.io/frrouting/frr:9.1.0
image: quay.io/frrouting/frr:10.0.1
livenessProbe:
failureThreshold: 3
httpGet:
Expand Down Expand Up @@ -1168,7 +1168,7 @@ spec:
- --metrics-bind-address=127.0.0.1
command:
- /etc/frr_metrics/frr-metrics
image: quay.io/frrouting/frr:9.1.0
image: quay.io/frrouting/frr:10.0.1
name: frr-metrics
ports:
- containerPort: 7573
Expand All @@ -1182,7 +1182,7 @@ spec:
name: metrics
- command:
- /etc/frr_reloader/frr-reloader.sh
image: quay.io/frrouting/frr:9.1.0
image: quay.io/frrouting/frr:10.0.1
name: reloader
volumeMounts:
- mountPath: /var/run/frr
Expand All @@ -1197,7 +1197,7 @@ spec:
- /bin/sh
- -c
- cp -rLf /tmp/frr/* /etc/frr/
image: quay.io/frrouting/frr:9.1.0
image: quay.io/frrouting/frr:10.0.1
name: cp-frr-files
securityContext:
runAsGroup: 101
Expand Down
8 changes: 4 additions & 4 deletions config/frr-k8s/frr-k8s.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ spec:
securityContext:
capabilities:
add: ["NET_ADMIN", "NET_RAW", "SYS_ADMIN", "NET_BIND_SERVICE"]
image: quay.io/frrouting/frr:9.1.0
image: quay.io/frrouting/frr:10.0.1
env:
- name: TINI_SUBREAPER
value: "true"
Expand Down Expand Up @@ -136,7 +136,7 @@ spec:
failureThreshold: 30
periodSeconds: 5
- name: frr-metrics
image: quay.io/frrouting/frr:9.1.0
image: quay.io/frrouting/frr:10.0.1
command: ["/etc/frr_metrics/frr-metrics"]
args:
- --metrics-port=7573
Expand All @@ -152,7 +152,7 @@ spec:
- name: metrics
mountPath: /etc/frr_metrics
- name: reloader
image: quay.io/frrouting/frr:9.1.0
image: quay.io/frrouting/frr:10.0.1
command: ["/etc/frr_reloader/frr-reloader.sh"]
volumeMounts:
- name: frr-sockets
Expand Down Expand Up @@ -186,7 +186,7 @@ spec:
securityContext:
runAsUser: 100
runAsGroup: 101
image: quay.io/frrouting/frr:9.1.0
image: quay.io/frrouting/frr:10.0.1
command: ["/bin/sh", "-c", "cp -rLf /tmp/frr/* /etc/frr/"]
volumeMounts:
- name: frr-startup
Expand Down
2 changes: 1 addition & 1 deletion e2etests/e2etest_suite_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ func handleFlags() {
flag.StringVar(&prometheusNamespace, "prometheus-namespace", "monitoring", "the namespace prometheus is running in (if running)")
flag.StringVar(&externalContainers, "external-containers", "", "a comma separated list of external containers names to use for the test. (valid parameters are: ibgp-single-hop / ibgp-multi-hop / ebgp-single-hop / ebgp-multi-hop)")
flag.StringVar(&executor.Kubectl, "kubectl", "kubectl", "the path for the kubectl binary")
flag.StringVar(&frrImage, "frr-image", "quay.io/frrouting/frr:9.1.0", "the image to use for the external frr containers")
flag.StringVar(&frrImage, "frr-image", "quay.io/frrouting/frr:10.0.1", "the image to use for the external frr containers")
flag.StringVar(&k8s.FRRK8sNamespace, "frr-k8s-namespace", "frr-k8s-system", "the namespace frr-k8s is running in")

flag.Parse()
Expand Down
32 changes: 32 additions & 0 deletions e2etests/pkg/dump/frr.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,15 @@ func BGPInfo(testName string, FRRContainers []*frrcontainer.FRR, cs clientset.In
ginkgo.GinkgoWriter.Printf("External frr dump for container %s, failed to write to file %v", c.Name, err)
continue
}

fmt.Fprintf(f, "Dumping show bgp ip for %s, local addresses: ipv4 - %s, ipv6 - %s\n", c.Name, c.Ipv4, c.Ipv6)
ipall, err := c.Exec("vtysh", "-c", "show bgp vrf all ipv4")
_, err = fmt.Fprint(f, ipall)
if err != nil {
ginkgo.GinkgoWriter.Printf("External frr ipall for container %s, failed to write to file %v", c.Name, err)
continue
}
f.Close()
}

frrk8sPods, err := k8s.FRRK8sPods(cs)
Expand All @@ -71,6 +80,29 @@ func BGPInfo(testName string, FRRContainers []*frrcontainer.FRR, cs clientset.In
ginkgo.GinkgoWriter.Printf("External frr dump for pod %s, failed to write to file %v", pod.Name, err)
continue
}

fmt.Fprintf(f, "Dumping show bgp ip for %s, local addresses: %s\n", pod.Name, pod.Status.PodIPs)
ipall, err := podExec.Exec("vtysh", "-c", "show bgp vrf all ipv4")
_, err = fmt.Fprint(f, ipall)
if err != nil {
ginkgo.GinkgoWriter.Printf("External frr ipall for pod %s, failed to write to file %v", pod.Name, err)
continue
}

fmt.Fprintf(f, "Dumping information for %s - reloader, local addresses: %s\n", pod.Name, pod.Status.PodIPs)

reloaderExec := executor.ForPod(pod.Namespace, pod.Name, "reloader")
dump, err = frr.RawDump(reloaderExec, "/etc/frr_reloader/frr.conf")
if err != nil {
ginkgo.GinkgoWriter.Printf("External frr dump for pod %s - reloader failed %v", pod.Name, err)
continue
}
_, err = fmt.Fprint(f, dump)
if err != nil {
ginkgo.GinkgoWriter.Printf("External frr dump for pod %s reloader, failed to write to file %v", pod.Name, err)
continue
}
f.Close()
}
}

Expand Down
4 changes: 2 additions & 2 deletions frr-tools/reloader/frr-reloader.sh
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ reload_frr() {
kill_sleep

echo "Checking the configuration file syntax"
if ! python3 /usr/lib/frr/frr-reload.py --test --stdout "$FILE_TO_RELOAD" 2>"$LAST_ERROR_FILE" | sed 's/password.*/password <retracted>/g'; then
if ! python3 /usr/lib/frr/frr-reload.py --debug --test --stdout "$FILE_TO_RELOAD" 2>"$LAST_ERROR_FILE" | sed 's/password.*/password <retracted>/g'; then
echo "Syntax error spotted: aborting.. $SECONDS seconds"
cat "$LAST_ERROR_FILE" | sed 's/password.*/password <retracted>/g'
echo -n "$(date +%s) failure" > "$STATUSFILE"
Expand All @@ -26,7 +26,7 @@ reload_frr() {
fi

echo "Applying the configuration file"
if ! python3 /usr/lib/frr/frr-reload.py --reload --overwrite --stdout "$FILE_TO_RELOAD" 2>&1 | sed 's/password.*/password <retracted>/g'; then
if ! python3 /usr/lib/frr/frr-reload.py --debug --reload --overwrite --stdout "$FILE_TO_RELOAD" 2>&1 | sed 's/password.*/password <retracted>/g'; then
echo "Failed to fully apply configuration file $SECONDS seconds"
echo -n "$(date +%s) failure" > "$STATUSFILE"
save_status
Expand Down
2 changes: 1 addition & 1 deletion internal/frr/docker_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ var (
)

const (
frrImageTag = "9.1.0"
frrImageTag = "10.0.1"
)

func TestMain(m *testing.M) {
Expand Down
22 changes: 11 additions & 11 deletions internal/frr/templates/filters.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -49,11 +49,6 @@ route-map {{.neighbor.ID}}-out permit {{counter .neighbor.ID}}
{{frrIPFamily $a.IPFamily}} prefix-list {{$plistName}} seq {{counter $plistName}} permit {{$a.Prefix}}
{{- end }}

route-map {{$.neighbor.ID}}-out permit {{counter $.neighbor.ID}}
match ip address prefix-list {{allowedPrefixList $.neighbor}}
route-map {{$.neighbor.ID}}-out permit {{counter $.neighbor.ID}}
match ipv6 address prefix-list {{allowedPrefixList $.neighbor}}

{{/* If the neighbor does not have an advertisement, we need to add a prefix to deny
for when we have a prefix but a given peer is not selected for any prefixes */}}
{{$plistName:=allowedPrefixList $.neighbor}}
Expand All @@ -64,18 +59,28 @@ ip prefix-list {{$plistName}} seq {{counter $plistName}} deny any
ipv6 prefix-list {{$plistName}} seq {{counter $plistName}} deny any
{{- end }}

route-map {{$.neighbor.ID}}-out permit {{counter $.neighbor.ID}}
match ip address prefix-list {{allowedPrefixList $.neighbor}}
route-map {{$.neighbor.ID}}-out permit {{counter $.neighbor.ID}}
match ipv6 address prefix-list {{allowedPrefixList $.neighbor}}

{{/* filtering incoming prefixes */}}
{{$plistName:=allowedIncomingList $.neighbor}}
{{ range $i := .neighbor.Incoming.AllPrefixes }}
{{frrIPFamily $i.IPFamily}} prefix-list {{$plistName}} seq {{counter $plistName}} permit {{$i.Prefix}}{{$i.Matcher}}
{{- end }}

{{- if .neighbor.Incoming.All }}
ip prefix-list {{$plistName}} seq {{counter $plistName}} permit any
ipv6 prefix-list {{$plistName}} seq {{counter $plistName}} permit any
{{ else}}
{{ if not .neighbor.Incoming.PrefixesV4 }}
ip prefix-list {{$plistName}} seq {{counter $plistName}} deny any
{{- end }}
{{ if not .neighbor.Incoming.PrefixesV6 }}
ipv6 prefix-list {{$plistName}} seq {{counter $plistName}} deny any
{{- end }}
{{- end}}

{{- if .neighbor.AlwaysBlock}}

Expand All @@ -88,15 +93,10 @@ route-map {{$.neighbor.ID}}-in deny {{counter $.neighbor.ID}}
match ip address prefix-list {{deniedIncomingList $.neighbor}}
route-map {{$.neighbor.ID}}-in deny {{counter $.neighbor.ID}}
match ipv6 address prefix-list {{deniedIncomingList $.neighbor}}
{{- end -}}

{{- if .neighbor.Incoming.All }}
route-map {{$.neighbor.ID}}-in permit {{counter $.neighbor.ID}}
{{ else }}
{{- end }}
route-map {{$.neighbor.ID}}-in permit {{counter $.neighbor.ID}}
match ip address prefix-list {{allowedIncomingList $.neighbor}}
route-map {{$.neighbor.ID}}-in permit {{counter $.neighbor.ID}}
match ipv6 address prefix-list {{allowedIncomingList $.neighbor}}
{{- end }}

{{- end -}}
2 changes: 2 additions & 0 deletions internal/frr/templates/frr.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ debug bgp zebra
debug bfd network
debug bfd peer
debug bfd zebra
debug route-map detail
log commands
{{- end }}
hostname {{.Hostname}}
ip nht resolve-via-default
Expand Down
18 changes: 8 additions & 10 deletions internal/frr/testdata/TestMultipleNeighborsOneV4AndOneV6.golden
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,14 @@ ipv6 nht resolve-via-default

ip prefix-list 192.168.1.2-pl-ipv4 seq 1 permit 192.169.1.0/24

route-map 192.168.1.2-out permit 1
match ip address prefix-list 192.168.1.2-pl-ipv4
route-map 192.168.1.2-out permit 2
match ipv6 address prefix-list 192.168.1.2-pl-ipv4



ipv6 prefix-list 192.168.1.2-pl-ipv4 seq 2 deny any

route-map 192.168.1.2-out permit 1
match ip address prefix-list 192.168.1.2-pl-ipv4
route-map 192.168.1.2-out permit 2
match ipv6 address prefix-list 192.168.1.2-pl-ipv4



Expand All @@ -36,15 +35,14 @@ route-map 192.168.1.2-in permit 4

ipv6 prefix-list 2001:db8::1-pl-ipv6 seq 1 permit 2001:db8:abcd::/48

route-map 2001:db8::1-out permit 1
match ip address prefix-list 2001:db8::1-pl-ipv6
route-map 2001:db8::1-out permit 2
match ipv6 address prefix-list 2001:db8::1-pl-ipv6



ip prefix-list 2001:db8::1-pl-ipv6 seq 2 deny any

route-map 2001:db8::1-out permit 1
match ip address prefix-list 2001:db8::1-pl-ipv6
route-map 2001:db8::1-out permit 2
match ipv6 address prefix-list 2001:db8::1-pl-ipv6



Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,14 @@ ipv6 nht resolve-via-default

ip prefix-list 192.168.1.2-pl-ipv4 seq 1 permit 192.169.1.0/24

route-map 192.168.1.2-out permit 1
match ip address prefix-list 192.168.1.2-pl-ipv4
route-map 192.168.1.2-out permit 2
match ipv6 address prefix-list 192.168.1.2-pl-ipv4



ipv6 prefix-list 192.168.1.2-pl-ipv4 seq 2 deny any

route-map 192.168.1.2-out permit 1
match ip address prefix-list 192.168.1.2-pl-ipv4
route-map 192.168.1.2-out permit 2
match ipv6 address prefix-list 192.168.1.2-pl-ipv4



Expand All @@ -36,15 +35,14 @@ route-map 192.168.1.2-in permit 4

ipv6 prefix-list 2001:db8::1-pl-ipv6 seq 1 permit 2001:db8:abcd::/48

route-map 2001:db8::1-out permit 1
match ip address prefix-list 2001:db8::1-pl-ipv6
route-map 2001:db8::1-out permit 2
match ipv6 address prefix-list 2001:db8::1-pl-ipv6



ip prefix-list 2001:db8::1-pl-ipv6 seq 2 deny any

route-map 2001:db8::1-out permit 1
match ip address prefix-list 2001:db8::1-pl-ipv6
route-map 2001:db8::1-out permit 2
match ipv6 address prefix-list 2001:db8::1-pl-ipv6



Expand Down
9 changes: 4 additions & 5 deletions internal/frr/testdata/TestMultipleRoutersImportVRFs.golden
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,15 @@ ip nht resolve-via-default
ipv6 nht resolve-via-default


route-map 192.168.1.2-out permit 1
match ip address prefix-list 192.168.1.2-pl-ipv4
route-map 192.168.1.2-out permit 2
match ipv6 address prefix-list 192.168.1.2-pl-ipv4



ip prefix-list 192.168.1.2-pl-ipv4 seq 1 deny any
ipv6 prefix-list 192.168.1.2-pl-ipv4 seq 2 deny any

route-map 192.168.1.2-out permit 1
match ip address prefix-list 192.168.1.2-pl-ipv4
route-map 192.168.1.2-out permit 2
match ipv6 address prefix-list 192.168.1.2-pl-ipv4



Expand Down
Loading
Loading