Add "deployed server" fake neutron ports
This patch swaps out the noop ctlplane port for a more proper fake neutron port stack. This stack is a swap in for the OS::Neutron::Port heat resource and can be controlled via the DeployedServerPortMap parameter. By relying on <hostname>-<network> naming conventions in the map we can map IPs to specific servers without using the Neutron API. This will allow us to inject IP information into the Heat stack within the new t-h-t undercloud installer which currently does not run a Neutron service. Change-Id: I29fbc720c3d582cbb94385e65e4b64b101f7eac9
This commit is contained in:
parent
0097da7710
commit
9313e18f30
@ -1,23 +0,0 @@
|
||||
heat_template_version: 2014-10-16
|
||||
|
||||
parameters:
|
||||
Hostname:
|
||||
type: string
|
||||
|
||||
resources:
|
||||
|
||||
ControlPlanePort:
|
||||
type: OS::Neutron::Port
|
||||
properties:
|
||||
network: ctlplane
|
||||
name:
|
||||
list_join:
|
||||
- '-'
|
||||
- - {get_param: Hostname}
|
||||
- ctlplane
|
||||
- port
|
||||
replacement_policy: AUTO
|
||||
|
||||
outputs:
|
||||
ip_address:
|
||||
value: {get_attr: [ControlPlanePort, fixed_ips, 0, ip_address]}
|
67
deployed-server/deployed-neutron-port.yaml
Normal file
67
deployed-server/deployed-neutron-port.yaml
Normal file
@ -0,0 +1,67 @@
|
||||
heat_template_version: 2016-10-14
|
||||
|
||||
description: "
|
||||
A fake OS::Neutron::Port stack which outputs fixed_ips and subnets based on
|
||||
the input from the DeployedServerPortMap (set via parameter_defaults). This
|
||||
lookup requires the use of port naming conventions. In order for this to work
|
||||
with deployed-server the keys should be <hostname>-<network>.
|
||||
Example:
|
||||
parameter_defaults:
|
||||
DeployedServerPortMap:
|
||||
gatsby_ctlplane:
|
||||
fixed_ips:
|
||||
- ip_address: 127.0.0.1
|
||||
subnets:
|
||||
- cidr: 24"
|
||||
|
||||
parameters:
|
||||
name:
|
||||
default: ''
|
||||
type: string
|
||||
network:
|
||||
default: ''
|
||||
type: string
|
||||
fixed_ips:
|
||||
default: ''
|
||||
type: comma_delimited_list
|
||||
replacement_policy:
|
||||
default: ''
|
||||
type: string
|
||||
DeployedServerPortMap:
|
||||
default: {}
|
||||
type: json
|
||||
|
||||
|
||||
outputs:
|
||||
fixed_ips:
|
||||
value:
|
||||
{get_param: [DeployedServerPortMap, {get_param: name}, fixed_ips]}
|
||||
subnets:
|
||||
value:
|
||||
{get_param: [DeployedServerPortMap, {get_param: name}, subnets]}
|
||||
name:
|
||||
value: {get_param: name}
|
||||
status:
|
||||
value: DOWN
|
||||
allowed_address_pairs:
|
||||
value: {}
|
||||
device_id:
|
||||
value: ''
|
||||
device_owner:
|
||||
value: {get_param: network}
|
||||
dns_assignment:
|
||||
value: ''
|
||||
port_security_enabled:
|
||||
value: False
|
||||
admin_state_up:
|
||||
value: False
|
||||
security_groups:
|
||||
value: {}
|
||||
network_id:
|
||||
value: ''
|
||||
tenant_id:
|
||||
value: ''
|
||||
qos_policy_id:
|
||||
value: ''
|
||||
mac_address:
|
||||
value: ''
|
@ -80,10 +80,16 @@ resources:
|
||||
config: {get_resource: HostsEntryConfig}
|
||||
server: {get_resource: deployed-server}
|
||||
|
||||
ControlPlanePort:
|
||||
ControlPlanePortImpl:
|
||||
type: OS::TripleO::DeployedServer::ControlPlanePort
|
||||
properties:
|
||||
Hostname: {get_attr: [HostsEntryDeployment, hostname]}
|
||||
network: ctlplane
|
||||
name:
|
||||
list_join:
|
||||
- '-'
|
||||
- - {get_attr: [HostsEntryDeployment, hostname]}
|
||||
- ctlplane
|
||||
replacement_policy: AUTO
|
||||
|
||||
outputs:
|
||||
OS::stack_id:
|
||||
@ -91,6 +97,6 @@ outputs:
|
||||
networks:
|
||||
value:
|
||||
ctlplane:
|
||||
- {get_attr: [ControlPlanePort, ip_address]}
|
||||
- {get_attr: [ControlPlanePortImpl, fixed_ips, 0, ip_address]}
|
||||
name:
|
||||
value: {get_attr: [HostsEntryDeployment, hostname]}
|
||||
|
@ -1,3 +1,3 @@
|
||||
resource_registry:
|
||||
OS::TripleO::Server: ../deployed-server/deployed-server.yaml
|
||||
OS::TripleO::DeployedServer::ControlPlanePort: ../deployed-server/ctlplane-port.yaml
|
||||
OS::TripleO::DeployedServer::ControlPlanePort: OS::Neutron::Port
|
||||
|
@ -1,4 +1,3 @@
|
||||
resource_registry:
|
||||
OS::TripleO::Server: ../deployed-server/deployed-server.yaml
|
||||
OS::TripleO::DeployedServerConfig: ../deployed-server/deployed-server-config.yaml
|
||||
OS::TripleO::DeployedServer::ControlPlanePort: OS::Heat::None
|
||||
OS::TripleO::DeployedServer::ControlPlanePort: ../deployed-server/deployed-neutron-port.yaml
|
||||
|
Loading…
x
Reference in New Issue
Block a user