Hi,

It seems vmcontext scripts try to guess the gateway IP as soon as any
interface has a gateway set.

Here is my case:
one vm with eth0 to internal admin network, and eth1 to wan. Only eth1 has
a gateway set.
When init script vmcontext start, it found out that there is a gateway (but
on eth1), and so is_gateway function on eth0 seems to returns true. After
that the gateway is guessed with NETWORK_ADDRESS.1 but I don't know why?

here is my context:
ETH0_IP='192.168.199.109'
ETH0_MAC='02:00:c0:a8:c7:6d'
ETH1_DNS='10.156.255.245'
ETH1_GATEWAY='10.156.0.1'
ETH1_IP='10.156.24.93'
ETH1_MAC='02:00:0a:9c:18:5d'
ETH1_MASK='255.255.224.0'
ETH1_NETWORK='10.156.0.0'

Here is the ifcfg-eth0 written by vmcontext init script:
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
TYPE=Ethernet
NETMASK=255.255.255.0
IPADDR=192.168.199.109
GATEWAY=192.168.199.1

ifcfg-eth1 is good and has its gateway correctly set.

Here is my vnet template where no gateway is set (same problem if I remove
the empty GATEWAY key):
VIRTUAL NETWORK TEMPLATE

BRIDGE="br0"
DESCRIPTION="réseau admin vm"
GATEWAY=""
PHYDEV=""
ROLE="admin"
VLAN="YES"
VLAN_ID="199"

is it a bug?

Attached here is the vmcontext network script log

best regards,

Edouard
+ configure_network
+ gen_network_configuration
++ get_interface_mac
++ awk '/^[0-9]+: [[:alnum:]]+:/ { device=$2; gsub(/:/, "",device)} /link\/ether/ { print device " " $2 }'
++ ip link show
+ INTERFACE_MAC='eth0 02:00:c0:a8:c7:6d
eth1 02:00:0a:9c:18:5d'
++ get_context_interfaces
++ grep -E '^ETH[0-9]+_MAC='
++ sed 's/_.*$//'
++ sort
++ env
+ CONTEXT_INTERFACES='ETH0
ETH1'
++ echo ''
++ sed 's/^ETH//'
+ GATEWAY_IFACE_NUM=
+ for interface in '$CONTEXT_INTERFACES'
+ UPCASE_DEV=ETH0
++ get_iface_var MAC
++ var_name=ETH0_MAC
+++ eval 'echo "${ETH0_MAC}"'
++++ echo 02:00:c0:a8:c7:6d
++ var=02:00:c0:a8:c7:6d
++ echo 02:00:c0:a8:c7:6d
+ MAC=02:00:c0:a8:c7:6d
++ get_dev 'eth0 02:00:c0:a8:c7:6d
eth1 02:00:0a:9c:18:5d' 02:00:c0:a8:c7:6d
++ list='eth0 02:00:c0:a8:c7:6d
eth1 02:00:0a:9c:18:5d'
++ mac=02:00:c0:a8:c7:6d
++ echo 'eth0 02:00:c0:a8:c7:6d
eth1 02:00:0a:9c:18:5d'
++ grep 02:00:c0:a8:c7:6d
++ cut '-d ' -f1
++ tail -n1
+ DEV=eth0
++ echo ETH0
++ sed 's/^ETH//'
+ IFACE_NUM=0
++ get_ip
+++ get_iface_var IP
+++ var_name=ETH0_IP
++++ eval 'echo "${ETH0_IP}"'
+++++ echo 192.168.199.109
+++ var=192.168.199.109
+++ echo 192.168.199.109
++ ip=192.168.199.109
++ '[' -z 192.168.199.109 ']'
++ echo 192.168.199.109
+ IP=192.168.199.109
++ get_network
+++ get_iface_var NETWORK
+++ var_name=ETH0_NETWORK
++++ eval 'echo "${ETH0_NETWORK}"'
+++++ echo ''
+++ var=
+++ echo
++ network=
++ '[' -z '' ']'
+++ echo 192.168.199.109
+++ cut -d. -f1,2,3
++ network=192.168.199.0
++ echo 192.168.199.0
+ NETWORK=192.168.199.0
++ get_mask
+++ get_iface_var MASK
+++ var_name=ETH0_MASK
++++ eval 'echo "${ETH0_MASK}"'
+++++ echo ''
+++ var=
+++ echo
++ mask=
++ '[' -z '' ']'
++ mask=255.255.255.0
++ echo 255.255.255.0
+ MASK=255.255.255.0
++ get_gateway
++ is_gateway
++ '[' -z '' ']'
++ true
+++ get_iface_var GATEWAY
+++ var_name=ETH0_GATEWAY
++++ eval 'echo "${ETH0_GATEWAY}"'
+++++ echo ''
+++ var=
+++ echo
++ gateway=
++ '[' -z '' ']'
++ '[' eth0 = eth0 ']'
+++ echo 192.168.199.0
+++ cut -d. -f1,2,3
++ net_prefix=192.168.199
++ gateway=192.168.199.1
++ echo 192.168.199.1
+ GATEWAY=192.168.199.1
++ get_iface_var IPV6
++ var_name=ETH0_IPV6
+++ eval 'echo "${ETH0_IPV6}"'
++++ echo ''
++ var=
++ echo
+ IPV6=
+ [[ -z '' ]]
++ get_iface_var IP6
++ var_name=ETH0_IP6
+++ eval 'echo "${ETH0_IP6}"'
++++ echo ''
++ var=
++ echo
+ IPV6=
++ get_gateway6
++ is_gateway
++ '[' -z '' ']'
++ true
++ get_iface_var GATEWAY6
++ var_name=ETH0_GATEWAY6
+++ eval 'echo "${ETH0_GATEWAY6}"'
++++ echo ''
++ var=
++ echo
+ GATEWAY6=
++ get_iface_var CONTEXT_FORCE_IPV4
++ var_name=ETH0_CONTEXT_FORCE_IPV4
+++ eval 'echo "${ETH0_CONTEXT_FORCE_IPV4}"'
++++ echo ''
++ var=
++ echo
+ CONTEXT_FORCE_IPV4=
+ cat
+ [[ -z '' ]]
+ gen_iface_conf
+ cat
+ '[' -n 192.168.199.1 ']'
+ echo GATEWAY=192.168.199.1
+ echo ''
+ [[ -n '' ]]
+ ifup eth0
+ for interface in '$CONTEXT_INTERFACES'
+ UPCASE_DEV=ETH1
++ get_iface_var MAC
++ var_name=ETH1_MAC
+++ eval 'echo "${ETH1_MAC}"'
++++ echo 02:00:0a:9c:18:5d
++ var=02:00:0a:9c:18:5d
++ echo 02:00:0a:9c:18:5d
+ MAC=02:00:0a:9c:18:5d
++ get_dev 'eth0 02:00:c0:a8:c7:6d
eth1 02:00:0a:9c:18:5d' 02:00:0a:9c:18:5d
++ list='eth0 02:00:c0:a8:c7:6d
eth1 02:00:0a:9c:18:5d'
++ mac=02:00:0a:9c:18:5d
++ grep 02:00:0a:9c:18:5d
++ cut '-d ' -f1
++ tail -n1
++ echo 'eth0 02:00:c0:a8:c7:6d
eth1 02:00:0a:9c:18:5d'
+ DEV=eth1
++ sed 's/^ETH//'
++ echo ETH1
+ IFACE_NUM=1
++ get_ip
+++ get_iface_var IP
+++ var_name=ETH1_IP
++++ eval 'echo "${ETH1_IP}"'
+++++ echo 10.156.24.93
+++ var=10.156.24.93
+++ echo 10.156.24.93
++ ip=10.156.24.93
++ '[' -z 10.156.24.93 ']'
++ echo 10.156.24.93
+ IP=10.156.24.93
++ get_network
+++ get_iface_var NETWORK
+++ var_name=ETH1_NETWORK
++++ eval 'echo "${ETH1_NETWORK}"'
+++++ echo 10.156.0.0
+++ var=10.156.0.0
+++ echo 10.156.0.0
++ network=10.156.0.0
++ '[' -z 10.156.0.0 ']'
++ echo 10.156.0.0
+ NETWORK=10.156.0.0
++ get_mask
+++ get_iface_var MASK
+++ var_name=ETH1_MASK
++++ eval 'echo "${ETH1_MASK}"'
+++++ echo 255.255.224.0
+++ var=255.255.224.0
+++ echo 255.255.224.0
++ mask=255.255.224.0
++ '[' -z 255.255.224.0 ']'
++ echo 255.255.224.0
+ MASK=255.255.224.0
++ get_gateway
++ is_gateway
++ '[' -z '' ']'
++ true
+++ get_iface_var GATEWAY
+++ var_name=ETH1_GATEWAY
++++ eval 'echo "${ETH1_GATEWAY}"'
+++++ echo 10.156.0.1
+++ var=10.156.0.1
+++ echo 10.156.0.1
++ gateway=10.156.0.1
++ '[' -z 10.156.0.1 ']'
++ echo 10.156.0.1
+ GATEWAY=10.156.0.1
++ get_iface_var IPV6
++ var_name=ETH1_IPV6
+++ eval 'echo "${ETH1_IPV6}"'
++++ echo ''
++ var=
++ echo
+ IPV6=
+ [[ -z '' ]]
++ get_iface_var IP6
++ var_name=ETH1_IP6
+++ eval 'echo "${ETH1_IP6}"'
++++ echo ''
++ var=
++ echo
+ IPV6=
++ get_gateway6
++ is_gateway
++ '[' -z '' ']'
++ true
++ get_iface_var GATEWAY6
++ var_name=ETH1_GATEWAY6
+++ eval 'echo "${ETH1_GATEWAY6}"'
++++ echo ''
++ var=
++ echo
+ GATEWAY6=
++ get_iface_var CONTEXT_FORCE_IPV4
++ var_name=ETH1_CONTEXT_FORCE_IPV4
+++ eval 'echo "${ETH1_CONTEXT_FORCE_IPV4}"'
++++ echo ''
++ var=
++ echo
+ CONTEXT_FORCE_IPV4=
+ cat
+ [[ -z '' ]]
+ gen_iface_conf
+ cat
+ '[' -n 10.156.0.1 ']'
+ echo GATEWAY=10.156.0.1
+ echo ''
+ [[ -n '' ]]
+ ifup eth1
+ service network restart
Restarting network (via systemctl):                        [  OK  ]
+ sleep 2

_______________________________________________
Users mailing list
Users@lists.opennebula.org
http://lists.opennebula.org/listinfo.cgi/users-opennebula.org

Reply via email to