1da8c145a6
#### Why I did it The process of config generation (sonic-cfggen) fails, but the services continue to run with invalid config #### How I did it * add exit with error on errors in start.sh script (because supervisord relies on start.sh return code). * fix jinja template. Jinja use common python expressions under the hood and `has_key` method was removed from dict in py3, so use check by `in` operator as it is supported by both py2 and py3. #### How to verify it * compile sonic with enabled iccp. * add mclag config to CONFIG_DB. ``` 'MC_LAG|1' => { "local_ip": "10.0.0.2", "peer_ip": "10.0.0.3", "peer_link": "Ethernet8", "mclag_interface": "Ethernet12" } * unmaks, enable and start swss and iccpd services in sonic. * log in into the iccpd container and check the config file `/etc/iccpd/iccpd.conf` * expected config: ``` mclag_id:1 local_ip:10.0.0.2 peer_ip:10.0.0.3 peer_link:Ethernet8 mclag_interface:Ethernet12 system_mac:YOUR_SYSTEM_MAC #### Description for the changelog Fixed initial iccpd startup configuration.
13 lines
293 B
Bash
13 lines
293 B
Bash
#!/usr/bin/env bash
|
|
set -e
|
|
|
|
ICCPD_CONF_PATH=/etc/iccpd
|
|
|
|
rm -rf $ICCPD_CONF_PATH
|
|
mkdir -p $ICCPD_CONF_PATH
|
|
|
|
sonic-cfggen -d -t /usr/share/sonic/templates/iccpd.j2 > $ICCPD_CONF_PATH/iccpd.conf
|
|
|
|
mkdir -p /var/sonic
|
|
echo "# Config files managed by sonic-config-engine" > /var/sonic/config_status
|