diff --git a/debian/cloudstack-agent.postinst b/debian/cloudstack-agent.postinst
index 0942047a3403..758af6e068ff 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 e3dd52821a59..4527cbe068c5 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 61fac8338053..f39725687cbe 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 0728f589829b..c067f011b9f6 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 31d85dda0806..666f2d8191c3 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 30300c6be471..8cfa138279d2 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 000000000000..75327cf3f5b9
--- /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 ad0173452211..12375ce0edde 100644
--- a/ui/public/locales/en.json
+++ b/ui/public/locales/en.json
@@ -3015,6 +3015,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 9b8fd3647839..a875147174e4 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
+