[Nova] Add host interface for host_ip in hypervisor description

This patch set host_interface for update host_ip information in compute
node.

Currently helm chart defines the value of my_ip set "0.0.0.0",
therefore host_ip of compute node is null.

$ nova hypervisor-show {uuid}
+---------------------------+------------------------------------------+
| Property                  | Value                                    |
+---------------------------+------------------------------------------+
| cpu_info_arch             | x86_64                                   |
.
.
| host_ip                   | None                                     |

Through this patch, OpenStack can provide appropriate values for
the required field.

Change-Id: I05f929cb2c777582c177e8c7a64b9fd431d554ec
This commit is contained in:
John Haan 2018-12-21 09:37:30 +09:00
parent e24b21afdd
commit af3369cfea
3 changed files with 24 additions and 1 deletions

View File

@ -37,3 +37,22 @@ cat <<EOF>/tmp/pod-shared/nova-libvirt.conf
live_migration_inbound_addr = $migration_address
EOF
fi
hypervisor_interface="{{- .Values.conf.hypervisor.host_interface -}}"
if [[ -z $hypervisor_interface ]]; then
# search for interface with default routing
# If there is not default gateway, exit
hypervisor_interface=$(ip -4 route list 0/0 | awk -F 'dev' '{ print $2; exit }' | awk '{ print $1 }') || exit 1
fi
hypervisor_address=$(ip a s $hypervisor_interface | grep 'inet ' | awk '{print $2}' | awk -F "/" '{print $1}')
if [ -z "${hypervisor_address}" ] ; then
echo "Var my_ip is empty"
exit 1
fi
tee > /tmp/pod-shared/nova-hypervisor.conf << EOF
[DEFAULT]
my_ip = $hypervisor_address
EOF

View File

@ -21,4 +21,5 @@ set -ex
exec nova-compute \
--config-file /etc/nova/nova.conf \
--config-file /tmp/pod-shared/nova-console.conf \
--config-file /tmp/pod-shared/nova-libvirt.conf
--config-file /tmp/pod-shared/nova-libvirt.conf \
--config-file /tmp/pod-shared/nova-hypervisor.conf

View File

@ -1475,6 +1475,9 @@ conf:
# Get the IP address to be used as the target for live migration traffic using interface name.
# If this option is set to None, the hostname of the migration target compute node will be used.
live_migration_interface:
hypervisor:
# my_ip can be set automatically through this interface name.
host_interface:
nova:
DEFAULT:
log_config_append: /etc/nova/logging.conf