Call tripleo_container_manage for FRR during updates
We need to duplicate the container management steps in the update_tasks section, otherwise the frr container will not be updated during a minor update. In addition: - we set tripleo_container_manage_systemd_teardown=true to force a proper frr stop instead of a simple restart. - we add a sleep to allow FRR to reconvege, making the timeout configurable. - we pass "ExecStopPost=/usr/bin/sleep 10" in the systemd tripleo_frr unit file so that frr has the time to properly close its connections on shutdown. Depends-on: https://review.opendev.org/c/openstack/tripleo-ansible/+/894171 Change-Id: I73c27d65dadcb01c89036e03ac0b4026a0268435
This commit is contained in:
parent
df461df15f
commit
ade51c4026
@ -170,6 +170,10 @@ parameters:
|
|||||||
default: ''
|
default: ''
|
||||||
description: Set source ip for ipv6 traffic (optional)
|
description: Set source ip for ipv6 traffic (optional)
|
||||||
type: string
|
type: string
|
||||||
|
FrrConvergeTimeout:
|
||||||
|
default: 10
|
||||||
|
description: Time needed for FRR to populate the routing table after a restart.
|
||||||
|
type: number
|
||||||
|
|
||||||
resources:
|
resources:
|
||||||
RoleParametersValue:
|
RoleParametersValue:
|
||||||
@ -239,6 +243,7 @@ outputs:
|
|||||||
image: {get_attr: [RoleParametersValue, value, ContainerFrrImage]}
|
image: {get_attr: [RoleParametersValue, value, ContainerFrrImage]}
|
||||||
net: host
|
net: host
|
||||||
restart: always
|
restart: always
|
||||||
|
post_stop_exec: '/usr/bin/sleep 10'
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: /openstack/healthcheck
|
test: /openstack/healthcheck
|
||||||
cap_add:
|
cap_add:
|
||||||
@ -317,5 +322,26 @@ outputs:
|
|||||||
tripleo_container_manage_config_patterns: "frr.json"
|
tripleo_container_manage_config_patterns: "frr.json"
|
||||||
tripleo_container_manage_systemd_order: true
|
tripleo_container_manage_systemd_order: true
|
||||||
tripleo_container_manage_clean_orphans: false
|
tripleo_container_manage_clean_orphans: false
|
||||||
update_tasks: []
|
- name: Wait to give FRR time to converge
|
||||||
|
wait_for:
|
||||||
|
timeout: {get_param: FrrConvergeTimeout}
|
||||||
|
update_tasks:
|
||||||
|
- name: Update FRR
|
||||||
|
when:
|
||||||
|
- step|int == 0
|
||||||
|
block:
|
||||||
|
- name: Update FRR container
|
||||||
|
include_role:
|
||||||
|
name: tripleo_container_manage
|
||||||
|
vars:
|
||||||
|
tripleo_container_manage_config: "/var/lib/tripleo-config/container-startup-config/step_0"
|
||||||
|
tripleo_container_manage_config_id: "frr"
|
||||||
|
tripleo_container_manage_config_patterns: "frr.json"
|
||||||
|
tripleo_container_manage_systemd_order: true
|
||||||
|
tripleo_container_manage_clean_orphans: false
|
||||||
|
# workaround frr restart issue rhbz#2193145
|
||||||
|
tripleo_container_manage_systemd_teardown: true
|
||||||
|
- name: Wait to give FRR time to converge
|
||||||
|
wait_for:
|
||||||
|
timeout: {get_param: FrrConvergeTimeout}
|
||||||
upgrade_tasks: []
|
upgrade_tasks: []
|
||||||
|
Loading…
x
Reference in New Issue
Block a user