fine tuning

This commit is contained in:
Arif Ali 2024-05-07 20:23:43 +01:00
parent 455306e660
commit d41394990f
Signed by: arif
GPG Key ID: 369608FBA1353A70
18 changed files with 608 additions and 521 deletions

View File

@ -20,6 +20,21 @@ variable openstack-region {
default = "RegionOne"
}
variable openstack-channel {
type = string
default = "ussuri/stable"
}
variable default-base {
type = string
default = "ubuntu@20.04"
}
variable mysql-channel {
type = string
default = "8.0/stable"
}
variable osd-devices {
type = string
default = ""
@ -31,13 +46,13 @@ variable customize-failure-domain {
}
variable reserved-host-memory {
type = string
default = "512"
type = number
default = 512
}
variable worker-multiplier {
type = string
default = "0.25"
type = number
default = 0.25
}
variable bridge-mappings {
@ -61,11 +76,87 @@ variable nagios-context {
}
variable mysql-connections {
type = string
default = "4000"
type = number
default = 4000
}
variable mysql-tuning-level {
type = string
default = "safest"
}
variable vips {
type = map(string)
default = {}
}
variable oam-space {
type = string
default = "oam"
}
variable admin-space {
type = string
default = "admin"
}
variable public-space {
type = string
default = "public"
}
variable internal-space {
type = string
default = "internal"
}
variable ceph-public-space {
type = string
default = "ceph-public"
}
variable ceph-cluster-space {
type = string
default = "ceph-cluster"
}
variable overlay-space {
type = string
default = "overlay"
}
variable external-network-gateway {
type = string
default = ""
}
variable cpu-allocation-ratio {
type = number
default = 16.0
}
variable ram-allocation-ratio {
type = number
default = 2.0
}
variable ntp-source {
type = string
default = ""
}
variable external-network-cidr {
type = string
default = ""
}
variable expected-osd-count {
type = number
default = 0
}
variable expected-mon-count {
type = number
default = 3
}

View File

@ -1,20 +1,19 @@
resource "juju_machine" "keystone-1" {
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["103"].machine_id])
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["103"].machine_id])
constraints = "spaces=oam"
}
resource "juju_machine" "keystone-2" {
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["104"].machine_id])
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["104"].machine_id])
constraints = "spaces=oam"
}
resource "juju_machine" "keystone-3" {
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["105"].machine_id])
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["105"].machine_id])
constraints = "spaces=oam"
}
resource "juju_application" "keystone" {
name = "keystone"
@ -22,7 +21,7 @@ resource "juju_application" "keystone" {
charm {
name = "keystone"
channel = "ussuri/stable"
channel = var.openstack-channel
}
units = 3
@ -34,29 +33,29 @@ resource "juju_application" "keystone" {
]))}"
endpoint_bindings = [{
space = "oam"
space = var.oam-space
},{
space = "oam"
space = var.public-space
endpoint = "public"
},{
space = "oam"
space = var.admin-space
endpoint = "admin"
},{
space = "oam"
space = var.internal-space
endpoint = "internal"
},{
space = "oam"
space = var.internal-space
endpoint = "shared-db"
}]
config = {
worker-multiplier = var.worker-multiplier
openstack-origin = var.openstack-origin
vip = "10.0.1.216"
region = var.openstack-region
worker-multiplier = var.worker-multiplier
openstack-origin = var.openstack-origin
vip = var.vips["keystone"]
region = var.openstack-region
preferred-api-version = "3"
token-provider = "fernet"
admin-password = "openstack"
token-provider = "fernet"
admin-password = "openstack"
}
}
@ -73,17 +72,17 @@ resource "juju_application" "keystone-mysql-router" {
units = 0
endpoint_bindings = [{
space = "oam"
space = var.oam-space
},{
space = "oam"
space = var.internal-space
endpoint = "shared-db"
},{
space = "oam"
space = var.internal-space
endpoint = "db-router"
}]
config = {
source = var.openstack-origin
source = var.openstack-origin
}
}
@ -93,8 +92,8 @@ resource "juju_application" "hacluster-keystone" {
model = var.model-name
charm {
name = "hacluster"
channel = "2.0.3/stable"
name = "hacluster"
channel = "2.0.3/stable"
}
units = 0
@ -102,16 +101,15 @@ resource "juju_application" "hacluster-keystone" {
resource "juju_integration" "keystone-ha" {
model = var.model-name
application {
name = juju_application.keystone.name
name = juju_application.keystone.name
endpoint = "ha"
}
application {
name = juju_application.hacluster-keystone.name
name = juju_application.hacluster-keystone.name
endpoint = "ha"
}
}
@ -121,12 +119,12 @@ resource "juju_integration" "keystone-mysql" {
model = var.model-name
application {
name = juju_application.keystone.name
name = juju_application.keystone.name
endpoint = "shared-db"
}
application {
name = juju_application.keystone-mysql-router.name
name = juju_application.keystone-mysql-router.name
endpoint = "shared-db"
}
}
@ -136,13 +134,12 @@ resource "juju_integration" "keystone-db" {
model = var.model-name
application {
name = juju_application.keystone-mysql-router.name
name = juju_application.keystone-mysql-router.name
endpoint = "db-router"
}
application {
name = juju_application.mysql-innodb-cluster.name
name = juju_application.mysql-innodb-cluster.name
endpoint = "db-router"
}
}

View File

@ -1,20 +1,19 @@
resource "juju_machine" "mysql-1" {
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["100"].machine_id])
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["100"].machine_id])
constraints = "spaces=oam"
}
resource "juju_machine" "mysql-2" {
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["101"].machine_id])
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["101"].machine_id])
constraints = "spaces=oam"
}
resource "juju_machine" "mysql-3" {
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["102"].machine_id])
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["102"].machine_id])
constraints = "spaces=oam"
}
resource "juju_application" "mysql-innodb-cluster" {
name = "mysql-innodb-cluster"
@ -22,8 +21,8 @@ resource "juju_application" "mysql-innodb-cluster" {
charm {
name = "mysql-innodb-cluster"
channel = "8.0/stable"
base = "ubuntu@20.04"
channel = var.mysql-channel
base = var.default-base
}
units = 3
@ -35,23 +34,21 @@ resource "juju_application" "mysql-innodb-cluster" {
]))}"
endpoint_bindings = [{
space = "oam"
space = var.oam-space
},{
endpoint = "cluster"
space = "oam"
space = var.internal-space
},{
endpoint = "db-router"
space = "oam"
space = var.internal-space
}]
config = {
source = var.openstack-origin
#innodb-buffer-pool-size = "16G"
wait-timeout = "3600"
enable-binlogs = "false"
snapd_refresh = "max"
source = var.openstack-origin
wait-timeout = "3600"
enable-binlogs = "false"
snapd_refresh = "max"
max-connections = var.mysql-connections
tuning-level = var.mysql-tuning-level
tuning-level = var.mysql-tuning-level
}
}

View File

@ -1,16 +1,16 @@
resource "juju_machine" "rmq-1" {
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["103"].machine_id])
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["103"].machine_id])
constraints = "spaces=oam"
}
resource "juju_machine" "rmq-2" {
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["104"].machine_id])
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["104"].machine_id])
constraints = "spaces=oam"
}
resource "juju_machine" "rmq-3" {
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["105"].machine_id])
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["105"].machine_id])
constraints = "spaces=oam"
}
@ -34,19 +34,18 @@ resource "juju_application" "rabbitmq-server" {
]))}"
endpoint_bindings = [{
space = "oam"
space = var.oam-space
},{
endpoint = "amqp"
space = "oam"
space = var.internal-space
},{
endpoint = "cluster"
space = "oam"
space = var.internal-space
}]
config = {
source = var.openstack-origin
source = var.openstack-origin
min-cluster-size = "3"
cluster-partition-handling = "pause_minority"
}
}

View File

@ -1,16 +1,16 @@
resource "juju_machine" "ceilometer-1" {
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["103"].machine_id])
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["103"].machine_id])
constraints = "spaces=oam"
}
resource "juju_machine" "ceilometer-2" {
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["104"].machine_id])
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["104"].machine_id])
constraints = "spaces=oam"
}
resource "juju_machine" "ceilometer-3" {
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["105"].machine_id])
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["105"].machine_id])
constraints = "spaces=oam"
}
@ -22,7 +22,7 @@ resource "juju_application" "ceilometer" {
charm {
name = "ceilometer"
channel = "ussuri/stable"
channel = var.openstack-channel
}
units = 3
@ -34,21 +34,21 @@ resource "juju_application" "ceilometer" {
]))}"
endpoint_bindings = [{
space = "oam"
space = var.oam-space
},{
endpoint = "public"
space = "oam"
space = var.public-space
},{
endpoint = "admin"
space = "oam"
space = var.admin-space
},{
endpoint = "internal"
space = "oam"
space = var.internal-space
}]
config = {
openstack-origin = var.openstack-origin
region = var.openstack-region
region = var.openstack-region
use-internal-endpoints = "true"
}
}
@ -58,12 +58,12 @@ resource "juju_integration" "ceilometer-rmq" {
model = var.model-name
application {
name = juju_application.ceilometer.name
name = juju_application.ceilometer.name
endpoint = "amqp"
}
application {
name = juju_application.rabbitmq-server.name
name = juju_application.rabbitmq-server.name
endpoint = "amqp"
}
}
@ -73,12 +73,12 @@ resource "juju_integration" "ceilometer-keystone" {
model = var.model-name
application {
name = juju_application.ceilometer.name
name = juju_application.ceilometer.name
endpoint = "identity-credentials"
}
application {
name = juju_application.keystone.name
name = juju_application.keystone.name
endpoint = "identity-credentials"
}
}
@ -88,13 +88,12 @@ resource "juju_integration" "ceilometer-ceil-agent" {
model = var.model-name
application {
name = juju_application.ceilometer.name
name = juju_application.ceilometer.name
endpoint = "ceilometer-service"
}
application {
name = juju_application.ceilometer-agent.name
name = juju_application.ceilometer-agent.name
endpoint = "ceilometer-service"
}
}

View File

@ -4,8 +4,8 @@ resource "juju_application" "ceph-osd" {
model = var.model-name
charm {
name = "ceph-osd"
channel = "octopus/stable"
name = "ceph-osd"
channel = "octopus/stable"
}
units = 8
@ -21,34 +21,33 @@ resource "juju_application" "ceph-osd" {
]))}"
config = {
osd-devices = var.osd-devices
source = var.openstack-origin
osd-devices = var.osd-devices
source = var.openstack-origin
aa-profile-mode = "complain"
customize-failure-domain = "true"
autotune = "false"
bluestore = "true"
#osd-encrypt = "true"
autotune = "false"
bluestore = "true"
#osd-encrypt = "true"
#osd-encrypt-keymanager = "vault"
}
}
resource "juju_machine" "ceph-mon-1" {
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["100"].machine_id])
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["100"].machine_id])
constraints = "spaces=oam,ceph-access,ceph-replica"
}
resource "juju_machine" "ceph-mon-2" {
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["101"].machine_id])
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["101"].machine_id])
constraints = "spaces=oam,ceph-access,ceph-replica"
}
resource "juju_machine" "ceph-mon-3" {
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["102"].machine_id])
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["102"].machine_id])
constraints = "spaces=oam,ceph-access,ceph-replica"
}
resource "juju_application" "ceph-mon" {
name = "ceph-mon"
@ -68,45 +67,45 @@ resource "juju_application" "ceph-mon" {
]))}"
endpoint_bindings = [{
space = "oam"
space = var.oam-space
},{
endpoint = "public"
space = "ceph-access"
space = var.ceph-public-space
},{
endpoint = "osd"
space = "ceph-access"
space = var.ceph-public-space
},{
endpoint = "client"
space = "ceph-access"
space = var.ceph-public-space
},{
endpoint = "admin"
space = "ceph-access"
space = var.ceph-public-space
},{
endpoint = "cluster"
space = "ceph-replica"
space = var.ceph-cluster-space
}]
config = {
expected-osd-count = 12
source = var.openstack-origin
monitor-count = 3
expected-osd-count = var.expected-osd-count
source = var.openstack-origin
monitor-count = var.expected-mon-count
customize-failure-domain = true
}
}
resource "juju_machine" "ceph-rgw-1" {
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["100"].machine_id])
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["100"].machine_id])
constraints = "spaces=oam,ceph-access"
}
resource "juju_machine" "ceph-rgw-2" {
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["101"].machine_id])
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["101"].machine_id])
constraints = "spaces=oam,ceph-access"
}
resource "juju_machine" "ceph-rgw-3" {
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["102"].machine_id])
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["102"].machine_id])
constraints = "spaces=oam,ceph-access"
}
@ -129,26 +128,26 @@ resource "juju_application" "ceph-radosgw" {
]))}"
endpoint_bindings = [{
space = "oam"
space = var.oam-space
},{
space = "oam"
space = var.public-space
endpoint = "public"
},{
space = "oam"
space = var.admin-space
endpoint = "admin"
},{
space = "oam"
space = var.internal-space
endpoint = "internal"
},{
space = "ceph-access"
space = var.ceph-public-space
endpoint = "mon"
}]
config = {
source = var.openstack-origin
vip = "10.0.1.224"
operator-roles = "Member,admin"
region = var.openstack-region
source = var.openstack-origin
vip = var.vips["radosgw"]
operator-roles = "Member,admin"
region = var.openstack-region
os-admin-hostname = "swift-internal.example.com"
os-internal-hostname = "swift-internal.example.com"
os-public-hostname = "swift.example.com"
@ -166,7 +165,6 @@ resource "juju_application" "hacluster-radosgw" {
}
units = 0
}
resource "juju_integration" "osd-mon" {
@ -174,44 +172,42 @@ resource "juju_integration" "osd-mon" {
model = var.model-name
application {
name = juju_application.ceph-osd.name
name = juju_application.ceph-osd.name
endpoint = "mon"
}
application {
name = juju_application.ceph-mon.name
name = juju_application.ceph-mon.name
endpoint = "osd"
}
}
resource "juju_integration" "rgw-mon" {
model = var.model-name
application {
name = juju_application.ceph-radosgw.name
name = juju_application.ceph-radosgw.name
endpoint = "mon"
}
application {
name = juju_application.ceph-mon.name
name = juju_application.ceph-mon.name
endpoint = "radosgw"
}
}
resource "juju_integration" "rgw-ha" {
model = var.model-name
application {
name = juju_application.ceph-radosgw.name
name = juju_application.ceph-radosgw.name
endpoint = "ha"
}
application {
name = juju_application.hacluster-radosgw.name
name = juju_application.hacluster-radosgw.name
endpoint = "ha"
}
}
@ -221,13 +217,12 @@ resource "juju_integration" "rgw-keystone" {
model = var.model-name
application {
name = juju_application.ceph-radosgw.name
name = juju_application.ceph-radosgw.name
endpoint = "identity-service"
}
application {
name = juju_application.keystone.name
name = juju_application.keystone.name
endpoint = "identity-service"
}
}

View File

@ -1,20 +1,19 @@
resource "juju_machine" "cinder-1" {
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["100"].machine_id])
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["100"].machine_id])
constraints = "spaces=oam"
}
resource "juju_machine" "cinder-2" {
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["101"].machine_id])
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["101"].machine_id])
constraints = "spaces=oam"
}
resource "juju_machine" "cinder-3" {
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["102"].machine_id])
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["102"].machine_id])
constraints = "spaces=oam"
}
resource "juju_application" "cinder" {
name = "cinder"
@ -22,7 +21,7 @@ resource "juju_application" "cinder" {
charm {
name = "cinder"
channel = "ussuri/stable"
channel = var.openstack-channel
}
units = 3
@ -34,31 +33,30 @@ resource "juju_application" "cinder" {
]))}"
endpoint_bindings = [{
space = "oam"
space = var.oam-space
},{
endpoint = "public"
space = "oam"
space = var.public-space
},{
endpoint = "admin"
space = "oam"
space = var.admin-space
},{
endpoint = "internal"
space = "oam"
space = var.internal-space
},{
endpoint = "shared-db"
space = "oam"
space = var.internal-space
}]
config = {
worker-multiplier = var.worker-multiplier
openstack-origin = var.openstack-origin
region = var.openstack-region
vip = "10.0.1.212"
region = var.openstack-region
worker-multiplier = var.worker-multiplier
openstack-origin = var.openstack-origin
region = var.openstack-region
vip = var.vips["cinder"]
use-internal-endpoints = "true"
block-device = "None"
block-device = "None"
glance-api-version = "2"
enabled-services = "api,scheduler,volume"
enabled-services = "api,scheduler,volume"
}
}
@ -68,8 +66,8 @@ resource "juju_application" "cinder-ceph" {
model = var.model-name
charm {
name = "cinder-ceph"
channel = "ussuri/stable"
name = "cinder-ceph"
channel = var.openstack-channel
}
units = 0
@ -86,19 +84,19 @@ resource "juju_application" "cinder-mysql-router" {
model = var.model-name
charm {
name = "mysql-router"
name = "mysql-router"
channel = "8.0/stable"
}
units = 0
endpoint_bindings = [{
space = "oam"
space = var.oam-space
},{
space = "oam"
space = var.internal-space
endpoint = "shared-db"
},{
space = "oam"
space = var.internal-space
endpoint = "db-router"
}]
@ -122,16 +120,15 @@ resource "juju_application" "hacluster-cinder" {
resource "juju_integration" "cinder-ha" {
model = var.model-name
application {
name = juju_application.cinder.name
name = juju_application.cinder.name
endpoint = "ha"
}
application {
name = juju_application.hacluster-cinder.name
name = juju_application.hacluster-cinder.name
endpoint = "ha"
}
}
@ -141,12 +138,12 @@ resource "juju_integration" "cinder-mysql" {
model = var.model-name
application {
name = juju_application.cinder.name
name = juju_application.cinder.name
endpoint = "shared-db"
}
application {
name = juju_application.cinder-mysql-router.name
name = juju_application.cinder-mysql-router.name
endpoint = "shared-db"
}
}
@ -156,12 +153,12 @@ resource "juju_integration" "cinder-db" {
model = var.model-name
application {
name = juju_application.cinder-mysql-router.name
name = juju_application.cinder-mysql-router.name
endpoint = "db-router"
}
application {
name = juju_application.mysql-innodb-cluster.name
name = juju_application.mysql-innodb-cluster.name
endpoint = "db-router"
}
}
@ -171,12 +168,12 @@ resource "juju_integration" "cinder-rmq" {
model = var.model-name
application {
name = juju_application.cinder.name
name = juju_application.cinder.name
endpoint = "amqp"
}
application {
name = juju_application.rabbitmq-server.name
name = juju_application.rabbitmq-server.name
endpoint = "amqp"
}
}
@ -186,12 +183,12 @@ resource "juju_integration" "cinder-keystone" {
model = var.model-name
application {
name = juju_application.cinder.name
name = juju_application.cinder.name
endpoint = "identity-service"
}
application {
name = juju_application.keystone.name
name = juju_application.keystone.name
endpoint = "identity-service"
}
}
@ -201,28 +198,27 @@ resource "juju_integration" "cinder-ceph" {
model = var.model-name
application {
name = juju_application.cinder.name
name = juju_application.cinder.name
endpoint = "ceph"
}
application {
name = juju_application.ceph-mon.name
name = juju_application.ceph-mon.name
endpoint = "client"
}
}
resource "juju_integration" "cinder-ceph-mon" {
model = var.model-name
application {
name = juju_application.cinder-ceph.name
name = juju_application.cinder-ceph.name
endpoint = "ceph"
}
application {
name = juju_application.ceph-mon.name
name = juju_application.ceph-mon.name
endpoint = "client"
}
}
@ -232,12 +228,12 @@ resource "juju_integration" "cinder-ceph-cinder" {
model = var.model-name
application {
name = juju_application.cinder-ceph.name
name = juju_application.cinder-ceph.name
endpoint = "storage-backend"
}
application {
name = juju_application.cinder.name
name = juju_application.cinder.name
endpoint = "storage-backend"
}
}

View File

@ -1,20 +1,19 @@
resource "juju_machine" "glance-1" {
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["100"].machine_id])
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["100"].machine_id])
constraints = "spaces=oam"
}
resource "juju_machine" "glance-2" {
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["101"].machine_id])
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["101"].machine_id])
constraints = "spaces=oam"
}
resource "juju_machine" "glance-3" {
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["102"].machine_id])
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["102"].machine_id])
constraints = "spaces=oam"
}
resource "juju_application" "glance" {
name = "glance"
@ -22,7 +21,7 @@ resource "juju_application" "glance" {
charm {
name = "glance"
channel = "ussuri/stable"
channel = var.openstack-channel
}
units = 3
@ -34,29 +33,28 @@ resource "juju_application" "glance" {
]))}"
endpoint_bindings = [{
space = "oam"
space = var.oam-space
},{
endpoint = "public"
space = "oam"
space = var.public-space
},{
endpoint = "admin"
space = "oam"
space = var.admin-space
},{
endpoint = "internal"
space = "oam"
space = var.internal-space
},{
endpoint = "shared-db"
space = "oam"
space = var.internal-space
}]
config = {
worker-multiplier = var.worker-multiplier
openstack-origin = var.openstack-origin
vip = "10.0.1.214"
region = var.openstack-region
openstack-origin = var.openstack-origin
region = var.openstack-region
vip = var.vips["glance"]
use-internal-endpoints = "true"
restrict-ceph-pools = "false"
region = var.openstack-region
restrict-ceph-pools = "false"
}
}
@ -66,19 +64,19 @@ resource "juju_application" "glance-mysql-router" {
model = var.model-name
charm {
name = "mysql-router"
name = "mysql-router"
channel = "8.0/stable"
}
units = 0
endpoint_bindings = [{
space = "oam"
space = var.oam-space
},{
space = "oam"
space = var.internal-space
endpoint = "shared-db"
},{
space = "oam"
space = var.internal-space
endpoint = "db-router"
}]
@ -106,12 +104,12 @@ resource "juju_integration" "glance-ha" {
model = var.model-name
application {
name = juju_application.glance.name
name = juju_application.glance.name
endpoint = "ha"
}
application {
name = juju_application.hacluster-glance.name
name = juju_application.hacluster-glance.name
endpoint = "ha"
}
}
@ -121,12 +119,12 @@ resource "juju_integration" "glance-mysql" {
model = var.model-name
application {
name = juju_application.glance.name
name = juju_application.glance.name
endpoint = "shared-db"
}
application {
name = juju_application.glance-mysql-router.name
name = juju_application.glance-mysql-router.name
endpoint = "shared-db"
}
}
@ -136,12 +134,12 @@ resource "juju_integration" "glance-db" {
model = var.model-name
application {
name = juju_application.glance-mysql-router.name
name = juju_application.glance-mysql-router.name
endpoint = "db-router"
}
application {
name = juju_application.mysql-innodb-cluster.name
name = juju_application.mysql-innodb-cluster.name
endpoint = "db-router"
}
}
@ -151,12 +149,12 @@ resource "juju_integration" "glance-rmq" {
model = var.model-name
application {
name = juju_application.glance.name
name = juju_application.glance.name
endpoint = "amqp"
}
application {
name = juju_application.rabbitmq-server.name
name = juju_application.rabbitmq-server.name
endpoint = "amqp"
}
}
@ -166,12 +164,12 @@ resource "juju_integration" "glance-keystone" {
model = var.model-name
application {
name = juju_application.glance.name
name = juju_application.glance.name
endpoint = "identity-service"
}
application {
name = juju_application.keystone.name
name = juju_application.keystone.name
endpoint = "identity-service"
}
}
@ -181,12 +179,12 @@ resource "juju_integration" "glance-ceph" {
model = var.model-name
application {
name = juju_application.glance.name
name = juju_application.glance.name
endpoint = "ceph"
}
application {
name = juju_application.ceph-mon.name
name = juju_application.ceph-mon.name
endpoint = "client"
}
}
@ -196,12 +194,12 @@ resource "juju_integration" "glance-cinder" {
model = var.model-name
application {
name = juju_application.glance.name
name = juju_application.glance.name
endpoint = "image-service"
}
application {
name = juju_application.cinder.name
name = juju_application.cinder.name
endpoint = "image-service"
}
}

View File

@ -1,20 +1,19 @@
resource "juju_machine" "gnocchi-1" {
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["103"].machine_id])
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["103"].machine_id])
constraints = "spaces=oam,ceph-access"
}
resource "juju_machine" "gnocchi-2" {
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["104"].machine_id])
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["104"].machine_id])
constraints = "spaces=oam,ceph-access"
}
resource "juju_machine" "gnocchi-3" {
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["105"].machine_id])
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["105"].machine_id])
constraints = "spaces=oam,ceph-access"
}
resource "juju_application" "gnocchi" {
name = "gnocchi"
@ -22,7 +21,7 @@ resource "juju_application" "gnocchi" {
charm {
name = "gnocchi"
channel = "ussuri/stable"
channel = var.openstack-channel
}
units = 3
@ -34,32 +33,32 @@ resource "juju_application" "gnocchi" {
]))}"
endpoint_bindings = [{
space = "oam"
space = var.oam-space
},{
endpoint = "public"
space = "oam"
space = var.public-space
},{
endpoint = "admin"
space = "oam"
space = var.admin-space
},{
endpoint = "internal"
space = "oam"
space = var.internal-space
},{
endpoint = "shared-db"
space = "oam"
space = var.internal-space
},{
endpoint = "storage-ceph"
space = "ceph-access"
space = var.ceph-public-space
},{
endpoint = "coordinator-memcached"
space = "oam"
space = var.internal-space
}]
config = {
worker-multiplier = var.worker-multiplier
openstack-origin = var.openstack-origin
vip = "10.0.1.220"
region = var.openstack-region
openstack-origin = var.openstack-origin
region = var.openstack-region
vip = var.vips["gnocchi"]
use-internal-endpoints = "true"
}
}
@ -70,19 +69,19 @@ resource "juju_application" "gnocchi-mysql-router" {
model = var.model-name
charm {
name = "mysql-router"
name = "mysql-router"
channel = "8.0/stable"
}
units = 0
endpoint_bindings = [{
space = "oam"
space = var.oam-space
},{
space = "oam"
space = var.internal-space
endpoint = "shared-db"
},{
space = "oam"
space = var.internal-space
endpoint = "db-router"
}]
@ -110,12 +109,12 @@ resource "juju_integration" "gnocchi-ha" {
model = var.model-name
application {
name = juju_application.gnocchi.name
name = juju_application.gnocchi.name
endpoint = "ha"
}
application {
name = juju_application.hacluster-gnocchi.name
name = juju_application.hacluster-gnocchi.name
endpoint = "ha"
}
}
@ -125,12 +124,12 @@ resource "juju_integration" "gnocchi-mysql" {
model = var.model-name
application {
name = juju_application.gnocchi.name
name = juju_application.gnocchi.name
endpoint = "shared-db"
}
application {
name = juju_application.gnocchi-mysql-router.name
name = juju_application.gnocchi-mysql-router.name
endpoint = "shared-db"
}
}
@ -140,12 +139,12 @@ resource "juju_integration" "gnocchi-db" {
model = var.model-name
application {
name = juju_application.gnocchi-mysql-router.name
name = juju_application.gnocchi-mysql-router.name
endpoint = "db-router"
}
application {
name = juju_application.mysql-innodb-cluster.name
name = juju_application.mysql-innodb-cluster.name
endpoint = "db-router"
}
}
@ -155,12 +154,12 @@ resource "juju_integration" "gnocchi-rmq" {
model = var.model-name
application {
name = juju_application.gnocchi.name
name = juju_application.gnocchi.name
endpoint = "amqp"
}
application {
name = juju_application.rabbitmq-server.name
name = juju_application.rabbitmq-server.name
endpoint = "amqp"
}
}
@ -170,12 +169,12 @@ resource "juju_integration" "gnocchi-keystone" {
model = var.model-name
application {
name = juju_application.gnocchi.name
name = juju_application.gnocchi.name
endpoint = "identity-service"
}
application {
name = juju_application.keystone.name
name = juju_application.keystone.name
endpoint = "identity-service"
}
}
@ -185,12 +184,12 @@ resource "juju_integration" "gnocchi-ceph" {
model = var.model-name
application {
name = juju_application.gnocchi.name
name = juju_application.gnocchi.name
endpoint = "storage-ceph"
}
application {
name = juju_application.ceph-mon.name
name = juju_application.ceph-mon.name
endpoint = "client"
}
}
@ -200,12 +199,12 @@ resource "juju_integration" "gnocchi-memcache" {
model = var.model-name
application {
name = juju_application.gnocchi.name
name = juju_application.gnocchi.name
endpoint = "coordinator-memcached"
}
application {
name = juju_application.memcached.name
name = juju_application.memcached.name
endpoint = "cache"
}
}
@ -215,12 +214,12 @@ resource "juju_integration" "gnocchi-ceilometer" {
model = var.model-name
application {
name = juju_application.gnocchi.name
name = juju_application.gnocchi.name
endpoint = "metric-service"
}
application {
name = juju_application.ceilometer.name
name = juju_application.ceilometer.name
endpoint = "metric-service"
}
}

View File

@ -1,20 +1,19 @@
resource "juju_machine" "heat-1" {
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["100"].machine_id])
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["100"].machine_id])
constraints = "spaces=oam"
}
resource "juju_machine" "heat-2" {
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["101"].machine_id])
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["101"].machine_id])
constraints = "spaces=oam"
}
resource "juju_machine" "heat-3" {
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["102"].machine_id])
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["102"].machine_id])
constraints = "spaces=oam"
}
resource "juju_application" "heat" {
name = "heat"
@ -22,7 +21,7 @@ resource "juju_application" "heat" {
charm {
name = "heat"
channel = "ussuri/stable"
channel = var.openstack-channel
}
units = 3
@ -34,28 +33,28 @@ resource "juju_application" "heat" {
]))}"
endpoint_bindings = [{
space = "oam"
space = var.oam-space
},{
endpoint = "public"
space = "oam"
space = var.public-space
},{
endpoint = "admin"
space = "oam"
space = var.admin-space
},{
endpoint = "internal"
space = "oam"
space = var.internal-space
},{
endpoint = "shared-db"
space = "oam"
space = var.internal-space
}]
config = {
worker-multiplier = var.worker-multiplier
openstack-origin = var.openstack-origin
region = var.openstack-region
vip = "10.0.1.215"
openstack-origin = var.openstack-origin
region = var.openstack-region
vip = var.vips["heat"]
use-internal-endpoints = "true"
config-flags = "max_nested_stack_depth=20"
config-flags = "max_nested_stack_depth=20"
}
}
@ -65,19 +64,19 @@ resource "juju_application" "heat-mysql-router" {
model = var.model-name
charm {
name = "mysql-router"
name = "mysql-router"
channel = "8.0/stable"
}
units = 0
endpoint_bindings = [{
space = "oam"
space = var.oam-space
},{
space = "oam"
space = var.internal-space
endpoint = "shared-db"
},{
space = "oam"
space = var.internal-space
endpoint = "db-router"
}]
@ -101,16 +100,15 @@ resource "juju_application" "hacluster-heat" {
resource "juju_integration" "heat-ha" {
model = var.model-name
application {
name = juju_application.heat.name
name = juju_application.heat.name
endpoint = "ha"
}
application {
name = juju_application.hacluster-heat.name
name = juju_application.hacluster-heat.name
endpoint = "ha"
}
}
@ -120,12 +118,12 @@ resource "juju_integration" "heat-mysql" {
model = var.model-name
application {
name = juju_application.heat.name
name = juju_application.heat.name
endpoint = "shared-db"
}
application {
name = juju_application.heat-mysql-router.name
name = juju_application.heat-mysql-router.name
endpoint = "shared-db"
}
}
@ -135,12 +133,12 @@ resource "juju_integration" "heat-db" {
model = var.model-name
application {
name = juju_application.heat-mysql-router.name
name = juju_application.heat-mysql-router.name
endpoint = "db-router"
}
application {
name = juju_application.mysql-innodb-cluster.name
name = juju_application.mysql-innodb-cluster.name
endpoint = "db-router"
}
}
@ -150,12 +148,12 @@ resource "juju_integration" "heat-rmq" {
model = var.model-name
application {
name = juju_application.heat.name
name = juju_application.heat.name
endpoint = "amqp"
}
application {
name = juju_application.rabbitmq-server.name
name = juju_application.rabbitmq-server.name
endpoint = "amqp"
}
}
@ -165,12 +163,12 @@ resource "juju_integration" "heat-keystone" {
model = var.model-name
application {
name = juju_application.heat.name
name = juju_application.heat.name
endpoint = "identity-service"
}
application {
name = juju_application.keystone.name
name = juju_application.keystone.name
endpoint = "identity-service"
}
}

View File

@ -1,16 +1,16 @@
resource "juju_machine" "memcache-1" {
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["100"].machine_id])
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["100"].machine_id])
constraints = "spaces=oam"
}
resource "juju_machine" "memcache-2" {
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["101"].machine_id])
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["101"].machine_id])
constraints = "spaces=oam"
}
resource "juju_machine" "memcache-3" {
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["102"].machine_id])
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["102"].machine_id])
constraints = "spaces=oam"
}
@ -20,9 +20,9 @@ resource "juju_application" "memcached" {
model = var.model-name
charm {
name = "memcached"
channel = "latest/stable"
base = "ubuntu@20.04"
name = "memcached"
channel = "latest/stable"
base = var.default-base
}
units = 3
@ -34,10 +34,10 @@ resource "juju_application" "memcached" {
]))}"
endpoint_bindings = [{
space = "oam"
space = var.internal-space
},{
endpoint = "cache"
space = "oam"
space = var.internal-space
}]
config = {
@ -47,17 +47,15 @@ resource "juju_application" "memcached" {
resource "juju_integration" "nova-cloud-controller-memcache" {
model = var.model-name
application {
name = juju_application.nova-cloud-controller.name
name = juju_application.nova-cloud-controller.name
endpoint = "memcache"
}
application {
name = juju_application.memcached.name
name = juju_application.memcached.name
endpoint = "cache"
}
}

View File

@ -1,20 +1,19 @@
resource "juju_machine" "ncc-1" {
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["103"].machine_id])
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["103"].machine_id])
constraints = "spaces=oam"
}
resource "juju_machine" "ncc-2" {
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["104"].machine_id])
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["104"].machine_id])
constraints = "spaces=oam"
}
resource "juju_machine" "ncc-3" {
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["105"].machine_id])
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["105"].machine_id])
constraints = "spaces=oam"
}
resource "juju_application" "nova-cloud-controller" {
name = "nova-cloud-controller"
@ -22,7 +21,7 @@ resource "juju_application" "nova-cloud-controller" {
charm {
name = "nova-cloud-controller"
channel = "ussuri/stable"
channel = var.openstack-channel
}
units = 3
@ -34,36 +33,36 @@ resource "juju_application" "nova-cloud-controller" {
]))}"
endpoint_bindings = [{
space = "oam"
space = var.oam-space
},{
endpoint = "public"
space = "oam"
space = var.public-space
},{
endpoint = "admin"
space = "oam"
space = var.admin-space
},{
endpoint = "internal"
space = "oam"
space = var.internal-space
},{
endpoint = "shared-db"
space = "oam"
space = var.internal-space
},{
endpoint = "memcache"
space = "oam"
space = var.internal-space
}]
config = {
worker-multiplier = var.worker-multiplier
openstack-origin = var.openstack-origin
region = var.openstack-region
vip = "10.0.1.219"
network-manager = "Neutron"
openstack-origin = var.openstack-origin
region = var.openstack-region
vip = var.vips["nova-cc"]
network-manager = "Neutron"
console-access-protocol = "novnc"
console-proxy-ip = "local"
console-proxy-ip = "local"
use-internal-endpoints = "true"
ram-allocation-ratio: "1.0"
cpu-allocation-ratio: "2.0"
config-flags = "scheduler_max_attempts=20"
ram-allocation-ratio = var.ram-allocation-ratio
cpu-allocation-ratio = var.cpu-allocation-ratio
config-flags = "scheduler_max_attempts=20"
}
}
@ -73,19 +72,19 @@ resource "juju_application" "nova-cloud-controller-mysql-router" {
model = var.model-name
charm {
name = "mysql-router"
name = "mysql-router"
channel = "8.0/stable"
}
units = 0
endpoint_bindings = [{
space = "oam"
space = var.oam-space
},{
space = "oam"
space = var.internal-space
endpoint = "shared-db"
},{
space = "oam"
space = var.internal-space
endpoint = "db-router"
}]
@ -109,16 +108,15 @@ resource "juju_application" "hacluster-nova" {
resource "juju_integration" "nova-cloud-controller-ha" {
model = var.model-name
application {
name = juju_application.nova-cloud-controller.name
name = juju_application.nova-cloud-controller.name
endpoint = "ha"
}
application {
name = juju_application.hacluster-nova.name
name = juju_application.hacluster-nova.name
endpoint = "ha"
}
}
@ -128,12 +126,12 @@ resource "juju_integration" "nova-cloud-controller-mysql" {
model = var.model-name
application {
name = juju_application.nova-cloud-controller.name
name = juju_application.nova-cloud-controller.name
endpoint = "shared-db"
}
application {
name = juju_application.nova-cloud-controller-mysql-router.name
name = juju_application.nova-cloud-controller-mysql-router.name
endpoint = "shared-db"
}
}
@ -143,12 +141,12 @@ resource "juju_integration" "nova-cloud-controller-db" {
model = var.model-name
application {
name = juju_application.nova-cloud-controller-mysql-router.name
name = juju_application.nova-cloud-controller-mysql-router.name
endpoint = "db-router"
}
application {
name = juju_application.mysql-innodb-cluster.name
name = juju_application.mysql-innodb-cluster.name
endpoint = "db-router"
}
}
@ -158,12 +156,12 @@ resource "juju_integration" "nova-cloud-controller-rmq" {
model = var.model-name
application {
name = juju_application.nova-cloud-controller.name
name = juju_application.nova-cloud-controller.name
endpoint = "amqp"
}
application {
name = juju_application.rabbitmq-server.name
name = juju_application.rabbitmq-server.name
endpoint = "amqp"
}
}
@ -173,12 +171,12 @@ resource "juju_integration" "nova-cloud-controller-keystone" {
model = var.model-name
application {
name = juju_application.nova-cloud-controller.name
name = juju_application.nova-cloud-controller.name
endpoint = "identity-service"
}
application {
name = juju_application.keystone.name
name = juju_application.keystone.name
endpoint = "identity-service"
}
}
@ -188,12 +186,12 @@ resource "juju_integration" "nova-cloud-controller-neutron" {
model = var.model-name
application {
name = juju_application.nova-cloud-controller.name
name = juju_application.nova-cloud-controller.name
endpoint = "neutron-api"
}
application {
name = juju_application.neutron-api.name
name = juju_application.neutron-api.name
endpoint = "neutron-api"
}
}
@ -203,12 +201,12 @@ resource "juju_integration" "nova-cloud-controller-nova-compute" {
model = var.model-name
application {
name = juju_application.nova-cloud-controller.name
name = juju_application.nova-cloud-controller.name
endpoint = "cloud-compute"
}
application {
name = juju_application.nova-compute-kvm.name
name = juju_application.nova-compute-kvm.name
endpoint = "cloud-compute"
}
}
@ -217,12 +215,12 @@ resource "juju_integration" "nova-cloud-controller-glance" {
model = var.model-name
application {
name = juju_application.nova-cloud-controller.name
name = juju_application.nova-cloud-controller.name
endpoint = "image-service"
}
application {
name = juju_application.glance.name
name = juju_application.glance.name
endpoint = "image-service"
}
}

View File

@ -1,16 +1,16 @@
resource "juju_machine" "placement-1" {
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["103"].machine_id])
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["103"].machine_id])
constraints = "spaces=oam"
}
resource "juju_machine" "placement-2" {
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["104"].machine_id])
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["104"].machine_id])
constraints = "spaces=oam"
}
resource "juju_machine" "placement-3" {
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["105"].machine_id])
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["105"].machine_id])
constraints = "spaces=oam"
}
@ -21,7 +21,7 @@ resource "juju_application" "placement" {
charm {
name = "placement"
channel = "ussuri/stable"
channel = var.openstack-channel
}
units = 3
@ -33,25 +33,25 @@ resource "juju_application" "placement" {
]))}"
endpoint_bindings = [{
space = "oam"
space = var.oam-space
},{
endpoint = "public"
space = "oam"
space = var.public-space
},{
endpoint = "admin"
space = "oam"
space = var.admin-space
},{
endpoint = "internal"
space = "oam"
space = var.internal-space
},{
endpoint = "shared-db"
space = "oam"
space = var.internal-space
}]
config = {
worker-multiplier = var.worker-multiplier
openstack-origin = var.openstack-origin
vip = "10.0.1.223"
openstack-origin = var.openstack-origin
vip = var.vips["placement"]
}
}
@ -61,19 +61,19 @@ resource "juju_application" "placement-mysql-router" {
model = var.model-name
charm {
name = "mysql-router"
name = "mysql-router"
channel = "8.0/stable"
}
units = 0
endpoint_bindings = [{
space = "oam"
space = var.oam-space
},{
space = "oam"
space = var.internal-space
endpoint = "shared-db"
},{
space = "oam"
space = var.internal-space
endpoint = "db-router"
}]
@ -95,20 +95,17 @@ resource "juju_application" "hacluster-placement" {
units = 0
}
resource "juju_integration" "placement-ha" {
model = var.model-name
application {
name = juju_application.placement.name
name = juju_application.placement.name
endpoint = "ha"
}
application {
name = juju_application.hacluster-placement.name
name = juju_application.hacluster-placement.name
endpoint = "ha"
}
}
@ -118,12 +115,12 @@ resource "juju_integration" "placement-mysql" {
model = var.model-name
application {
name = juju_application.placement.name
name = juju_application.placement.name
endpoint = "shared-db"
}
application {
name = juju_application.placement-mysql-router.name
name = juju_application.placement-mysql-router.name
endpoint = "shared-db"
}
}
@ -133,12 +130,12 @@ resource "juju_integration" "placement-db" {
model = var.model-name
application {
name = juju_application.placement-mysql-router.name
name = juju_application.placement-mysql-router.name
endpoint = "db-router"
}
application {
name = juju_application.mysql-innodb-cluster.name
name = juju_application.mysql-innodb-cluster.name
endpoint = "db-router"
}
}
@ -148,12 +145,12 @@ resource "juju_integration" "placement-keystone" {
model = var.model-name
application {
name = juju_application.placement.name
name = juju_application.placement.name
endpoint = "identity-service"
}
application {
name = juju_application.keystone.name
name = juju_application.keystone.name
endpoint = "identity-service"
}
}
@ -163,12 +160,12 @@ resource "juju_integration" "placement-nova" {
model = var.model-name
application {
name = juju_application.placement.name
name = juju_application.placement.name
endpoint = "placement"
}
application {
name = juju_application.nova-cloud-controller.name
name = juju_application.nova-cloud-controller.name
endpoint = "placement"
}
}

View File

@ -5,7 +5,7 @@ resource "juju_application" "nova-compute-kvm" {
charm {
name = "nova-compute"
channel = "ussuri/stable"
channel = var.openstack-channel
}
units = 8
@ -21,27 +21,27 @@ resource "juju_application" "nova-compute-kvm" {
]))}"
endpoint_bindings = [{
space = "oam"
space = var.oam-space
},{
space = "oam"
space = var.internal-space
endpoint = "internal"
}]
config = {
openstack-origin = var.openstack-origin
enable-live-migration = "true"
enable-resize = "true"
migration-auth-type = "ssh"
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"
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"
reserved-host-memory = var.reserved-host-memory
#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"},
@ -54,7 +54,6 @@ resource "juju_application" "nova-compute-kvm" {
name: "arifpass",
numa_policy: "preferred"
})
}
}
@ -65,7 +64,7 @@ resource "juju_application" "ceilometer-agent" {
charm {
name = "ceilometer-agent"
channel = "ussuri/stable"
channel = var.openstack-channel
}
units = 0
@ -82,26 +81,25 @@ resource "juju_application" "neutron-openvswitch" {
charm {
name = "neutron-openvswitch"
channel = "ussuri/stable"
channel = var.openstack-channel
}
units = 0
endpoint_bindings = [{
space = "oam"
space = var.oam-space
},{
space = "oam"
space = var.overlay-space
endpoint = "data"
}]
config = {
data-port = "br-data:ens9"
dns-servers = "192.168.1.13"
data-port = var.data-port
dns-servers = var.dns-servers
enable-local-dhcp-and-metadata = "true"
firewall-driver = "openvswitch"
worker-multiplier = "0"
worker-multiplier = var.worker-multiplier
}
}
resource "juju_application" "sysconfig-compute" {
@ -131,12 +129,12 @@ resource "juju_integration" "compute-ceilometer" {
model = var.model-name
application {
name = juju_application.nova-compute-kvm.name
name = juju_application.nova-compute-kvm.name
endpoint = "nova-ceilometer"
}
application {
name = juju_application.ceilometer-agent.name
name = juju_application.ceilometer-agent.name
endpoint = "nova-ceilometer"
}
}
@ -146,12 +144,12 @@ resource "juju_integration" "compute-ovs" {
model = var.model-name
application {
name = juju_application.neutron-openvswitch.name
name = juju_application.neutron-openvswitch.name
endpoint = "neutron-plugin"
}
application {
name = juju_application.nova-compute-kvm.name
name = juju_application.nova-compute-kvm.name
endpoint = "neutron-plugin"
}
}
@ -161,12 +159,12 @@ resource "juju_integration" "compute-sysconfig" {
model = var.model-name
application {
name = juju_application.nova-compute-kvm.name
name = juju_application.nova-compute-kvm.name
endpoint = "juju-info"
}
application {
name = juju_application.sysconfig-compute.name
name = juju_application.sysconfig-compute.name
endpoint = "juju-info"
}
}
@ -176,12 +174,12 @@ resource "juju_integration" "compute-ceph-mon" {
model = var.model-name
application {
name = juju_application.nova-compute-kvm.name
name = juju_application.nova-compute-kvm.name
endpoint = "ceph"
}
application {
name = juju_application.ceph-mon.name
name = juju_application.ceph-mon.name
endpoint = "client"
}
}
@ -191,12 +189,12 @@ resource "juju_integration" "neutron-api-ovs" {
model = var.model-name
application {
name = juju_application.neutron-openvswitch.name
name = juju_application.neutron-openvswitch.name
endpoint = "neutron-plugin-api"
}
application {
name = juju_application.neutron-api.name
name = juju_application.neutron-api.name
endpoint = "neutron-plugin-api"
}
}
@ -206,12 +204,12 @@ resource "juju_integration" "nova-compute-rmq" {
model = var.model-name
application {
name = juju_application.nova-compute-kvm.name
name = juju_application.nova-compute-kvm.name
endpoint = "amqp"
}
application {
name = juju_application.rabbitmq-server.name
name = juju_application.rabbitmq-server.name
endpoint = "amqp"
}
}
@ -221,12 +219,12 @@ resource "juju_integration" "neutron-ovs-rmq" {
model = var.model-name
application {
name = juju_application.neutron-openvswitch.name
name = juju_application.neutron-openvswitch.name
endpoint = "amqp"
}
application {
name = juju_application.rabbitmq-server.name
name = juju_application.rabbitmq-server.name
endpoint = "amqp"
}
}
@ -236,12 +234,12 @@ resource "juju_integration" "ceilometer-agent-rmq" {
model = var.model-name
application {
name = juju_application.ceilometer-agent.name
name = juju_application.ceilometer-agent.name
endpoint = "amqp"
}
application {
name = juju_application.rabbitmq-server.name
name = juju_application.rabbitmq-server.name
endpoint = "amqp"
}
}
@ -251,12 +249,12 @@ resource "juju_integration" "nova-compute-glance" {
model = var.model-name
application {
name = juju_application.nova-compute-kvm.name
name = juju_application.nova-compute-kvm.name
endpoint = "image-service"
}
application {
name = juju_application.glance.name
name = juju_application.glance.name
endpoint = "image-service"
}
}
@ -266,12 +264,12 @@ resource "juju_integration" "nova-compute-cinder-ceph" {
model = var.model-name
application {
name = juju_application.nova-compute-kvm.name
name = juju_application.nova-compute-kvm.name
endpoint = "ceph-access"
}
application {
name = juju_application.cinder-ceph.name
name = juju_application.cinder-ceph.name
endpoint = "ceph-access"
}
}

View File

@ -7,7 +7,7 @@ resource "juju_application" "controller-server" {
name = "ubuntu"
channel = "latest/stable"
revision = "24"
base = "ubuntu@20.04"
base = var.default-base
}
units = 6
@ -19,7 +19,6 @@ resource "juju_application" "controller-server" {
juju_machine.all_machines["104"].machine_id,
juju_machine.all_machines["105"].machine_id,
]))}"
}
resource "juju_application" "sysconfig-control" {
@ -48,13 +47,12 @@ resource "juju_integration" "control-sysconfig" {
model = var.model-name
application {
name = juju_application.sysconfig-control.name
name = juju_application.sysconfig-control.name
endpoint = "juju-info"
}
application {
name = juju_application.controller-server.name
name = juju_application.controller-server.name
endpoint = "juju-info"
}
}

View File

@ -5,7 +5,7 @@ resource "juju_application" "neutron-gateway" {
charm {
name = "neutron-gateway"
channel = "ussuri/stable"
channel = var.openstack-channel
}
units = 3
@ -28,18 +28,18 @@ resource "juju_application" "neutron-gateway" {
}
resource "juju_machine" "neutron-api-1" {
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["100"].machine_id])
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["100"].machine_id])
constraints = "spaces=oam"
}
resource "juju_machine" "neutron-api-2" {
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["101"].machine_id])
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["101"].machine_id])
constraints = "spaces=oam"
}
resource "juju_machine" "neutron-api-3" {
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["102"].machine_id])
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["102"].machine_id])
constraints = "spaces=oam"
}
@ -50,7 +50,7 @@ resource "juju_application" "neutron-api" {
charm {
name = "neutron-api"
channel = "ussuri/stable"
channel = var.openstack-channel
}
units = 3
@ -62,43 +62,41 @@ resource "juju_application" "neutron-api" {
]))}"
endpoint_bindings = [{
space = "oam"
space = var.oam-space
},{
endpoint = "public"
space = "oam"
space = var.public-space
},{
endpoint = "admin"
space = "oam"
space = var.admin-space
},{
endpoint = "internal"
space = "oam"
space = var.internal-space
},{
endpoint = "shared-db"
space = "oam"
space = var.internal-space
}]
config = {
vip = "10.0.1.218"
worker-multiplier: var.worker-multiplier
openstack-origin: var.openstack-origin
region: var.openstack-region
neutron-security-groups = "true"
#overlay-network-type = "vxlan gre"
overlay-network-type = "vxlan"
use-internal-endpoints = "true"
enable-l3ha = "true"
dhcp-agents-per-network = "2"
worker-multiplier = var.worker-multiplier
openstack-origin = var.openstack-origin
region = var.openstack-region
vip = var.vips["neutron-api"]
neutron-security-groups = "true"
#overlay-network-type = "vxlan gre"
overlay-network-type = "vxlan"
use-internal-endpoints = "true"
enable-l3ha = "true"
dhcp-agents-per-network = "2"
enable-ml2-port-security = "true"
l2-population = "true"
#global-physnet-mtu = "9000"
vlan-ranges = "physnet1:350:599"
flat-network-providers = "physnet1"
enable-vlan-trunking = "true"
default-tenant-network-type = "vxlan"
l2-population = "true"
#global-physnet-mtu = "9000"
manage-neutron-plugin-legacy-mode = "true"
vlan-ranges = "physnet1:350:599"
flat-network-providers = "physnet1"
enable-vlan-trunking = "true"
}
}
resource "juju_application" "neutron-mysql-router" {
@ -114,12 +112,12 @@ resource "juju_application" "neutron-mysql-router" {
units = 0
endpoint_bindings = [{
space = "oam"
space = var.oam-space
},{
space = "oam"
space = var.internal-space
endpoint = "shared-db"
},{
space = "oam"
space = var.internal-space
endpoint = "db-router"
}]
@ -146,12 +144,12 @@ resource "juju_integration" "neutron-ha" {
model = var.model-name
application {
name = juju_application.neutron-api.name
name = juju_application.neutron-api.name
endpoint = "ha"
}
application {
name = juju_application.hacluster-neutron.name
name = juju_application.hacluster-neutron.name
endpoint = "ha"
}
}
@ -161,12 +159,12 @@ resource "juju_integration" "neutron-mysql" {
model = var.model-name
application {
name = juju_application.neutron-api.name
name = juju_application.neutron-api.name
endpoint = "shared-db"
}
application {
name = juju_application.neutron-mysql-router.name
name = juju_application.neutron-mysql-router.name
endpoint = "shared-db"
}
}
@ -176,12 +174,12 @@ resource "juju_integration" "neutron-db" {
model = var.model-name
application {
name = juju_application.neutron-mysql-router.name
name = juju_application.neutron-mysql-router.name
endpoint = "db-router"
}
application {
name = juju_application.mysql-innodb-cluster.name
name = juju_application.mysql-innodb-cluster.name
endpoint = "db-router"
}
}
@ -191,12 +189,12 @@ resource "juju_integration" "neutron-keystone" {
model = var.model-name
application {
name = juju_application.neutron-api.name
name = juju_application.neutron-api.name
endpoint = "identity-service"
}
application {
name = juju_application.keystone.name
name = juju_application.keystone.name
endpoint = "identity-service"
}
}
@ -206,12 +204,12 @@ resource "juju_integration" "neutron-api-rmq" {
model = var.model-name
application {
name = juju_application.neutron-api.name
name = juju_application.neutron-api.name
endpoint = "amqp"
}
application {
name = juju_application.rabbitmq-server.name
name = juju_application.rabbitmq-server.name
endpoint = "amqp"
}
}
@ -221,12 +219,12 @@ resource "juju_integration" "neutron-gw-rmq" {
model = var.model-name
application {
name = juju_application.neutron-gateway.name
name = juju_application.neutron-gateway.name
endpoint = "amqp"
}
application {
name = juju_application.rabbitmq-server.name
name = juju_application.rabbitmq-server.name
endpoint = "amqp"
}
}

View File

@ -1,16 +1,16 @@
resource "juju_machine" "vault-1" {
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["400"].machine_id])
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["400"].machine_id])
constraints = "spaces=oam"
}
resource "juju_machine" "vault-2" {
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["401"].machine_id])
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["401"].machine_id])
constraints = "spaces=oam"
}
resource "juju_machine" "vault-3" {
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["402"].machine_id])
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["402"].machine_id])
constraints = "spaces=oam"
}
@ -20,9 +20,9 @@ resource "juju_application" "vault" {
model = var.model-name
charm {
name = "vault"
channel = "1.7/stable"
base = "ubuntu@20.04"
name = "vault"
channel = "1.7/stable"
base = var.default-base
}
units = 3
@ -34,7 +34,7 @@ resource "juju_application" "vault" {
]))}"
config = {
vip = "10.0.1.222"
vip = var.vips["vault"]
nagios_context = var.nagios-context
}
@ -46,7 +46,7 @@ resource "juju_application" "vault-mysql-router" {
model = var.model-name
charm {
name = "mysql-router"
name = "mysql-router"
channel = "8.0/stable"
}
@ -54,13 +54,13 @@ resource "juju_application" "vault-mysql-router" {
endpoint_bindings = [
{
space = "oam"
space = var.oam-space
},{
endpoint = "shared-db"
space = "oam"
space = var.internal-space
},{
endpoint = "db-router"
space = "oam"
space = var.internal-space
},
]
@ -80,23 +80,22 @@ resource "juju_application" "hacluster-vault" {
}
units = 0
}
resource "juju_machine" "etcd-1" {
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["400"].machine_id])
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["400"].machine_id])
constraints = "spaces=oam"
}
resource "juju_machine" "etcd-2" {
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["401"].machine_id])
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["401"].machine_id])
constraints = "spaces=oam"
}
resource "juju_machine" "etcd-3" {
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["402"].machine_id])
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["402"].machine_id])
constraints = "spaces=oam"
}
@ -108,7 +107,7 @@ resource "juju_application" "etcd" {
charm {
name = "etcd"
channel = "latest/stable"
base = "ubuntu@20.04"
base = var.default-base
revision = 583
}
@ -119,12 +118,12 @@ resource "juju_application" "etcd" {
]))}"
endpoint_bindings = [{
space = "oam"
space = var.oam-space
},{
space = "oam"
space = var.internal-space
endpoint = "cluster"
},{
space = "oam"
space = var.internal-space
endpoint = "db"
}]
@ -136,8 +135,8 @@ resource "juju_application" "etcd" {
}
resource "juju_machine" "easyrsa" {
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["402"].machine_id])
model = var.model-name
placement = join(":",["lxd",juju_machine.all_machines["402"].machine_id])
constraints = "spaces=oam"
}
@ -147,14 +146,14 @@ resource "juju_application" "easyrsa" {
model = var.model-name
charm {
name = "easyrsa"
channel = "latest/stable"
base = "ubuntu@20.04"
name = "easyrsa"
channel = "latest/stable"
base = var.default-base
}
placement = "${juju_machine.easyrsa.machine_id}"
endpoint_bindings = [{space = "oam"}]
endpoint_bindings = [{space = var.oam-space}]
units = 1
}
@ -164,12 +163,12 @@ resource "juju_integration" "vault-etcd" {
model = var.model-name
application {
name = juju_application.vault.name
name = juju_application.vault.name
endpoint = "etcd"
}
application {
name = juju_application.etcd.name
name = juju_application.etcd.name
endpoint = "db"
}
}
@ -179,12 +178,12 @@ resource "juju_integration" "etcd-easyrsa" {
model = var.model-name
application {
name = juju_application.etcd.name
name = juju_application.etcd.name
endpoint = "certificates"
}
application {
name = juju_application.easyrsa.name
name = juju_application.easyrsa.name
endpoint = "client"
}
}
@ -194,12 +193,12 @@ resource "juju_integration" "vault-ha" {
model = var.model-name
application {
name = juju_application.vault.name
name = juju_application.vault.name
endpoint = "ha"
}
application {
name = juju_application.hacluster-vault.name
name = juju_application.hacluster-vault.name
endpoint = "ha"
}
}
@ -209,12 +208,12 @@ resource "juju_integration" "vault-mysql" {
model = var.model-name
application {
name = juju_application.vault.name
name = juju_application.vault.name
endpoint = "shared-db"
}
application {
name = juju_application.vault-mysql-router.name
name = juju_application.vault-mysql-router.name
endpoint = "shared-db"
}
}
@ -224,12 +223,12 @@ resource "juju_integration" "vault-ceph" {
model = var.model-name
application {
name = juju_application.vault.name
name = juju_application.vault.name
endpoint = "secrets"
}
application {
name = juju_application.ceph-osd.name
name = juju_application.ceph-osd.name
endpoint = "secrets-storage"
}
}
@ -239,12 +238,12 @@ resource "juju_integration" "vault-db" {
model = var.model-name
application {
name = juju_application.vault-mysql-router.name
name = juju_application.vault-mysql-router.name
endpoint = "db-router"
}
application {
name = juju_application.mysql-innodb-cluster.name
name = juju_application.mysql-innodb-cluster.name
endpoint = "db-router"
}
}

View File

@ -20,12 +20,44 @@ machines = [
{machine_id=1007,constraints="tags=compute,asrock04"},
]
osd-devices = "/dev/sdb /dev/sdc"
data-port = "br-data:ens9"
bridge-mappings = "physnet1:br-data"
dns-servers = "192.168.1.13"
osd-devices = "/dev/sdb /dev/sdc"
nagios-context = "arif-nc01"
#vips = [
# {vault=10.0.1.222}
#]
ram-allocation-ratio = 1.0
cpu-allocation-ratio = 2.0
oam-space = "oam"
admin-space = "oam"
public-space = "oam"
internal-space = "oam"
ceph-public-space = "ceph-access"
ceph-cluster-space = "ceph-replica"
overlay-space = "overlay"
expected-osd-count = 12
expected-mon-count = 3
ntp-source = "192.168.1.11"
external-network-cidr = "192.168.1.0/24"
external-network-gateway = "192.168.1.249"
dns-servers = "192.168.1.13"
data-port = "br-data:ens9"
bridge-mappings = "physnet1:br-data"
vips = {
aodh = "10.0.1.211"
cinder = "10.0.1.212"
dashboard = "10.0.1.213"
glance = "10.0.1.214"
heat = "10.0.1.215"
keystone = "10.0.1.216"
neutron-api = "10.0.1.218"
nova-cc = "10.0.1.219"
gnocchi = "10.0.1.220"
contrail = "10.0.1.221"
vault = "10.0.1.222"
placement = "10.0.1.223"
radosgw = "10.0.1.224"
}