Validation SSH keys are not copied to the overcloud nodes
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
tripleo |
Fix Released
|
High
|
Tomas Sedovic |
Bug Description
After `openstack overcloud deploy ...` finishes, it should be possible to run the validations from the UI or via Mistral.
This is not the case though and instead, the (overcloud) validations error out with: "Failed to connect to the host via ssh."
As far as I could discover so far, it's because the deploy_ssh_keys workflow gets an empty list of servers to copy the SSH keys to. The workflow that sets up the keys is here:
which invokes copy_ssh_key:
When I run `mistral task-list`, there are no errors there, but the `get_servers` task returns an empty list (even though this should be a complete deployment now and all the nodes should be in nova).
Running `mistral run-action nova.servers_list` does return the expected result.
And running `mistral execution-create tripleo.
Changed in tripleo: | |
assignee: | nobody → Tomas Sedovic (tsedovic) |
The Heat deployment task is asynchronous and `copy_ssh_key` is therefore run as soon as we ask Heat to create the stack. I.e. before the servers even exist in Nova.
I think the keys should be set up by Heat during stack creation itself though, not separately like they are now.
We may be able to utilise the tripleo deploy artifacts here instead of modifying tripleo- heat-templates:
http:// hardysteven. blogspot. cz/2016/ 08/tripleo- deploy- artifacts- and-puppet. html