First Published: 2019-04-11
Revised: 2019-10-14
This Tech Note describes steps required to install Red Hat OpenStack 13 (Queens) with the Cisco Application Infrastructure (ACI) plug-in. The installation of Undercloud Director and creation of custom Director templates are covered in the following guides:
• OSP Director Installation: Director Installation and Usage for Red Hat OpenStack Platform 13 on the Red Hat Customer Portal website
• Advanced Configuration: Advanced Overcloud Customization for Red Hat OpenStack Platform 13 on the Red Hat Customer Portal website
This document contains the following sections:
· Steps Required to Install OSP with Cisco ACI
· Resource Declaration when Using Neutron OVS Agent Instead of OpFlex
1. Prepare Undercloud Director following the instructions in the Red Hat OSP13 documents in the preceding links.
We recommended that you verify your installation templates by consulting Red Hat documentation and services. It is also good practice to test deployment without the Cisco ACI plug-in to make sure that Undercloud installation and deployment templates are correct.
2. Prepare the custom NIC templates as required following instructions in the Red Hat documentation in the preceding links.
3. Download the tripleo-ciscoaci RPM for OSP 3 from Cisco.com and install it using YUM:
sudo yum install ./tripleo-ciscoaci-13.0-1.noarch.rpm
The installation creates a directory structure ciscoaci-tripleo-heat-templates under /opt, which has the required services files for Cisco ACI. The installation also creates a YUM repository on Undercloud for Cisco ACI-related packages.
4. Copy /usr/share/openstack-tripleo-heat-templates/roles_data.yaml to a private location:
cp /usr/share/openstack-tripleo-heat-templates/roles_data.yaml /home/stack/templates/aci_roles_data.yaml
5. Edit the local copy of roles_data.yaml (aci_roles_data.yaml) to add CiscoAciAIM and CiscoAciLldp services to the controller role and CiscoAciLldp service to the compute role.
Under controller role add the following lines:
- OS::TripleO::Services::CiscoAciAIM
- OS::TripleO::Services::CiscoAciLldp
Under the compute role add the following line:
- OS::TripleO::Services::CiscoAciLldp
6. Run the Cisco ACI plug-in containers initialization script by executing the following command:
/opt/ciscoaci-tripleo-heat-templates/tools/build_openstack_aci_containers.py
This command uses the upstream Docker images as a base to build the required containers and pushes the containers to a local Docker repository. The command creates the following environment file:
/home/stack/templates/ciscoaci_containers.yaml
This file should be included as a template during Overcloud deployment. You can use the -o option to override the output file name. After you enter the command, verify that the output file was created as specified.
Note: You may have to log out as the stack domain user and log back in because the Docker groups membership for the stack domain user may not have taken effect. To check this, make sure that you can run Docker commands, such as docker ps as a stack domain user without permission issues.
Note: During execution of the docker ps command, you may see an error generated by command /bin/gbp-db-manage. You can safely ignore the error, which should not cause the execution of the script to fail.
7. Declare resources for the Cisco ACI environment.
You must define Cisco ACI resources in a YAML template file to include with deployment. the following example shows resources for deploying OSP with OpFlex. (Resource declaration for non-OpFlex use case [neutron-openvswitch-agent] is provided at the end of this document.)
resource_registry:
#controller
OS::TripleO::ControllerExtraConfigPre: /opt/ciscoaci-tripleo-heat-templates//nodepre.yaml
OS::TripleO::Services::NeutronL3Agent: OS::Heat::None
OS::TripleO::Services::NeutronOvsAgent: /opt/ciscoaci-tripleo-heat-templates/docker/services/cisco_opflex.yaml
OS::TripleO::Docker::NeutronMl2PluginBase: /opt/ciscoaci-tripleo-heat-templates/puppet/services/ciscoaci-ml2.yaml
OS::TripleO::Services::CiscoAciAIM: /opt/ciscoaci-tripleo-heat-templates/docker/services/cisco_aciaim.yaml
#compute
OS::TripleO::ComputeExtraConfigPre: /opt/ciscoaci-tripleo-heat-templates//nodepre.yaml
OS::TripleO::Services::ComputeNeutronOvsAgent: /opt/ciscoaci-tripleo-heat- templates/docker/services/cisco_opflex.yaml
OS::TripleO::Services::ComputeNeutronCorePlugin: /opt/ciscoaci-tripleo-heat-templates/puppet/services/ciscoaci_compute.yaml
OS::TripleO::Services::ComputeNeutronMetadataAgent: /opt/ciscoaci-tripleo-heat- templates/docker/services/compute-neutron-metadata.yaml
#if using LLDP to discover switch connections
OS::TripleO::Services::CiscoAciLldp: /opt/ciscoaci-tripleo-heat-templates/docker/services/cisco_lldp.yaml
#if not using LLDP
OS::TripleO::Services::CiscoAciLldp: OS::Heat::None
8. Parameters for the Cisco ACI environment:
| Parameter Name |
Value |
Default |
Mandatory/ |
Comments |
| NeutronCorePlugin |
'ml2plus' |
None |
Mandatory |
|
| NeutronServicePlugins |
'group_policy,ncp,apic_aim_l3' |
None |
Mandatory |
|
| NeutronEnableIsolateMetadata |
True |
|
|
Must be set to true |
| NeutronEnableForceMetadata |
True |
|
|
Must be set to true |
| ACIYumRepo |
http://udercloud_ip/acirepo |
None |
Mandatory |
URL for the yum repo for ACI plugin RPMs |
| ACIApicHosts |
Comma-separated list of Cisco APIC host names or IP addresses |
None |
Mandatory |
|
| ACIApicUsername |
Username with admin privileges |
admin |
Optional |
|
| ACIApicPassword |
Password |
None |
Mandatory |
|
| ACIApicSystemId |
String, name to identify this OS domain |
None |
Mandatory |
|
| ACIMechanismDrivers |
'apic_aim' |
None |
Mandatory |
Add addition drivers—for example, openvswitch when using neutron ovs agent and sriovnicswitch when using sriov |
| ACIApicEntityProfile |
Cisco ACI entity profile that has been pre-provisioned on Cisco ACI |
None |
Mandatory |
|
| ACIApicInfraVlan |
Cisco ACI fabric infra vlan |
4093 |
|
Consult Cisco ACI administrator for correct value |
| ACIApicInfraSubnetGateway |
Cisco ACI infra subnet gateway |
10.0.0.30 |
|
Consult Cisco ACI administrator for correct value |
| ACIApicInfraAnycastAddr |
Cisco ACI anycast address |
10.0.0.32 |
|
Consult Cisco ACI administrator for correct value |
| ACIUseLldp |
true | false |
true |
|
If set to fals, remembet to set CiscoAciLlldp service to OS::Heat::None |
| ACIOpflexUplinkInterface |
Interface name connected to the Cisco ACI switch |
None |
Mandatory |
Actual interface name—for example, enp8s0 |
| ACIOpflexEncapMode |
vlan or vxlan |
vxlan |
|
|
| ACIOpflexVlanRange |
starting vlan:ending vlan |
None |
Mandatory if ACIOpflexEncapMode is set to VLAN |
|
| ACIOpflexInterfaceType |
linux or ovs |
linux |
|
Set it to OVS when planning an OpenShift on an OpenStack install. This causes the OpFlex interface to be created on the OVS switch. |
| NeutronPluginMl2PuppetTags: |
'neutron_plugin_ml2,neutron_plugin_cisco_aci,neutron_sfc_service_config |
None |
Mandatory |
|
| NeutronNetworkVLANRanges |
physnet:starting vlan:ending vlan (For example, physnet1:1100:1150,physnet2:1201:1211 |
None |
Mandatory when using the Neutron OVS agent |
|
| NeutronBridgeMappings |
For example, 'physnet1:br-ex,physnet2:br-ex' |
None |
Mandatory when using the Neutron OVS agent |
Physnets should match as provided in NeutronBridgeMappings |
| AciTenantNetworkType |
VLAN |
None |
Mandatory when using the Neutron OVS agent |
|
| AciOpenvswitch |
true or false |
false |
|
Should be set to true when using the Neutron OVS agent |
| NeutronTunnelTypes |
'' |
None |
Mandatory |
Should be set to an empty string when using the Neutron OVS agent |
| NeutronOVSFirewallDriver |
'neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver' |
|
Mandatory |
Should be set to the value shown when using the Neutron OVS agent |
| ACIHostLinks |
|
None |
Mandatory when using the Neutron OVS agent and not using the LLDP agent |
Describes the host connections to switches in json format. For example: |
| NeutronPhysicalDevMappings |
eg physnet1:eth1,physnet2:eth2 |
|
|
It is required to set this parameter when you want to map a particular interface to a specific physnet |
The following is an example of the Cisco ACI resources declaration (aci_cs.yaml):
#A Heat environment file which can be used to enable a Neutron Cisco ACI backend on the controller, configured with puppet
resource_registry:
#controller
OS::TripleO::ControllerExtraConfigPre: /opt/ciscoaci-tripleo-heat-templates//nodepre.yaml
OS::TripleO::Services::NeutronL3Agent: OS::Heat::None
OS::TripleO::Services::NeutronOvsAgent: /opt/ciscoaci-tripleo-heat-templates/docker/services/cisco_opflex.yaml
OS::TripleO::Docker::NeutronMl2PluginBase: /opt/ciscoaci-tripleo-heat-templates/puppet/services/ciscoaci-ml2.yaml
OS::TripleO::Services::CiscoAciAIM: /opt/ciscoaci-tripleo-heat-templates/docker/services/cisco_aciaim.yaml
#compute
OS::TripleO::ComputeExtraConfigPre: /opt/ciscoaci-tripleo-heat-templates//nodepre.yaml
OS::TripleO::Services::ComputeNeutronOvsAgent: /opt/ciscoaci-tripleo-heat-templates/docker/services/cisco_opflex.yaml
OS::TripleO::Services::ComputeNeutronCorePlugin: /opt/ciscoaci-tripleo-heat-templates/puppet/services/ciscoaci_compute.yaml
OS::TripleO::Services::ComputeNeutronMetadataAgent: /opt/ciscoaci-tripleo-heat-templates/docker/services/compute-neutron-metadata.yaml
OS::TripleO::Services::CiscoAciLldp: /opt/ciscoaci-tripleo-heat-templates/docker/services/cisco_lldp.yaml
Parameter defaults:
NeutronSfcDriver: 'aim'
NeutronFcDriver: 'aim'
AdminPassword: 'noir0123'
EC2MetadataIp: 1.100.1.1
ControlPlaneDefaultRoute: 1.100.1.1
DockerInsecureRegistryAddress: 1.100.1.1:8787
OvercloudControllerFlavor: control
OvercloudComputeFlavor: compute
ExternalNetworkVlanID: 1
InternalApiNetworkVlanID: 301
StorageNetworkVlanID: 302
StorageMgmtNetworkVlanID: 303
TenantNetworkVlanID: 304
NeutronCorePlugin: 'ml2plus'
NeutronPluginMl2PuppetTags: 'neutron_plugin_ml2,neutron_plugin_cisco_aci'
NeutronServicePlugins: 'group_policy,ncp,apic_aim_l3'
NeutronEnableIsolatedMetadata: true
NeutronEnableForceMetadata: true
#NeutronPhysicalDevMappings: physnet1:eth1,physnet2:eth2
EnablePackageInstall: true
ACIScopeNames: true
#ACIScopeInfra: true
ACIYumRepo: http://1.100.1.1/acirepo
ACIApicHosts: 172.171.170.169
ACIApicUsername: admin
ACIApicPassword: mypass
ACIApicSystemId: osp13
ACIMechanismDrivers: 'apic_aim'
ACIApicEntityProfile: osp13-aep
ACIApicInfraVlan: 4093
ACIApicInfraSubnetGateway: 10.0.0.30
ACIApicInfraAnycastAddr: 10.0.0.32
ACIOpflexUplinkInterface: enp8s0
ACIOpflexEncapMode: vxlan
#NeutronNetworkVLANRanges: physnet1:1100:1150
#ACIUseLldp: false
#ACIHostLinks: '{"101":{"ha":"1/1", "hb":"1/2"}, "102":{"hc":"1/1"} }'
HeatEnginePluginDirs: /usr/lib64/heat,/usr/lib/heat,/usr/local/lib/heat,/usr/local/lib64/heat,/usr/lib/python2.7/site-packages/gbpautomation/heat
NeutronGlobalPhysnetMtu: 9000
ACIOpflexInterfaceMTU: 9000
NtpServer: ['172.28.184.8']
#DockerDebug: true
#DockerOptions: '--log-driver=syslog --live-restore'
NeutronPluginMl2PuppetTags: 'neutron_plugin_ml2,neutron_plugin_cisco_aci,neutron_sfc_service_config'
9. Deploy Overcloud:
Include the custom roles data file created using the -r option. Also include the ciscoaci environment file and ciscoaci containers YAML file in the environment list in addition to site-specific environment files.
Example: (The text in green shows Cisco ACI-specific templates.)
openstack overcloud deploy --templates /home/stack/tripleo-heat-templates -r /home/stack/templates/aci_roles_data.yaml -e /home/stack/tripleo-heat-templates/environments/network-isolation.yaml -e /home/stack/templates/overcloud_images.yaml -e /home/stack/templates/network-environment.yaml -e /home/stack/templates/ciscoaci_containers.yaml -e /home/stack/templates/aci_cs.yaml -e /home/stack/templates/rhel-registration-resource-registry.yaml -e /home/stack/templates/environment-rhel-registration.yaml
Note: The preceding example is for illustration of use of Cisco ACI templates and roles. Other templates may differ depending on your installation configuration. Follow the Red Hat guidelines for creation of custom templates and autogeneration of the network environment template.
When you use Neutron Open vSwitch agent, Cisco-specific containers for Horizon and Heat may be optional. In that case, remove them from the ciscoaci_containers.yaml file that was generated in Step 5.
resource_registry:
#controller
OS::TripleO::ControllerExtraConfigPre: /opt/ciscoaci-tripleo-heat-templates//nodepre.yaml
OS::TripleO::Services::NeutronL3Agent: OS::Heat::None
OS::TripleO::Services::NeutronOvsAgent: /usr/share/openstack-tripleo-heat-templates/docker/services/neutron-ovs-agent.yaml
OS::TripleO::Docker::NeutronMl2PluginBase: /opt/ciscoaci-tripleo-heat-templates/puppet/services/ciscoaci-ml2.yaml
OS::TripleO::Services::CiscoAciAIM: /opt/ciscoaci-tripleo-heat-templates/docker/services/cisco_aciaim.yaml
OS::TripleO::Services::NeutronSfcApi: /usr/share/openstack-tripleo-heat-templates/puppet/services/neutron-sfc-api.yaml
#compute
OS::TripleO::ComputeExtraConfigPre: /opt/ciscoaci-tripleo-heat-templates//nodepre.yaml
OS::TripleO::Services::ComputeNeutronOvsAgent: /usr/share/openstack-tripleo-heat-templates/docker/services/neutron- ovs-agent.yaml
OS::TripleO::Services::ComputeNeutronCorePlugin: /opt/ciscoaci-tripleo-heat-templates/puppet/services/ciscoaci_compute.yaml
OS::TripleO::Services::ComputeNeutronMetadataAgent: /opt/ciscoaci-tripleo-heat-templates/docker/services/compute-neutron-metadata.yaml
#if using LLDP, else set it to OS::Heat::None
OS::TripleO::Services::CiscoAciLldp: /opt/ciscoaci-tripleo-heat-templates/docker/services/cisco_lldp.yaml
Custom aci_roles_data.yaml
###############################################################################
# File generated by TripleO
###############################################################################
###############################################################################
# Role: Controller #
###############################################################################
- name: Controller
description: |
Controller role that has all the controller services loaded and handles
Database, Messaging and Network functions.
CountDefault: 1
tags:
- primary
- controller
networks:
- External
- InternalApi
- Storage
- StorageMgmt
- Tenant
# 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'
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::Cadets
- OS::TripleO::Services::CeilometerApi
- OS::TripleO::Services::CeilometerCollector
- OS::TripleO::Services::CeilometerExpirer
- 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::CinderBackendScaleIO
- OS::TripleO::Services::CinderBackendVRTSHyperScale
- 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::Congress
- 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::GlanceRegistry
- 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::Ipsec
- OS::TripleO::Services::IronicApi
- OS::TripleO::Services::IronicConductor
- OS::TripleO::Services::IronicPxe
- 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::MistralApi
- OS::TripleO::Services::MistralEngine
- OS::TripleO::Services::MistralExecutor
- OS::TripleO::Services::MistralEventEngine
- OS::TripleO::Services::MongoDb
- 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::Ntp
- 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::OVNDBs
- OS::TripleO::Services::OVNController
- OS::TripleO::Services::Pacemaker
- OS::TripleO::Services::PankoApi
- OS::TripleO::Services::RabbitMQ
- 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::Timezone
- OS::TripleO::Services::TripleoFirewall
- OS::TripleO::Services::TripleoPackages
- OS::TripleO::Services::Tuned
- OS::TripleO::Services::Vpp
- OS::TripleO::Services::Zaqar
- OS::TripleO::Services::Ptp
- OS::TripleO::Services::CiscoAciAIM
- OS::TripleO::Services::CiscoAciLldp
###############################################################################
# Role: Compute #
###############################################################################
- name: Compute
description: |
Basic Compute Node role
CountDefault: 1
networks:
- InternalApi
- Tenant
- Storage
HostnameFormatDefault: '%stackname%-compute-%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.
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'
disable_upgrade_deployment: True
ServicesDefault:
- OS::TripleO::Services::Aide
- OS::TripleO::Services::AuditD
- 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::Ipsec
- OS::TripleO::Services::Iscsid
- OS::TripleO::Services::Kernel
- OS::TripleO::Services::LoginDefs
- 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::NovaMigrationTarget
- OS::TripleO::Services::Ntp
- OS::TripleO::Services::ContainersLogrotateCrond
- OS::TripleO::Services::OpenDaylightOvs
- 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::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
- OS::TripleO::Services::Ptp
- OS::TripleO::Services::CiscoAciLldp
###############################################################################
# Role: BlockStorage #
###############################################################################
- name: BlockStorage
description: |
Cinder Block Storage node role
networks:
- InternalApi
- Storage
- StorageMgmt
uses_deprecated_params: False
deprecated_nic_config_name: 'cinder-storage.yaml'
ServicesDefault:
- OS::TripleO::Services::Aide
- OS::TripleO::Services::AuditD
- OS::TripleO::Services::BlockStorageCinderVolume
- OS::TripleO::Services::CACerts
- OS::TripleO::Services::CertmongerUser
- OS::TripleO::Services::CinderBackendVRTSHyperScale
- OS::TripleO::Services::Collectd
- OS::TripleO::Services::Docker
- OS::TripleO::Services::Fluentd
- OS::TripleO::Services::Ipsec
- OS::TripleO::Services::Iscsid
- OS::TripleO::Services::Kernel
- OS::TripleO::Services::LoginDefs
- OS::TripleO::Services::MySQLClient
- OS::TripleO::Services::Ntp
- OS::TripleO::Services::ContainersLogrotateCrond
- 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::Timezone
- OS::TripleO::Services::TripleoFirewall
- OS::TripleO::Services::TripleoPackages
- OS::TripleO::Services::Tuned
- OS::TripleO::Services::Ptp
###############################################################################
# Role: ObjectStorage #
###############################################################################
- name: ObjectStorage
description: |
Swift Object Storage node role
networks:
- InternalApi
- Storage
- StorageMgmt
# 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_metadata: 'SwiftStorageServerMetadata'
deprecated_param_ips: 'SwiftStorageIPs'
deprecated_param_image: 'SwiftStorageImage'
deprecated_param_flavor: 'OvercloudSwiftStorageFlavor'
deprecated_nic_config_name: 'swift-storage.yaml'
disable_upgrade_deployment: True
ServicesDefault:
- OS::TripleO::Services::Aide
- OS::TripleO::Services::AuditD
- OS::TripleO::Services::CACerts
- OS::TripleO::Services::CertmongerUser
- OS::TripleO::Services::Collectd
- OS::TripleO::Services::Docker
- OS::TripleO::Services::Fluentd
- OS::TripleO::Services::Ipsec
- OS::TripleO::Services::Kernel
- OS::TripleO::Services::LoginDefs
- OS::TripleO::Services::MySQLClient
- OS::TripleO::Services::Ntp
- OS::TripleO::Services::ContainersLogrotateCrond
- 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::SwiftRingBuilder
- OS::TripleO::Services::SwiftStorage
- OS::TripleO::Services::Timezone
- OS::TripleO::Services::TripleoFirewall
- OS::TripleO::Services::TripleoPackages
- OS::TripleO::Services::Tuned
- OS::TripleO::Services::Ptp
###############################################################################
# Role: CephStorage #
###############################################################################
- name: CephStorage
description: |
Ceph OSD Storage node role
networks:
- Storage
- StorageMgmt
uses_deprecated_params: False
deprecated_nic_config_name: 'ceph-storage.yaml'
ServicesDefault:
- OS::TripleO::Services::Aide
- OS::TripleO::Services::AuditD
- 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::Ipsec
- OS::TripleO::Services::Kernel
- OS::TripleO::Services::LoginDefs
- OS::TripleO::Services::MySQLClient
- OS::TripleO::Services::Ntp
- OS::TripleO::Services::ContainersLogrotateCrond
- 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::Timezone
- OS::TripleO::Services::TripleoFirewall
- OS::TripleO::Services::TripleoPackages
- OS::TripleO::Services::Tuned
- OS::TripleO::Services::Ptp
During troubleshooting you may be required to collect host-reports from the openstack cluster. It is now done using the provided playbook: /opt/ciscoaci-tripleo-heat-templates/tools/report.yaml.
Here are some examples for usage of the host report playbook:
■ ansible-playbook /opt/ciscoaci-tripleo-heat-templates/tools/report.yaml
This example collects data for all nodes and creates the file /home/stack/overcloud_aci_report.tgz.
■ ansible-playbook /opt/ciscoaci-tripleo-heat-templates/tools/report.yaml -e '{"limit_flavors":['control'], "dest_file":/tmp/abc}
This example limits the report to controllers and changes the default output file.
■ ansible-playbook /opt/ciscoaci-tripleo-heat-templates/tools/report.yaml -e '{"limit_hosts":[overcloud-controller-0, overcloud-controller-2]}'
This example limits the report collection to the hosts specified. "limit_flavors" and "limit_hosts" can be clubbed to further filter the nodes on which to collect data.