08a7f41280
sys v init scripts are inherently racy since creating a PID file takes a while. In particular collectived needs about 0.6 seconds to daemonize itself and create its PID file. If the service gets restarted in this interval the second instance of the daemon gets started without stopping the previous one. Apparently mcollectived gets restarted very often during the final phase of IBP. Hence get rid of sys V init script and use upstart job to manage mcollectived. Merge-After: https://review.fuel-infra.org/7093 Closes-Bug: #1454741 Change-Id: Ie74539a068f33c485573645e6a2f88bd0972b59b
104 lines
2.7 KiB
Django/Jinja
104 lines
2.7 KiB
Django/Jinja
#cloud-config
|
|
resize_rootfs: false
|
|
growpart:
|
|
mode: false
|
|
disable_ec2_metadata: true
|
|
disable_root: false
|
|
user: root
|
|
password: r00tme
|
|
chpasswd: { expire: false }
|
|
ssh_pwauth: false
|
|
ssh_authorized_keys:
|
|
{% for key in common.ssh_auth_keys %}
|
|
- {{ key }}
|
|
{% endfor %}
|
|
|
|
# set the locale to a given locale
|
|
# default: en_US.UTF-8
|
|
locale: en_US.UTF-8
|
|
|
|
timezone: {{ common.timezone }}
|
|
|
|
hostname: {{ common.hostname }}
|
|
fqdn: {{ common.fqdn }}
|
|
|
|
|
|
# add entries to rsyslog configuration
|
|
rsyslog:
|
|
- filename: 10-log2master.conf
|
|
content: |
|
|
$template LogToMaster, "<%%PRI%>1 %$NOW%T%TIMESTAMP:8:$%Z %HOSTNAME% %APP-NAME% %PROCID% %MSGID% -%msg%\n"
|
|
*.* @{{ common.master_ip }};LogToMaster
|
|
|
|
|
|
# that module's missing in 0.6.3, but existent for >= 0.7.3
|
|
write_files:
|
|
- content: |
|
|
---
|
|
url: {{ common.master_url }}
|
|
path: /etc/nailgun-agent/config.yaml
|
|
- content: target
|
|
path: /etc/nailgun_systemtype
|
|
|
|
mcollective:
|
|
conf:
|
|
main_collective: mcollective
|
|
collectives: mcollective
|
|
libdir: /usr/share/mcollective/plugins
|
|
logfile: /var/log/mcollective.log
|
|
loglevel: debug
|
|
daemonize: 0
|
|
direct_addressing: 1
|
|
ttl: 4294957
|
|
securityprovider: psk
|
|
plugin.psk: {{ mcollective.pskey }}
|
|
{% if mcollective.connector == 'stomp' %}
|
|
connector = stomp
|
|
plugin.stomp.host: {{ mcollective.host }}
|
|
plugin.stomp.port: {{ mcollective.port|default(61613) }}
|
|
plugin.stomp.user: {{ mcollective.user }}
|
|
plugin.stomp.password: {{ mcollective.password }}
|
|
{% else %}
|
|
connector: rabbitmq
|
|
plugin.rabbitmq.vhost: {{ mcollective.vhost }}
|
|
plugin.rabbitmq.pool.size: 1
|
|
plugin.rabbitmq.pool.1.host: {{ mcollective.host }}
|
|
plugin.rabbitmq.pool.1.port: {{ mcollective.port|default(61613) }}
|
|
plugin.rabbitmq.pool.1.user: {{ mcollective.user }}
|
|
plugin.rabbitmq.pool.1.password: {{ mcollective.password }}
|
|
plugin.rabbitmq.heartbeat_interval: 30
|
|
{% endif %}
|
|
factsource: yaml
|
|
plugin.yaml: /etc/mcollective/facts.yaml
|
|
|
|
puppet:
|
|
conf:
|
|
main:
|
|
logdir: /var/log/puppet
|
|
rundir: /var/run/puppet
|
|
ssldir: $vardir/ssl
|
|
pluginsync: true
|
|
agent:
|
|
classfile: $vardir/classes.txt
|
|
localconfig: $vardir/localconfig
|
|
server: {{ puppet.master }}
|
|
report: false
|
|
configtimeout: 600
|
|
|
|
runcmd:
|
|
{% if puppet.enable != 1 %}
|
|
- /usr/sbin/invoke-rc.d puppet stop
|
|
- /usr/sbin/update-rc.d -f puppet remove
|
|
{% endif %}
|
|
{% if mcollective.enable != 1 %}
|
|
- /usr/sbin/invoke-rc.d mcollective stop
|
|
- echo manual > /etc/init/mcollective.override
|
|
{% else %}
|
|
- rm -f /etc/init/mcollective.override
|
|
- service mcollective restart
|
|
{% endif %}
|
|
- iptables -t filter -F INPUT
|
|
- iptables -t filter -F FORWARD
|
|
|
|
final_message: "YAY! The system is finally up, after $UPTIME seconds"
|