#
# This environment generator is used to generate some sample composable role
# environment files.
#
environments:
  -
    name: undercloud/undercloud-minion
    title: Undercloud Minion node
    description: |
      TODO
    files:
      deployment/timesync/chrony-baremetal-ansible.yaml:
        parameters:
          - NtpServer
      deployment/tripleo-packages/tripleo-packages-baremetal-puppet.yaml:
        parameters:
          - EnablePackageInstall
      deployment/sshd/sshd-baremetal-ansible.yaml:
        parameters:
          - SshFirewallAllowAll
      overcloud.yaml:
        parameters:
          - DnsServers
      sample-env-generator/undercloud-minion.yaml:
        parameters:
          - UndercloudMinionNetworkConfigTemplate
      deployment/ironic/ironic-conductor-container-puppet.yaml:
        parameters:
          - IronicCleaningDiskErase
          - IronicCleaningNetwork
          - IronicDefaultInspectInterface
          - IronicEnabledBootInterfaces
          - IronicEnabledConsoleInterfaces
          - IronicEnabledDeployInterfaces
          - IronicEnabledHardwareTypes
          - IronicEnabledInspectInterfaces
          - IronicEnabledManagementInterfaces
          - IronicEnabledNetworkInterfaces
          - IronicEnabledPowerInterfaces
          - IronicEnabledRaidInterfaces
          - IronicEnabledRescueInterfaces
          - IronicEnabledStorageInterfaces
          - IronicEnabledVendorInterfaces
          - IronicEnableStagingDrivers
          - IronicForcePowerStateDuringSync
          - IronicProvisioningNetwork
          - IronicRescuingNetwork
    sample_values:
      # Normal bits for standalone
      StackAction: CREATE
      EnablePackageInstall: true
      SshFirewallAllowAll: true
      HeatEngineOptVolumes:
        - /usr/lib/heat:/usr/lib/heat:ro
      IronicCleaningDiskErase: 'metadata'
      IronicCorsAllowedOrigin: '*'
      IronicDefaultInspectInterface: 'inspector'
      IronicDefaultResourceClass: 'baremetal'
      IronicEnabledHardwareTypes: ['ipmi', 'redfish', 'idrac', 'ilo']
      IronicEnabledBootInterfaces: ['pxe', 'ilo-pxe']
      IronicEnabledConsoleInterfaces: ['ipmitool-socat', 'ilo', 'no-console']
      IronicEnabledDeployInterfaces: ['direct', 'ansible']
      IronicEnabledInspectInterfaces: ['inspector', 'no-inspect']
      IronicEnabledManagementInterfaces: ['ipmitool', 'redfish', 'idrac', 'ilo']
      IronicEnabledNetworkInterfaces: ['flat']
      IronicEnabledPowerInterfaces: ['ipmitool', 'redfish', 'idrac', 'ilo']
      IronicEnabledRaidInterfaces: ['no-raid']
      IronicEnabledStorageInterfaces: ['noop']
      IronicEnabledVendorInterfaces: ['ipmitool', 'idrac', 'no-vendor']
      IronicEnableStagingDrivers: true
      IronicCleaningNetwork: 'ctlplane'
      IronicForcePowerStateDuringSync: false
      IronicInspectorCollectors: default,extra-hardware,numa-topology,logs
      IronicInspectorInterface: br-ctlplane
      IronicProvisioningNetwork: 'ctlplane'
      IronicRescuingNetwork: 'ctlplane'
      UndercloudMinionNetworkConfigTemplate: 'templates/undercloud.j2'
    resource_registry:
      # this network config is assumed by the tripleo deploy command
      OS::TripleO::Network::Ports::ControlPlaneVipPort: OS::Heat::None

      # Activate container image prepare
      OS::TripleO::Services::ContainerImagePrepare: ../../deployment/container-image-prepare/container-image-prepare-baremetal-ansible.yaml
      OS::TripleO::Services::Podman: ../../deployment/podman/podman-baremetal-ansible.yaml

      # Install tmpwatch
      OS::TripleO::Services::Tmpwatch: ../../deployment/logrotate/tmpwatch-install.yaml

      # TODO(aschultz): this probably needs an alternative solution
      # Need to provide the oslo messaging hieradata
      OS::TripleO::Services::UndercloudMinionMessaging: ../../deployment/undercloud/minion-rabbitmq-puppet.yaml

      # Disable by default
      OS::TripleO::Services::IronicConductor: OS::Heat::None

      # Disable all the services not used when deploying just a minion
      OS::TripleO::Services::AodhApi: OS::Heat::None
      OS::TripleO::Services::AodhEvaluator: OS::Heat::None
      OS::TripleO::Services::AodhListener: OS::Heat::None
      OS::TripleO::Services::AodhNotifier: OS::Heat::None
      OS::TripleO::Services::Apache: OS::Heat::None
      OS::TripleO::Services::AuditD: OS::Heat::None
      OS::TripleO::Services::BarbicanApi: OS::Heat::None
      OS::TripleO::Services::BarbicanBackendDogtag: OS::Heat::None
      OS::TripleO::Services::BarbicanBackendKmip: OS::Heat::None
      OS::TripleO::Services::BarbicanBackendPkcs11Crypto: OS::Heat::None
      OS::TripleO::Services::BarbicanBackendSimpleCrypto: OS::Heat::None
      OS::TripleO::Services::BlockStorageCinderVolume: OS::Heat::None
      OS::TripleO::Services::BootParams: OS::Heat::None
      OS::TripleO::Services::CeilometerAgentCentral: OS::Heat::None
      OS::TripleO::Services::CeilometerAgentIpmi: OS::Heat::None
      OS::TripleO::Services::CeilometerAgentNotification: OS::Heat::None
      OS::TripleO::Services::CephClient: OS::Heat::None
      OS::TripleO::Services::CephExternal: OS::Heat::None
      OS::TripleO::Services::CephMds: OS::Heat::None
      OS::TripleO::Services::CephMgr: OS::Heat::None
      OS::TripleO::Services::CephMon: OS::Heat::None
      OS::TripleO::Services::CephNfs: OS::Heat::None
      OS::TripleO::Services::CephOSD: OS::Heat::None
      OS::TripleO::Services::CephRbdMirror: OS::Heat::None
      OS::TripleO::Services::CephRgw: OS::Heat::None
      OS::TripleO::Services::Chrony: OS::Heat::None
      OS::TripleO::Services::CinderApi: OS::Heat::None
      OS::TripleO::Services::CinderBackup: OS::Heat::None
      OS::TripleO::Services::CinderScheduler: OS::Heat::None
      OS::TripleO::Services::CinderVolume: OS::Heat::None
      OS::TripleO::Services::Clustercheck: OS::Heat::None
      OS::TripleO::Services::Collectd: OS::Heat::None
      OS::TripleO::Services::ComputeCeilometerAgent: OS::Heat::None
      OS::TripleO::Services::ComputeInstanceHA: OS::Heat::None
      OS::TripleO::Services::ComputeNeutronCorePluginNuage: OS::Heat::None
      OS::TripleO::Services::ComputeNeutronCorePlugin: OS::Heat::None
      OS::TripleO::Services::ComputeNeutronL3Agent: OS::Heat::None
      OS::TripleO::Services::ComputeNeutronMetadataAgent: OS::Heat::None
      OS::TripleO::Services::ComputeNeutronOvsAgent: OS::Heat::None
      OS::TripleO::Services::ComputeNeutronOvsDpdk: OS::Heat::None
      OS::TripleO::Services::DesignateApi: OS::Heat::None
      OS::TripleO::Services::DesignateCentral: OS::Heat::None
      OS::TripleO::Services::DesignateMDNS: OS::Heat::None
      OS::TripleO::Services::DesignateProducer: OS::Heat::None
      OS::TripleO::Services::DesignateSink: OS::Heat::None
      OS::TripleO::Services::DesignateWorker: OS::Heat::None
      OS::TripleO::Services::DesignateBind: OS::Heat::None
      OS::TripleO::Services::Docker: OS::Heat::None
      OS::TripleO::Services::DockerRegistry: OS::Heat::None
      OS::TripleO::Services::Etcd: OS::Heat::None
      OS::TripleO::Services::ExternalSwiftProxy: OS::Heat::None
      OS::TripleO::Services::GlanceApi: OS::Heat::None
      OS::TripleO::Services::GnocchiApi: OS::Heat::None
      OS::TripleO::Services::GnocchiMetricd: OS::Heat::None
      OS::TripleO::Services::GnocchiStatsd: OS::Heat::None
      OS::TripleO::Services::HAproxy: OS::Heat::None
      OS::TripleO::Services::HAProxyInternalTLS: OS::Heat::None
      OS::TripleO::Services::HAProxyPublicTLS: OS::Heat::None
      OS::TripleO::Services::HeatApiCfn: OS::Heat::None
      OS::TripleO::Services::HeatApiCloudwatch: OS::Heat::None
      OS::TripleO::Services::HeatEngine: OS::Heat::None
      OS::TripleO::Services::HeatApi: OS::Heat::None
      OS::TripleO::Services::Horizon: OS::Heat::None
      OS::TripleO::Services::IpaClient: OS::Heat::None
      OS::TripleO::Services::Ipsec: OS::Heat::None
      OS::TripleO::Services::IronicApi: OS::Heat::None
      OS::TripleO::Services::IronicInspector: OS::Heat::None
      OS::TripleO::Services::IronicNeutronAgent: OS::Heat::None
      OS::TripleO::Services::IronicPxe: OS::Heat::None
      OS::TripleO::Services::Iscsid: OS::Heat::None
      OS::TripleO::Services::Keystone: OS::Heat::None
      OS::TripleO::Services::LiquidioCompute: OS::Heat::None
      OS::TripleO::Services::Logging::BarbicanApi: OS::Heat::None
      OS::TripleO::Services::Logging::GlanceApi: OS::Heat::None
      OS::TripleO::Services::Logging::HAProxy: OS::Heat::None
      OS::TripleO::Services::Logging::HeatApiCfn: OS::Heat::None
      OS::TripleO::Services::Logging::HeatApi: OS::Heat::None
      OS::TripleO::Services::Logging::Keystone: OS::Heat::None
      OS::TripleO::Services::Logging::NeutronApi: OS::Heat::None
      OS::TripleO::Services::Logging::NeutronCommon: OS::Heat::None
      OS::TripleO::Services::Logging::NovaApi: OS::Heat::None
      OS::TripleO::Services::Logging::NovaCommon: OS::Heat::None
      OS::TripleO::Services::Logging::NovaLibvirt: OS::Heat::None
      OS::TripleO::Services::Logging::NovaMetadata: OS::Heat::None
      OS::TripleO::Services::Logging::PlacementApi: OS::Heat::None
      OS::TripleO::Services::ManilaApi: OS::Heat::None
      OS::TripleO::Services::ManilaBackendCephFs: OS::Heat::None
      OS::TripleO::Services::ManilaBackendIsilon: OS::Heat::None
      OS::TripleO::Services::ManilaBackendNetapp: OS::Heat::None
      OS::TripleO::Services::ManilaBackendUnity: OS::Heat::None
      OS::TripleO::Services::ManilaBackendVMAX: OS::Heat::None
      OS::TripleO::Services::ManilaBackendVNX: OS::Heat::None
      OS::TripleO::Services::ManilaScheduler: OS::Heat::None
      OS::TripleO::Services::ManilaShare: OS::Heat::None
      OS::TripleO::Services::MasqueradeNetworks: OS::Heat::None
      OS::TripleO::Services::Memcached: OS::Heat::None
      OS::TripleO::Services::MetricsQdr: OS::Heat::None
      OS::TripleO::Services::MistralApi: OS::Heat::None
      OS::TripleO::Services::MistralEngine: OS::Heat::None
      OS::TripleO::Services::MistralEventEngine: OS::Heat::None
      OS::TripleO::Services::MistralExecutor: OS::Heat::None
      OS::TripleO::Services::Multipathd: OS::Heat::None
      OS::TripleO::Services::MySQL: OS::Heat::None
      OS::TripleO::Services::NeutronApi: OS::Heat::None
      OS::TripleO::Services::NeutronBgpVpnApi: OS::Heat::None
      OS::TripleO::Services::NeutronBgpVpnBagpipe: OS::Heat::None
      OS::TripleO::Services::NeutronCorePlugin: OS::Heat::None
      OS::TripleO::Services::NeutronCorePluginML2Ansible: OS::Heat::None
      OS::TripleO::Services::NeutronCorePluginML2Nuage: OS::Heat::None
      OS::TripleO::Services::NeutronCorePluginML2OVN: OS::Heat::None
      OS::TripleO::Services::NeutronCorePluginMLNXSDN: OS::Heat::None
      OS::TripleO::Services::NeutronCorePluginNSX: OS::Heat::None
      OS::TripleO::Services::NeutronCorePluginNuage: OS::Heat::None
      OS::TripleO::Services::NeutronCorePluginVTS: OS::Heat::None
      OS::TripleO::Services::NeutronDhcpAgent: OS::Heat::None
      OS::TripleO::Services::NeutronL2gwAgent: OS::Heat::None
      OS::TripleO::Services::NeutronL2gwApi: OS::Heat::None
      OS::TripleO::Services::NeutronL3Agent: OS::Heat::None
      OS::TripleO::Services::NeutronLbaasv2Agent: OS::Heat::None
      OS::TripleO::Services::NeutronLbaasv2Api: OS::Heat::None
      OS::TripleO::Services::NeutronLinuxbridgeAgent: OS::Heat::None
      OS::TripleO::Services::NeutronMetadataAgent: OS::Heat::None
      OS::TripleO::Services::NeutronNuageVrs: OS::Heat::None
      OS::TripleO::Services::NeutronOvsAgent: OS::Heat::None
      OS::TripleO::Services::NeutronSfcApi: OS::Heat::None
      OS::TripleO::Services::NeutronSriovAgent: OS::Heat::None
      OS::TripleO::Services::NeutronVppAgent: OS::Heat::None
      OS::TripleO::Services::NovaApi: OS::Heat::None
      OS::TripleO::Services::NovaAZConfig: OS::Heat::None
      OS::TripleO::Services::NovaCompute: OS::Heat::None
      OS::TripleO::Services::NovaConductor: OS::Heat::None
      OS::TripleO::Services::NovaConsoleauth: OS::Heat::None
      OS::TripleO::Services::NovaIronic: OS::Heat::None
      OS::TripleO::Services::Novajoin: OS::Heat::None
      OS::TripleO::Services::NovaLibvirt: OS::Heat::None
      OS::TripleO::Services::NovaLibvirtGuests: OS::Heat::None
      OS::TripleO::Services::NovaMetadata: OS::Heat::None
      OS::TripleO::Services::NovaMigrationTarget: OS::Heat::None
      OS::TripleO::Services::NovaPlacement: OS::Heat::None
      OS::TripleO::Services::NovaScheduler: OS::Heat::None
      OS::TripleO::Services::NovaVncProxy: OS::Heat::None
      OS::TripleO::Services::Ntp: OS::Heat::None
      OS::TripleO::Services::OctaviaApi: OS::Heat::None
      OS::TripleO::Services::OctaviaDeploymentConfig: OS::Heat::None
      OS::TripleO::Services::OctaviaHealthManager: OS::Heat::None
      OS::TripleO::Services::OctaviaHousekeeping: OS::Heat::None
      OS::TripleO::Services::OctaviaWorker: OS::Heat::None
      OS::TripleO::Services::OsloMessagingNotify: OS::Heat::None
      OS::TripleO::Services::OsloMessagingRpc: OS::Heat::None
      OS::TripleO::Services::OVNController: OS::Heat::None
      OS::TripleO::Services::OVNDBs: OS::Heat::None
      OS::TripleO::Services::OVNMetadataAgent: OS::Heat::None
      OS::TripleO::Services::Pacemaker: OS::Heat::None
      OS::TripleO::Services::PacemakerRemote: OS::Heat::None
      OS::TripleO::Services::PlacementApi: OS::Heat::None
      OS::TripleO::Services::Ptp: OS::Heat::None
      OS::TripleO::Services::Qdr: OS::Heat::None
      OS::TripleO::Services::RabbitMQ: OS::Heat::None
      OS::TripleO::Services::Redis: OS::Heat::None
      OS::TripleO::Services::RsyslogSidecar: OS::Heat::None
      OS::TripleO::Services::Securetty: OS::Heat::None
      OS::TripleO::Services::SELinux: OS::Heat::None
      OS::TripleO::Services::Snmp: OS::Heat::None
      OS::TripleO::Services::SwiftDispersion: OS::Heat::None
      OS::TripleO::Services::SwiftProxy: OS::Heat::None
      OS::TripleO::Services::SwiftRingBuilder: OS::Heat::None
      OS::TripleO::Services::SwiftStorage: OS::Heat::None
      OS::TripleO::Services::Tempest: OS::Heat::None
      OS::TripleO::Services::TLSProxyBase: OS::Heat::None
      OS::TripleO::Services::TripleoPackages: OS::Heat::None
      OS::TripleO::Services::TripleoUI: OS::Heat::None
      OS::TripleO::Services::Tuned: OS::Heat::None
      OS::TripleO::Services::UndercloudTLS: OS::Heat::None
      OS::TripleO::Services::UndercloudUpgrade: OS::Heat::None
      OS::TripleO::Services::Vpp: OS::Heat::None
      OS::TripleO::Services::Xinetd: OS::Heat::None
      OS::TripleO::Services::Zaqar: OS::Heat::None
# Role specific dynamic parameters, to be defined here
# for sample env generator to be happy.
parameters:
  UndercloudMinionNetworkConfigTemplate:
    description: UndercloudMinion NetworkConfigTemplate
    type: string
    default: ''