X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=compute.yaml;h=7fcdf421626a77d3091cf2db897735c002759f23;hb=ec3137dc6ec6ff4871125ac2802aefe3c2089805;hp=dbeeeb0caad9e086d3b06c3691ae9bffb4da1efe;hpb=4f4d8e3d161162483b9ef702a33a895c854599ac;p=apex-tripleo-heat-templates.git diff --git a/compute.yaml b/compute.yaml index dbeeeb0c..7fcdf421 100644 --- a/compute.yaml +++ b/compute.yaml @@ -1,4 +1,4 @@ -heat_template_version: 2014-10-16 +heat_template_version: 2015-04-30 description: > OpenStack hypervisor node. Can be wrapped in a ResourceGroup for scaling. @@ -110,13 +110,13 @@ parameters: network) - if changing this either use different post-install network scripts or be sure to keep 'datacentre' as a mapping network name. type: string - default: "" + default: "datacentre:br-ex" NeutronEnableTunnelling: type: string default: "True" NeutronFlatNetworks: type: string - default: '' + default: 'datacentre' description: > If set, flat networks to configure in neutron plugins. NeutronHost: @@ -132,7 +132,7 @@ parameters: The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the Neutron documentation for permitted values. Defaults to permitting any VLAN on the 'datacentre' physical network (See NeutronBridgeMappings). - type: string + type: comma_delimited_list NeutronPassword: default: unset description: The password for the neutron service account, used by neutron agents. @@ -168,10 +168,12 @@ parameters: The mechanism drivers for the Neutron tenant network. To specify multiple values, use a comma separated string, like so: 'openvswitch,l2_population' type: string + # Not relevant for Computes, should be removed NeutronAllowL3AgentFailover: default: 'True' description: Allow automatic l3-agent failover type: string + # Not relevant for Computes, should be removed NeutronL3HA: default: 'False' description: Whether to enable l3-agent HA @@ -195,6 +197,10 @@ parameters: NovaComputeLibvirtType: type: string default: '' + NovaEnableRbdBackend: + default: false + description: Whether to enable or not the Rbd backend for Nova + type: boolean NovaPassword: default: unset description: The password for the nova service account, used by nova-api. @@ -218,6 +224,16 @@ parameters: default: guest description: The username for RabbitMQ type: string + RabbitClientUseSSL: + default: false + description: > + Rabbit client subscriber parameter to specify + an SSL connection to the RabbitMQ host. + type: string + RabbitClientPort: + default: 5672 + description: Set rabbit subscriber port, change this if using SSL + type: number SnmpdReadonlyUserName: default: ro_snmp_user description: The user name for SNMPd with readonly rights running on all Overcloud nodes @@ -227,7 +243,17 @@ parameters: description: The user password for SNMPd with readonly rights running on all Overcloud nodes type: string hidden: true - + ServiceNetMap: + default: {} + description: Mapping of service_name -> network name. Typically set + via parameter_defaults in the resource registry. + type: json + UpdateIdentifier: + default: '' + type: string + description: > + Setting to a previously unused value during stack-update will trigger + package update on all nodes resources: @@ -243,31 +269,108 @@ resources: networks: - network: ctlplane user_data_format: SOFTWARE_CONFIG + user_data: {get_resource: NodeUserData} + + NodeUserData: + type: OS::TripleO::NodeUserData + + InternalApiPort: + type: OS::TripleO::Compute::Ports::InternalApiPort + properties: + ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]} + + StoragePort: + type: OS::TripleO::Compute::Ports::StoragePort + properties: + ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]} + + TenantPort: + type: OS::TripleO::Compute::Ports::TenantPort + properties: + ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]} NetworkConfig: - type: OS::TripleO::Net::SoftwareConfig + type: OS::TripleO::Compute::Net::SoftwareConfig + properties: + InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]} + StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]} + TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]} NetworkDeployment: type: OS::TripleO::SoftwareDeployment properties: signal_transport: NO_SIGNAL - config: {get_attr: [NetworkConfig, config_id]} + config: {get_resource: NetworkConfig} server: {get_resource: NovaCompute} input_values: bridge_name: {get_param: NeutronPhysicalBridge} interface_name: {get_param: NeutronPublicInterface} NovaComputeConfig: - type: OS::TripleO::Compute::SoftwareConfig + type: OS::Heat::StructuredConfig properties: - # allow configs to create sub-resources attached to the server - server_id: {get_resource: NovaCompute} + group: os-apply-config + config: + nova: + compute_driver: { get_input: nova_compute_driver } + compute_libvirt_type: { get_input: nova_compute_libvirt_type } + debug: {get_input: debug} + host: {get_input: nova_api_host} + public_ip: {get_input: nova_public_ip} + service-password: {get_input: nova_password} + ceilometer: + debug: {get_input: debug} + metering_secret: {get_input: ceilometer_metering_secret} + service-password: {get_input: ceilometer_password} + compute_agent: {get_input: ceilometer_compute_agent} + snmpd: + export_MIB: UCD-SNMP-MIB + readonly_user_name: {get_input: snmpd_readonly_user_name} + readonly_user_password: {get_input: snmpd_readonly_user_password} + glance: + debug: {get_input: debug} + host: {get_input: glance_host} + port: {get_input: glance_port} + protocol: {get_input: glance_protocol} + keystone: + debug: {get_input: debug} + host: {get_input: keystone_host} + neutron: + debug: {get_input: debug} + flat-networks: {get_input: neutron_flat_networks} + host: {get_input: neutron_host} + router_distributed: {get_input: neutron_router_distributed} + agent_mode: {get_input: neutron_agent_mode} + ovs_db: {get_input: neutron_dsn} + metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret} + mechanism_drivers: {get_input: neutron_mechanism_drivers} + allow_automatic_l3agent_failover: {get_input: neutron_allow_l3agent_failover} + l3_ha: {get_input: neutron_l3_ha} + ovs: + local_ip: {get_input: neutron_local_ip} + tenant_network_type: {get_input: neutron_tenant_network_type} + tunnel_types: {get_input: neutron_tunnel_types} + network_vlan_ranges: {get_input: neutron_network_vlan_ranges} + bridge_mappings: {get_input: neutron_bridge_mappings} + enable_tunneling: {get_input: neutron_enable_tunneling} + physical_bridge: {get_input: neutron_physical_bridge} + public_interface: {get_input: neutron_public_interface} + public_interface_raw_device: {get_input: neutron_public_interface_raw_device} + service-password: {get_input: neutron_password} + admin-password: {get_input: admin_password} + rabbit: + host: {get_input: rabbit_host} + username: {get_input: rabbit_username} + password: {get_input: rabbit_password} + ntp: + servers: + - {server: {get_input: ntp_server}} NovaComputeDeployment: type: OS::TripleO::SoftwareDeployment properties: signal_transport: NO_SIGNAL - config: {get_attr: [NovaComputeConfig, config_id]} + config: {get_resource: NovaComputeConfig} server: {get_resource: NovaCompute} input_values: debug: {get_param: Debug} @@ -345,6 +448,15 @@ outputs: ip_address: description: IP address of the server in the ctlplane network value: {get_attr: [NovaCompute, networks, ctlplane, 0]} + internal_api_ip_address: + description: IP address of the server in the internal_api network + value: {get_attr: [InternalApiPort, ip_address]} + storage_ip_address: + description: IP address of the server in the storage network + value: {get_attr: [StoragePort, ip_address]} + tenant_ip_address: + description: IP address of the server in the tenant network + value: {get_attr: [TenantPort, ip_address]} hostname: description: Hostname of the server value: {get_attr: [NovaCompute, name]} @@ -353,7 +465,7 @@ outputs: Server's IP address and hostname in the /etc/hosts format value: str_replace: - template: "IP HOST HOST.novalocal" + template: "IP HOST" params: IP: {get_attr: [NovaCompute, networks, ctlplane, 0]} HOST: {get_attr: [NovaCompute, name]} @@ -361,3 +473,6 @@ outputs: description: Heat resource handle for the Nova compute server value: {get_resource: NovaCompute} + config_identifier: + description: identifier which changes if the node configuration may need re-applying + value: "None - NO_SIGNAL"