Closed jstuever closed 6 years ago
Sounds like https://github.com/coreos/ignition/issues/597 -- can you try setting ignition.timeouts
as mentioned there?
There's a lot of tcp errors trying to fetch from the metadata service: dial tcp 169.254.169.254:80: getsockopt: no route to host
I should have added... this works using CoreOS container-Linux with the exact same provisioning parameters.
My initial guess would be that there's an issue with networking in the initramfs. @bgilbert or @ajeddeloh might be able to chime in a bit more but given we've had someone else also report issues with fetching userdata on RHCOS (without the TCP errors though notably), while it works on CL in the same OpenStack deployment that would be where I'd start digging.
I changed the ignition.timeouts in the user_data to 60 seconds for each. That didn't appear to help... I didn't think it would considering network unreachable... and now we know.
I also hit this issue, though my GET for the metadata just hangs forever
Starting Ignition (files)...
[ 4.991984] systemd[1]: Starting Ignition (files)...
[ 4.997905] ignition[752]: INFO : Ignition 0.27.0
[ 4.999040] ignition[752]: INFO : reading system config file "/usr/lib/ignition/base.ign"
[ 5.000415] ignition[752]: INFO : no config at "/usr/lib/ignition/base.ign"
[ 5.001404] ignition[752]: DEBUG : parsed url from cmdline: ""
[ 5.001611] ignition[752]: INFO : no config URL provided
[ 5.001809] ignition[752]: INFO : reading system config file "/usr/lib/ignition/user.ign"
[ 5.002040] ignition[752]: INFO : no config at "/usr/lib/ignition/user.ign"
[ 5.002236] ignition[752]: INFO : GET http://169.254.169.254/openstack/latest/user_data: attempt #1
[ 5.002452] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 5.002650] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 6.000612] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 6.001823] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 7.000769] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 7.001934] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 8.000922] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 8.002086] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 9.001101] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 9.002432] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 10.001280] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 10.003077] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 11.001452] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 11.002663] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 12.001655] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 12.002682] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 13.001810] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 13.002952] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 14.001959] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 14.003077] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 15.002125] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 15.003447] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 16.002276] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 16.003623] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 17.002436] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 17.003601] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 18.002618] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 18.003839] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 19.002774] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 19.004022] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 20.002938] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 20.003951] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 21.003103] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 21.004199] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 22.003277] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 22.004629] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 23.003460] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 23.004545] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 24.003621] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 24.005022] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 25.003773] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 25.005108] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 26.003924] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 26.004952] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 27.004114] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 27.005508] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 28.004282] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 28.005772] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 29.004432] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 29.005661] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 30.004615] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 30.005800] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 31.004784] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 31.005934] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 32.004956] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 32.006174] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 33.005116] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 33.006162] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 34.005290] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 34.006516] ignition[752]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 34.998065] ignition[752]: INFO : neither config drive nor metadata service were available in time. Continuing without a config...
[ 34.998984] ignition[752]: ERROR : timed out while fetching config from config drive (CONFIG-2)
[ 34.999380] ignition[752]: ERROR : timed out while fetching config from config drive (config-2)
[ 34.999504] ignition[752]: WARNING : failed to fetch config: not a config (empty)
[ 34.999627] ignition[752]: INFO : not a config (empty): ignoring user-provided config
[ 34.999751] ignition[752]: INFO : reading system config file "/usr/lib/ignition/default.ign"
[ 34.999877] ignition[752]: INFO : no config at "/usr/lib/ignition/default.ign"
[ 35.006209] ignition[752]: INFO : files: files passed
[[32m OK [0m] [ 35.007252] Started Ignition (files).ignition
I've already tried via the config drive and that doesn't work either. It is possible that neither udev or networking is properly setup/running but this point in the boot process.
Using the Container Linux image from https://coreos.com/os/docs/latest/booting-on-openstack.html works fine on the same Openstack installation.
# journalctl | grep ignition | grep -v audit
Aug 15 21:16:10 localhost ignition[445]: Ignition v0.25.1
Aug 15 21:16:10 localhost ignition[445]: reading system config file "/usr/lib/ignition/base.ign"
Aug 15 21:16:10 localhost ignition[445]: no config at "/usr/lib/ignition/base.ign"
Aug 15 21:16:10 localhost ignition[445]: parsed url from cmdline: ""
Aug 15 21:16:10 localhost ignition[445]: no config URL provided
Aug 15 21:16:10 localhost ignition[445]: reading system config file "/usr/lib/ignition/user.ign"
Aug 15 21:16:10 localhost ignition[445]: no config at "/usr/lib/ignition/user.ign"
Aug 15 21:16:10 localhost ignition[445]: GET http://169.254.169.254/openstack/latest/user_data: attempt #1
Aug 15 21:16:10 localhost ignition[445]: config drive ("/dev/disk/by-label/config-2") not found. Waiting...
Aug 15 21:16:10 localhost ignition[445]: config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
Aug 15 21:16:10 localhost ignition[445]: GET result: OK
Aug 15 21:16:10 localhost ignition[445]: disks: op(1): [started] waiting for udev to settle
Aug 15 21:16:10 localhost ignition[445]: disks: op(1): executing: "/usr/bin/udevadm" "settle"
Aug 15 21:16:10 localhost ignition[445]: disks: op(1): [finished] waiting for udev to settle
Aug 15 21:16:11 localhost ignition[502]: Ignition v0.25.1
Aug 15 21:16:11 localhost ignition[502]: reading system config file "/usr/lib/ignition/base.ign"
Aug 15 21:16:11 localhost ignition[502]: no config at "/usr/lib/ignition/base.ign"
Aug 15 21:16:11 localhost ignition[502]: files: createUsers: op(1): [started] checking if user "sjennings" exists
Aug 15 21:16:11 localhost ignition[502]: files: createUsers: op(1): executing: "/usr/bin/chroot" "/sysroot" "/usr/bin/id" "sjennings"
Aug 15 21:16:11 localhost ignition[502]: files: createUsers: op(1): [failed] checking if user "sjennings" exists: exit status 1: Cmd: "/usr/bin/chroot" "/sysroot" "/usr/bin/id" "sjennings" Stdout: "" Stderr: "/usr/bin/id: 'sjennings': no such user\n"
Aug 15 21:16:11 localhost ignition[502]: files: createUsers: op(2): [started] creating or modifying user "sjennings"
Aug 15 21:16:11 localhost ignition[502]: files: createUsers: op(2): executing: "/usr/sbin/useradd" "--root" "/sysroot" "--create-home" "--password" "*" "--groups" "sudo" "sjennings"
Aug 15 21:16:11 localhost ignition[502]: files: createUsers: op(2): [finished] creating or modifying user "sjennings"
Aug 15 21:16:11 localhost ignition[502]: files: createUsers: op(3): [started] adding ssh keys to user "sjennings"
Aug 15 21:16:11 localhost ignition[502]: files: createUsers: op(3): [finished] adding ssh keys to user "sjennings"
Can you add rd.break
to the kernel command line and see if networking is up?
I found that the same rhcos image pulls user_data in some situations. I found it working when passing an empty user_data and using a different network/subnet.
I tried this on 4.0.4707
and it seemed to work fine for me:
ignition[731]: INFO : GET http://169.254.169.254/openstack/latest/user_data: attempt #1
ignition[731]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
ignition[731]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
can we start sharing commands for how instances were started so we can try to come together on what the issue is? here is what I have for now:
openstack server create \
--key-name dusty-keypair \
--network atomic-e2e-jenkins-test \
--image rhcos/continuous \
--flavor m1.small \
--user-data /dev/stdin \
dusty-server <<'EOF'
{
"ignition": { "version": "2.2.0" },
"passwd": {
"users": [
{
"name": "core",
"sshAuthorizedKeys": [
"ssh-rsa AAAAB..."
]
}
]
}
}
EOF
of course you need to update AAAAB
with your pubkey.
The same command on 4.0.4707
(with slightly different ignition config) gave the same messages as @dustymabe :
[ 5.971531] ignition[731]: INFO : Ignition 0.27.0
[ 5.659792] ignition[731]: INFO : Ignition 0.27.0
[ 5.973417] ignition[731]: INFO : reading system config file "/usr/lib/ignition/base.ign"
[ 5.662565] ignition[731]: INFO : reading system config file "/usr/lib/ignition/base.ign"
[ 5.976419] ignition[731]: INFO : no config at "/usr/lib/ignition/base.ign"
[ 5.665395] ignition[731]: INFO : no config at "/usr/lib/ignition/base.ign"
[ 5.979164] ignition[731]: DEBUG : parsed url from cmdline: ""
[ 5.667504] ignition[731]: DEBUG : parsed url from cmdline: ""
[ 5.981188] ignition[731]: INFO : no config URL provided
[ 5.669491] ignition[731]: INFO : no config URL provided
[ 5.983122] ignition[731]: INFO : reading system config file "/usr/lib/ignition/user.ign"
[ 5.672223] ignition[731]: INFO : reading system config file "/usr/lib/ignition/user.ign"
[ 5.986043] ignition[731]: INFO : no config at "/usr/lib/ignition/user.ign"
[ 5.674995] ignition[731]: INFO : no config at "/usr/lib/ignition/user.ign"
[ 5.988755] ignition[731]: INFO : GET http://169.254.169.254/openstack/latest/user_data: attempt #1
[ 5.677963] ignition[731]: INFO : GET http://169.254.169.254/openstack/latest/user_data: attempt #1
[ 5.991840] ignition[731]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 5.681069] ignition[731]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 5.994963] ignition[731]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 5.684191] ignition[731]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
command:
openstack server create \
--network atomic-e2e-jenkins-test \
--config-drive True \
--image rhcos/continuous \
--flavor m1.small \
--user-data /dev/stdin \
rfairley-rhcos-test <<'EOF'
{"ignition":{"config":{},"security":{"tls":{}},"timeouts":{},"version":"2.2.0"},"networkd":{},"passwd":{"users":[{"groups":["sudo"],"name":"rfairley","sshAuthorizedKeys":["ssh-rsa AAAA..."]}]},"storage":{},"systemd":{}}
EOF
Same here
[ 6.143733] ignition[739]: INFO : Ignition 0.27.0
[ 6.145252] ignition[739]: INFO : Ignition 0.27.0
[ 6.146322] ignition[739]: INFO : reading system config file "/usr/lib/ignition/base.ign"
[ 6.148914] ignition[739]: INFO : reading system config file "/usr/lib/ignition/base.ign"
[ 6.150162] ignition[739]: INFO : no config at "/usr/lib/ignition/base.ign"
[ 6.152526] ignition[739]: INFO : no config at "/usr/lib/ignition/base.ign"
[ 6.153626] ignition[739]: DEBUG : parsed url from cmdline: ""
[ 6.155289] ignition[739]: DEBUG : parsed url from cmdline: ""
[ 6.156249] ignition[739]: INFO : no config URL provided
[ 6.157851] ignition[739]: INFO : no config URL provided
[ 6.158771] ignition[739]: INFO : reading system config file "/usr/lib/ignition/user.ign"
[ 6.173657] ignition[739]: INFO : reading system config file "/usr/lib/ignition/user.ign"
[ 6.175291] ignition[739]: INFO : no config at "/usr/lib/ignition/user.ign"
[ 6.177686] ignition[739]: INFO : no config at "/usr/lib/ignition/user.ign"
[ 6.179109] ignition[739]: INFO : GET http://169.254.169.254/openstack/latest/user_data: attempt #1
[ 6.181930] ignition[739]: INFO : GET http://169.254.169.254/openstack/latest/user_data: attempt #1
[ 6.183693] ignition[739]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 6.186473] ignition[739]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 6.188277] ignition[739]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 6.191048] ignition[739]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
...
[ 35.145783] ignition[739]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 35.148855] ignition[739]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 35.150751] ignition[739]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 35.153536] ignition[739]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 36.134863] ignition[739]: INFO : neither config drive nor metadata service were available in time. Continuing without a config...
[ 36.139043] ignition[739]: INFO : neither config drive nor metadata service were available in time. Continuing without a config...
[ 36.141629] ignition[739]: WARNING : failed to fetch config: not a config (empty)
[ 36.144590] ignition[739]: WARNING : failed to fetch config: not a config (empty)[[32m OK [0m]
[ 36.147731] ignition[739]: INFO : not a config (empty): ignoring user-provided config
[ 36.150795] ignition[739]: INFO : not a config (empty): ignoring user-provided config
[ 36.152355] ignition[739]: INFO : reading system config file "/usr/lib/ignition/default.ign"
[ 36.155506] ignition[739]: INFO : reading system config file "/usr/lib/ignition/default.ign"
[ 36.159828] ignition[739]: INFO : no config at "/usr/lib/ignition/default.ign"
[ 36.162627] ignition[739]: INFO : no config at "/usr/lib/ignition/default.ign"
[ 36.164047] ignition[739]: INFO : files: GET error: Get http://169.254.169.254/openstack/latest/user_data: dial tcp 169.254.169.254:80: i/o timeout
[ 36.168265] ignition[739]: ERROR : files: timed out while fetching config from config drive (config-2)
[ 36.171576] ignition[739]: ERROR : files: timed out while fetching config from config drive (CONFIG-2)
[ 36.174912] ignition[739]: INFO : files: files passed
[ 36.176819] ignition[739]: INFO : Ignition finished successfully
can you share how you are starting your instance? a CLI command would be the most reproducible
It might be worth sharing OpenStack versions as well. It's likely a subtle change in the interaction between the metadata server and Ignition.
For reference, AFAIK the internal OpenStack instance runs on RHOSP 10 (Newton).
Command
$ openstack --version
openstack 3.14.1
openstack server create --image RHCOS --flavor ocp.master --network jstuever --user-data /dev/stdin jstuevertest << 'EOF'
{"ignition":{"config":{},"security":{"tls":{}},"timeouts":{},"version":"2.2.0"},"networkd":{},"passwd":{},"storage":{},"systemd":{}}
EOF
Result: no route to host
Starting Ignition (files)...
[ 68.130434] ignition[743]: INFO : Ignition 0.26.0
[ 68.132085] ignition[743]: INFO : reading system config file "/usr/lib/ignition/base.ign"
[ 68.133366] ignition[743]: INFO : no config at "/usr/lib/ignition/base.ign"
[ 68.134760] ignition[743]: DEBUG : parsed url from cmdline: ""
[ 68.135987] ignition[743]: INFO : no config URL provided
[ 68.137254] ignition[743]: INFO : reading system config file "/usr/lib/ignition/user.ign"
[ 68.138635] ignition[743]: INFO : no config at "/usr/lib/ignition/user.ign"
[ 68.139924] ignition[743]: INFO : GET http://169.254.169.254/openstack/latest/user_data: attempt #1
[ 68.141203] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 68.142715] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 69.137665] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 69.139156] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 70.138056] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 70.139820] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 71.140068] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 71.141461] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 71.145532] ignition[743]: INFO : GET error: Get http://169.254.169.254/openstack/latest/user_data: dial tcp 169.254.169.254:80: getsockopt: no route to host
[ 71.345775] ignition[743]: INFO : GET http://169.254.169.254/openstack/latest/user_data: attempt #2
[ 72.140239] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 72.142190] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 73.140542] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 73.142450] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 74.140857] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 74.142313] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 74.151384] ignition[743]: INFO : GET error: Get http://169.254.169.254/openstack/latest/user_data: dial tcp 169.254.169.254:80: getsockopt: no route to host
[ 74.551656] ignition[743]: INFO : GET http://169.254.169.254/openstack/latest/user_data: attempt #3
[ 75.141099] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 75.142982] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 76.141373] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 76.142840] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 77.141543] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 77.143435] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 77.157444] ignition[743]: INFO : GET error: Get http://169.254.169.254/openstack/latest/user_data: dial tcp 169.254.169.254:80: getsockopt: no route to host
[ 77.957678] ignition[743]: INFO : GET http://169.254.169.254/openstack/latest/user_data: attempt #4
[ 78.141798] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 78.143193] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 79.142233] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 79.144340] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 80.142463] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 80.143886] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 80.163531] ignition[743]: INFO : GET error: Get http://169.254.169.254/openstack/latest/user_data: dial tcp 169.254.169.254:80: getsockopt: no route to host
[ 81.142720] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 81.144767] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 81.763781] ignition[743]: INFO : GET http://169.254.169.254/openstack/latest/user_data: attempt #5
[ 82.143065] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 82.145056] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 83.143283] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 83.144842] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 83.169395] ignition[743]: INFO : GET error: Get http://169.254.169.254/openstack/latest/user_data: dial tcp 169.254.169.254:80: getsockopt: no route to host
[ 84.143593] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 84.145050] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 85.143852] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 85.145802] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 86.144152] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 86.145764] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 86.369622] ignition[743]: INFO : GET http://169.254.169.254/openstack/latest/user_data: attempt #6
[ 87.144525] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 87.145983] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 88.145663] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 88.147586] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 89.145938] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 89.147892] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 89.375421] ignition[743]: INFO : GET error: Get http://169.254.169.254/openstack/latest/user_data: dial tcp 169.254.169.254:80: getsockopt: no route to host
[ 90.146342] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 90.147764] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 91.146558] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 91.147939] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 92.146825] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 92.148227] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 93.147061] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 93.148957] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 94.147349] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 94.148708] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 94.375655] ignition[743]: INFO : GET http://169.254.169.254/openstack/latest/user_data: attempt #7
[ 95.147512] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 95.149480] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 96.147811] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 96.149274] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 97.148140] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/config-2") not found. Waiting...
[ 97.149699] ignition[743]: DEBUG : config drive ("/dev/disk/by-label/CONFIG-2") not found. Waiting...
[ 97.381395] ignition[743]: INFO : GET error: Get http://169.254.169.254/openstack/latest/user_data: dial tcp 169.254.169.254:80: getsockopt: no route to host
[ 98.135161] [ignition[743]: INFO : neither config drive nor metadata service were available in time. Continuing without a config...
[ 98.138278] ignition[743]: ERROR : timed out while fetching config from config drive (CONFIG-2)
[ 98.138874] ignition[743]: WARNING : failed to fetch config: not a config (empty)
[ 98.139556] ignition[743]: INFO : not a config (empty): ignoring user-provided config
[ 98.140114] ignition[743]: INFO : reading system config file "/usr/lib/ignition/default.ign"
[ 98.140649] ignition[743]: INFO : no config at "/usr/lib/ignition/default.ign"
[ 98.141204] ignition[743]: ERROR : timed out while fetching config from config drive (config-2)
[32m OK [0m] Started Ignition (files).
[ 98.146047] systemd[1]: Started Ignition (files).
[ 98.149142] systemd[1]: Starting Switch R
Subnet info (Freshly created with sanitized output)
openstack subnet show jstuever
+-------------------+--------------------------------------+
| Field | Value |
+-------------------+--------------------------------------+
| allocation_pools | 192.168.1.2-192.168.1.254
| cidr | 192.168.1.0/24
| created_at | 2018-08-24T19:30:14Z
| description |
| dns_nameservers |
| enable_dhcp | True
| gateway_ip | 192.168.1.1
| host_routes |
| id |
| ip_version | 4
| ipv6_address_mode | None
| ipv6_ra_mode | None
| name | jstuever
| network_id |
| project_id |
| revision_number | 2
| segment_id | None
| service_types |
| subnetpool_id | None
| tags
| updated_at | 2018-08-24T19:30:14Z
+-------------------+--------------------------------------+
My issue may be specific to the OpenStack instance I'm using. When I root into the instance using rd.break init=/bin/sh
I am able to ping 4.2.2.2
. However, I continue to get "no route to host" when I curl http://169.254.169.254/openstack/latest/user_data
.
I am using
openstack server create --image rhcos-4.0.4760 --flavor m1.medium --network external --user-data ~/config.ign rhocs.lab.variantweb.net
~/config.ign
"ignition": {
"version": "2.2.0"
},
"passwd": {
"users": [{
"groups": ["sudo"],
"name": "sjennings",
"sshAuthorizedKeys": ["ssh-rsa AAAA..."]
}]
}
}
How do we check the version of the OpenStack instance running? I agree it is likely something to do with this, not with the CLI used to access it.
I did try with the CLI version 3.14.1
on the same internal OpenStack instance I used before (https://github.com/openshift/os/issues/227#issuecomment-415783957), but this did not reproduce the issue. Also confirmed that curl http://169.254.169.254/openstack/latest/user_data
worked on the internal OpenStack instance.
I'm not sure how to check what the version of the OpenStack instance is, will look into this. Anyone know already how to do it?
@rfairley easiest way is to find an admin and ask since Openstack has lots of different components :smiley:. Though you should be able to query the API of components directly for their versions. You could piece together a version from the following:
My issue may be specific to the OpenStack instance I'm using. When I root into the instance using rd.break init=/bin/sh I am able to ping 4.2.2.2. However, I continue to get "no route to host" when I curl http://169.254.169.254/openstack/latest/user_data.
I did this as well and I think the difference might be that if your default gateway and metadata server are at the same IP, it will work.
The metadata route is not set up in the intird env
# ip r
default via 10.42.10.1. dev eth0
10.42.10.0/24 dev eth0 proto kernel scope link src 10.42.10.209
opposed to a fully booted VM on the same cluster with cloud-init
$ ip r
default via 10.42.10.1 dev eth0 proto dhcp metric 100
10.42.10.0/24 dev eth0 proto kernel scope link src 10.42.10.203 metric 100
169.254.169.254 via 10.42.10.200 dev eth0 proto dhcp metric 100 <---
In my case, my gateway is 10.42.10.1 (external network and the gateway is off-cluster) where my metadata server is 10.42.10.200. If I was running an internal network with a neutron router as the gateway, I think they would be the same and I wouldn't be seeing this issue. However, my setup is valid and the init env should install the metadata route before attempting to get the ignition config.
I confirmed this. Though the gateway and metadata server don't have the be on the same IP. If the gateway is a neutron router, it has a route for the metdata server. I created an internal network and neutron router and started RHCOS image on this network and the neutron router (the default route in the initrd) properly routes to the metadata server.
However, having instances that attach directly to the external network (vs and internal network with floating ip) is a valid configuration and we should try to support it IMO.
Confirmed on my end as well, using an internal OpenStack instance running RHCOS, the gateway and metadata server are on the same IP: 172.16.171.1
. This is also the IP address of the neutron router configured in the network.
$ ip r
default via 172.16.171.1 dev eth0
default via 172.16.171.1 dev eth0 proto dhcp metric 100
169.254.169.254 via 172.16.171.1 dev eth0 proto dhcp metric 100
172.16.171.0/24 dev eth0 proto kernel scope link src 172.16.171.9
172.16.171.0/24 dev eth0 proto kernel scope link src 172.16.171.9 metric 100
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1
Confirmed that the dhclient in the dracut initrd is not honoring option 121 (classless-static-routes) sent by the dhcp server. This prevents the creation of the route to the metadata server.
Could be this issue: https://bugzilla.redhat.com/show_bug.cgi?id=1453907
/tmp/dhclient.eth0.dhcpopts
does have the new_classless_routes
set correctly, but somewhere downstream from that point, the routes never get created.
seems possible. thanks for tracking that down. we are at an older version of dracut (dracut-033-535.el7.x86_64
) than is mentioned as being fixed so maybe we can pull that in soon and re-test this.
rebasing RHCOS composes on RHEL 7.5 fixed this. thanks! confirmed fixed on 5177.
Ignition fails to pull user_data due to what appears to be a networking issue. I'm using rhcos-openstack.qcow2.gz from http://aos-ostree.rhev-ci-vms.eng.rdu2.redhat.com/rhcos/images/cloud/latest/ dated some time last week. I can replicate this on both OpenStack v9 and v10. The console logs are as follows: