OC deployment with multiple subnets under default networks fails with: msg: 'ipaddr: unknown filter type: 172.120.3.0/24,172.117.3.0/24,172.118.3.0/24,172.119.3.0/24'" Environment: (undercloud) [stack@undercloud-0 ~]$ rpm -qa|grep -e tripleoclient -e tripleo-heat-t python3-tripleoclient-11.5.1-0.20190806120458.aa8b0e9.el8ost.noarch openstack-tripleo-heat-templates-10.6.1-0.20190806190500.bdcffcd.el8ost.noarch Steps to reproduce: Attempt to deploy OC with multiple subnets under default networks using this templates: ################################ Deployment command ################## openstack overcloud deploy --templates \ --libvirt-type kvm \ -e /home/stack/templates/nodes_data.yaml \ -r /home/stack/templates/roles_data.yaml \ -n /home/stack/templates/network_data.yaml \ -e /home/stack/templates/extraconfig.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-ansible.yaml \ -e /home/stack/virt/internal.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/network-environment.yaml \ -e /home/stack/virt/network/network-environment.yaml \ -e /home/stack/virt/network/dvr-override.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/low-memory-usage.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/ssl/tls-endpoints-public-ip.yaml \ -e /home/stack/virt/enable-tls.yaml \ -e /home/stack/virt/public_vip.yaml \ -e /home/stack/virt/inject-trust-anchor.yaml \ -e /home/stack/containers-prepare-parameter.yaml ################################################################### (undercloud) [stack@undercloud-0 ~]$ cat /home/stack/templates/roles_data.yaml ############################################################################### # File generated by TripleO ############################################################################### ############################################################################### # Role: Controller # ############################################################################### - name: Controller description: | Controller role that has all the controler services loaded and handles Database, Messaging and Network functions. CountDefault: 1 tags: - primary - controller networks: External: subnet: external_subnet InternalApi: subnet: internal_api_subnet Storage: subnet: storage_subnet StorageMgmt: subnet: storage_mgmt_subnet Tenant: subnet: tenant_subnet # For systems with both IPv4 and IPv6, you may specify a gateway network for # each, such as ['ControlPlane', 'External'] default_route_networks: ['External'] HostnameFormatDefault: '%stackname%-controller-%index%' # Deprecated & backward-compatible values (FIXME: Make parameters consistent) # Set uses_deprecated_params to True if any deprecated params are used. uses_deprecated_params: True deprecated_param_extraconfig: 'controllerExtraConfig' deprecated_param_flavor: 'OvercloudControlFlavor' deprecated_param_image: 'controllerImage' deprecated_nic_config_name: 'controller.yaml' update_serial: 1 ServicesDefault: - OS::TripleO::Services::Aide - OS::TripleO::Services::AodhApi - OS::TripleO::Services::AodhEvaluator - OS::TripleO::Services::AodhListener - OS::TripleO::Services::AodhNotifier - OS::TripleO::Services::AuditD - OS::TripleO::Services::BarbicanApi - OS::TripleO::Services::BarbicanBackendSimpleCrypto - OS::TripleO::Services::BarbicanBackendDogtag - OS::TripleO::Services::BarbicanBackendKmip - OS::TripleO::Services::BarbicanBackendPkcs11Crypto - OS::TripleO::Services::BootParams - OS::TripleO::Services::CACerts - OS::TripleO::Services::CeilometerAgentCentral - OS::TripleO::Services::CeilometerAgentNotification - OS::TripleO::Services::CephExternal - OS::TripleO::Services::CephMds - OS::TripleO::Services::CephMgr - OS::TripleO::Services::CephMon - OS::TripleO::Services::CephRbdMirror - OS::TripleO::Services::CephRgw - OS::TripleO::Services::CertmongerUser - OS::TripleO::Services::CinderApi - OS::TripleO::Services::CinderBackendDellPs - OS::TripleO::Services::CinderBackendDellSc - OS::TripleO::Services::CinderBackendDellEMCUnity - OS::TripleO::Services::CinderBackendDellEMCVMAXISCSI - OS::TripleO::Services::CinderBackendDellEMCVNX - OS::TripleO::Services::CinderBackendDellEMCXTREMIOISCSI - OS::TripleO::Services::CinderBackendNetApp - OS::TripleO::Services::CinderBackendPure - OS::TripleO::Services::CinderBackendScaleIO - OS::TripleO::Services::CinderBackendVRTSHyperScale - OS::TripleO::Services::CinderBackendNVMeOF - OS::TripleO::Services::CinderBackup - OS::TripleO::Services::CinderHPELeftHandISCSI - OS::TripleO::Services::CinderScheduler - OS::TripleO::Services::CinderVolume - OS::TripleO::Services::Clustercheck - OS::TripleO::Services::Collectd - OS::TripleO::Services::ContainerImagePrepare - OS::TripleO::Services::DesignateApi - OS::TripleO::Services::DesignateCentral - OS::TripleO::Services::DesignateProducer - OS::TripleO::Services::DesignateWorker - OS::TripleO::Services::DesignateMDNS - OS::TripleO::Services::DesignateSink - OS::TripleO::Services::Docker - OS::TripleO::Services::Ec2Api - OS::TripleO::Services::Etcd - OS::TripleO::Services::ExternalSwiftProxy - OS::TripleO::Services::Fluentd - OS::TripleO::Services::GlanceApi - OS::TripleO::Services::GnocchiApi - OS::TripleO::Services::GnocchiMetricd - OS::TripleO::Services::GnocchiStatsd - OS::TripleO::Services::HAproxy - OS::TripleO::Services::HeatApi - OS::TripleO::Services::HeatApiCloudwatch - OS::TripleO::Services::HeatApiCfn - OS::TripleO::Services::HeatEngine - OS::TripleO::Services::Horizon - OS::TripleO::Services::IpaClient - OS::TripleO::Services::Ipsec - OS::TripleO::Services::IronicApi - OS::TripleO::Services::IronicConductor - OS::TripleO::Services::IronicInspector - OS::TripleO::Services::IronicPxe - OS::TripleO::Services::IronicNeutronAgent - OS::TripleO::Services::Iscsid - OS::TripleO::Services::Keepalived - OS::TripleO::Services::Kernel - OS::TripleO::Services::Keystone - OS::TripleO::Services::LoginDefs - OS::TripleO::Services::ManilaApi - OS::TripleO::Services::ManilaBackendCephFs - OS::TripleO::Services::ManilaBackendIsilon - OS::TripleO::Services::ManilaBackendNetapp - OS::TripleO::Services::ManilaBackendUnity - OS::TripleO::Services::ManilaBackendVNX - OS::TripleO::Services::ManilaBackendVMAX - OS::TripleO::Services::ManilaScheduler - OS::TripleO::Services::ManilaShare - OS::TripleO::Services::Memcached - OS::TripleO::Services::MetricsQdr - OS::TripleO::Services::MistralApi - OS::TripleO::Services::MistralEngine - OS::TripleO::Services::MistralExecutor - OS::TripleO::Services::MistralEventEngine - OS::TripleO::Services::MySQL - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::NeutronApi - OS::TripleO::Services::NeutronBgpVpnApi - OS::TripleO::Services::NeutronSfcApi - OS::TripleO::Services::NeutronCorePlugin - OS::TripleO::Services::NeutronDhcpAgent - OS::TripleO::Services::NeutronL2gwAgent - OS::TripleO::Services::NeutronL2gwApi - OS::TripleO::Services::NeutronL3Agent - OS::TripleO::Services::NeutronLbaasv2Agent - OS::TripleO::Services::NeutronLbaasv2Api - OS::TripleO::Services::NeutronLinuxbridgeAgent - OS::TripleO::Services::NeutronMetadataAgent - OS::TripleO::Services::NeutronML2FujitsuCfab - OS::TripleO::Services::NeutronML2FujitsuFossw - OS::TripleO::Services::NeutronOvsAgent - OS::TripleO::Services::NeutronVppAgent - OS::TripleO::Services::NovaApi - OS::TripleO::Services::NovaConductor - OS::TripleO::Services::NovaConsoleauth - OS::TripleO::Services::NovaIronic - OS::TripleO::Services::NovaMetadata - OS::TripleO::Services::NovaPlacement - OS::TripleO::Services::NovaScheduler - OS::TripleO::Services::NovaVncProxy - OS::TripleO::Services::ContainersLogrotateCrond - OS::TripleO::Services::OctaviaApi - OS::TripleO::Services::OctaviaDeploymentConfig - OS::TripleO::Services::OctaviaHealthManager - OS::TripleO::Services::OctaviaHousekeeping - OS::TripleO::Services::OctaviaWorker - OS::TripleO::Services::OpenDaylightApi - OS::TripleO::Services::OpenDaylightOvs - OS::TripleO::Services::OpenStackClients - OS::TripleO::Services::OVNDBs - OS::TripleO::Services::OVNController - OS::TripleO::Services::Pacemaker - OS::TripleO::Services::PankoApi - OS::TripleO::Services::OsloMessagingRpc - OS::TripleO::Services::OsloMessagingNotify - OS::TripleO::Services::Podman - OS::TripleO::Services::Redis - OS::TripleO::Services::Rhsm - OS::TripleO::Services::RsyslogSidecar - OS::TripleO::Services::SaharaApi - OS::TripleO::Services::SaharaEngine - OS::TripleO::Services::Securetty - OS::TripleO::Services::SensuClient - OS::TripleO::Services::SkydiveAgent - OS::TripleO::Services::SkydiveAnalyzer - OS::TripleO::Services::Snmp - OS::TripleO::Services::Sshd - OS::TripleO::Services::SwiftProxy - OS::TripleO::Services::SwiftDispersion - OS::TripleO::Services::SwiftRingBuilder - OS::TripleO::Services::SwiftStorage - OS::TripleO::Services::Tacker - OS::TripleO::Services::Timesync - OS::TripleO::Services::Timezone - OS::TripleO::Services::TripleoFirewall - OS::TripleO::Services::TripleoPackages - OS::TripleO::Services::Tuned - OS::TripleO::Services::Vpp - OS::TripleO::Services::Zaqar ############################################################################### # Role: Compute1 # ############################################################################### - name: Compute1 description: | Basic Compute1 Node role CountDefault: 1 # Create external Neutron bridge (unset if using ML2/OVS without DVR) tags: - external_bridge networks: InternalApi: subnet: internal_api1_subnet Tenant: subnet: tenant1_subnet Storage: subnet: storage1_subnet HostnameFormatDefault: '%stackname%-novacompute1-%index%' RoleParametersDefault: TunedProfileName: "virtual-host" # Deprecated & backward-compatible values (FIXME: Make parameters consistent) # Set uses_deprecated_params to True if any deprecated params are used. # These deprecated_params only need to be used for existing roles and not for # composable roles. uses_deprecated_params: True deprecated_param_image: 'NovaImage' deprecated_param_extraconfig: 'NovaComputeExtraConfig' deprecated_param_metadata: 'NovaComputeServerMetadata' deprecated_param_scheduler_hints: 'NovaComputeSchedulerHints' deprecated_param_ips: 'NovaComputeIPs' deprecated_server_resource_name: 'NovaCompute' deprecated_nic_config_name: 'compute.yaml' update_serial: 25 ServicesDefault: - OS::TripleO::Services::Aide - OS::TripleO::Services::AuditD - OS::TripleO::Services::BootParams - OS::TripleO::Services::CACerts - OS::TripleO::Services::CephClient - OS::TripleO::Services::CephExternal - OS::TripleO::Services::CertmongerUser - OS::TripleO::Services::Collectd - OS::TripleO::Services::ComputeCeilometerAgent - OS::TripleO::Services::ComputeNeutronCorePlugin - OS::TripleO::Services::ComputeNeutronL3Agent - OS::TripleO::Services::ComputeNeutronMetadataAgent - OS::TripleO::Services::ComputeNeutronOvsAgent - OS::TripleO::Services::Docker - OS::TripleO::Services::Fluentd - OS::TripleO::Services::IpaClient - OS::TripleO::Services::Ipsec - OS::TripleO::Services::Iscsid - OS::TripleO::Services::Kernel - OS::TripleO::Services::LoginDefs - OS::TripleO::Services::MetricsQdr - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::NeutronBgpVpnBagpipe - OS::TripleO::Services::NeutronLinuxbridgeAgent - OS::TripleO::Services::NeutronVppAgent - OS::TripleO::Services::NovaCompute - OS::TripleO::Services::NovaLibvirt - OS::TripleO::Services::NovaLibvirtGuests - OS::TripleO::Services::NovaMigrationTarget - OS::TripleO::Services::ContainersLogrotateCrond - OS::TripleO::Services::OpenDaylightOvs - OS::TripleO::Services::Podman - OS::TripleO::Services::Rhsm - OS::TripleO::Services::RsyslogSidecar - OS::TripleO::Services::Securetty - OS::TripleO::Services::SensuClient - OS::TripleO::Services::SkydiveAgent - OS::TripleO::Services::Snmp - OS::TripleO::Services::Sshd - OS::TripleO::Services::Timesync - OS::TripleO::Services::Timezone - OS::TripleO::Services::TripleoFirewall - OS::TripleO::Services::TripleoPackages - OS::TripleO::Services::Tuned - OS::TripleO::Services::Vpp - OS::TripleO::Services::OVNController - OS::TripleO::Services::OVNMetadataAgent ############################################################################### # Role: Compute2 # ############################################################################### - name: Compute2 description: | Basic Compute2 Node role CountDefault: 1 # Create external Neutron bridge (unset if using ML2/OVS without DVR) tags: - external_bridge networks: InternalApi: subnet: internal_api2_subnet Tenant: subnet: tenant2_subnet Storage: subnet: storage2_subnet HostnameFormatDefault: '%stackname%-novacompute2-%index%' RoleParametersDefault: TunedProfileName: "virtual-host" # Deprecated & backward-compatible values (FIXME: Make parameters consistent) # Set uses_deprecated_params to True if any deprecated params are used. # These deprecated_params only need to be used for existing roles and not for # composable roles. uses_deprecated_params: True deprecated_param_image: 'NovaImage' deprecated_param_extraconfig: 'NovaComputeExtraConfig' deprecated_param_metadata: 'NovaComputeServerMetadata' deprecated_param_scheduler_hints: 'NovaComputeSchedulerHints' deprecated_param_ips: 'NovaComputeIPs' deprecated_server_resource_name: 'NovaCompute' deprecated_nic_config_name: 'compute.yaml' update_serial: 25 ServicesDefault: - OS::TripleO::Services::Aide - OS::TripleO::Services::AuditD - OS::TripleO::Services::BootParams - OS::TripleO::Services::CACerts - OS::TripleO::Services::CephClient - OS::TripleO::Services::CephExternal - OS::TripleO::Services::CertmongerUser - OS::TripleO::Services::Collectd - OS::TripleO::Services::ComputeCeilometerAgent - OS::TripleO::Services::ComputeNeutronCorePlugin - OS::TripleO::Services::ComputeNeutronL3Agent - OS::TripleO::Services::ComputeNeutronMetadataAgent - OS::TripleO::Services::ComputeNeutronOvsAgent - OS::TripleO::Services::Docker - OS::TripleO::Services::Fluentd - OS::TripleO::Services::IpaClient - OS::TripleO::Services::Ipsec - OS::TripleO::Services::Iscsid - OS::TripleO::Services::Kernel - OS::TripleO::Services::LoginDefs - OS::TripleO::Services::MetricsQdr - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::NeutronBgpVpnBagpipe - OS::TripleO::Services::NeutronLinuxbridgeAgent - OS::TripleO::Services::NeutronVppAgent - OS::TripleO::Services::NovaCompute - OS::TripleO::Services::NovaLibvirt - OS::TripleO::Services::NovaLibvirtGuests - OS::TripleO::Services::NovaMigrationTarget - OS::TripleO::Services::ContainersLogrotateCrond - OS::TripleO::Services::OpenDaylightOvs - OS::TripleO::Services::Podman - OS::TripleO::Services::Rhsm - OS::TripleO::Services::RsyslogSidecar - OS::TripleO::Services::Securetty - OS::TripleO::Services::SensuClient - OS::TripleO::Services::SkydiveAgent - OS::TripleO::Services::Snmp - OS::TripleO::Services::Sshd - OS::TripleO::Services::Timesync - OS::TripleO::Services::Timezone - OS::TripleO::Services::TripleoFirewall - OS::TripleO::Services::TripleoPackages - OS::TripleO::Services::Tuned - OS::TripleO::Services::Vpp - OS::TripleO::Services::OVNController - OS::TripleO::Services::OVNMetadataAgent ############################################################################### # Role: Compute3 # ############################################################################### - name: Compute3 description: | Basic Compute3 Node role CountDefault: 1 # Create external Neutron bridge (unset if using ML2/OVS without DVR) tags: - external_bridge networks: InternalApi: subnet: internal_api3_subnet Tenant: subnet: tenant3_subnet Storage: subnet: storage3_subnet HostnameFormatDefault: '%stackname%-novacompute3-%index%' RoleParametersDefault: TunedProfileName: "virtual-host" # Deprecated & backward-compatible values (FIXME: Make parameters consistent) # Set uses_deprecated_params to True if any deprecated params are used. # These deprecated_params only need to be used for existing roles and not for # composable roles. uses_deprecated_params: True deprecated_param_image: 'NovaImage' deprecated_param_extraconfig: 'NovaComputeExtraConfig' deprecated_param_metadata: 'NovaComputeServerMetadata' deprecated_param_scheduler_hints: 'NovaComputeSchedulerHints' deprecated_param_ips: 'NovaComputeIPs' deprecated_server_resource_name: 'NovaCompute' deprecated_nic_config_name: 'compute.yaml' update_serial: 25 ServicesDefault: - OS::TripleO::Services::Aide - OS::TripleO::Services::AuditD - OS::TripleO::Services::BootParams - OS::TripleO::Services::CACerts - OS::TripleO::Services::CephClient - OS::TripleO::Services::CephExternal - OS::TripleO::Services::CertmongerUser - OS::TripleO::Services::Collectd - OS::TripleO::Services::ComputeCeilometerAgent - OS::TripleO::Services::ComputeNeutronCorePlugin - OS::TripleO::Services::ComputeNeutronL3Agent - OS::TripleO::Services::ComputeNeutronMetadataAgent - OS::TripleO::Services::ComputeNeutronOvsAgent - OS::TripleO::Services::Docker - OS::TripleO::Services::Fluentd - OS::TripleO::Services::IpaClient - OS::TripleO::Services::Ipsec - OS::TripleO::Services::Iscsid - OS::TripleO::Services::Kernel - OS::TripleO::Services::LoginDefs - OS::TripleO::Services::MetricsQdr - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::NeutronBgpVpnBagpipe - OS::TripleO::Services::NeutronLinuxbridgeAgent - OS::TripleO::Services::NeutronVppAgent - OS::TripleO::Services::NovaCompute - OS::TripleO::Services::NovaLibvirt - OS::TripleO::Services::NovaLibvirtGuests - OS::TripleO::Services::NovaMigrationTarget - OS::TripleO::Services::ContainersLogrotateCrond - OS::TripleO::Services::OpenDaylightOvs - OS::TripleO::Services::Podman - OS::TripleO::Services::Rhsm - OS::TripleO::Services::RsyslogSidecar - OS::TripleO::Services::Securetty - OS::TripleO::Services::SensuClient - OS::TripleO::Services::SkydiveAgent - OS::TripleO::Services::Snmp - OS::TripleO::Services::Sshd - OS::TripleO::Services::Timesync - OS::TripleO::Services::Timezone - OS::TripleO::Services::TripleoFirewall - OS::TripleO::Services::TripleoPackages - OS::TripleO::Services::Tuned - OS::TripleO::Services::Vpp - OS::TripleO::Services::OVNController - OS::TripleO::Services::OVNMetadataAgent ############################################################################### # Role: CephStorage1 # ############################################################################### - name: CephStorage1 description: | Ceph OSD Storage node role networks: Storage: subnet: storage1_subnet StorageMgmt: subnet: storage_mgmt1_subnet uses_deprecated_params: False deprecated_nic_config_name: 'ceph-storage.yaml' # CephOSD present so serial has to be 1 update_serial: 1 ServicesDefault: - OS::TripleO::Services::Aide - OS::TripleO::Services::AuditD - OS::TripleO::Services::BootParams - OS::TripleO::Services::CACerts - OS::TripleO::Services::CephOSD - OS::TripleO::Services::CertmongerUser - OS::TripleO::Services::Collectd - OS::TripleO::Services::Docker - OS::TripleO::Services::Fluentd - OS::TripleO::Services::IpaClient - OS::TripleO::Services::Ipsec - OS::TripleO::Services::Kernel - OS::TripleO::Services::LoginDefs - OS::TripleO::Services::MetricsQdr - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::ContainersLogrotateCrond - OS::TripleO::Services::Podman - OS::TripleO::Services::Rhsm - OS::TripleO::Services::RsyslogSidecar - OS::TripleO::Services::Securetty - OS::TripleO::Services::SensuClient - OS::TripleO::Services::Snmp - OS::TripleO::Services::Sshd - OS::TripleO::Services::Timesync - OS::TripleO::Services::Timezone - OS::TripleO::Services::TripleoFirewall - OS::TripleO::Services::TripleoPackages - OS::TripleO::Services::Tuned ############################################################################### # Role: CephStorage2 # ############################################################################### - name: CephStorage2 description: | Ceph OSD Storage node role networks: Storage: subnet: storage2_subnet StorageMgmt: subnet: storage_mgmt2_subnet uses_deprecated_params: False deprecated_nic_config_name: 'ceph-storage.yaml' # CephOSD present so serial has to be 1 update_serial: 1 ServicesDefault: - OS::TripleO::Services::Aide - OS::TripleO::Services::AuditD - OS::TripleO::Services::BootParams - OS::TripleO::Services::CACerts - OS::TripleO::Services::CephOSD - OS::TripleO::Services::CertmongerUser - OS::TripleO::Services::Collectd - OS::TripleO::Services::Docker - OS::TripleO::Services::Fluentd - OS::TripleO::Services::IpaClient - OS::TripleO::Services::Ipsec - OS::TripleO::Services::Kernel - OS::TripleO::Services::LoginDefs - OS::TripleO::Services::MetricsQdr - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::ContainersLogrotateCrond - OS::TripleO::Services::Podman - OS::TripleO::Services::Rhsm - OS::TripleO::Services::RsyslogSidecar - OS::TripleO::Services::Securetty - OS::TripleO::Services::SensuClient - OS::TripleO::Services::Snmp - OS::TripleO::Services::Sshd - OS::TripleO::Services::Timesync - OS::TripleO::Services::Timezone - OS::TripleO::Services::TripleoFirewall - OS::TripleO::Services::TripleoPackages - OS::TripleO::Services::Tuned ############################################################################### # Role: CephStorage3 # ############################################################################### - name: CephStorage3 description: | Ceph OSD Storage node role networks: Storage: subnet: storage3_subnet StorageMgmt: subnet: storage_mgmt3_subnet uses_deprecated_params: False deprecated_nic_config_name: 'ceph-storage.yaml' # CephOSD present so serial has to be 1 update_serial: 1 ServicesDefault: - OS::TripleO::Services::Aide - OS::TripleO::Services::AuditD - OS::TripleO::Services::BootParams - OS::TripleO::Services::CACerts - OS::TripleO::Services::CephOSD - OS::TripleO::Services::CertmongerUser - OS::TripleO::Services::Collectd - OS::TripleO::Services::Docker - OS::TripleO::Services::Fluentd - OS::TripleO::Services::IpaClient - OS::TripleO::Services::Ipsec - OS::TripleO::Services::Kernel - OS::TripleO::Services::LoginDefs - OS::TripleO::Services::MetricsQdr - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::ContainersLogrotateCrond - OS::TripleO::Services::Podman - OS::TripleO::Services::Rhsm - OS::TripleO::Services::RsyslogSidecar - OS::TripleO::Services::Securetty - OS::TripleO::Services::SensuClient - OS::TripleO::Services::Snmp - OS::TripleO::Services::Sshd - OS::TripleO::Services::Timesync - OS::TripleO::Services::Timezone - OS::TripleO::Services::TripleoFirewall - OS::TripleO::Services::TripleoPackages - OS::TripleO::Services::Tuned ############################################################################### (undercloud) [stack@undercloud-0 ~]$ cat /home/stack/templates/network_data.yaml # List of networks, used for j2 templating of enabled networks # # Supported values: # # name: Name of the network (mandatory) # name_lower: lowercase version of name used for filenames # (optional, defaults to name.lower()) # enabled: Is the network enabled (optional, defaults to true) # vlan: vlan for the network (optional) # vip: Enable creation of a virtual IP on this network # ip_subnet: IP/CIDR, e.g. '192.168.24.0/24' or '2001:db8:fd00:1000::/64' # (optional, may use parameter defaults instead) # allocation_pools: IP range list e.g. [{'start':'10.0.0.4', 'end':'10.0.0.250'}] # gateway_ip: gateway for the network (optional, may use parameter defaults) # ipv6_subnet: Optional, sets default IPv6 subnet if IPv4 is already defined. # ipv6_allocation_pools: Set default IPv6 allocation pools if IPv4 allocation pools # are already defined. # ipv6_gateway: Set an IPv6 gateway if IPv4 gateway already defined. # ipv6: If ip_subnet not defined, this specifies that the network is IPv6-only. # NOTE: IP-related values set parameter defaults in templates, may be overridden, # either by operators, or e.g in environments/network-isolation-v6.yaml where we # set some default IPv6 addresses. # compat_name: for existing stack you may need to override the default # transformation for the resource's name. # # Example: # - name Example # vip: false # ip_subnet: '10.0.2.0/24' # allocation_pools: [{'start': '10.0.2.4', 'end': '10.0.2.250'}] # gateway_ip: '10.0.2.254' # # To support backward compatility, two versions of the network definitions will # be created, network/<network>.yaml and network/<network>_v6.yaml. Only # one of these files may be used in the deployment at a time, since the # parameters used for configuration are the same in both files. In the # future, this behavior may be changed to create only one file for custom # networks. You may specify IPv6 addresses for ip_subnet, allocation_pools, # and gateway_ip if no IPv4 addresses are used for a custom network, or set # ipv6: true, and the network/<network>.yaml file will be configured as IPv6. # # For configuring both IPv4 and IPv6 on the same interface, use two separate # networks, and then assign both IPs in the custom NIC configuration templates. - name: External vip: true name_lower: external vlan: 10 ip_subnet: '10.0.0.0/24' allocation_pools: [{'start': '10.0.0.4', 'end': '10.0.0.250'}] gateway_ip: '10.0.0.1' ipv6_subnet: '2001:db8:fd00:1100::/64' ipv6_allocation_pools: [{'start': '2001:db8:fd00:1100::10', 'end': '2001:db8:fd00:1100:ffff:ffff:ffff:fffe'}] gateway_ipv6: '2001:db8:fd00:1000::1' - name: InternalApi name_lower: internal_api vip: true vlan: 23 ip_subnet: '172.120.1.0/24' allocation_pools: [{'start': '172.120.1.10', 'end': '172.120.1.200'}] gateway_ip: '172.120.1.1' ipv6_subnet: 'fd00:fd00:fd00:1000::/64' ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:1000::10', 'end': 'fd00:fd00:fd00:1000:ffff:ffff:ffff:fffe'}] gateway_ipv6: 'fd00:fd00:fd00:1000::1' subnets: internal_api1_subnet: vlan: 20 ip_subnet: '172.117.1.0/24' allocation_pools: [{'start': '172.117.1.10', 'end': '172.117.1.200'}] gateway_ip: '172.117.1.1' ipv6_subnet: 'fd00:fd00:fd00:1001::/64' ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:1001::10', 'end': 'fd00:fd00:fd00:1001:ffff:ffff:ffff:fffe'}] gateway_ipv6: 'fd00:fd00:fd00:1001::1' internal_api2_subnet: vlan: 21 ip_subnet: '172.118.1.0/24' allocation_pools: [{'start': '172.118.1.10', 'end': '172.118.1.200'}] gateway_ip: '172.118.1.1' ipv6_subnet: 'fd00:fd00:fd00:1002::/64' ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:1002::10', 'end': 'fd00:fd00:fd00:1002:ffff:ffff:ffff:fffe'}] gateway_ipv6: 'fd00:fd00:fd00:1002::1' internal_api3_subnet: vlan: 22 ip_subnet: '172.119.1.0/24' allocation_pools: [{'start': '172.119.1.10', 'end': '172.119.1.200'}] gateway_ip: '172.119.1.1' ipv6_subnet: 'fd00:fd00:fd00:1003::/64' ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:1003::10', 'end': 'fd00:fd00:fd00:1003:ffff:ffff:ffff:fffe'}] gateway_ipv6: 'fd00:fd00:fd00:1003::1' - name: Storage vip: true name_lower: storage vlan: 33 ip_subnet: '172.120.3.0/24' allocation_pools: [{'start': '172.120.3.10', 'end': '172.120.3.200'}] gateway_ip: '172.120.3.1' ipv6_subnet: 'fd00:fd00:fd00:2000::/64' ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:2000::10', 'end': 'fd00:fd00:fd00:2000:ffff:ffff:ffff:fffe'}] gateway_ipv6: 'fd00:fd00:fd00:2000::1' subnets: storage1_subnet: vlan: 30 ip_subnet: '172.117.3.0/24' allocation_pools: [{'start': '172.117.3.10', 'end': '172.117.3.200'}] gateway_ip: '172.117.3.1' ipv6_subnet: 'fd00:fd00:fd00:2001::/64' ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:2001::10', 'end': 'fd00:fd00:fd00:2001:ffff:ffff:ffff:fffe'}] gateway_ipv6: 'fd00:fd00:fd00:2001::1' storage2_subnet: vlan: 31 ip_subnet: '172.118.3.0/24' allocation_pools: [{'start': '172.118.3.10', 'end': '172.118.3.200'}] gateway_ip: '172.118.3.1' ipv6_subnet: 'fd00:fd00:fd00:2002::/64' ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:2002::10', 'end': 'fd00:fd00:fd00:2002:ffff:ffff:ffff:fffe'}] gateway_ipv6: 'fd00:fd00:fd00:2002::1' storage3_subnet: vlan: 32 ip_subnet: '172.119.3.0/24' allocation_pools: [{'start': '172.119.3.10', 'end': '172.119.3.200'}] gateway_ip: '172.119.3.1' ipv6_subnet: 'fd00:fd00:fd00:2003::/64' ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:2003::10', 'end': 'fd00:fd00:fd00:2003:ffff:ffff:ffff:fffe'}] gateway_ipv6: 'fd00:fd00:fd00:2003::1' - name: StorageMgmt name_lower: storage_mgmt vip: true vlan: 43 ip_subnet: '172.120.4.0/24' allocation_pools: [{'start': '172.120.4.10', 'end': '172.120.4.200'}] gateway_ip: '172.120.4.1' ipv6_subnet: 'fd00:fd00:fd00:3000::/64' ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:3000::10', 'end': 'fd00:fd00:fd00:3000:ffff:ffff:ffff:fffe'}] gateway_ipv6: 'fd00:fd00:fd00:3000::1' subnets: storage_mgmt1_subnet: vlan: 40 ip_subnet: '172.117.4.0/24' allocation_pools: [{'start': '172.117.4.10', 'end': '172.117.4.200'}] gateway_ip: '172.117.4.1' ipv6_subnet: 'fd00:fd00:fd00:3001::/64' ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:3001::10', 'end': 'fd00:fd00:fd00:3001:ffff:ffff:ffff:fffe'}] gateway_ipv6: 'fd00:fd00:fd00:3001::1' storage_mgmt2_subnet: vlan: 41 ip_subnet: '172.118.4.0/24' allocation_pools: [{'start': '172.118.4.10', 'end': '172.118.4.200'}] gateway_ip: '172.118.4.1' ipv6_subnet: 'fd00:fd00:fd00:3002::/64' ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:3002::10', 'end': 'fd00:fd00:fd00:3002:ffff:ffff:ffff:fffe'}] gateway_ipv6: 'fd00:fd00:fd00:3002::1' storage_mgmt3_subnet: vlan: 42 ip_subnet: '172.119.4.0/24' allocation_pools: [{'start': '172.119.4.10', 'end': '172.119.4.200'}] gateway_ip: '172.119.4.1' ipv6_subnet: 'fd00:fd00:fd00:3003::/64' ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:3003::10', 'end': 'fd00:fd00:fd00:3003:ffff:ffff:ffff:fffe'}] gateway_ipv6: 'fd00:fd00:fd00:3003::1' - name: Tenant vip: false # Tenant network does not use VIPs name_lower: tenant vlan: 53 ip_subnet: '172.120.2.0/24' allocation_pools: [{'start': '172.120.2.10', 'end': '172.120.2.200'}] gateway_ip: '172.120.2.1' ipv6_subnet: 'fd00:fd00:fd00:4000::/64' ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:4000::10', 'end': 'fd00:fd00:fd00:4000:ffff:ffff:ffff:fffe'}] gateway_ipv6: 'fd00:fd00:fd00:4000::1' subnets: tenant1_subnet: vlan: 50 ip_subnet: '172.117.2.0/24' allocation_pools: [{'start': '172.117.2.10', 'end': '172.117.2.200'}] gateway_ip: '172.117.2.1' ipv6_subnet: 'fd00:fd00:fd00:4001::/64' ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:4001::10', 'end': 'fd00:fd00:fd00:4001:ffff:ffff:ffff:fffe'}] gateway_ipv6: 'fd00:fd00:fd00:4001::1' tenant2_subnet: vlan: 51 ip_subnet: '172.118.2.0/24' allocation_pools: [{'start': '172.118.2.10', 'end': '172.118.2.200'}] gateway_ip: '172.118.2.1' ipv6_subnet: 'fd00:fd00:fd00:4002::/64' ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:4002::10', 'end': 'fd00:fd00:fd00:4002:ffff:ffff:ffff:fffe'}] gateway_ipv6: 'fd00:fd00:fd00:4002::1' tenant3_subnet: vlan: 52 ip_subnet: '172.119.2.0/24' allocation_pools: [{'start': '172.119.2.10', 'end': '172.119.2.200'}] gateway_ip: '172.119.2.1' ipv6_subnet: 'fd00:fd00:fd00:4003::/64' ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:4003::10', 'end': 'fd00:fd00:fd00:4003:ffff:ffff:ffff:fffe'}] gateway_ipv6: 'fd00:fd00:fd00:4003::1' - name: Management # Management network is enabled by default for backwards-compatibility, but # is not included in any roles by default. Add to role definitions to use. enabled: true vip: false # Management network does not use VIPs name_lower: management vlan: 60 ip_subnet: '172.20.0.0/24' allocation_pools: [{'start': '172.20.0.10', 'end': '172.20.0.250'}] gateway_ip: '172.20.0.254' ipv6_subnet: 'fd00:fd00:fd00:5000::/64' ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:5000::10', 'end': 'fd00:fd00:fd00:5000:ffff:ffff:ffff:fffe'}] gateway_ipv6: 'fd00:fd00:fd00:5000::1' ############################################################################# (undercloud) [stack@undercloud-0 ~]$ cat /home/stack/templates/extraconfig.yaml parameter_defaults: CephPoolDefaultPgNum: 64 CephAnsibleExtraConfig: # Workaround for BZ#1734525 dashboard_enabled: False Result: The deployment fails and the following error is thrown in /var/lib/mistral/overcloud/ceph-ansible/ceph_ansible_command.log: 2019-08-09 23:43:45,487 p=341466 u=root | fatal: [overcloud-controller-0]: FAILED! => msg: 'ipaddr: unknown filter type: 172.120.3.0/24,172.117.3.0/24,172.118.3.0/24,172.119.3.0/24'
Log: /var/lib/mistral/overcloud/ceph-ansible/ceph_ansible_command.log 2019-08-09 23:43:45,235 p=341466 u=root | TASK [ceph-facts : set_fact _monitor_address to monitor_address_block ipv4] **** 2019-08-09 23:43:45,235 p=341466 u=root | task path: /usr/share/ceph-ansible/roles/ceph-facts/tasks/set_monitor_address.yml:2 2019-08-09 23:43:45,235 p=341466 u=root | Friday 09 August 2019 23:43:45 +0000 (0:00:00.921) 0:01:17.061 ********* 2019-08-09 23:43:45,487 p=341466 u=root | fatal: [overcloud-controller-0]: FAILED! => msg: 'ipaddr: unknown filter type: 172.120.3.0/24,172.117.3.0/24,172.118.3.0/24,172.119.3.0/24' 2019-08-09 23:43:45,543 p=341466 u=root | fatal: [overcloud-controller-1]: FAILED! => msg: 'ipaddr: unknown filter type: 172.120.3.0/24,172.117.3.0/24,172.118.3.0/24,172.119.3.0/24' 2019-08-09 23:43:45,753 p=341466 u=root | fatal: [overcloud-controller-2]: FAILED! => msg: 'ipaddr: unknown filter type: 172.120.3.0/24,172.117.3.0/24,172.118.3.0/24,172.119.3.0/24' 2019-08-09 23:43:45,852 p=341466 u=root | fatal: [overcloud-cephstorage1-0]: FAILED! => msg: 'ipaddr: unknown filter type: 172.120.3.0/24,172.117.3.0/24,172.118.3.0/24,172.119.3.0/24' 2019-08-09 23:43:45,911 p=341466 u=root | fatal: [overcloud-cephstorage1-1]: FAILED! => msg: 'ipaddr: unknown filter type: 172.120.3.0/24,172.117.3.0/24,172.118.3.0/24,172.119.3.0/24' 2019-08-09 23:43:45,971 p=341466 u=root | fatal: [overcloud-cephstorage2-0]: FAILED! => msg: 'ipaddr: unknown filter type: 172.120.3.0/24,172.117.3.0/24,172.118.3.0/24,172.119.3.0/24' 2019-08-09 23:43:46,030 p=341466 u=root | fatal: [overcloud-cephstorage2-1]: FAILED! => msg: 'ipaddr: unknown filter type: 172.120.3.0/24,172.117.3.0/24,172.118.3.0/24,172.119.3.0/24' 2019-08-09 23:43:46,089 p=341466 u=root | fatal: [overcloud-cephstorage3-0]: FAILED! => msg: 'ipaddr: unknown filter type: 172.120.3.0/24,172.117.3.0/24,172.118.3.0/24,172.119.3.0/24' 2019-08-09 23:43:46,157 p=341466 u=root | fatal: [overcloud-cephstorage3-1]: FAILED! => msg: 'ipaddr: unknown filter type: 172.120.3.0/24,172.117.3.0/24,172.118.3.0/24,172.119.3.0/24' 2019-08-09 23:43:46,158 p=341466 u=root | fatal: [overcloud-novacompute1-0]: FAILED! => msg: 'ipaddr: unknown filter type: 172.120.3.0/24,172.117.3.0/24,172.118.3.0/24,172.119.3.0/24' 2019-08-09 23:43:46,163 p=341466 u=root | fatal: [overcloud-novacompute1-1]: FAILED! => msg: 'ipaddr: unknown filter type: 172.120.3.0/24,172.117.3.0/24,172.118.3.0/24,172.119.3.0/24' 2019-08-09 23:43:46,269 p=341466 u=root | fatal: [overcloud-novacompute2-0]: FAILED! => msg: 'ipaddr: unknown filter type: 172.120.3.0/24,172.117.3.0/24,172.118.3.0/24,172.119.3.0/24' 2019-08-09 23:43:46,283 p=341466 u=root | fatal: [overcloud-novacompute2-1]: FAILED! => msg: 'ipaddr: unknown filter type: 172.120.3.0/24,172.117.3.0/24,172.118.3.0/24,172.119.3.0/24' 2019-08-09 23:43:46,348 p=341466 u=root | fatal: [overcloud-novacompute3-0]: FAILED! => msg: 'ipaddr: unknown filter type: 172.120.3.0/24,172.117.3.0/24,172.118.3.0/24,172.119.3.0/24' 2019-08-09 23:43:46,369 p=341466 u=root | fatal: [overcloud-novacompute3-1]: FAILED! => msg: 'ipaddr: unknown filter type: 172.120.3.0/24,172.117.3.0/24,172.118.3.0/24,172.119.3.0/24' Code: /usr/share/ceph-ansible/roles/ceph-facts/tasks/set_monitor_address.yml - name: set_fact _monitor_address to monitor_address_block ipv4 set_fact: _monitor_addresses: "{{ _monitor_addresses | default([]) + [{ 'name': item, 'addr': hostvars[item]['ansible_all_ipv4_addresses'] | ipaddr(hostvars[item]['monitor_address_block']) | first }] }}" with_items: "{{ groups.get(mon_group_name, []) }}" when: - "item not in _monitor_addresses | default([]) | selectattr('name', 'defined') | map(attribute='name') | list" - hostvars[item]['monitor_address_block'] is defined - hostvars[item]['monitor_address_block'] != 'subnet' - ip_version == 'ipv4' When it is setting the _monitor_addresses fact, ipaddr expects monitor_address_block to be a single IP subnet CIDR not a list of CIDR's.
With the proposed ceph-ansible patch[1] the overcloud deployment using Mr. Chuzhoy's OSP director templates result in a successful Ceph deployment: bash-4.4# ceph status cluster: id: 356c63c2-becf-11e9-b09c-525400abc84f health: HEALTH_WARN too few PGs per OSD (2 < min 30) services: mon: 3 daemons, quorum overcloud-controller-2,overcloud-controller-1,overcloud-controller-0 (age 13h) mgr: overcloud-controller-1(active, since 13h), standbys: overcloud-controller-0, overcloud-controller-2 osd: 30 osds: 30 up (since 13h), 30 in (since 13h) data: pools: 5 pools, 80 pgs objects: 0 objects, 0 B usage: 30 GiB used, 270 GiB / 300 GiB avail pgs: 80 active+clean bash-4.4# cat /etc/ceph/ceph.conf # Please do not change this file directly since it is managed by Ansible and will be overwritten [global] cluster network = 172.120.4.0/24,172.117.4.0/24,172.118.4.0/24,172.119.4.0/24 fsid = 356c63c2-becf-11e9-b09c-525400abc84f mon host = [v2:172.120.3.147:3300,v1:172.120.3.147:6789],[v2:172.120.3.97:3300,v1:172.120.3.97:6789],[v2:172.120.3.92:3300,v1:172.120.3.92:6789] mon initial members = overcloud-controller-0,overcloud-controller-1,overcloud-controller-2 osd pool default crush rule = -1 osd_pool_default_pg_num = 16 osd_pool_default_pgp_num = 16 osd_pool_default_size = 1 public network = 172.120.3.0/24,172.117.3.0/24,172.118.3.0/24,172.119.3.0/24 rgw_keystone_accepted_admin_roles = ResellerAdmin rgw_keystone_accepted_roles = Member, admin rgw_keystone_admin_domain = default rgw_keystone_admin_password = a0mBGm0M3MmVB0Uwa8TkNvv2N rgw_keystone_admin_project = service rgw_keystone_admin_user = swift rgw_keystone_api_version = 3 rgw_keystone_implicit_tenants = true rgw_keystone_revocation_interval = 0 rgw_keystone_url = http://172.120.1.171:5000 rgw_s3_auth_use_keystone = true rgw_swift_account_in_url = true rgw_swift_versioning_enabled = true osd_memory_target = 4242538496 osd_memory_base = 2147483648 osd_memory_cache_min = 3195011072 [1] https://github.com/ceph/ceph-ansible/pull/4339
https://github.com/ceph/ceph-ansible/pull/4339 merged
To verify this bug, please set multiple network in the public_network parameter in group_vars/all.yml file as so: public_network: 172.120.3.0/24,172.117.3.0/24,172.118.3.0/24,172.119.3.0/24
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2020:0312