Single-node guided

Will try on vm, give me 30 mins.

1 Like

@pmatulis previously it endet at 4 online services, now at 5 but still timed out

Im doing it at completely raw ubuntu 22.04 LTS virtual machine connected directly via pcie passthrough (1 gig ethernet) to network

What’s your uplink speed to the internet?

Downlink: 500 Mbit
Uplink: 100 Mbit

Can you try to reproduce error? Or should I just skip openstack for now and try to continue without it?

Can I add a 2nd node later using this guide?

I deploy the microstack with a PC installed Ubuntu 22.04 with one NIC assigned a static IP address 192.168.1.188.
the netplan config is:

network:
version: 2
renderer: networkd
ethernets:
eno1:
dhcp4: no
addresses: [192.168.1.188/24]
routes:
- to: 0.0.0.0/0
via: 192.168.1.1
nameservers:
addresses: [192.168.1.1]

I use the cmd “sunbeam cluster bootstrap --accept-defaults” to bootstrap but wait a long time for “waiting for services to come online (21/29)” and finally timeout. I check the “juju status -m openstack”, the output is:

Unit Workload Agent Address Ports Message
certificate-authority/0* active idle 10.1.5.153
cinder-ceph-mysql-router/0* active idle 10.1.5.171
cinder-ceph/0* blocked idle 10.1.5.137 (ceph) integration missing
cinder-mysql-router/0* active idle 10.1.5.140
cinder-mysql/0* active idle 10.1.5.147 Primary
cinder/0* waiting idle 10.1.5.144 (workload) Not all relations are ready
glance-mysql-router/0* active idle 10.1.5.169
glance-mysql/0* active idle 10.1.5.141 Primary
glance/0* waiting idle 10.1.5.188 (ingress-internal) integration incomplete
horizon-mysql-router/0* active idle 10.1.5.160
horizon-mysql/0* active idle 10.1.5.161 Primary
horizon/0* waiting idle 10.1.5.145 (workload) Not all relations are ready
keystone-mysql-router/0* active idle 10.1.5.182
keystone-mysql/0* active idle 10.1.5.136 Primary
keystone/0* waiting idle 10.1.5.186 (workload) Not all relations are ready
neutron-mysql-router/0* active idle 10.1.5.151
neutron-mysql/0* active idle 10.1.5.183 Primary
neutron/0* waiting idle 10.1.5.149 (workload) Not all relations are ready
nova-api-mysql-router/0* active idle 10.1.5.174
nova-cell-mysql-router/0* active idle 10.1.5.175
nova-mysql-router/0* active idle 10.1.5.170
nova-mysql/0* active idle 10.1.5.164 Primary
nova/0* waiting idle 10.1.5.155 (workload) Not all relations are ready
ovn-central/0* active idle 10.1.5.165
ovn-relay/0* active idle 10.1.5.172
placement-mysql-router/0* active idle 10.1.5.180
placement-mysql/0* active idle 10.1.5.162 Primary
placement/0* waiting idle 10.1.5.181 (workload) Not all relations are ready
rabbitmq/0* active idle 10.1.5.139
traefik/0* waiting idle 10.1.5.166 gateway address unavailable

I think the core problem is “gateway address unavailable” for traefik/0*. How to solve it? Thanks.

I fix this by running the following cmds:

sudo microk8s disable metallb
sudo microk8s enable metallb:10.20.21.10-10.20.21.20

After some tests, I found that when using an HDD instead of an SSD, I encounter the issue. When using an SSD, the deployment is completed without timeouts. The document states that an SSD is a requirement. However, some other documents like these tutorials do not explicitly mention in the Requirements section that an SSD is necessary. My suggestion would be to align the requirements mentioned in document with those in tutorials like the doc.

Thanks @pedrofragola, I updated the three tutorials in this documentation set. @tkurek I believe you are maintaining the tutorials on ubuntu.com right?

1 Like

Thanks for bringing that to my attention @pmatulis. I’ve already updated tutorials at ubuntu.com/openstack/tutorials.

1 Like

Two questions will now be asked - below are samples. A value in parentheses is the default value.

Management networks shared by hosts (CIDRs, separated by comma) (10.246.112.0/21):
MetalLB address allocation range (supports multiple ranges, comma separated) (10.20.21.10-10.20.21.20):

An explanation of the above quoted settings is required here and also for the list of questions below:

A series of questions will now be asked. Below is sample output of an entire interactive session. The values in square brackets, when present, provide acceptable values. A value in parentheses is the default value.

Local or remote access to VMs [local/remote] (local): remote
CIDR of network to use for external networking (10.20.20.0/24): 10.246.112.0/21
IP address of default gateway for external network (10.246.112.1):
Populate OpenStack cloud with demo user, default images, flavors etc [y/n] (y):
Username to use for access to OpenStack (demo):
Password to use for access to OpenStack (mt********):
Network range to use for project network (192.168.122.0/24):
List of nameservers guests should use for DNS resolution (10.177.200.10):
Enable ping and SSH access to instances? [y/n] (y):
Start of IP allocation range for external network (10.246.112.2): 10.246.116.41
End of IP allocation range for external network (10.246.119.254): 10.246.116.51
Network type for access to external network [flat/vlan] (flat):
Writing openrc to demo-openrc ... done
Free network interface that will be configured for external traffic [eno3/eno2] (eno3): eno2

I want to setup on single node such that I can access the VMs remotely. However, an instruction on single node quickstart guide pointed here. During the bootstrapping and configuring the cloud steps. I have no idea what settings to enter based on my local network. I have also tried looking for any tutorials/guides elsewhere but couldn’t find any.

A link to an appropriate resource explaining the details of the questions/prompts may be extremely beneficial for a new microstack user like me.

Thank you.

Hi! I can’t launch a ubuntu VM after deploy the openstack single-node mode, there are output of deploy steps, I don’t know why it can’t launch a VM. How to solve it? Thanks.

Btw I use Ubuntu 22.04 LTS (22.04.3) on GCP, 8 vCPU (4 cores), 32 GB memory, 80 GiB of SSD

ubuntu@openstack-sunbeam:~$ sudo snap install openstack --channel 2023.1
openstack (2023.1/stable) 2023.1 from Canonical✓ installed
ubuntu@openstack-sunbeam:~$ sunbeam prepare-node-script | bash -x && newgrp snap_daemon
++ lsb_release -sc
+ '[' jammy '!=' jammy ']'
++ whoami
+ USER=ubuntu
++ id -u
+ '[' 1000 -eq 0 -o ubuntu = root ']'
+ SUDO_ASKPASS=/bin/false
+ sudo -A whoami
+ sudo grep -r ubuntu /etc/sudoers /etc/sudoers.d
+ grep NOPASSWD:ALL
+ dpkg -s openssh-server
+ echo 'fs.inotify.max_user_instances = 1024'
+ sudo tee /etc/sysctl.d/80-sunbeam.conf
fs.inotify.max_user_instances = 1024
+ sudo sysctl -q -p /etc/sysctl.d/80-sunbeam.conf
+ sudo snap connect openstack:ssh-keys
+ sudo addgroup ubuntu snap_daemon
Adding user `ubuntu' to group `snap_daemon' ...
Adding user ubuntu to group snap_daemon
Done.
+ newgrp snap_daemon
Generating public/private rsa key pair.
Your identification has been saved in /home/ubuntu/.ssh/id_rsa
Your public key has been saved in /home/ubuntu/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:nI3Uzz+LWj7hx0HV1Ryn3eDWdP2uQIs15fkxTXb8SuY ubuntu@openstack-sunbeam
The key's randomart image is:
+---[RSA 4096]----+
|              .+@|
|         .   ..*#|
|        . .  o+=O|
|       o + o+.*o+|
|        S .+oB +o|
|          . +.E o|
|           ..+oo |
|           oo.+o |
|          ..oo.  |
+----[SHA256]-----+
# 10.148.0.10:22 SSH-2.0-OpenSSH_8.9p1 Ubuntu-3ubuntu0.4
# 10.148.0.10:22 SSH-2.0-OpenSSH_8.9p1 Ubuntu-3ubuntu0.4
# 10.148.0.10:22 SSH-2.0-OpenSSH_8.9p1 Ubuntu-3ubuntu0.4
# 10.148.0.10:22 SSH-2.0-OpenSSH_8.9p1 Ubuntu-3ubuntu0.4
# 10.148.0.10:22 SSH-2.0-OpenSSH_8.9p1 Ubuntu-3ubuntu0.4
juju (3.2/stable) 3.2.3 from Canonical✓ installed
ubuntu@openstack-sunbeam:~$ sunbeam cluster bootstrap --accept-defaults
Node has been bootstrapped with roles: control, compute
ubuntu@openstack-sunbeam:~$ sunbeam configure --accept-defaults --openrc demo-openrc
Writing openrc to demo-openrc ... done
ubuntu@openstack-sunbeam:~$ sunbeam openrc > admin-openrc
ubuntu@openstack-sunbeam:~$ source demo-openrc
ubuntu@openstack-sunbeam:~$ sunbeam launch ubuntu --name test
Launching an OpenStack instance ...
⠏ Creating the OpenStack instance ... Instance creation request failed: Server:71e6879d-cd43-440a-b650-cabf60d37eb8 transitioned to failure state ERROR
Error: Unable to request new instance. Please run `sunbeam configure` first.
ubuntu@openstack-sunbeam:~$ cat demo-openrc
# openrc for demo
export OS_AUTH_URL=http://10.20.21.12/openstack-keystone
export OS_USERNAME=demo
export OS_PASSWORD=vBDqHSyCNPY8
export OS_USER_DOMAIN_NAME=users
export OS_PROJECT_DOMAIN_NAME=users
export OS_PROJECT_NAME=demo
export OS_AUTH_VERSION=3
export OS_IDENTITY_API_VERSION=3
ubuntu@openstack-sunbeam:~$

This is my first time here :slight_smile:

Thank you

@pmatulis I’d suggest the “Obtain credentials” section is moved to the “Using the OpenStack CLI” how-to guide as it is not essential to complete the tutorial.

Hi, there is a link in the Deploy the cloud section (and again under Configure the cloud). Let me know if that’s what you are after.

Done. Thank you.

(at least 20 characters)…

I getting this error after stucking on Bootstrapping juju onto machine for more than one hour
Please help.

Bootstrapping Juju onto machine … Error determining whether to skip the bootstrap process. Defaulting to not skip.
Traceback (most recent call last):
File “/snap/openstack/324/lib/python3.10/site-packages/sunbeam/commands/juju.py”, line 259, in is_skip
self.juju_clouds = self.get_clouds(self.cloud_type)
File “/snap/openstack/324/lib/python3.10/site-packages/sunbeam/commands/juju.py”, line 105, in get_clouds
clouds_from_juju_cmd = self._juju_cmd(“clouds”)
File “/snap/openstack/324/lib/python3.10/site-packages/sunbeam/commands/juju.py”, line 83, in _juju_cmd
process = subprocess.run(cmd, capture_output=True, text=True, check=True)
File “/usr/lib/python3.10/subprocess.py”, line 526, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command ‘[’/snap/openstack/324/juju/bin/juju’, ‘clouds’, ‘–format’, ‘json’]’ returned non-zero exit status 1.
Only clouds with registered credentials are shown.
There are more clouds, use --all to see them.
ERROR could not get clouds from controller “sunbeam-controller”: unable to connect to API: dial tcp 192.168.8.118:17070: connect: connection refused

Hello,
I am having issues with the single-node Microstack bootstrap process when running the sunbeam cluster bootstrap command. My setup is currently a bare-metal Ubuntu 22.04.3 LTS deployment on a Dell R720 server with a 16 TB RAID-6 with all HDDs. Everything seems to be working until the section where it’s waiting for services to come online. This is a fresh imaging by the way (No packages were added before going through the steps in this document). Could having only HDDs be a problem?

When running the watch --color -- juju status --color -m openstack command as stated above, I’m getting to issue below where juju does not have the proper permissions to create services on the microk8s cluster that is created?

Unit                         Workload  Agent      Address     Ports  Message
certificate-authority/0*     active    idle       10.1.42.7
cinder-ceph-mysql-router/0*  waiting   idle       10.1.42.9
cinder-ceph/0*               blocked   idle       10.1.42.15         (ceph) integration missing
cinder-mysql-router/0*       waiting   idle       10.1.42.11
cinder-mysql/0*              blocked   executing  10.1.42.40         Permission to create k8s services denied. `juju trust`
cinder/0*                    waiting   idle       10.1.42.20         (workload) Not all relations are ready
glance-mysql-router/0*       waiting   idle       10.1.42.17
glance-mysql/0*              blocked   idle       10.1.42.47         Permission to create k8s services denied. `juju trust`
glance/0*                    waiting   idle       10.1.42.37         (identity-service) integration incomplete
horizon-mysql-router/0*      waiting   idle       10.1.42.21
horizon-mysql/0*             blocked   executing  10.1.42.33         Permission to create k8s services denied. `juju trust`
horizon/0*                   waiting   idle       10.1.42.35         (workload) Not all relations are ready
keystone-mysql-router/0*     waiting   idle       10.1.42.32
keystone-mysql/0*            blocked   executing  10.1.42.48         Permission to create k8s services denied. `juju trust`
keystone/0*                  waiting   idle       10.1.42.49         (workload) Not all relations are ready
neutron-mysql-router/0*      waiting   idle       10.1.42.8
neutron-mysql/0*             blocked   executing  10.1.42.41         Permission to create k8s services denied. `juju trust`

Does anyone know of a way to solve this? I have never worked with juju, sunbeam, or really any of these utilities before so I’m super confused on what’s going wrong.

Ahhh I see a comment above stating that SSDs are a requirement. Do all drives have to be SSDs? Or could I get away with only having a couple for the initial bootstrap?