[juju] Add nova-compute and some of its dependancies

This commit is contained in:
Arif Ali 2023-11-29 10:40:29 +00:00
parent 47b58e8c65
commit a506690a3d
Signed by: arif
GPG Key ID: 369608FBA1353A70
2 changed files with 112 additions and 0 deletions

View File

@ -8,3 +8,12 @@ variable osd-devices {
default = ""
}
variable customize-failure-domain {
type = string
default = "true"
}
variable reserved-host-memory {
type = string
default = "512"
}

View File

@ -0,0 +1,103 @@
resource "juju_application" "nova-compute" {
name = "nova-compute"
model = juju_model.cpe-focal.name
charm {
name = "nova-compute"
channel = "ussuri/stable"
}
units = 8
placement = "${join(",",sort([
juju_machine.all_machines["1000"].machine_id,
juju_machine.all_machines["1001"].machine_id,
juju_machine.all_machines["1002"].machine_id,
juju_machine.all_machines["1003"].machine_id,
juju_machine.all_machines["1004"].machine_id,
juju_machine.all_machines["1005"].machine_id,
juju_machine.all_machines["1006"].machine_id,
juju_machine.all_machines["1007"].machine_id,
]))}"
config = {
openstack-origin = var.openstack-origin
enable-live-migration = "true"
enable-resize = "true"
migration-auth-type = "ssh"
use-internal-endpoints = "true"
libvirt-image-backend = "rbd"
restrict-ceph-pools = "false"
aa-profile-mode = "complain"
virt-type = "kvm"
customize-failure-domain = var.customize-failure-domain
reserved-host-memory = var.reserved-host-memory
cpu-mode = "custom"
cpu-model = "EPYC-IBPB"
cpu-model-extra-flags = "svm,pcid"
}
}
resource "juju_application" "ceilometer-agent" {
name = "ceilometer-agent"
model = juju_model.cpe-focal.name
charm {
name = "ceilometer-agent"
channel = "ussuri/stable"
}
}
resource "juju_application" "neutron-openvswitch" {
name = "neutron-openvswitch"
model = juju_model.cpe-focal.name
charm {
name = "neutron-openvswitch"
channel = "ussuri/stable"
}
config = {
data-port = "br-data:ens9"
dns-servers = "192.168.1.13"
enable-local-dhcp-and-metadata = "true"
firewall-driver = "openvswitch"
worker-multiplier = "0"
}
}
resource "juju_integration" "compute-ceilometer" {
model = juju_model.cpe-focal.name
application {
name = juju_application.nova-compute.name
endpoint = "nova-ceilometer"
}
application {
name = juju_application.ceilometer-agent.name
endpoint = "nova-ceilometer"
}
}
resource "juju_integration" "compute-ovs" {
model = juju_model.cpe-focal.name
application {
name = juju_application.nova-compute.name
endpoint = "neutron-plugin"
}
application {
name = juju_application.neutron-openvswitch.name
endpoint = "neutron-plugin"
}
}