Want to easily install single-node OpenStack on Ubuntu? With the Lenovo project, you can easily and automatically install complex software stacks. This will shift you from having no large software skills to using it without having to learn how to deploy it. We have another article on how to set up OpenStack on Ubuntu using DevStack. If you need an alternative solution, check it out.
A list of changeable spells that can be used Registry. Some popular spells that can be installed by summoning include:
- Kubernetes – microk8s, deceptive kubernetes
- Big data – hadoop
- and many more
My computer specifications
- RAM: 16 GB
- Disk: 512 GB (SSD)
- CPU: 8 cores
- operating system: Ubuntu 18.04
Step 1: Update Ubuntu:
Update your Ubuntu computer.
$ sudo apt update $ sudo apt -y upgrade [sudo] password for jkmutai: Reading package lists... Done Building dependency tree Reading state information... Done Calculating upgrade... Done
If not actively used, you can choose to reboot your computer after the upgrade:
Step 2: Install the variant
conjure-up can be used as a snapshot on Ubuntu.
$ sudo apt install snapd $ sudo snap install conjure-up --classic conjure-up 2.6.10-20191109.1611 from Canonical✓ installed
Step 3: Install LXD on Ubuntu
The concept requires that the minimum version of LXD is 3.0.0. Before using variants, we need to install and configure LXD. You can follow LXD settings document.
$ sudo snap install lxd lxd 3.18 from Canonical✓ installed
Your $ USER Need to be x Group to access LXD services. Add yours $ USER Do the following for the lxd group:
sudo usermod -a -G lxd $USER newgrp lxd
Initialize LXD by running the following command:
For most settings, the default value should be sufficient.
Would you like to use LXD clustering? (yes/no) [default=no]: Do you want to configure a new storage pool? (yes/no) [default=yes]: Name of the new storage pool [default=default]: Name of the storage backend to use (btrfs, ceph, dir, lvm, zfs) [default=zfs]: Create a new ZFS pool? (yes/no) [default=yes]: Would you like to use an existing block device? (yes/no) [default=no]: Size in GB of the new loop device (1GB minimum) [default=93GB]: Would you like to connect to a MAAS server? (yes/no) [default=no]: Would you like to create a new local network bridge? (yes/no) [default=yes]: What should the new bridge be called? [default=lxdbr0]: What IPv4 address should be used? (CIDR subnet notation, “auto” or “none”) [default=auto]: What IPv6 address should be used? (CIDR subnet notation, “auto” or “none”) [default=auto]: Would you like LXD to be available over the network? (yes/no) [default=no]: Would you like stale cached images to be updated automatically? (yes/no) [default=yes] Would you like a YAML "lxd init" preseed to be printed? (yes/no) [default=no]:
Confirm that the bridge is created.
$ ip ad 1: lo:
mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: wlp6s0: mtu 1500 qdisc mq state UP group default qlen 1000 link/ether a4:c4:94:95:1b:45 brd ff:ff:ff:ff:ff:ff inet 192.168.100.110/24 brd 192.168.100.255 scope global dynamic noprefixroute wlp6s0 valid_lft 85559sec preferred_lft 85559sec inet6 fe80::3851:679f:eafe:2553/64 scope link noprefixroute valid_lft forever preferred_lft forever 3: lxdbr0: mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000 link/ether 5a:e5:cb:27:5d:e8 brd ff:ff:ff:ff:ff:ff inet 10.60.49.1/24 scope global lxdbr0 valid_lft forever preferred_lft forever inet6 fd42:81d3:730a:7bdf::1/64 scope global valid_lft forever preferred_lft forever inet6 fe80::58e5:cbff:fe27:5de8/64 scope link valid_lft forever preferred_lft forever
For localhost deployment, LXD must define a bridge:
lxc network set lxdbr0 ipv4.address=auto ipv4.nat=true ipv6.address=none ipv6.nat=false
Confirm that IPv6 is disabled:
$ lxc network show lxdbr0 config: ipv4.address: 10.173.59.1/24 ipv4.nat: "true" ipv6.address: none ipv6.nat: "false" description: "" name: lxdbr0 type: bridge used_by: - /1.0/containers/juju-4569b7-0 - /1.0/containers/juju-4569b7-1 - /1.0/containers/juju-4569b7-2 - /1.0/containers/juju-4569b7-3 - /1.0/containers/juju-63515f-0 managed: true status: Created locations: - none
For those who use a corporate proxy in their network, you need to configure LXD to use the proxy for external access.
lxc config set core.proxy_http
lxc config set core.proxy_https lxc config set core.proxy_ignore_hosts
Step 4: Install and configure OpenStack with LXD on Ubuntu
After installing LXD and pre-configuration, it’s time to install OpenStack on Ubuntu. Generate ssh key:
$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/jkmutai/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/jkmutai/.ssh/id_rsa. Your public key has been saved in /home/jkmutai/.ssh/id_rsa.pub. The key fingerprint is: SHA256:02cZvM0AwvpQZji7Jnuccr6FOgci7LrgLaGj5e2SjEs [email protected] The key's randomart image is: +---[RSA 2048]----+ | o. . | | o =. o | | B + | | + . B | |. +S . = o | |.o. o o... o | |+Eoo *... | |B==.+.*. | |B=o++Bo. | +----[SHA256]-----+
You can install single-node OpenStack on Ubuntu in an interactive session. Run the command. This will list you all the available spells:
select”OpenStack with NovaLXDSpelling in the dialog.
On the screen, select “local host“.
Select the LXD bridge for deployment.
Provide the path to the ssh public key to use when launching the OpenStack instance.
Compliant with OpenStack services being deployed and commissioned deploy.
Please be patient as it may take some time to complete the deployment on OpenStack on LXD. The Juju controller will first initialize and then control and perform other installation steps.
After successful installation, a screen similar to the following will be displayed.
Make a note of the Horizon URL and access credentials.
The default credentials are:
Username: admin Password: openstack
Uninstall Change itself:
sudo snap remove conjure-up
that’s it. I like to run OpenStack on Ubuntu. More guidelines for OpenStack management are shared below.
How to resize / expand Cinder in OpenStack
How to rename an instance / server in OpenStack
How to assign a floating IP address to an instance in OpenStack
How to create an OpenStack instance with a fixed / static IP address
How to create OpenStack projects, users and roles