diff --git a/debian/cloudstack-agent.postinst b/debian/cloudstack-agent.postinst
index 0942047a340..758af6e068f 100755
--- a/debian/cloudstack-agent.postinst
+++ b/debian/cloudstack-agent.postinst
@@ -53,6 +53,13 @@ case "$1" in
fi
cp -a /usr/share/cloudstack-agent/lib/libvirtqemuhook /etc/libvirt/hooks/qemu
+ # Print help message
+ if [ -f "/usr/share/cloudstack-common/scripts/installer/cloudstack-help-text" ];then
+ acs_version=$(dpkg -l |grep cloudstack-agent |head -n1 |awk '{print $3}')
+ sed -i "s,^ACS_VERSION=.*,ACS_VERSION=$acs_version,g" /usr/share/cloudstack-common/scripts/installer/cloudstack-help-text
+ /usr/share/cloudstack-common/scripts/installer/cloudstack-help-text agent
+ fi
+
;;
esac
diff --git a/debian/cloudstack-management.postinst b/debian/cloudstack-management.postinst
index e3dd52821a5..4527cbe068c 100755
--- a/debian/cloudstack-management.postinst
+++ b/debian/cloudstack-management.postinst
@@ -71,6 +71,13 @@ if [ "$1" = configure ]; then
grep -s -q "^db.usage.slaves=" ${CONFDIR}/${DBPROPS} && sed -i "s/^db.usage.slaves=/db.usage.replicas=/g" ${CONFDIR}/${DBPROPS}
grep -s -q "^db.usage.secondsBeforeRetryMaster=" ${CONFDIR}/${DBPROPS} && sed -i "s/^db.usage.secondsBeforeRetryMaster=/db.usage.secondsBeforeRetrySource=/g" ${CONFDIR}/${DBPROPS}
grep -s -q "^db.usage.queriesBeforeRetryMaster=" ${CONFDIR}/${DBPROPS} && sed -i "s/^db.usage.queriesBeforeRetryMaster=/db.usage.queriesBeforeRetrySource=/g" ${CONFDIR}/${DBPROPS}
+
+ # Print help message
+ if [ -f "/usr/share/cloudstack-common/scripts/installer/cloudstack-help-text" ];then
+ acs_version=$(dpkg -l |grep cloudstack-management |head -n1 |awk '{print $3}')
+ sed -i "s,^ACS_VERSION=.*,ACS_VERSION=$acs_version,g" /usr/share/cloudstack-common/scripts/installer/cloudstack-help-text
+ /usr/share/cloudstack-common/scripts/installer/cloudstack-help-text management
+ fi
fi
#DEBHELPER#
diff --git a/debian/cloudstack-usage.postinst b/debian/cloudstack-usage.postinst
index 61fac833805..f39725687cb 100755
--- a/debian/cloudstack-usage.postinst
+++ b/debian/cloudstack-usage.postinst
@@ -40,6 +40,13 @@ case "$1" in
rm -f /etc/cloudstack/usage/key
ln -s /etc/cloudstack/management/key /etc/cloudstack/usage/key
fi
+
+ # Print help message
+ if [ -f "/usr/share/cloudstack-common/scripts/installer/cloudstack-help-text" ];then
+ acs_version=$(dpkg -l |grep cloudstack-usage |head -n1 |awk '{print $3}')
+ sed -i "s,^ACS_VERSION=.*,ACS_VERSION=$acs_version,g" /usr/share/cloudstack-common/scripts/installer/cloudstack-help-text
+ /usr/share/cloudstack-common/scripts/installer/cloudstack-help-text usage
+ fi
;;
esac
diff --git a/packaging/centos7/cloud.spec b/packaging/centos7/cloud.spec
index 0e2a5944a0d..604e853e12a 100644
--- a/packaging/centos7/cloud.spec
+++ b/packaging/centos7/cloud.spec
@@ -458,6 +458,13 @@ chown -R cloud:cloud /var/log/cloudstack/management
systemctl daemon-reload
+%posttrans management
+# Print help message
+if [ -f "/usr/share/cloudstack-common/scripts/installer/cloudstack-help-text" ];then
+ sed -i "s,^ACS_VERSION=.*,ACS_VERSION=%{_maventag},g" /usr/share/cloudstack-common/scripts/installer/cloudstack-help-text
+ /usr/share/cloudstack-common/scripts/installer/cloudstack-help-text management
+fi
+
%preun agent
/sbin/service cloudstack-agent stop || true
if [ "$1" == "0" ] ; then
@@ -496,6 +503,13 @@ fi
systemctl daemon-reload
+%posttrans agent
+# Print help message
+if [ -f "/usr/share/cloudstack-common/scripts/installer/cloudstack-help-text" ];then
+ sed -i "s,^ACS_VERSION=.*,ACS_VERSION=%{_maventag},g" /usr/share/cloudstack-common/scripts/installer/cloudstack-help-text
+ /usr/share/cloudstack-common/scripts/installer/cloudstack-help-text agent
+fi
+
%pre usage
id cloud > /dev/null 2>&1 || /usr/sbin/useradd -M -U -c "CloudStack unprivileged user" \
-r -s /bin/sh -d %{_localstatedir}/cloudstack/management cloud|| true
@@ -524,6 +538,13 @@ if [ ! -f "%{_sysconfdir}/%{name}/usage/key" ]; then
ln -s %{_sysconfdir}/%{name}/management/key %{_sysconfdir}/%{name}/usage/key
fi
+%posttrans usage
+# Print help message
+if [ -f "/usr/share/cloudstack-common/scripts/installer/cloudstack-help-text" ];then
+ sed -i "s,^ACS_VERSION=.*,ACS_VERSION=%{_maventag},g" /usr/share/cloudstack-common/scripts/installer/cloudstack-help-text
+ /usr/share/cloudstack-common/scripts/installer/cloudstack-help-text usage
+fi
+
%post marvin
pip install --upgrade https://files.pythonhosted.org/packages/ca/ea/1e2553b088bad2f9fa8120c2624f797b2d7450d3b61bb492d29c72e3d3c2/mysql_connector_python-8.0.20-cp27-cp27mu-manylinux1_x86_64.whl
pip install --upgrade /usr/share/cloudstack-marvin/Marvin-*.tar.gz
diff --git a/packaging/centos8/cloud.spec b/packaging/centos8/cloud.spec
index 8088ff480c3..cec88a20a72 100644
--- a/packaging/centos8/cloud.spec
+++ b/packaging/centos8/cloud.spec
@@ -449,6 +449,13 @@ chown -R cloud:cloud /var/log/cloudstack/management
systemctl daemon-reload
+%posttrans management
+# Print help message
+if [ -f "/usr/share/cloudstack-common/scripts/installer/cloudstack-help-text" ];then
+ sed -i "s,^ACS_VERSION=.*,ACS_VERSION=%{_maventag},g" /usr/share/cloudstack-common/scripts/installer/cloudstack-help-text
+ /usr/share/cloudstack-common/scripts/installer/cloudstack-help-text management
+fi
+
%preun agent
/sbin/service cloudstack-agent stop || true
if [ "$1" == "0" ] ; then
@@ -487,6 +494,13 @@ fi
systemctl daemon-reload
+%posttrans agent
+# Print help message
+if [ -f "/usr/share/cloudstack-common/scripts/installer/cloudstack-help-text" ];then
+ sed -i "s,^ACS_VERSION=.*,ACS_VERSION=%{_maventag},g" /usr/share/cloudstack-common/scripts/installer/cloudstack-help-text
+ /usr/share/cloudstack-common/scripts/installer/cloudstack-help-text agent
+fi
+
%pre usage
id cloud > /dev/null 2>&1 || /usr/sbin/useradd -M -U -c "CloudStack unprivileged user" \
-r -s /bin/sh -d %{_localstatedir}/cloudstack/management cloud|| true
@@ -515,6 +529,13 @@ if [ ! -f "%{_sysconfdir}/%{name}/usage/key" ]; then
ln -s %{_sysconfdir}/%{name}/management/key %{_sysconfdir}/%{name}/usage/key
fi
+%posttrans usage
+# Print help message
+if [ -f "/usr/share/cloudstack-common/scripts/installer/cloudstack-help-text" ];then
+ sed -i "s,^ACS_VERSION=.*,ACS_VERSION=%{_maventag},g" /usr/share/cloudstack-common/scripts/installer/cloudstack-help-text
+ /usr/share/cloudstack-common/scripts/installer/cloudstack-help-text usage
+fi
+
%post marvin
pip install --upgrade https://files.pythonhosted.org/packages/ca/ea/1e2553b088bad2f9fa8120c2624f797b2d7450d3b61bb492d29c72e3d3c2/mysql_connector_python-8.0.20-cp27-cp27mu-manylinux1_x86_64.whl
pip install --upgrade /usr/share/cloudstack-marvin/Marvin-*.tar.gz
diff --git a/packaging/suse15/cloud.spec b/packaging/suse15/cloud.spec
index 7e5c38fb974..66010c50edf 100644
--- a/packaging/suse15/cloud.spec
+++ b/packaging/suse15/cloud.spec
@@ -443,6 +443,13 @@ chown -R cloud:cloud /var/log/cloudstack/management
systemctl daemon-reload
+%posttrans management
+# Print help message
+if [ -f "/usr/share/cloudstack-common/scripts/installer/cloudstack-help-text" ];then
+ sed -i "s,^ACS_VERSION=.*,ACS_VERSION=%{_maventag},g" /usr/share/cloudstack-common/scripts/installer/cloudstack-help-text
+ /usr/share/cloudstack-common/scripts/installer/cloudstack-help-text management
+fi
+
%preun agent
/sbin/service cloudstack-agent stop || true
if [ "$1" == "0" ] ; then
@@ -481,6 +488,13 @@ fi
systemctl daemon-reload
+%posttrans agent
+# Print help message
+if [ -f "/usr/share/cloudstack-common/scripts/installer/cloudstack-help-text" ];then
+ sed -i "s,^ACS_VERSION=.*,ACS_VERSION=%{_maventag},g" /usr/share/cloudstack-common/scripts/installer/cloudstack-help-text
+ /usr/share/cloudstack-common/scripts/installer/cloudstack-help-text agent
+fi
+
%pre usage
id cloud > /dev/null 2>&1 || /usr/sbin/useradd -M -U -c "CloudStack unprivileged user" \
-r -s /bin/sh -d %{_localstatedir}/cloudstack/management cloud|| true
@@ -509,6 +523,13 @@ if [ ! -f "%{_sysconfdir}/%{name}/usage/key" ]; then
ln -s %{_sysconfdir}/%{name}/management/key %{_sysconfdir}/%{name}/usage/key
fi
+%posttrans usage
+# Print help message
+if [ -f "/usr/share/cloudstack-common/scripts/installer/cloudstack-help-text" ];then
+ sed -i "s,^ACS_VERSION=.*,ACS_VERSION=%{_maventag},g" /usr/share/cloudstack-common/scripts/installer/cloudstack-help-text
+ /usr/share/cloudstack-common/scripts/installer/cloudstack-help-text usage
+fi
+
%post marvin
pip install --upgrade https://files.pythonhosted.org/packages/ca/ea/1e2553b088bad2f9fa8120c2624f797b2d7450d3b61bb492d29c72e3d3c2/mysql_connector_python-8.0.20-cp27-cp27mu-manylinux1_x86_64.whl
pip install --upgrade /usr/share/cloudstack-marvin/Marvin-*.tar.gz
diff --git a/scripts/installer/cloudstack-help-text b/scripts/installer/cloudstack-help-text
new file mode 100755
index 00000000000..75327cf3f5b
--- /dev/null
+++ b/scripts/installer/cloudstack-help-text
@@ -0,0 +1,43 @@
+#!/bin/sh
+# 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.
+
+ACS_VERSION=
+ACL_MINOR_VERSION=$(echo $ACS_VERSION | cut -d'-' -f1)
+
+case $1 in
+ management)
+ PACKAGE="Managment Server"
+ ;;
+ usage)
+ PACKAGE="Usage Server"
+ ;;
+ agent)
+ PACKAGE="Agent"
+ ;;
+esac
+
+printf "\n"
+printf "Thank you for installing Apache CloudStack ${PACKAGE} ${ACS_VERSION} !\n"
+printf "\n"
+printf " * Project website: https://cloudstack.apache.org/\n"
+printf " * Documentation: https://docs.cloudstack.apache.org/en/${ACL_MINOR_VERSION:-latest}/\n"
+printf " * Release notes: https://docs.cloudstack.apache.org/en/${ACL_MINOR_VERSION:-latest}/releasenotes/\n"
+printf " * Join mailing lists: https://cloudstack.apache.org/mailing-lists.html\n"
+printf " * Take the survey: https://cloudstack.apache.org/survey.html\n"
+printf " * Report issues: https://github.com/apache/cloudstack/issues/new\n"
+printf "\n"
diff --git a/ui/public/locales/en.json b/ui/public/locales/en.json
index 3008c14430e..9e10469d305 100644
--- a/ui/public/locales/en.json
+++ b/ui/public/locales/en.json
@@ -3035,6 +3035,13 @@
"message.host.dedication.released": "Host dedication released",
"message.info.cloudian.console": "Cloudian Management Console should open in another window",
"message.installwizard.click.retry": "Click the button to retry launch.",
+"message.installwizard.cloudstack.helptext.header": "\nFind more information on pages below.\n",
+"message.installwizard.cloudstack.helptext.website": " * Project website:\t ",
+"message.installwizard.cloudstack.helptext.document": " * Documentation:\t ",
+"message.installwizard.cloudstack.helptext.releasenotes": " * Release notes:\t ",
+"message.installwizard.cloudstack.helptext.mailinglists": " * Join mailing lists:\t ",
+"message.installwizard.cloudstack.helptext.survey": " * Take the survey:\t ",
+"message.installwizard.cloudstack.helptext.issues": " * Report issues:\t ",
"message.installwizard.copy.whatisacluster": "A cluster provides a way to group hosts. The hosts in a cluster all have identical hardware, run the same hypervisor, are on the same subnet, and access the same shared storage. Virtual machine instances (VMs) can be live-migrated from one host to another within the same cluster, without interrupting service to the user. A cluster is the third-largest organizational unit within a CloudStack™; deployment. Clusters are contained within pods, and pods are contained within zones.
CloudStack™; allows multiple clusters in a cloud deployment, but for a Basic Installation, we only need one cluster.",
"message.installwizard.copy.whatisahost": "A host is a single computer. Hosts provide the computing resources that run the guest virtual machines. Each host has hypervisor software installed on it to manage the guest VMs (except for bare metal hosts, which are a special case discussed in the Advanced Installation Guide). For example, a Linux KVM-enabled server, a Citrix XenServer server, and an ESXi server are hosts. In a Basic Installation, we use a single host running XenServer or KVM.
The host is the smallest organizational unit within a CloudStack™; deployment. Hosts are contained within clusters, clusters are contained within pods, and pods are contained within zones.",
"message.installwizard.copy.whatisapod": "A pod often represents a single rack. Hosts in the same pod are in the same subnet.
A pod is the second-largest organizational unit within a CloudStack™; deployment. Pods are contained within zones. Each zone can contain one or more pods; in the Basic Installation, you will have just one pod in your zone.",
diff --git a/ui/src/views/dashboard/OnboardingDashboard.vue b/ui/src/views/dashboard/OnboardingDashboard.vue
index 9b8fd364783..a875147174e 100644
--- a/ui/src/views/dashboard/OnboardingDashboard.vue
+++ b/ui/src/views/dashboard/OnboardingDashboard.vue
@@ -27,6 +27,15 @@
{{ $t('message.installwizard.copy.whatiscloudstack') }}
+ {{ $t('message.installwizard.cloudstack.helptext.header') }}
+ {{ $t('message.installwizard.cloudstack.helptext.website') }}https://cloudstack.apache.org
+ {{ $t('message.installwizard.cloudstack.helptext.document') }}https://docs.cloudstack.apache.org/en/{{ cloudstackminorversion }}
+ {{ $t('message.installwizard.cloudstack.helptext.releasenotes') }}https://docs.cloudstack.apache.org/en/{{ cloudstackminorversion }}/releasenotes/
+
+ {{ $t('message.installwizard.cloudstack.helptext.mailinglists') }}https://cloudstack.apache.org/mailing-lists.html
+ {{ $t('message.installwizard.cloudstack.helptext.survey') }}https://cloudstack.apache.org/survey.html
+ {{ $t('message.installwizard.cloudstack.helptext.issues') }}https://github.com/apache/cloudstack/issues/new
+