Use str_replace for known_hosts
There is a limit to how long input data can be for the heat script hook.
It turns out that data longer than 131072, will return an Argument list
to long error. To get around this, we need to pass this data in a
different way so that the heat script hook will work.
NOTE: Includes fix from If7a4c6f3581bed270f478b98b8da8fe010acbbc1
Change-Id: Ie3bd17ca9863e7687721e8c2628e485ea1849321
Closes-Bug: #1772071
(cherry picked from commit 7c97320334
)
This commit is contained in:
parent
5bd9aca3e7
commit
482f2eb2f7
|
@ -11,24 +11,30 @@ resources:
|
|||
type: OS::Heat::SoftwareConfig
|
||||
properties:
|
||||
group: script
|
||||
inputs:
|
||||
- name: known_hosts
|
||||
default: {get_param: known_hosts}
|
||||
config: |
|
||||
#!/bin/bash
|
||||
set -eux
|
||||
set -o pipefail
|
||||
config:
|
||||
str_replace:
|
||||
params:
|
||||
KNOWN_HOSTS: {get_param: known_hosts}
|
||||
template: |
|
||||
#!/bin/bash
|
||||
set -eux
|
||||
set -o pipefail
|
||||
|
||||
echo "Creating ssh known hosts file"
|
||||
echo "Creating ssh known hosts file"
|
||||
|
||||
if [ ! -z "${known_hosts}" ]; then
|
||||
echo "${known_hosts}"
|
||||
echo -ne "${known_hosts}" > /etc/ssh/ssh_known_hosts
|
||||
chmod 0644 /etc/ssh/ssh_known_hosts
|
||||
else
|
||||
rm -f /etc/ssh/ssh_known_hosts
|
||||
echo "No ssh known hosts"
|
||||
fi
|
||||
if [ -d /etc/ssh/ssh_known_hosts ]; then
|
||||
rm -rf /etc/ssh/ssh_known_hosts
|
||||
fi
|
||||
cat <<EOF | grep -v '^$' >/etc/ssh/ssh_known_hosts
|
||||
KNOWN_HOSTS
|
||||
EOF
|
||||
if [ ! -s /etc/ssh/ssh_known_hosts ]; then
|
||||
echo "No known hosts"
|
||||
rm -f /etc/ssh/ssh_known_hosts
|
||||
else
|
||||
echo "$(cat /etc/ssh/ssh_known_hosts | wc -l) known hosts"
|
||||
chmod 0644 /etc/ssh/ssh_known_hosts
|
||||
fi
|
||||
|
||||
outputs:
|
||||
OS::stack_id:
|
||||
|
|
|
@ -478,6 +478,7 @@ resources:
|
|||
depends_on:
|
||||
{% for role_inner in roles %}
|
||||
- {{role_inner.name}}HostsDeployment
|
||||
- {{role_inner.name}}SshKnownHostsDeployment
|
||||
{% endfor %}
|
||||
properties:
|
||||
name: {{role.name}}AllNodesDeployment
|
||||
|
|
Loading…
Reference in New Issue