
On November 7, we did a mini-course on Top Sysadmin Tasks and How to Do Them with OpenStack, and we promised to give you instructions on how to install OpenStack on your own laptop. Here it is.
The purpose of this guide is to allow you to install and deploy OpenStack on your own laptops or cloud VMs and follow the webinar exercises at home. The guide is both hardware and OS agnostic and can be used with AMD or Intel and Windows, Mac, or Linux. Furthermore the installation below is completely isolated and self contained using Virtual Machines. The guide is provided as is and Mirantis inc. is not responsible for any issues that may occur as a result of following this guide.
Step 1.
Create a Linux VM locally on your computer (for example, using VirtualBox) or remotely in the cloud (for example on AWS).
The VM needs to satisfy the following conditions:
- VM needs at least 4 GB of memory and access to the Internet, and it needs to be accessible (at least) on tcp ports 22 (or console) and 80 from your laptop.
- Devstack attempts to support Ubuntu 16.04/17.04, Fedora 24/25, CentOS/RHEL 7, as well as Debian and OpenSUSE.
- If you do not have a preference, Ubuntu 16.04 is the most tested, and will probably go the smoothest.
Warning:
DevStack will make substantial changes to your system during installation. Only run DevStack on servers or virtual machines that are dedicated to this purpose.
Step 2.
Log into the VM using ssh or the console.
Step 3.
You’ll need to run Devstack as a non-root user with sudo enabled. You can quickly create a separate user called stack to run DevStack with:
sudo useradd -s /bin/bash -d /opt/stack -m stack
Step 4.
Because this user, stack, will be making many changes to your system, it should have sudo privileges:
echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack
You should see output of:
stack ALL=(ALL) NOPASSWD: ALL
Step 5.
Now you need to switch over to use the user stack:
sudo su - stack
Step 6.
Download DevStack:
git clone https://github.com/openstack-dev/devstack.git -b stable/pike devstack/
You should see:
Cloning into 'devstack'...
Notes
The above command downloads OpenStack release Pike. You can also check the list of available releases. To download releases in EOL status (End Of Life) replace -b stable/pike
with, for example, -b liberty-eol
(for Liberty).
Step 7.
Change to the devstack directory:
cd devstack/
Step 8:
Determine your IP address:
sudo ifconfig
You will see a response something like this:
enp0s3 Link encap:Ethernet HWaddr 08:00:27:ea:97:9f inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0 inet6 addr: fe80::d715:6025:f469:6f7c/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1364291 errors:0 dropped:0 overruns:0 frame:0 TX packets:406550 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1415725472 (1.4 GB) TX bytes:27942474 (27.9 MB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:229208 errors:0 dropped:0 overruns:0 frame:0 TX packets:229208 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:89805124 (89.8 MB) TX bytes:89805124 (89.8 MB)
You’re looking for the addr: value in an interface other than lo. For example, in this case, it’s 10.0.2.15. Make note of that for the next step. If you run your VM on the cloud, make sure to use the public IP of your VM in the link.
Step 9.
Create the local.conf file with 4 passwords and your host IP, which you determined in the last step:
cat > local.conf <<EOF [[local|localrc]] ADMIN_PASSWORD=secret DATABASE_PASSWORD=\$ADMIN_PASSWORD RABBIT_PASSWORD=\$ADMIN_PASSWORD SERVICE_PASSWORD=\$ADMIN_PASSWORD HOST_IP=10.0.2.15 RECLONE=yes EOF
This is the minimum required config to get started with DevStack.
Step 10.
Now install and run OpenStack:
./stack.sh
At the end of the process you should see output something like this:
This is your host IP address: 10.0.2.15 This is your host IPv6 address: ::1 Horizon is now available at http://10.0.2.15/dashboard Keystone is serving at http://10.0.2.15/identity/ The default users are: admin and demo The password: secret DevStack Version: pike OS Version: Ubuntu 16.04 xenial stack.sh completed in 1221 seconds.
This will take a 15 – 20 minutes, largely depending on the speed of your internet connection. Many git trees and packages will be installed during this process.
Step 11.
Access your OpenStack by copy-pasting the link from the above output into your web browser:
Use the default users demo or admin and configured password from step 8 (secret).
You should see the following log-in window in your browser:
From here, you can do whatever you need to, either from the Horizon interface, or by downloading credentials to use the command line.
You can find out how to do some of the more common tasks by viewing the original webinar, or check out our OpenStack Training resources.
I was facing trouble while installing OpenStack. I got it done now. Thank a lot for the guide Grzegorz.
Hareesh
Didn’t knew we can install OpenStack using DevStack. Thanks for sharing. Very informative article.
David Mishra
fyi,
step 3-5 can be replaced by devstack tools/create-stack-user.sh
hi
thank you very much for the guide,but i got this error during installation and i’m using ubuntu server 16.04 , please help me:
/home/stack/devstack/stackrs:749 exit_distro_not_supported
/home/stack/devstack/functions-common: 265:die
[ERROR] /home/stack/devstack/functions-common: 265 support for xenial is incomplete : no support for invalid hardware type-
Thank you
It may be you have 32 bit Ubuntu 16.4 try installing Ubuntu 64 bit
hey!
thank you for this installation guide,but i got this error during installation and i’m using ubuntu server 16.04 , please help me:
/opt/stack/devstack/.localrc.auto: line 8: EOF: command not found
++./stack.sh:main:760 err_trap
++./stack.sh:err_trap:556 local r=127
++./stack.sh:err_trap:557 set +o xtrace
stack.sh failed
Error on exit
./stack.sh: line 540: generate-subunit: command not found
I have successfully installed OpenStack using DevStack. Thank you so much for the guide Grzegorz.
Thank you very much. Your guide has made it very easy for me to install.
Thanks!
Thank you a lot for sharing. I followed this procedure on Fedora 20 and below is the error
“File “/usr/lib/python2.7/site-packages/pkg_resources.py”, line 1220, in comparison
raise SyntaxError(repr(cop)+” operator not allowed in environment markers”)
SyntaxError: ‘<' operator not allowed in environment markers
error in setup command: Error parsing /opt/stack/cinder/setup.cfg: SyntaxError: '<' operator not allowed in environment markers"
What am i missing?
Try upgrading pip and setuptools. It helped for me.
#pip install –upgrade pip
#pip install –upgrade setuptools
Hello to you and thank you very much for your installation guide that I followed to the letter. However, I am struck by an error during the finalization of my installation.
My error code is as follows:
devstack @ Job for DCE. Service flawed because the control process exided with error code.
See “Systemct1 Status Devstack @ DCE. service ” and “Journalct1-XE ” for details.
Please help me find a solution for my problem. Thank you well, I stay tuned
I am getting this error. please help
Error on exit
World dumping… see /opt/stack/logs/worlddump-2018-08-13-070106.txt for details
df: ‘/run/user/1000/gvfs’: Permission denied
https://github.com/etcd-io/etcd/releases/download/v3.1.7/etcd-v3.1.7-linux-ppc64le.tar.gz not found error.
Thanks, we’ll get that updated!
The problem seems to affect computers with PPC arch.
There is no etcd 3.1.7 for PPC.
You can try several solutions:
1)
switch to some newer releases of OpenStack
or
2)
change etcd version to some newer version with PPC arch supported
somewere in local.conf:
ETCD_DOWNLOAD_URL=some_url
to
https://github.com/etcd-io/etcd/releases/download/v3.2.0-rc.1/etcd-v3.2.0-rc.1-linux-ppc64le.tar.gz
(from https://github.com/etcd-io/etcd/releases/tag/v3.2.0-rc.1)
or
3)
disable etcd in local.conf:
disable_service etcd3
but it might break other things 🙁
Kindly include chown -R stack /opt/stack/.cache into installation list. As it’s giving permission error while installation
Hi,
thank you for this post,
can i add compute node to this setup (aio)
Hey, I need a help. I got this error while installing Openstack :
[
If you wish to run this script anyway run with FORCE=yes
/opt/stack/devstack/functions-common: line 232: /opt/stack/logs/error.log: No such file or directory
]
Please can anyone help me, thanks a lot
What ubuntu version are you using?
Devstack is not tested in Ubuntu 18.04 so, if you try to install it in this version, you will get this error.
I am getting this error. please help.
CRITICAL keystone [-] Unhandled error: KeyError: ‘connection’
ERROR keystone Traceback (most recent call last):
ERROR keystone File “/usr/local/bin/keystone-manage”, line 10, in
ERROR keystone sys.exit(main())
ERROR keystone File “/opt/stack/keystone/keystone/cmd/manage.py”, line 45, in main
ERROR keystone cli.main(argv=sys.argv, config_files=config_files)
ERROR keystone File “/opt/stack/keystone/keystone/cmd/cli.py”, line 1331, in main
ERROR keystone CONF.command.cmd_class.main()
ERROR keystone File “/opt/stack/keystone/keystone/cmd/cli.py”, line 530, in main
ERROR keystone CONF.command.version)
ERROR keystone File “/opt/stack/keystone/keystone/common/sql/upgrades.py”, line 250, in offline_sync_database_to_version
ERROR keystone expand_schema()
ERROR keystone File “/opt/stack/keystone/keystone/common/sql/upgrades.py”, line 321, in expand_schema
ERROR keystone _sync_common_repo(version=None)
ERROR keystone File “/opt/stack/keystone/keystone/common/sql/upgrades.py”, line 166, in _sync_common_repo
ERROR keystone with sql.session_for_write() as session:
ERROR keystone File “/usr/lib/python2.7/contextlib.py”, line 17, in __enter__
ERROR keystone return self.gen.next()
ERROR keystone File “/usr/local/lib/python2.7/dist-packages/oslo_db/sqlalchemy/enginefacade.py”, line 1030, in _transaction_scope
ERROR keystone context=context) as resource:
ERROR keystone File “/usr/lib/python2.7/contextlib.py”, line 17, in __enter__
ERROR keystone return self.gen.next()
ERROR keystone File “/usr/local/lib/python2.7/dist-packages/oslo_db/sqlalchemy/enginefacade.py”, line 635, in _session
ERROR keystone bind=self.connection, mode=self.mode)
ERROR keystone File “/usr/local/lib/python2.7/dist-packages/oslo_db/sqlalchemy/enginefacade.py”, line 399, in _create_session
ERROR keystone self._start()
ERROR keystone File “/usr/local/lib/python2.7/dist-packages/oslo_db/sqlalchemy/enginefacade.py”, line 485, in _start
ERROR keystone url_args[‘connection’],
ERROR keystone KeyError: ‘connection’
ERROR keystone
+lib/keystone:init_keystone:1 exit_trap
+./stack.sh:exit_trap:521 local r=1
++./stack.sh:exit_trap:522 jobs -p
+./stack.sh:exit_trap:522 jobs=
+./stack.sh:exit_trap:525 [[ -n ” ]]
+./stack.sh:exit_trap:531 ‘[‘ -f /tmp/tmp.is3D6jBwEk ‘]’
+./stack.sh:exit_trap:532 rm /tmp/tmp.is3D6jBwEk
+./stack.sh:exit_trap:536 kill_spinner
+./stack.sh:kill_spinner:417 ‘[‘ ‘!’ -z ” ‘]’
+./stack.sh:exit_trap:538 [[ 1 -ne 0 ]]
+./stack.sh:exit_trap:539 echo ‘Error on exit’
Error on exit
+./stack.sh:exit_trap:541 type -p generate-subunit
+./stack.sh:exit_trap:542 generate-subunit 1560520948 161 fail
+./stack.sh:exit_trap:544 [[ -z /opt/stack/logs ]]
+./stack.sh:exit_trap:547 /opt/stack/devstack/tools/worlddump.py -d /opt/stack/logs
World dumping… see /opt/stack/logs/worlddump-2019-06-14-140509.txt for details
+./stack.sh:exit_trap:556 exit 1
Please help me ,Thanks a lot!
When I try this command “sudo ifconfig”, it asks me for “stack” user password, but I didn’t setup a password in the previous step?
Thanks,
Jalal
iam facing this kind of error idont no how to solve iam using ubuntu 16.04
CRITICAL keystone [-] Unhandled error: KeyError: ‘connection’
ERROR keystone Traceback (most recent call last):
ERROR keystone File “/usr/local/bin/keystone-manage”, line 10, in
ERROR keystone sys.exit(main())
ERROR keystone File “/opt/stack/keystone/keystone/cmd/manage.py”, line 45, in main
ERROR keystone cli.main(argv=sys.argv, config_files=config_files)
ERROR keystone File “/opt/stack/keystone/keystone/cmd/cli.py”, line 1331, in main
ERROR keystone CONF.command.cmd_class.main()
ERROR keystone File “/opt/stack/keystone/keystone/cmd/cli.py”, line 530, in main
ERROR keystone CONF.command.version)
ERROR keystone File “/opt/stack/keystone/keystone/common/sql/upgrades.py”, line 250, in offline_sync_database_to_version
ERROR keystone expand_schema()
ERROR keystone File “/opt/stack/keystone/keystone/common/sql/upgrades.py”, line 321, in expand_schema
ERROR keystone _sync_common_repo(version=None)
ERROR keystone File “/opt/stack/keystone/keystone/common/sql/upgrades.py”, line 166, in _sync_common_repo
ERROR keystone with sql.session_for_write() as session:
ERROR keystone File “/usr/lib/python2.7/contextlib.py”, line 17, in __enter__
ERROR keystone return self.gen.next()
ERROR keystone File “/usr/local/lib/python2.7/dist-packages/oslo_db/sqlalchemy/enginefacade.py”, line 1030, in _transaction_scope
ERROR keystone context=context) as resource:
ERROR keystone File “/usr/lib/python2.7/contextlib.py”, line 17, in __enter__
ERROR keystone return self.gen.next()
ERROR keystone File “/usr/local/lib/python2.7/dist-packages/oslo_db/sqlalchemy/enginefacade.py”, line 635, in _session
ERROR keystone bind=self.connection, mode=self.mode)
ERROR keystone File “/usr/local/lib/python2.7/dist-packages/oslo_db/sqlalchemy/enginefacade.py”, line 399, in _create_session
ERROR keystone self._start()
ERROR keystone File “/usr/local/lib/python2.7/dist-packages/oslo_db/sqlalchemy/enginefacade.py”, line 485, in _start
ERROR keystone url_args[‘connection’],
ERROR keystone KeyError: ‘connection’
ERROR keystone
+lib/keystone:init_keystone:1 exit_trap
+./stack.sh:exit_trap:521 local r=1
++./stack.sh:exit_trap:522 jobs -p
+./stack.sh:exit_trap:522 jobs=
+./stack.sh:exit_trap:525 [[ -n ” ]]
+./stack.sh:exit_trap:531 ‘[‘ -f /tmp/tmp.2NyY83Yxhv ‘]’
+./stack.sh:exit_trap:532 rm /tmp/tmp.2NyY83Yxhv
+./stack.sh:exit_trap:536 kill_spinner
+./stack.sh:kill_spinner:417 ‘[‘ ‘!’ -z ” ‘]’
+./stack.sh:exit_trap:538 [[ 1 -ne 0 ]]
+./stack.sh:exit_trap:539 echo ‘Error on exit’
Error on exit
+./stack.sh:exit_trap:541 type -p generate-subunit
+./stack.sh:exit_trap:542 generate-subunit 1564055596 3020 fail
+./stack.sh:exit_trap:544 [[ -z /opt/stack/logs ]]
+./stack.sh:exit_trap:547 /opt/stack/devstack/tools/worlddump.py -d /opt/stack/logs
World dumping… see /opt/stack/logs/worlddump-2019-07-25-124336.txt for details
+./stack.sh:exit_trap:556 exit 1
Thank you for your clear guide.
I tried It with Ubuntu desktop 18.04 on a VM (virtualbox).
Just before launching ./stack.sh
1) pay attention that /opt/stack/.cache Is owned by stack:stack (as writted in another post)
2) as stack user:
sudo python -m pip uninstall pip && sudo apt install python-pip reinstall
I deployed Stein instead of Pike on Centos7 in VirtualBox on MAC.
git clone https://github.com/openstack-dev/devstack.git -b stable/Stein devstack/
after installation, i could not access to Dashboard then took 2 weeks to able sort it out. actually i was looking in wrong place about this issue like Httpd configuration or Horizon and etc. but i only needed to add/access two ports 80/443 to iptable.
Centos :
sudo vim /etc/sysconfig/iptables :
-A INPUT -p tcp -m multiport –dports 80 -j ACCEPT
-A INPUT -p tcp -m multiport –dports 443 -j ACCEPT
enjoy.
++functions-common:is_service_enabled:2155 grep xtrace
++functions-common:is_service_enabled:2155 set +o
+functions-common:is_service_enabled:2155 xtrace=’set -o xtrace’
+functions-common:is_service_enabled:2156 set +o xtrace
+functions-common:is_service_enabled:2184 return 0
+./stack.sh:main:821 install_neutron_agent_packages
+lib/neutron:install_neutron_agent_packages:575 is_neutron_legacy_enabled
+lib/neutron:is_neutron_legacy_enabled:103 [[ , =~ ,neutron ]]
+lib/neutron:is_neutron_legacy_enabled:104 [[ ,key,n-api,n-cpu,n-cond,n-sch,n-novnc,n-cauth,n-api-meta,placement-api,placement-client,g-api,g-reg,c-sch,c-api,c-vol,q-svc,q-dhcp,q-meta,q-agt,q-l3,horizon,rabbit,tempest,mysql,etcd3,dstat =~ ,q- ]]
+lib/neutron:is_neutron_legacy_enabled:104 return 0
+lib/neutron:install_neutron_agent_packages:577 install_neutron_agent_packages_mutnauq
+lib/neutron-legacy:install_neutron_agent_packages_mutnauq:442 is_service_enabled q-l3
+functions-common:is_service_enabled:2154 local xtrace
++functions-common:is_service_enabled:2155 set +o
++functions-common:is_service_enabled:2155 grep xtrace
+functions-common:is_service_enabled:2155 xtrace=’set -o xtrace’
+functions-common:is_service_enabled:2156 set +o xtrace
+functions-common:is_service_enabled:2184 return 0
+lib/neutron-legacy:install_neutron_agent_packages_mutnauq:443 install_package radvd
+functions-common:install_package:1282 update_package_repo
+functions-common:update_package_repo:1254 NO_UPDATE_REPOS=False
+functions-common:update_package_repo:1255 REPOS_UPDATED=True
+functions-common:update_package_repo:1256 RETRY_UPDATE=False
+functions-common:update_package_repo:1258 [[ False = \T\r\u\e ]]
+functions-common:update_package_repo:1262 is_ubuntu
+functions-common:is_ubuntu:466 [[ -z deb ]]
+functions-common:is_ubuntu:469 ‘[‘ deb = deb ‘]’
+functions-common:update_package_repo:1263 apt_get_update
+functions-common:apt_get_update:1041 [[ True == \T\r\u\e ]]
+functions-common:apt_get_update:1041 [[ False != \T\r\u\e ]]
+functions-common:apt_get_update:1042 return
+functions-common:install_package:1283 real_install_package radvd
+functions-common:real_install_package:1268 is_ubuntu
+functions-common:is_ubuntu:466 [[ -z deb ]]
+functions-common:is_ubuntu:469 ‘[‘ deb = deb ‘]’
+functions-common:real_install_package:1269 apt_get install radvd
+functions-common:apt_get:1069 local xtrace result
++functions-common:apt_get:1070 grep xtrace
++functions-common:apt_get:1070 set +o
+functions-common:apt_get:1070 xtrace=’set -o xtrace’
+functions-common:apt_get:1071 set +o xtrace
+functions-common:apt_get:1082 sudo DEBIAN_FRONTEND=noninteractive http_proxy= https_proxy= no_proxy= apt-get –option Dpkg::Options::=–force-confold –assume-yes install radvd
Reading package lists… Done
Building dependency tree
Reading state information… Done
radvd is already the newest version (1:2.11-1).
The following package was automatically installed and is no longer required:
snapd-login-service
Use ‘sudo apt autoremove’ to remove it.
0 upgraded, 0 newly installed, 0 to remove and 12 not upgraded.
+functions-common:apt_get:1086 result=0
+functions-common:apt_get:1089 time_stop apt-get
+functions-common:time_stop:2509 local name
+functions-common:time_stop:2510 local end_time
+functions-common:time_stop:2511 local elapsed_time
+functions-common:time_stop:2512 local total
+functions-common:time_stop:2513 local start_time
+functions-common:time_stop:2515 name=apt-get
+functions-common:time_stop:2516 start_time=1585823321722
+functions-common:time_stop:2518 [[ -z 1585823321722 ]]
++functions-common:time_stop:2521 date +%s%3N
+functions-common:time_stop:2521 end_time=1585823322522
+functions-common:time_stop:2522 elapsed_time=800
+functions-common:time_stop:2523 total=4069
+functions-common:time_stop:2525 _TIME_START[$name]=
+functions-common:time_stop:2526 _TIME_TOTAL[$name]=4869
+functions-common:apt_get:1090 return 0
+lib/neutron-legacy:install_neutron_agent_packages_mutnauq:446 is_service_enabled q-agt q-dhcp q-l3
+functions-common:is_service_enabled:2154 local xtrace
++functions-common:is_service_enabled:2155 set +o
++functions-common:is_service_enabled:2155 grep xtrace
+functions-common:is_service_enabled:2155 xtrace=’set -o xtrace’
+functions-common:is_service_enabled:2156 set +o xtrace
+functions-common:is_service_enabled:2184 return 0
+lib/neutron-legacy:install_neutron_agent_packages_mutnauq:447 neutron_plugin_install_agent_packages
+lib/neutron_plugins/openvswitch_agent:neutron_plugin_install_agent_packages:17 _neutron_ovs_base_install_agent_packages
++lib/neutron_plugins/ovs_base:_neutron_ovs_base_install_agent_packages:64 get_packages openvswitch
++functions-common:get_packages:1163 local xtrace
+++functions-common:get_packages:1164 grep xtrace
+++functions-common:get_packages:1164 set +o
++functions-common:get_packages:1164 xtrace=’set -o xtrace’
++functions-common:get_packages:1165 set +o xtrace
+lib/neutron_plugins/ovs_base:_neutron_ovs_base_install_agent_packages:64 install_package fakeroot make openvswitch-switch
+functions-common:install_package:1282 update_package_repo
+functions-common:update_package_repo:1254 NO_UPDATE_REPOS=False
+functions-common:update_package_repo:1255 REPOS_UPDATED=True
+functions-common:update_package_repo:1256 RETRY_UPDATE=False
+functions-common:update_package_repo:1258 [[ False = \T\r\u\e ]]
+functions-common:update_package_repo:1262 is_ubuntu
+functions-common:is_ubuntu:466 [[ -z deb ]]
+functions-common:is_ubuntu:469 ‘[‘ deb = deb ‘]’
+functions-common:update_package_repo:1263 apt_get_update
+functions-common:apt_get_update:1041 [[ True == \T\r\u\e ]]
+functions-common:apt_get_update:1041 [[ False != \T\r\u\e ]]
+functions-common:apt_get_update:1042 return
+functions-common:install_package:1283 real_install_package fakeroot make openvswitch-switch
+functions-common:real_install_package:1268 is_ubuntu
+functions-common:is_ubuntu:466 [[ -z deb ]]
+functions-common:is_ubuntu:469 ‘[‘ deb = deb ‘]’
+functions-common:real_install_package:1269 apt_get install fakeroot make openvswitch-switch
+functions-common:apt_get:1069 local xtrace result
++functions-common:apt_get:1070 set +o
++functions-common:apt_get:1070 grep xtrace
+functions-common:apt_get:1070 xtrace=’set -o xtrace’
+functions-common:apt_get:1071 set +o xtrace
+functions-common:apt_get:1082 sudo DEBIAN_FRONTEND=noninteractive http_proxy= https_proxy= no_proxy= apt-get –option Dpkg::Options::=–force-confold –assume-yes install fakeroot make openvswitch-switch
Reading package lists… Done
Building dependency tree
Reading state information… Done
fakeroot is already the newest version (1.20.2-1ubuntu1).
make is already the newest version (4.1-6).
openvswitch-switch is already the newest version (2.6.3-0ubuntu0.17.04.1~cloud0).
The following package was automatically installed and is no longer required:
snapd-login-service
Use ‘sudo apt autoremove’ to remove it.
0 upgraded, 0 newly installed, 0 to remove and 12 not upgraded.
+functions-common:apt_get:1086 result=0
+functions-common:apt_get:1089 time_stop apt-get
+functions-common:time_stop:2509 local name
+functions-common:time_stop:2510 local end_time
+functions-common:time_stop:2511 local elapsed_time
+functions-common:time_stop:2512 local total
+functions-common:time_stop:2513 local start_time
+functions-common:time_stop:2515 name=apt-get
+functions-common:time_stop:2516 start_time=1585823322739
+functions-common:time_stop:2518 [[ -z 1585823322739 ]]
++functions-common:time_stop:2521 date +%s%3N
+functions-common:time_stop:2521 end_time=1585823323520
+functions-common:time_stop:2522 elapsed_time=781
+functions-common:time_stop:2523 total=4869
+functions-common:time_stop:2525 _TIME_START[$name]=
+functions-common:time_stop:2526 _TIME_TOTAL[$name]=5650
+functions-common:apt_get:1090 return 0
+lib/neutron_plugins/ovs_base:_neutron_ovs_base_install_agent_packages:65 is_ubuntu
+functions-common:is_ubuntu:466 [[ -z deb ]]
+functions-common:is_ubuntu:469 ‘[‘ deb = deb ‘]’
+lib/neutron_plugins/ovs_base:_neutron_ovs_base_install_agent_packages:66 _neutron_ovs_base_install_ubuntu_dkms
+lib/neutron_plugins/ovs_base:_neutron_ovs_base_install_ubuntu_dkms:52 local kernel_version
++lib/neutron_plugins/ovs_base:_neutron_ovs_base_install_ubuntu_dkms:53 uname -r
+lib/neutron_plugins/ovs_base:_neutron_ovs_base_install_ubuntu_dkms:53 kernel_version=4.15.0-76-generic
+lib/neutron_plugins/ovs_base:_neutron_ovs_base_install_ubuntu_dkms:54 local kernel_major_minor
++lib/neutron_plugins/ovs_base:_neutron_ovs_base_install_ubuntu_dkms:55 echo 4.15.0-76-generic
++lib/neutron_plugins/ovs_base:_neutron_ovs_base_install_ubuntu_dkms:55 cut -d. -f1-2
+lib/neutron_plugins/ovs_base:_neutron_ovs_base_install_ubuntu_dkms:55 kernel_major_minor=4.15
+lib/neutron_plugins/ovs_base:_neutron_ovs_base_install_ubuntu_dkms:57 vercmp 4.15 ‘<' 3.13
+functions:vercmp:561 local v1=4.15
+functions:vercmp:562 local 'op=<'
+functions:vercmp:563 local v2=3.13
+functions:vercmp:564 local result
++functions:vercmp:568 head -1
++functions:vercmp:568 echo -e '4.15\n3.13'
++functions:vercmp:568 sort -V
+functions:vercmp:568 result=3.13
+functions:vercmp:570 case $op in
+functions:vercmp:580 '[' 4.15 '!=' 3.13 ']'
+functions:vercmp:580 '[' 3.13 = 4.15 ']'
+functions:vercmp:581 return
+lib/neutron_plugins/ovs_base:_neutron_ovs_base_install_agent_packages:67 restart_service openvswitch-switch
+functions-common:restart_service:2393 '[' -x /bin/systemctl ']'
+functions-common:restart_service:2394 sudo /bin/systemctl restart openvswitch-switch
+./stack.sh:main:824 is_service_enabled etcd3
+functions-common:is_service_enabled:2154 local xtrace
++functions-common:is_service_enabled:2155 set +o
++functions-common:is_service_enabled:2155 grep xtrace
+functions-common:is_service_enabled:2155 xtrace='set -o xtrace'
+functions-common:is_service_enabled:2156 set +o xtrace
+functions-common:is_service_enabled:2184 return 0
+./stack.sh:main:825 install_etcd3
+lib/etcd3:install_etcd3:93 echo 'Installing etcd'
Installing etcd
+lib/etcd3:install_etcd3:96 is_arch x86_64
++functions-common:is_arch:421 uname -m
+functions-common:is_arch:421 [[ x86_64 == \x\8\6\_\6\4 ]]
+lib/etcd3:install_etcd3:97 ETCD_ARCH=amd64
+lib/etcd3:install_etcd3:98 ETCD_SHA256=4fde194bbcd259401e2b5c462dfa579ee7f6af539f13f130b8f5b4f52e3b3c52
+lib/etcd3:install_etcd3:109 ETCD_NAME=etcd-v3.1.7-linux-amd64
+lib/etcd3:install_etcd3:112 sudo mkdir -p /opt/stack/bin
+lib/etcd3:install_etcd3:113 sudo mkdir -p /opt/stack/data/etcd
+lib/etcd3:install_etcd3:116 '[' '!' -f /opt/stack/devstack/files/etcd-v3.1.7-linux-amd64/etcd ']'
+lib/etcd3:install_etcd3:117 ETCD_DOWNLOAD_FILE=etcd-v3.1.7-linux-amd64.tar.gz
+lib/etcd3:install_etcd3:118 '[' '!' -f /opt/stack/devstack/files/etcd-v3.1.7-linux-amd64.tar.gz ']'
+lib/etcd3:install_etcd3:121 echo '4fde194bbcd259401e2b5c462dfa579ee7f6af539f13f130b8f5b4f52e3b3c52 /opt/stack/devstack/files/etcd-v3.1.7-linux-amd64.tar.gz'
+lib/etcd3:install_etcd3:123 sha256sum -c /opt/stack/devstack/files/etcd.sha256sum
/opt/stack/devstack/files/etcd-v3.1.7-linux-amd64.tar.gz: FAILED
sha256sum: WARNING: 1 computed checksum did NOT match
+lib/etcd3:install_etcd3:1 exit_trap
+./stack.sh:exit_trap:521 local r=1
++./stack.sh:exit_trap:522 jobs -p
+./stack.sh:exit_trap:522 jobs=
+./stack.sh:exit_trap:525 [[ -n '' ]]
+./stack.sh:exit_trap:531 '[' -f '' ']'
+./stack.sh:exit_trap:536 kill_spinner
+./stack.sh:kill_spinner:417 '[' '!' -z '' ']'
+./stack.sh:exit_trap:538 [[ 1 -ne 0 ]]
+./stack.sh:exit_trap:539 echo 'Error on exit'
Error on exit
+./stack.sh:exit_trap:541 type -p generate-subunit
+./stack.sh:exit_trap:542 generate-subunit 1585823233 91 fail
+./stack.sh:exit_trap:544 [[ -z /opt/stack/logs ]]
+./stack.sh:exit_trap:547 /opt/stack/devstack/tools/worlddump.py -d /opt/stack/logs
World dumping… see /opt/stack/logs/worlddump-2020-04-02-102844.txt for details
+./stack.sh:exit_trap:556
Thank you guys I used this post to deploy my OpenStack Lab although I disabled SElinux and some other components.