You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by GitBox <gi...@apache.org> on 2018/10/16 04:59:50 UTC
[GitHub] rhtyd closed pull request #2892: vr: memory and swap optimizations
rhtyd closed pull request #2892: vr: memory and swap optimizations
URL: https://github.com/apache/cloudstack/pull/2892
This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:
As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):
diff --git a/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalKickStartServiceImpl.java b/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalKickStartServiceImpl.java
index 1bbf1322b1c..8fe3d827ed4 100644
--- a/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalKickStartServiceImpl.java
+++ b/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalKickStartServiceImpl.java
@@ -226,11 +226,16 @@ private boolean preparePxeInAdvancedZone(VirtualMachineProfile profile, NicProfi
throw new CloudRuntimeException(String.format("please specify 'baremetal.internal.storage.server.ip', which is the http server/nfs server storing kickstart files and ISO files, in global setting"));
}
+ Pair<Boolean, String> ret = SshHelper.sshExecute(mgmtNic.getIPv4Address(), 3922, "root", getSystemVMKeyFile(), null, "systemctl start baremetal-vr");
+ if (!ret.first()) {
+ throw new CloudRuntimeException(String.format("failed to start baremetal agent in virtual router[id:%s]", vr.getId()));
+ }
+
List<String> tuple = parseKickstartUrl(profile);
String cmd = String.format("/opt/cloud/bin/prepare_pxe.sh %s %s %s %s %s %s", tuple.get(1), tuple.get(2), profile.getTemplate().getUuid(),
String.format("01-%s", nic.getMacAddress().replaceAll(":", "-")).toLowerCase(), tuple.get(0), nic.getMacAddress().toLowerCase());
s_logger.debug(String.format("prepare pxe on virtual router[ip:%s], cmd: %s", mgmtNic.getIPv4Address(), cmd));
- Pair<Boolean, String> ret = SshHelper.sshExecute(mgmtNic.getIPv4Address(), 3922, "root", getSystemVMKeyFile(), null, cmd);
+ ret = SshHelper.sshExecute(mgmtNic.getIPv4Address(), 3922, "root", getSystemVMKeyFile(), null, cmd);
if (!ret.first()) {
throw new CloudRuntimeException(String.format("failed preparing PXE in virtual router[id:%s], because %s", vr.getId(), ret.second()));
}
diff --git a/systemvm/debian/etc/sysctl.conf b/systemvm/debian/etc/sysctl.conf
index 8e6d7520006..5b5f818e76d 100644
--- a/systemvm/debian/etc/sysctl.conf
+++ b/systemvm/debian/etc/sysctl.conf
@@ -60,3 +60,6 @@ net.ipv6.conf.all.forwarding = 0
net.ipv6.conf.all.accept_ra = 0
net.ipv6.conf.all.accept_redirects = 0
net.ipv6.conf.all.autoconf = 0
+
+# Minimum swappiness without disabling it
+vm.swappiness=1
diff --git a/systemvm/debian/etc/systemd/journald.conf b/systemvm/debian/etc/systemd/journald.conf
new file mode 100644
index 00000000000..224f375d6b6
--- /dev/null
+++ b/systemvm/debian/etc/systemd/journald.conf
@@ -0,0 +1,5 @@
+[Journal]
+Compress=yes
+SystemMaxUse=40M
+SystemMaxFileSize=10M
+RuntimeMaxUse=20M
diff --git a/systemvm/debian/etc/systemd/system/baremetal-vr.service b/systemvm/debian/etc/systemd/system/baremetal-vr.service
new file mode 100644
index 00000000000..f880f0ca18a
--- /dev/null
+++ b/systemvm/debian/etc/systemd/system/baremetal-vr.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=CloudStack Baremetal VR service
+After=network.target local-fs.target
+
+[Install]
+WantedBy=multi-user.target
+
+[Service]
+Type=simple
+WorkingDirectory=/opt/cloud/bin
+ExecStart=/usr/bin/python /opt/cloud/bin/baremetal-vr.py
+Restart=on-failure
diff --git a/systemvm/debian/etc/systemd/system/cloud-postinit.service b/systemvm/debian/etc/systemd/system/cloud-postinit.service
index c23516e67ff..a9abff443fa 100644
--- a/systemvm/debian/etc/systemd/system/cloud-postinit.service
+++ b/systemvm/debian/etc/systemd/system/cloud-postinit.service
@@ -2,7 +2,7 @@
Description=CloudStack post-patching init script
After=cloud-early-config.service network.target local-fs.target
Before=ssh.service
-Requires=network.service
+Requires=networking.service
[Install]
WantedBy=multi-user.target
diff --git a/systemvm/debian/opt/cloud/bin/setup/postinit.sh b/systemvm/debian/opt/cloud/bin/setup/postinit.sh
index f0ae5e89f0c..fc92b7e97cd 100755
--- a/systemvm/debian/opt/cloud/bin/setup/postinit.sh
+++ b/systemvm/debian/opt/cloud/bin/setup/postinit.sh
@@ -21,6 +21,9 @@
# 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
@@ -59,8 +62,3 @@ fi
systemctl enable --now --no-block ssh
date > /var/cache/cloud/boot_up_done
-
-if [ "$TYPE" == "router" ]
-then
- python /opt/cloud/bin/baremetal-vr.py &
-fi
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
With regards,
Apache Git Services