Hello,
For testing purposes, I am trying to install all the components of OpenStack on a single server with Ubuntu 22.04 LTS to test deployment via a bundle with Juju. However, I am encountering several issues and cannot find a detailed guide or documentation that suits my case.
Let me explain the steps I have followed:
- On an Ubuntu 22.04 LTS machine, which I use as the Juju controller, I run
juju add-cloud
and configure it as manual. juju bootstrap mycloud manual-controller
juju add-model default
juju add-machine ssh:root@ip-server
juju deploy ./openstack/bundle.yaml --map-machines=existing
This is the bundle I am using:
name: openstack-base
series: jammy
variables:
#openstack-origin: &openstack-origin cloud:antelope
series: &series jammy
data-port: &data-port br-ex:enp0s31f6
osd-devices: &osd-devices /dev/md1p1
expected-osd-count: &expected-osd-count 1
expected-mon-count: &expected-mon-count 1
machines:
'0':
series: *series
relations:
- - nova-compute:amqp
- rabbitmq-server:amqp
- - nova-cloud-controller:identity-service
- keystone:identity-service
- - glance:identity-service
- keystone:identity-service
- - neutron-api:identity-service
- keystone:identity-service
- - neutron-api:amqp
- rabbitmq-server:amqp
- - glance:amqp
- rabbitmq-server:amqp
- - nova-cloud-controller:image-service
- glance:image-service
- - nova-compute:image-service
- glance:image-service
- - nova-cloud-controller:cloud-compute
- nova-compute:cloud-compute
- - nova-cloud-controller:amqp
- rabbitmq-server:amqp
- - openstack-dashboard:identity-service
- keystone:identity-service
- - nova-cloud-controller:neutron-api
- neutron-api:neutron-api
- - cinder:image-service
- glance:image-service
- - cinder:amqp
- rabbitmq-server:amqp
- - cinder:identity-service
- keystone:identity-service
- - cinder:cinder-volume-service
- nova-cloud-controller:cinder-volume-service
- - cinder-ceph:storage-backend
- cinder:storage-backend
- - ceph-mon:client
- nova-compute:ceph
- - nova-compute:ceph-access
- cinder-ceph:ceph-access
- - ceph-mon:client
- cinder-ceph:ceph
- - ceph-mon:client
- glance:ceph
- - ceph-osd:mon
- ceph-mon:osd
- - ntp:juju-info
- nova-compute:juju-info
- - ceph-radosgw:mon
- ceph-mon:radosgw
- - ceph-radosgw:identity-service
- keystone:identity-service
- - placement:identity-service
- keystone:identity-service
- - placement:placement
- nova-cloud-controller:placement
- - keystone:shared-db
- keystone-mysql-router:shared-db
- - cinder:shared-db
- cinder-mysql-router:shared-db
- - glance:shared-db
- glance-mysql-router:shared-db
- - nova-cloud-controller:shared-db
- nova-mysql-router:shared-db
- - neutron-api:shared-db
- neutron-mysql-router:shared-db
- - openstack-dashboard:shared-db
- dashboard-mysql-router:shared-db
- - placement:shared-db
- placement-mysql-router:shared-db
- - vault:shared-db
- vault-mysql-router:shared-db
- - keystone-mysql-router:db-router
- mysql-innodb-cluster:db-router
- - cinder-mysql-router:db-router
- mysql-innodb-cluster:db-router
- - nova-mysql-router:db-router
- mysql-innodb-cluster:db-router
- - glance-mysql-router:db-router
- mysql-innodb-cluster:db-router
- - neutron-mysql-router:db-router
- mysql-innodb-cluster:db-router
- - dashboard-mysql-router:db-router
- mysql-innodb-cluster:db-router
- - placement-mysql-router:db-router
- mysql-innodb-cluster:db-router
- - vault-mysql-router:db-router
- mysql-innodb-cluster:db-router
- - neutron-api-plugin-ovn:neutron-plugin
- neutron-api:neutron-plugin-api-subordinate
- - ovn-central:certificates
- vault:certificates
- - ovn-central:ovsdb-cms
- neutron-api-plugin-ovn:ovsdb-cms
- - neutron-api:certificates
- vault:certificates
- - ovn-chassis:nova-compute
- nova-compute:neutron-plugin
- - ovn-chassis:certificates
- vault:certificates
- - ovn-chassis:ovsdb
- ovn-central:ovsdb
- - vault:certificates
- neutron-api-plugin-ovn:certificates
- - vault:certificates
- cinder:certificates
- - vault:certificates
- glance:certificates
- - vault:certificates
- keystone:certificates
- - vault:certificates
- nova-cloud-controller:certificates
- - vault:certificates
- openstack-dashboard:certificates
- - vault:certificates
- placement:certificates
- - vault:certificates
- ceph-radosgw:certificates
- - vault:certificates
- mysql-innodb-cluster:certificates
applications:
ceph-mon:
annotations:
gui-x: '790'
gui-y: '1540'
charm: ch:ceph-mon
channel: quincy/stable
series: *series
num_units: 1
options:
expected-osd-count: *expected-osd-count
monitor-count: *expected-mon-count
to:
- '0'
ceph-osd:
annotations:
gui-x: '1065'
gui-y: '1540'
charm: ch:ceph-osd
channel: quincy/stable
series: *series
num_units: 1
options:
osd-devices: *osd-devices
to:
- '0'
ceph-radosgw:
annotations:
gui-x: '850'
gui-y: '900'
charm: ch:ceph-radosgw
channel: quincy/stable
series: *series
num_units: 1
to:
- '0'
cinder-mysql-router:
annotations:
gui-x: '900'
gui-y: '1400'
charm: ch:mysql-router
channel: 8.0/stable
series: *series
cinder:
annotations:
gui-x: '980'
gui-y: '1270'
charm: ch:cinder
channel: yoga/stable
series: *series
num_units: 1
options:
block-device: None
glance-api-version: 2
to:
- '0'
cinder-ceph:
annotations:
gui-x: '1120'
gui-y: '1400'
charm: ch:cinder-ceph
channel: yoga/stable
series: *series
num_units: 0
glance-mysql-router:
annotations:
gui-x: '-290'
gui-y: '1400'
charm: ch:mysql-router
channel: 8.0/stable
series: *series
glance:
annotations:
gui-x: '-230'
gui-y: '1270'
charm: ch:glance
channel: yoga/stable
series: *series
num_units: 1
to:
- '0'
keystone-mysql-router:
annotations:
gui-x: '230'
gui-y: '1400'
charm: ch:mysql-router
channel: 8.0/stable
series: *series
keystone:
annotations:
gui-x: '300'
gui-y: '1270'
charm: ch:keystone
channel: yoga/stable
series: *series
num_units: 1
to:
- '0'
neutron-mysql-router:
annotations:
gui-x: '505'
gui-y: '1385'
charm: ch:mysql-router
channel: 8.0/stable
series: *series
neutron-api-plugin-ovn:
annotations:
gui-x: '690'
gui-y: '1385'
charm: ch:neutron-api-plugin-ovn
channel: yoga/stable
series: *series
neutron-api:
annotations:
gui-x: '580'
gui-y: '1270'
charm: ch:neutron-api
channel: yoga/stable
series: *series
num_units: 1
options:
neutron-security-groups: true
flat-network-providers: physnet1
to:
- '0'
placement-mysql-router:
annotations:
gui-x: '1320'
gui-y: '1385'
charm: ch:mysql-router
channel: 8.0/stable
series: *series
placement:
annotations:
gui-x: '1320'
gui-y: '1270'
charm: ch:placement
channel: yoga/stable
series: *series
num_units: 1
to:
- '0'
nova-mysql-router:
annotations:
gui-x: '-30'
gui-y: '1385'
charm: ch:mysql-router
channel: 8.0/stable
series: *series
nova-cloud-controller:
annotations:
gui-x: '35'
gui-y: '1270'
charm: ch:nova-cloud-controller
channel: yoga/stable
series: *series
num_units: 1
options:
network-manager: Neutron
to:
- '0'
nova-compute:
annotations:
gui-x: '190'
gui-y: '890'
charm: ch:nova-compute
channel: yoga/stable
series: *series
num_units: 1
options:
config-flags: default_ephemeral_format=ext4
enable-live-migration: true
enable-resize: true
migration-auth-type: ssh
to:
- '0'
ntp:
annotations:
gui-x: '315'
gui-y: '1030'
charm: ch:ntp
series: *series
num_units: 0
dashboard-mysql-router:
annotations:
gui-x: '510'
gui-y: '1030'
charm: ch:mysql-router
channel: 8.0/stable
series: *series
openstack-dashboard:
annotations:
gui-x: '585'
gui-y: '900'
charm: ch:openstack-dashboard
channel: yoga/stable
series: *series
num_units: 1
to:
- '0'
rabbitmq-server:
annotations:
gui-x: '300'
gui-y: '1550'
charm: ch:rabbitmq-server
channel: 3.9/stable
series: *series
num_units: 1
to:
- '0'
mysql-innodb-cluster:
annotations:
gui-x: '535'
gui-y: '1550'
charm: ch:mysql-innodb-cluster
channel: 8.0/stable
series: *series
num_units: 1
to:
- '0'
ovn-central:
annotations:
gui-x: '70'
gui-y: '1550'
charm: ch:ovn-central
channel: 22.03/stable
series: *series
num_units: 1
to:
- '0'
ovn-chassis:
annotations:
gui-x: '120'
gui-y: '1030'
charm: ch:ovn-chassis
channel: 22.03/stable
series: *series
options:
ovn-bridge-mappings: physnet1:br-ex
bridge-interface-mappings: *data-port
subordinate-to:
- neutron-api
num_units: 0
mysql-router:
annotations:
gui-x: '1535'
gui-y: '1560'
charm: ch:mysql-router
channel: 8.0/stable
series: *series
vault:
annotations:
gui-x: '1610'
gui-y: '1430'
charm: ch:vault
channel: 1.7/stable
series: *series
num_units: 1
to:
- '0'
vault-mysql-router:
annotations:
gui-x: '1535'
gui-y: '1560'
charm: ch:mysql-router
channel: 8.0/stable
series: *series
Finally, the result of juju status
is as follows:
Unit Workload Agent Machine Public address Ports Message
ceph-mon/0* error idle 0 192.168.11.230 hook failed: "osd-relation-joined"
ceph-osd/0* waiting idle 0 192.168.11.230 Incomplete relation: monitor
ceph-radosgw/0* waiting idle 0 192.168.11.230 80/tcp Incomplete relations: mon, identity
cinder/0* error idle 0 192.168.11.230 hook failed: "install"
glance/0* error idle 0 192.168.11.230 hook failed: "install"
keystone/0* error idle 0 192.168.11.230 hook failed: "install"
mysql-innodb-cluster/0* error idle 0 192.168.11.230 hook failed: "install"
neutron-api/0* error idle 0 192.168.11.230 hook failed: "install"
nova-cloud-controller/0* error idle 0 192.168.11.230 hook failed: "install"
nova-compute/0* error idle 0 192.168.11.230 hook failed: "install"
openstack-dashboard/0* error idle 0 192.168.11.230 hook failed: "install"
ovn-central/0* error idle 0 192.168.11.230 hook failed: "install"
placement/0* error idle 0 192.168.11.230 hook failed: "install"
rabbitmq-server/0* active idle 0 192.168.11.230 5672,15672/tcp Unit is ready
vault/0* waiting idle 0 192.168.11.230 'shared-db' incomplete
vault-mysql-router/0* blocked idle 192.168.11.230 'db-router' missing, MySQL Router not yet bootstrapped
The components with hook failed
have this error:
2023-11-10 11:23:42 INFO juju.worker.uniter resolver.go:161 awaiting error resolution for "install" hook
not in list '{}'" WARNING unit.glance/0.install logger.go:60 Traceback (mos
2023-11-10 11:23:56 WARNING unit.glance/0.install logger.go:60 KeyError: "Item 'antelope' is not in list '('diablo', 'essex', 'folsom', 'grizzly', 'havana', 'icehouse', 'juno', 'kilo', 'liberty', 'mitaka', 'newton', 'ocata', 'pike', 'queens', 'rocky', 'stein', 'train', 'ussuri', 'victoria', 'wallaby', 'xena', 'yoga')'"
Mysql-innodb presents this error:
2023-11-10 11:39:26 WARNING unit.mysql-innodb-cluster/0.install logger.go:60 MySQLdb._exceptions.OperationalError: (1045, "Access denied for user 'root'@'localhost' (using password: YES)")
2023-11-10 11:39:26 ERROR juju.worker.uniter.operation runhook.go:180 hook "install" (via explicit, bespoke hook script) failed: exit status 1
Do I need to configure it in some way?
I hope you can help me or provide me with useful resources.
Thanks in advance.