Skip to content

Commit

Permalink
[POC] Add scenarios for 17.1 env for adoption
Browse files Browse the repository at this point in the history
  • Loading branch information
cescgina committed Sep 25, 2024
1 parent 6d3aa21 commit ad4b5ff
Show file tree
Hide file tree
Showing 9 changed files with 521 additions and 0 deletions.
67 changes: 67 additions & 0 deletions scenarios/hci.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
---
undercloud:
config:
- section: DEFAULT
option: undercloud_hostname
value: undercloud.localdomain
- section: DEFAULT
option: undercloud_timezone
value: UTC
- section: DEFAULT
option: undercloud_debug
value: true
- section: DEFAULT
option: container_cli
value: podman
- section: DEFAULT
option: undercloud_enable_selinux
value: false
- section: DEFAULT
option: generate_service_certificate
value: false
undercloud_parameters_override: "hci/hieradata_overrides_undercloud.yaml"
undercloud_parameters_defaults: "hci/undercloud_parameter_defaults.yaml"
ctlplane_vip: 192.168.122.99
pre_oc_run:
- name: Deploy Ceph
type: playbook
source: "adoption_deploy_ceph.yml"
cloud_domain: "localdomain"
hostname_groups_map:
# map ansible groups in the inventory to role hostname format for
# 17.1 deployment
osp-computes: "overcloud-computehci"
osp-controllers: "overcloud-controller"
roles_groups_map:
# map ansible groups to tripleo Role names
osp-computes: "ComputeHCI"
osp-controllers: "Controller"
overcloud:
stackname: "overcloud"
args:
- "--override-ansible-cfg /home/zuul/ansible_config.cfg"
- "--templates /usr/share/openstack-tripleo-heat-templates"
- "--libvirt-type qemu"
- "--timeout 90"
- "--overcloud-ssh-user zuul"
- "--deployed-server"
- "--validation-warnings-fatal"
- "--disable-validations"
- "--heat-type pod"
- "--disable-protected-resource-types"
vars:
- "/home/zuul/deployed_ceph.yaml"
- "/usr/share/openstack-tripleo-heat-templates/environments/docker-ha.yaml"
- "/usr/share/openstack-tripleo-heat-templates/environments/podman.yaml"
- "/usr/share/openstack-tripleo-heat-templates/environments/low-memory-usage.yaml"
- "/usr/share/openstack-tripleo-heat-templates/environments/debug.yaml"
- "/usr/share/openstack-tripleo-heat-templates/environments/manila-cephfsnative-config.yaml"
- "/usr/share/openstack-tripleo-heat-templates/environments/enable-legacy-telemetry.yaml"
- "/usr/share/openstack-tripleo-heat-templates/environments/cephadm/cephadm.yaml"
- "/usr/share/openstack-tripleo-heat-templates/environments/cephadm/ceph-mds.yaml"
services_file: "hci/overcloud_services.yaml"
network_data_file: "hci/network_data.yaml"
vips_data_file: "hci/vips_data.yaml"
roles_file: "hci/roles.yaml"
ceph_osd_spec_file: "hci/osd_spec.yaml"
config_download_file: "hci/config-download.yaml"
32 changes: 32 additions & 0 deletions scenarios/hci/config-download.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
resource_registry:
OS::TripleO::DeployedServer::ControlPlanePort: /usr/share/openstack-tripleo-heat-templates/deployed-server/deployed-neutron-port.yaml
OS::TripleO::OVNMacAddressNetwork: OS::Heat::None
OS::TripleO::OVNMacAddressPort: OS::Heat::None
OS::TripleO::ComputeHCI::Ports::InternalApiPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_internal_api.yaml
OS::TripleO::ComputeHCI::Ports::StoragePort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_storage.yaml
OS::TripleO::ComputeHCI::Ports::StorageMgmtPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_storage_mgmt.yaml
OS::TripleO::ComputeHCI::Ports::TenantPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_tenant.yaml
OS::TripleO::Controller::Ports::ExternalPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_external.yaml
OS::TripleO::Controller::Ports::InternalApiPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_internal_api.yaml
OS::TripleO::Controller::Ports::StorageMgmtPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_storage_mgmt.yaml
OS::TripleO::Controller::Ports::StoragePort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_storage.yaml
OS::TripleO::Controller::Ports::TenantPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_tenant.yaml
parameter_defaults:
ControllerHostnameFormat: '%stackname%-controller-%index%'
ComputeHCIHostnameFormat: '%stackname%-computehci-%index%'
CtlplaneNetworkAttributes:
network:
dns_domain: localdomain
mtu: 1500
name: ctlplane
tags:
- 192.168.122.0/24
subnets:
ctlplane-subnet:
cidr: 192.168.122.0/24
dns_nameservers: 192.168.122.10
gateway_ip: 192.168.122.10
host_routes: []
name: ctlplane-subnet
ip_version: 4
11 changes: 11 additions & 0 deletions scenarios/hci/hieradata_overrides_undercloud.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
parameter_defaults:
UndercloudExtraConfig:
ironic::disk_utils::image_convert_memory_limit: 2048
ironic::conductor::heartbeat_interval: 20
ironic::conductor::heartbeat_timeout: 120

# Ironic defaults to using `qemu:///system`. When running libvirtd
# unprivileged we need to use `qemu:///session`. This allows us to pass
# the value of libvirt_uri into /etc/ironic/ironic.conf.
ironic::drivers::ssh::libvirt_uri: 'qemu:///session'
61 changes: 61 additions & 0 deletions scenarios/hci/network_data.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
---
- name: Storage
mtu: 1500
vip: true
name_lower: storage
dns_domain: storage.mydomain.tld.
service_net_map_replace: storage
subnets:
storage_subnet:
vlan: 21
ip_subnet: '172.18.0.0/24'
allocation_pools: [{'start': '172.18.0.120', 'end': '172.18.0.250'}]

- name: StorageMgmt
mtu: 1500
vip: true
name_lower: storage_mgmt
dns_domain: storagemgmt.mydomain.tld.
service_net_map_replace: storage_mgmt
subnets:
storage_mgmt_subnet:
vlan: 23
ip_subnet: '172.20.0.0/24'
allocation_pools: [{'start': '172.20.0.120', 'end': '172.20.0.250'}]

- name: InternalApi
mtu: 1500
vip: true
name_lower: internal_api
dns_domain: internal-api.mydomain.tld.
service_net_map_replace: internal_api
subnets:
internal_api_subnet:
vlan: 20
ip_subnet: '172.17.0.0/24'
allocation_pools: [{'start': '172.17.0.120', 'end': '172.17.0.250'}]

- name: Tenant
mtu: 1500
vip: false # Tenant network does not use VIPs
name_lower: tenant
dns_domain: tenant.mydomain.tld.
service_net_map_replace: tenant
subnets:
tenant_subnet:
vlan: 22
ip_subnet: '172.19.0.0/24'
allocation_pools: [{'start': '172.19.0.120', 'end': '172.19.0.250'}]

- name: External
mtu: 1500
vip: true
name_lower: external
dns_domain: external.mydomain.tld.
service_net_map_replace: external
subnets:
external_subnet:
gateway_ip: '172.21.0.1'
vlan: 44
ip_subnet: '172.21.0.0/24'
allocation_pools: [{'start': '172.21.0.120', 'end': '172.21.0.250'}]
4 changes: 4 additions & 0 deletions scenarios/hci/osd_spec.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
data_devices:
paths:
- /dev/ceph_vg0/ceph_lv0
52 changes: 52 additions & 0 deletions scenarios/hci/overcloud_services.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
---
resource_registry:
# yamllint disable rule:line-length
OS::TripleO::Services::CeilometerAgentCentral: /usr/share/openstack-tripleo-heat-templates/deployment/ceilometer/ceilometer-agent-central-container-puppet.yaml
OS::TripleO::Services::CeilometerAgentNotification: /usr/share/openstack-tripleo-heat-templates/deployment/ceilometer/ceilometer-agent-notification-container-puppet.yaml
OS::TripleO::Services::CeilometerAgentIpmi: /usr/share/openstack-tripleo-heat-templates/deployment/ceilometer/ceilometer-agent-ipmi-container-puppet.yaml
OS::TripleO::Services::ComputeCeilometerAgent: /usr/share/openstack-tripleo-heat-templates/deployment/ceilometer/ceilometer-agent-compute-container-puppet.yaml
OS::TripleO::Services::Collectd: /usr/share/openstack-tripleo-heat-templates/deployment/metrics/collectd-container-puppet.yaml
OS::TripleO::Services::MetricsQdr: /usr/share/openstack-tripleo-heat-templates/deployment/metrics/qdr-container-puppet.yaml
OS::TripleO::Services::OsloMessagingRpc: /usr/share/openstack-tripleo-heat-templates/deployment/rabbitmq/rabbitmq-messaging-rpc-pacemaker-puppet.yaml
OS::TripleO::Services::OsloMessagingNotify: /usr/share/openstack-tripleo-heat-templates/deployment/rabbitmq/rabbitmq-messaging-notify-shared-puppet.yaml
OS::TripleO::Services::HAproxy: /usr/share/openstack-tripleo-heat-templates/deployment/haproxy/haproxy-pacemaker-puppet.yaml
OS::TripleO::Services::Pacemaker: /usr/share/openstack-tripleo-heat-templates/deployment/pacemaker/pacemaker-baremetal-puppet.yaml
OS::TripleO::Services::PacemakerRemote: /usr/share/openstack-tripleo-heat-templates/deployment/pacemaker/pacemaker-remote-baremetal-puppet.yaml
OS::TripleO::Services::Clustercheck: /usr/share/openstack-tripleo-heat-templates/deployment/pacemaker/clustercheck-container-puppet.yaml
OS::TripleO::Services::Redis: /usr/share/openstack-tripleo-heat-templates/deployment/database/redis-pacemaker-puppet.yaml
OS::TripleO::Services::Rsyslog: /usr/share/openstack-tripleo-heat-templates/deployment/logging/rsyslog-container-puppet.yaml
OS::TripleO::Services::MySQL: /usr/share/openstack-tripleo-heat-templates/deployment/database/mysql-pacemaker-puppet.yaml
OS::TripleO::Services::CinderBackup: /usr/share/openstack-tripleo-heat-templates/deployment/cinder/cinder-backup-pacemaker-puppet.yaml
OS::TripleO::Services::CinderVolume: /usr/share/openstack-tripleo-heat-templates/deployment/cinder/cinder-volume-pacemaker-puppet.yaml
OS::TripleO::Services::HeatApi: /usr/share/openstack-tripleo-heat-templates/deployment/heat/heat-api-container-puppet.yaml
OS::TripleO::Services::HeatApiCfn: /usr/share/openstack-tripleo-heat-templates/deployment/heat/heat-api-cfn-container-puppet.yaml
OS::TripleO::Services::HeatApiCloudwatch: /usr/share/openstack-tripleo-heat-templates/deployment/heat/heat-api-cloudwatch-disabled-puppet.yaml
OS::TripleO::Services::HeatEngine: /usr/share/openstack-tripleo-heat-templates/deployment/heat/heat-engine-container-puppet.yaml

parameter_defaults:
RedisVirtualFixedIPs:
- ip_address: 192.168.122.110
use_neutron: false
OVNDBsVirtualFixedIPs:
- ip_address: 192.168.122.111
use_neutron: false
ControllerExtraConfig:
nova::compute::libvirt::services::libvirt_virt_type: qemu
nova::compute::libvirt::virt_type: qemu
ComputeExtraConfig:
nova::compute::libvirt::services::libvirt_virt_type: qemu
nova::compute::libvirt::virt_type: qemu
Debug: true
DockerPuppetDebug: true
ContainerCli: podman
ControllerCount: 3
ComputeHCICount: 3
NeutronGlobalPhysnetMtu: 1350
CinderLVMLoopDeviceSize: 20480
CloudName: overcloud.localdomain
CloudNameInternal: overcloud.internalapi.localdomain
CloudNameStorage: overcloud.storage.localdomain
CloudNameStorageManagement: overcloud.storagemgmt.localdomain
CloudNameCtlplane: overcloud.ctlplane.localdomain
CloudDomain: localdomain
NetworkConfigWithAnsible: false
Loading

0 comments on commit ad4b5ff

Please sign in to comment.