Add multiple plans

* Add neutron and control servers
* Update all the nova-compute related items
This commit is contained in:
Arif Ali 2023-12-15 16:35:17 +00:00
parent a506690a3d
commit d3b8cb1800
Signed by: arif
GPG Key ID: 369608FBA1353A70
6 changed files with 179 additions and 3 deletions

View File

@ -17,3 +17,23 @@ variable reserved-host-memory {
type = string
default = "512"
}
variable worker-multiplier {
type = string
default = "0.25"
}
variable bridge-mappings {
type = string
default = ""
}
variable data-port {
type = string
default = ""
}
variable dns-servers {
type = string
default = ""
}

View File

@ -36,6 +36,18 @@ resource "juju_application" "nova-compute" {
cpu-mode = "custom"
cpu-model = "EPYC-IBPB"
cpu-model-extra-flags = "svm,pcid"
pci-passthrough-whitelist = jsonencode([
{vendor_id: "1af4", product_id: "1000", address: "00:08.0"},
{vendor_id: "1af4", product_id: "1000", address: "00:07.0"},
{vendor_id: "1af4", product_id: "1000", address: "00:06.0"},
])
pci-alias = jsonencode({
vendor_id: "1af4",
product_id: "1000",
device_type: "type-PCI",
name: "arifpass",
numa_policy: "preferred"
})
}
}
@ -50,6 +62,10 @@ resource "juju_application" "ceilometer-agent" {
channel = "ussuri/stable"
}
config = {
use-internal-endpoints = "true"
}
}
resource "juju_application" "neutron-openvswitch" {
@ -72,6 +88,26 @@ resource "juju_application" "neutron-openvswitch" {
}
resource "juju_application" "sysconfig-compute" {
name = "sysconfig-compute"
model = juju_model.cpe-focal.name
charm {
name = "sysconfig"
channel = "latest/stable"
revision = "19"
}
config = {
# enable-iommu = "false"
governor = "performance"
enable-pti = "on"
update-grub = "true"
enable-tsx = "true"
}
}
resource "juju_integration" "compute-ceilometer" {
model = juju_model.cpe-focal.name
@ -92,12 +128,42 @@ resource "juju_integration" "compute-ovs" {
model = juju_model.cpe-focal.name
application {
name = juju_application.nova-compute.name
name = juju_application.neutron-openvswitch.name
endpoint = "neutron-plugin"
}
application {
name = juju_application.neutron-openvswitch.name
name = juju_application.nova-compute.name
endpoint = "neutron-plugin"
}
}
resource "juju_integration" "compute-sysconfig" {
model = juju_model.cpe-focal.name
application {
name = juju_application.nova-compute.name
endpoint = "juju-info"
}
application {
name = juju_application.sysconfig-compute.name
endpoint = "juju-info"
}
}
resource "juju_integration" "compute-ceph-mon" {
model = juju_model.cpe-focal.name
application {
name = juju_application.nova-compute.name
endpoint = "ceph"
}
application {
name = juju_application.ceph-mon.name
endpoint = "client"
}
}

View File

@ -0,0 +1,57 @@
resource "juju_application" "controller-server" {
name = "controller-server"
model = juju_model.cpe-focal.name
charm {
name = "ubuntu"
channel = "latest/stable"
revision = "24"
}
units = 6
placement = "${join(",",sort([
juju_machine.all_machines["100"].machine_id,
juju_machine.all_machines["101"].machine_id,
juju_machine.all_machines["102"].machine_id,
juju_machine.all_machines["103"].machine_id,
juju_machine.all_machines["104"].machine_id,
juju_machine.all_machines["105"].machine_id,
]))}"
}
resource "juju_application" "sysconfig-control" {
name = "sysconfig-control"
model = juju_model.cpe-focal.name
charm {
name = "sysconfig"
channel = "latest/stable"
revision = "22"
}
config = {
governor = "performance"
enable-pti = "on"
update-grub = "true"
enable-tsx = "true"
}
}
resource "juju_integration" "control-sysconfig" {
model = juju_model.cpe-focal.name
application {
name = juju_application.controller-server.name
endpoint = "juju-info"
}
application {
name = juju_application.sysconfig-control.name
endpoint = "juju-info"
}
}

View File

@ -0,0 +1,30 @@
resource "juju_application" "neutron-gateway" {
name = "neutron-gateway"
model = juju_model.cpe-focal.name
charm {
name = "neutron-gateway"
channel = "ussuri/stable"
}
units = 3
placement = "${join(",",sort([
juju_machine.all_machines["100"].machine_id,
juju_machine.all_machines["101"].machine_id,
juju_machine.all_machines["102"].machine_id,
]))}"
config = {
worker-multiplier = var.worker-multiplier
openstack-origin = var.openstack-origin
bridge-mappings = var.bridge-mappings
data-port = var.data-port
aa-profile-mode = "enforce"
dns-servers = var.dns-servers
customize-failure-domain = var.customize-failure-domain
}
}

View File

@ -19,3 +19,6 @@ machines = [
]
osd-devices = "/dev/sdb /dev/sdc"
data-port = "br-data:ens9"
bridge-mappings = "physnet1:br-data"
dns-servers = "192.168.1.13"

View File

@ -3,7 +3,7 @@ terraform {
required_providers {
openstack = {
source = "terraform-provider-openstack/openstack"
version = "1.49.0"
version = "1.52.1"
}
}
}