It appears that when neighbors have their peer group changed, VyOS is not configuring FRR correctly. I //think// what's happening is that VyOS is trying to run this in the `router bgp` config section:
```
neighbor <neigh> peer-group <new_pg>
```
instead of running:
```
no neighbor <neigh>
neighbor <neigh> peer-group <new_pg>
```
Starting config:
```
set protocols bgp 4242420669 address-family ipv4-unicast
set protocols bgp 4242420669 address-family ipv6-unicast redistribute connected
set protocols bgp 4242420669 neighbor 192.168.253.2 peer-group 'BACKBONE'
set protocols bgp 4242420669 neighbor 192.168.253.3 peer-group 'BACKBONE'
set protocols bgp 4242420669 neighbor 192.168.253.6 peer-group 'BACKBONE'
set protocols bgp 4242420669 neighbor 192.168.253.7 peer-group 'BACKBONE'
set protocols bgp 4242420669 neighbor fd52:d62e:8011:fffe:192:168:253:2 address-family ipv6-unicast peer-group 'BACKBONEv6'
set protocols bgp 4242420669 neighbor fd52:d62e:8011:fffe:192:168:253:3 address-family ipv6-unicast peer-group 'BACKBONEv6'
set protocols bgp 4242420669 neighbor fd52:d62e:8011:fffe:192:168:253:6 address-family ipv6-unicast peer-group 'BACKBONEv6'
set protocols bgp 4242420669 neighbor fd52:d62e:8011:fffe:192:168:253:7 address-family ipv6-unicast peer-group 'BACKBONEv6'
set protocols bgp 4242420669 parameters confederation identifier '4242420696'
set protocols bgp 4242420669 parameters confederation peers '4242420666'
set protocols bgp 4242420669 parameters confederation peers '4242420668'
set protocols bgp 4242420669 parameters default no-ipv4-unicast
set protocols bgp 4242420669 parameters graceful-restart
set protocols bgp 4242420669 peer-group BACKBONE address-family ipv4-unicast nexthop-self
set protocols bgp 4242420669 peer-group BACKBONE address-family ipv4-unicast route-map export 'BGP-BACKBONE'
set protocols bgp 4242420669 peer-group BACKBONE address-family ipv4-unicast route-map import 'BGP-BACKBONE'
set protocols bgp 4242420669 peer-group BACKBONE address-family ipv4-unicast soft-reconfiguration inbound
set protocols bgp 4242420669 peer-group BACKBONE bfd
set protocols bgp 4242420669 peer-group BACKBONE ebgp-multihop '2'
set protocols bgp 4242420669 peer-group BACKBONE remote-as 'external'
set protocols bgp 4242420669 peer-group BACKBONE update-source 'dum0'
set protocols bgp 4242420669 peer-group BACKBONEv6 address-family ipv6-unicast nexthop-self
set protocols bgp 4242420669 peer-group BACKBONEv6 address-family ipv6-unicast route-map export 'BGP-BACKBONE'
set protocols bgp 4242420669 peer-group BACKBONEv6 address-family ipv6-unicast route-map import 'BGP-BACKBONE'
set protocols bgp 4242420669 peer-group BACKBONEv6 address-family ipv6-unicast soft-reconfiguration inbound
set protocols bgp 4242420669 peer-group BACKBONEv6 bfd
set protocols bgp 4242420669 peer-group BACKBONEv6 ebgp-multihop '2'
set protocols bgp 4242420669 peer-group BACKBONEv6 remote-as 'external'
set protocols bgp 4242420669 peer-group BACKBONEv6 update-source 'dum0'
```
Changes:
```
edit protocols bgp 4242420669
copy peer-group BACKBONE to peer-group TEST
set neighbor 192.168.253.6 peer-group TEST
```
Error:
```
trae@cr01-vyos# commit
[ protocols bgp 4242420669 ]
% Cannot change the peer-group. Deconfigure first
Error configuring routing subsystem. See log for more detailed information
[edit protocols bgp 4242420669]
```
What FRR looks like after:
```
router bgp 4242420669
no bgp ebgp-requires-policy
no bgp default ipv4-unicast
bgp confederation identifier 4242420696
bgp confederation peers 4242420666 4242420668
no bgp network import-check
neighbor BACKBONE peer-group
neighbor BACKBONE remote-as external
neighbor BACKBONE bfd
neighbor BACKBONE ebgp-multihop 2
neighbor BACKBONE update-source dum0
neighbor BACKBONEv6 peer-group
neighbor BACKBONEv6 remote-as external
neighbor BACKBONEv6 bfd
neighbor BACKBONEv6 ebgp-multihop 2
neighbor BACKBONEv6 update-source dum0
neighbor TEST peer-group
neighbor TEST remote-as external
neighbor TEST bfd
neighbor TEST ebgp-multihop 2
neighbor TEST update-source dum0
neighbor 192.168.253.2 peer-group BACKBONE
neighbor 192.168.253.3 peer-group BACKBONE
neighbor 192.168.253.6 peer-group BACKBONE
neighbor 192.168.253.7 peer-group BACKBONE
neighbor fd52:d62e:8011:fffe:192:168:253:2 peer-group BACKBONEv6
neighbor fd52:d62e:8011:fffe:192:168:253:3 peer-group BACKBONEv6
neighbor fd52:d62e:8011:fffe:192:168:253:6 peer-group BACKBONEv6
neighbor fd52:d62e:8011:fffe:192:168:253:7 peer-group BACKBONEv6
!
address-family ipv4 unicast
neighbor BACKBONE activate
neighbor BACKBONE next-hop-self
neighbor BACKBONE soft-reconfiguration inbound
neighbor BACKBONE route-map BGP-BACKBONE in
neighbor BACKBONE route-map BGP-BACKBONE out
neighbor TEST activate
neighbor TEST next-hop-self
neighbor TEST soft-reconfiguration inbound
neighbor TEST route-map BGP-BACKBONE in
neighbor TEST route-map BGP-BACKBONE out
exit-address-family
!
address-family ipv6 unicast
redistribute connected
neighbor BACKBONEv6 activate
neighbor BACKBONEv6 next-hop-self
neighbor BACKBONEv6 soft-reconfiguration inbound
neighbor BACKBONEv6 route-map BGP-BACKBONE in
neighbor BACKBONEv6 route-map BGP-BACKBONE out
exit-address-family
!
```