By creating an instance in OpenStack, IP is injected into the instance, but not other metadata as in Hostname and Key Pair. There's no error in the nova and neutron log files.
The problem:
...
checking http://169.254.169.254/2009-04-04/instance-id
failed 1/20: up 5.45. request failed
failed 2/20: up 7.47. request failed
...
failed 19/20: up 746.84. request failed
failed 20/20: up 795.86. request failed
failed to read iid from metadata. tried 20
failed to get instance-id of datasource
Top of dropbear init script
Starting dropbear sshd: failed to get instance-id of datasource
OK
...
The above snippet is part of the Cirros instance creation log. (The full log of the creation process is posted here)
The other error in the logs is this line:
acpi PNP0A03:00: fail to add MMCONFIG information, can't access extended PCI configuration space under this bridge
. Is this related to the issue?
Some of the config files:
# /etc/neutron/dhcp_agent.ini
[DEFAULT]
interface_driver = openvswitch
dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
enable_isolated_metadata = true
force_metadata = true
#/etc/neutron/plugins/ml2/ml2_conf.ini
[ml2]
type_drivers = vxlan,vlan,flat
tenant_network_types = vxlan
mechanism_drivers = openvswitch,l2population
extension_drivers = port_security
[ml2_type_flat]
flat_networks = provider
[ml2_type_vxlan]
vni_ranges = 1:1000
#/etc/neutron/plugins/ml2/openvswitch_agent.ini
[agent]
tunnel_types = vxlan
l2_population = True
[dhcp]
[network_log]
[ovs]
local_ip = 10.0.0.1
bridge_mappings = provider:br-provider
[securitygroup]
firewall_driver = iptables_hybrid
Compute node configurations: https://p.teknik.io/Ck1Ae
Here are errors from the cloud-init.log
of the instance:
ip netns exec qdhcp-3b5bbc53-7638-4480-9349-407944933413 ip a
77: tap588fefad-6c: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UNKNOWN group default qlen 1000
link/ether fa:16:3e:df:33:e1 brd ff:ff:ff:ff:ff:ff
inet 169.254.169.254/32 brd 169.254.169.254 scope global tap588fefad-6c
valid_lft forever preferred_lft forever
inet 10.0.1.1/24 brd 10.0.1.255 scope global tap588fefad-6c
valid_lft forever preferred_lft forever
inet6 fe80::f816:3eff:fedf:33e1/64 scope link
valid_lft forever preferred_lft forever
Since an instance creation,
- neutron-metadata-agent.log: Empty!
- neutron-server.log: http://sprunge.us/a27LHT
- nova-compute.log: http://sprunge.us/sl8eu7
+ I have followed this instruction to implement self-service networking over OVS.
One way to inject metadata into an instance is the config drive. If using the command line it can be added as an option to the
openstack server create
command:You can also force nova to always use a config drive, for that add this line to
/etc/nova/nova.conf
:Nova attaches a virtual drive to the instance where it stores the metadata, this drive is mounted by cloud-init and the desired config parameters are applied. It appears that in your case the metadata service does not work properly, I don't see a metadata_agent.ini section in your output, did you configure it? You can find more details in the installation guide.