mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
In order to reduce memory footprint and improve boot speed/predictability. The following changes have been made: - add vm.min_free_kbytes to sysctl - periodically clear disk cache (depending on memory size) - only start guest services specific to hypervisor - use systemvm code to determine hypervisor type (not systemd) - start cloud service at end of post init rather than through systemd - reduce initial threads started for httpd - fix vmtools config file Fixes #3039 Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
68 lines
2.1 KiB
Bash
Executable File
68 lines
2.1 KiB
Bash
Executable File
#!/bin/bash
|
|
# Licensed to the Apache Software Foundation (ASF) under one
|
|
# or more contributor license agreements. See the NOTICE file
|
|
# distributed with this work for additional information
|
|
# regarding copyright ownership. The ASF licenses this file
|
|
# to you under the Apache License, Version 2.0 (the
|
|
# "License"); you may not use this file except in compliance
|
|
# with the License. You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing,
|
|
# software distributed under the License is distributed on an
|
|
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
# KIND, either express or implied. See the License for the
|
|
# specific language governing permissions and limitations
|
|
# under the License.
|
|
#
|
|
# This scripts before ssh.service but after cloud-early-config
|
|
|
|
# Eject cdrom if any
|
|
eject || true
|
|
|
|
# Restart journald for setting changes to apply
|
|
systemctl restart systemd-journald
|
|
|
|
TYPE=$(grep -Po 'type=\K[a-zA-Z]*' /var/cache/cloud/cmdline)
|
|
if [ "$TYPE" == "router" ] || [ "$TYPE" == "vpcrouter" ] || [ "$TYPE" == "dhcpsrvr" ]
|
|
then
|
|
if [ -x /opt/cloud/bin/update_config.py ]
|
|
then
|
|
/opt/cloud/bin/update_config.py cmd_line.json || true
|
|
fi
|
|
fi
|
|
|
|
[ ! -f /var/cache/cloud/enabled_svcs ] && touch /var/cache/cloud/enabled_svcs
|
|
for svc in $(cat /var/cache/cloud/enabled_svcs)
|
|
do
|
|
systemctl enable --now --no-block $svc
|
|
done
|
|
|
|
[ ! -f /var/cache/cloud/disabled_svcs ] && touch /var/cache/cloud/disabled_svcs
|
|
for svc in $(cat /var/cache/cloud/disabled_svcs)
|
|
do
|
|
systemctl disable --now --no-block $svc
|
|
done
|
|
|
|
# Restore the persistent iptables nat, rules and filters for IPv4 and IPv6 if they exist
|
|
ipv4="/etc/iptables/rules.v4"
|
|
if [ -e $ipv4 ]
|
|
then
|
|
iptables-restore < $ipv4
|
|
fi
|
|
|
|
ipv6="/etc/iptables/rules.v6"
|
|
if [ -e $ipv6 ]
|
|
then
|
|
ip6tables-restore < $ipv6
|
|
fi
|
|
|
|
# Patch known systemd/sshd memory leak - https://github.com/systemd/systemd/issues/8015#issuecomment-476160981
|
|
echo '@include null' >> /etc/pam.d/systemd-user
|
|
|
|
# Enable and Start SSH
|
|
systemctl enable --now --no-block ssh
|
|
|
|
date > /var/cache/cloud/boot_up_done
|