Fix trusty based slave bootstrap

* Sync fix-configs-on-startup with fuel-main/bootstrap
* Due wrong permission for trusty/etc\usr folders, after
rsync's files into chroot system - ntp fails to run due Access Denied
error
* fix ubuntu cloud-init hook for ntp.drift
* nailgun-agent runs only from cron
* fix file permission for trusty bootstrap
* add 'psmisc' for fuel-agent requirements
  Centos7 don't install it by default, otherwise mcollective
  container - which used for IBP

Change-Id: Ifecbc4220df8ae77f7373d4b342aa1e72deb9059
Closes-Bug: #1522406
This commit is contained in:
alexz 2015-12-03 14:24:03 +02:00
parent 660c6514ca
commit 6356e90686
4 changed files with 49 additions and 15 deletions

View File

@ -76,7 +76,9 @@ cloud-init-per instance sync_hwclock hwclock --systohc
cloud-init-per instance edit_ntp_conf1 sed -i '/^\s*tinker panic/ d' /etc/ntp.conf
cloud-init-per instance edit_ntp_conf2 sed -i '1 i tinker panic 0' /etc/ntp.conf
cloud-init-per instance edit_ntp_conf_mkdir mkdir -p /var/lib/ntp
cloud-init-per instance edit_ntp_conf3 /bin/sh -c 'echo 0 | tee /var/lib/ntp/drift'
cloud-init-per instance edit_ntp_conf_chown_dir chown ntp: /var/lib/ntp
cloud-init-per instance edit_ntp_conf3 /bin/sh -c 'echo 0 | tee /var/lib/ntp/ntp.drift'
cloud-init-per instance edit_ntp_conf_chown_drift chown ntp: /var/lib/ntp/ntp.drift
cloud-init-per instance edit_ntp_conf4 sed -i '/^\s*server/ d' /etc/ntp.conf
cloud-init-per instance edit_ntp_conf5 /bin/sh -c 'echo "server {{ common.master_ip }} burst iburst" | tee -a /etc/ntp.conf'
cloud-init-per instance start_ntp service ntp start

View File

@ -1,6 +1,3 @@
#!/bin/sh -e
fix-configs-on-startup || true
flock -w 0 -o /var/lock/agent.lock -c "/usr/bin/nailgun-agent >> /var/log/nailgun-agent.log 2>&1" || true
touch /var/lock/subsys/local

View File

@ -1,30 +1,61 @@
#!/bin/sh
set -e
masternode_ip=`sed -rn 's/^.*url=http:\/\/(([0-9]{1,3}\.){3}[0-9]{1,3}).*$/\1/ p' /proc/cmdline`
masternode_ip=$(sed -rn 's/^.*url=http:\/\/(([0-9]{1,3}\.){3}[0-9]{1,3}).*$/\1/ p' /proc/cmdline)
mco_user=$(sed 's/\ /\n/g' /proc/cmdline | grep mco_user | awk -F\= '{print $2}')
mco_pass=$(sed 's/\ /\n/g' /proc/cmdline | grep mco_pass | awk -F\= '{print $2}')
[ -z "$mco_user" ] && mco_user="mcollective"
[ -z "$mco_pass" ] && mco_pass="marionette"
# Send logs to master node.
sed -i /etc/send2syslog.conf -re "s/@MASTER_NODE_IP@/$masternode_ip/"
cat > /etc/send2syslog.conf <<EOF
{
"watchlist": [
{"servers": [ {"host": "$masternode_ip"} ],
"watchfiles": [
{"tag": "bootstrap/dmesg", "files": ["/var/log/dmesg"]},
{"tag": "bootstrap/secure", "files": ["/var/log/secure"]},
{"tag": "bootstrap/messages", "files": ["/var/log/messages"]},
{"tag": "bootstrap/fuel-agent", "files": ["/var/log/fuel-agent.log"]},
{"tag": "bootstrap/mcollective", "log_type": "ruby",
"files": ["/var/log/mcollective.log"]},
{"tag": "bootstrap/agent", "log_type": "ruby",
"files": ["/var/log/nailgun-agent.log"]},
{"tag": "bootstrap/netprobe_sender", "log_type": "netprobe",
"files": ["/var/log/netprobe_sender.log"]},
{"tag": "bootstrap/netprobe_listener", "log_type": "netprobe",
"files": ["/var/log/netprobe_listener.log"]}
]
}
]
}
EOF
/usr/bin/send2syslog.py -i < /etc/send2syslog.conf
#
# Set up NTP
#
# Disable panic about huge clock offset
#
sed -i '/^\s*tinker panic/ d' /etc/ntp.conf
sed -i '1 i tinker panic 0' /etc/ntp.conf
# Create default drift file
#
mkdir -p /var/lib/ntp
chown ntp: /var/lib/ntp
echo 0 > /var/lib/ntp/ntp.drift
chown ntp: /var/lib/ntp/ntp.drift
# Sync clock with master node
#
sed -i "/^\s*server\b/ d" /etc/ntp.conf
echo "server $masternode_ip burst iburst" >> /etc/ntp.conf
service ntp restart
#
# Update mcollective config
#
sed -i "s/^plugin.rabbitmq.pool.1.host\b.*$/plugin.rabbitmq.pool.1.host = $masternode_ip/" /etc/mcollective/server.cfg
sed -i "s/^plugin.rabbitmq.pool.1.user\b.*$/plugin.rabbitmq.pool.1.user = $mco_user/" /etc/mcollective/server.cfg
sed -i "s/^plugin.rabbitmq.pool.1.password\b.*$/plugin.rabbitmq.pool.1.password= $mco_pass/" /etc/mcollective/server.cfg
service mcollective restart

View File

@ -52,6 +52,7 @@ Requires: ethtool
Requires: debootstrap
Requires: xz
Requires: coreutils
Requires: psmisc
%description
Fuel-agent package
@ -67,6 +68,8 @@ Ironic bootstrap config files with Fuel Agent
Summary: Fuel-bootstrap wrapper tool
Group: Development/Libraries
Requires: fuel-agent
Requires: python-tablib
Requires: python-unicodecsv
%description -n fuel-bootstrap-cli
User-friendly wrapper for user set of scripts from fuel-agent
@ -113,9 +116,10 @@ rm -rf $RPM_BUILD_ROOT
%attr(0755,root,root) %config(noreplace) %{_datadir}/ironic-fa-bootstrap-configs/usr/bin/configure-remote-logging.sh
%files -n fuel-bootstrap-cli -f %{_builddir}/%{name}-%{version}/contrib/fuel_bootstrap/fuel_bootstrap_cli/INSTALLED_FILES
%defattr(-,root,root)
%defattr(0644,root,root,0755)
%config(noreplace) %{_sysconfdir}/fuel-bootstrap-cli/fuel_bootstrap_cli.yaml
%attr(0644,root,root) %config(noreplace) %{_datadir}/fuel_bootstrap_cli/files/*
%attr(0755,root,root) %config(noreplace) %{_datadir}/fuel_bootstrap_cli/files/trusty/usr/bin/fix-configs-on-startup
%attr(0755,root,root) %config(noreplace) %{_datadir}/fuel_bootstrap_cli/files/trusty/usr/bin/send2syslog.py
%attr(0755,root,root) %config(noreplace) %{_datadir}/fuel_bootstrap_cli/files/trusty/etc/rc.local
%attr(0755,root,root) %{_bindir}/fuel-bootstrap
%{_datadir}/fuel_bootstrap_cli/files/*
%attr(0755,root,root) %{_datadir}/fuel_bootstrap_cli/files/trusty/usr/bin/fix-configs-on-startup
%attr(0755,root,root) %{_datadir}/fuel_bootstrap_cli/files/trusty/usr/bin/send2syslog.py
%attr(0755,root,root) %{_datadir}/fuel_bootstrap_cli/files/trusty/etc/rc.local