aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ci/environments/scenario001-multinode-containers.yaml1
-rw-r--r--ci/environments/scenario002-multinode-containers.yaml2
-rw-r--r--ci/environments/scenario002-multinode.yaml2
-rw-r--r--common/deploy-steps.j210
-rw-r--r--docker/services/ceilometer-agent-compute.yaml17
-rw-r--r--docker/services/ceph-ansible/ceph-base.yaml4
-rw-r--r--docker/services/logrotate-crond.yaml2
-rw-r--r--docker/services/zaqar.yaml2
-rw-r--r--environments/services/zaqar.yaml2
-rw-r--r--j2_excludes.yaml24
-rw-r--r--network/ports/external.yaml61
-rw-r--r--network/ports/external_from_pool.yaml46
-rw-r--r--network/ports/external_from_pool_v6.yaml52
-rw-r--r--network/ports/internal_api.yaml57
-rw-r--r--network/ports/internal_api_from_pool.yaml46
-rw-r--r--network/ports/internal_api_from_pool_v6.yaml52
-rw-r--r--network/ports/internal_api_v6.yaml61
-rw-r--r--network/ports/management.yaml49
-rw-r--r--network/ports/management_from_pool.yaml46
-rw-r--r--network/ports/management_from_pool_v6.yaml52
-rw-r--r--network/ports/management_v6.yaml54
-rw-r--r--network/ports/port.j2 (renamed from network/ports/external_v6.yaml)34
-rw-r--r--network/ports/port.network.j2.yaml73
-rw-r--r--network/ports/port_from_pool.j265
-rw-r--r--network/ports/port_from_pool.network.j2.yaml66
-rw-r--r--network/ports/port_from_pool_v6.network.j2.yaml2
-rw-r--r--network/ports/port_v6.network.j2.yaml2
-rw-r--r--network/ports/storage.yaml56
-rw-r--r--network/ports/storage_from_pool.yaml46
-rw-r--r--network/ports/storage_from_pool_v6.yaml52
-rw-r--r--network/ports/storage_mgmt.yaml57
-rw-r--r--network/ports/storage_mgmt_from_pool.yaml46
-rw-r--r--network/ports/storage_mgmt_from_pool_v6.yaml52
-rw-r--r--network/ports/storage_mgmt_v6.yaml61
-rw-r--r--network/ports/storage_v6.yaml61
-rw-r--r--network/ports/tenant.yaml56
-rw-r--r--network/ports/tenant_from_pool.yaml46
-rw-r--r--network/ports/tenant_from_pool_v6.yaml51
-rw-r--r--network/ports/tenant_v6.yaml61
-rw-r--r--puppet/services/docker.yaml10
-rw-r--r--puppet/services/nova-libvirt.yaml2
-rw-r--r--puppet/services/zaqar-api.yaml (renamed from puppet/services/zaqar.yaml)4
-rw-r--r--releasenotes/notes/Change-zaqar-profile-path-7b00c68c0812fb3d.yaml6
-rw-r--r--roles/Controller.yaml2
-rw-r--r--roles/ControllerOpenstack.yaml1
-rw-r--r--roles/Telemetry.yaml1
-rw-r--r--roles_data.yaml2
47 files changed, 141 insertions, 1416 deletions
diff --git a/ci/environments/scenario001-multinode-containers.yaml b/ci/environments/scenario001-multinode-containers.yaml
index edc03d6c..fec958ba 100644
--- a/ci/environments/scenario001-multinode-containers.yaml
+++ b/ci/environments/scenario001-multinode-containers.yaml
@@ -111,6 +111,7 @@ parameter_defaults:
osd_pool_default_pg_num: 32
osd_max_object_name_len: 256
osd_max_object_namespace_len: 64
+ centos_package_dependencies: []
CephAnsibleSkipTags: ''
#NOTE: These ID's and keys should be regenerated for
# a production deployment. What is here is suitable for
diff --git a/ci/environments/scenario002-multinode-containers.yaml b/ci/environments/scenario002-multinode-containers.yaml
index fe06ef66..584c1e5e 100644
--- a/ci/environments/scenario002-multinode-containers.yaml
+++ b/ci/environments/scenario002-multinode-containers.yaml
@@ -11,7 +11,7 @@ resource_registry:
OS::TripleO::Services::BarbicanApi: ../../puppet/services/barbican-api.yaml
# TODO: Zaqar doesn't work when containerized
# https://bugs.launchpad.net/tripleo/+bug/1710959
- OS::TripleO::Services::Zaqar: ../../puppet/services/zaqar.yaml
+ OS::TripleO::Services::Zaqar: ../../puppet/services/zaqar-api.yaml
OS::TripleO::Services::Ec2Api: ../../docker/services/ec2-api.yaml
# NOTE: This is needed because of upgrades from Ocata to Pike. We
# deploy the initial environment with Ocata templates, and
diff --git a/ci/environments/scenario002-multinode.yaml b/ci/environments/scenario002-multinode.yaml
index 513d3f71..5670c213 100644
--- a/ci/environments/scenario002-multinode.yaml
+++ b/ci/environments/scenario002-multinode.yaml
@@ -2,7 +2,7 @@ resource_registry:
OS::TripleO::Controller::Net::SoftwareConfig: ../common/net-config-multinode.yaml
OS::TripleO::Compute::Net::SoftwareConfig: ../common/net-config-multinode.yaml
OS::TripleO::Services::BarbicanApi: ../../puppet/services/barbican-api.yaml
- OS::TripleO::Services::Zaqar: ../../puppet/services/zaqar.yaml
+ OS::TripleO::Services::Zaqar: ../../puppet/services/zaqar-api.yaml
OS::TripleO::Services::Ec2Api: ../../puppet/services/ec2-api.yaml
OS::TripleO::Services::RabbitMQ: ../../puppet/services/pacemaker/rabbitmq.yaml
OS::TripleO::Services::Redis: ../../puppet/services/pacemaker/database/redis.yaml
diff --git a/common/deploy-steps.j2 b/common/deploy-steps.j2
index 8d17c223..db2b21c1 100644
--- a/common/deploy-steps.j2
+++ b/common/deploy-steps.j2
@@ -318,7 +318,7 @@ outputs:
when: role_name == '{{role.name}}'
{%- endfor %}
- include: deploy_steps_tasks.yaml
- with_sequence: count={{deploy_steps_max-1}}
+ with_sequence: start=0 end={{deploy_steps_max-1}}
loop_control:
loop_var: step
update_steps_tasks: |
@@ -331,11 +331,11 @@ outputs:
serial: 1
tasks:
- include: update_steps_tasks.yaml
- with_sequence: count={{update_steps_max-1}}
+ with_sequence: start=0 end={{update_steps_max-1}}
loop_control:
loop_var: step
- include: deploy_steps_tasks.yaml
- with_sequence: count={{deploy_steps_max-1}}
+ with_sequence: start=0 end={{deploy_steps_max-1}}
loop_control:
loop_var: step
upgrade_steps_tasks: |
@@ -347,11 +347,11 @@ outputs:
- hosts: overcloud
tasks:
- include: upgrade_steps_tasks.yaml
- with_sequence: count={{upgrade_steps_max-1}}
+ with_sequence: start=0 end={{upgrade_steps_max-1}}
loop_control:
loop_var: step
- include: deploy_steps_tasks.yaml
- with_sequence: count={{deploy_steps_max-1}}
+ with_sequence: start=0 end={{deploy_steps_max-1}}
loop_control:
loop_var: step
diff --git a/docker/services/ceilometer-agent-compute.yaml b/docker/services/ceilometer-agent-compute.yaml
index 09677c64..535b1693 100644
--- a/docker/services/ceilometer-agent-compute.yaml
+++ b/docker/services/ceilometer-agent-compute.yaml
@@ -92,6 +92,21 @@ outputs:
environment:
- KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
upgrade_tasks:
- - name: Stop and disable ceilometer-agent-compute service
+ - name: Check if openstack-ceilometer-compute is deployed
+ command: systemctl is-enabled openstack-ceilometer-compute
+ tags: step2
+ ignore_errors: True
+ register: openstack_ceilometer_compute_enabled
+ - name: Check if openstack-ceilometer-polling is deployed
+ command: systemctl is-enabled openstack-ceilometer-polling
+ tags: step2
+ ignore_errors: True
+ register: openstack_ceilometer_polling_enabled
+ - name: Stop and disable ceilometer compute agent
tags: step2
service: name=openstack-ceilometer-compute state=stopped enabled=no
+ when: openstack_ceilometer_compute_enabled.rc == 0
+ - name: Stop and disable ceilometer polling agent
+ tags: step2
+ service: name=openstack-ceilometer-polling state=stopped enabled=no
+ when: openstack_ceilometer_polling_enabled.rc == 0
diff --git a/docker/services/ceph-ansible/ceph-base.yaml b/docker/services/ceph-ansible/ceph-base.yaml
index f09e98ce..d78ff7fd 100644
--- a/docker/services/ceph-ansible/ceph-base.yaml
+++ b/docker/services/ceph-ansible/ceph-base.yaml
@@ -138,14 +138,14 @@ resources:
if:
- custom_registry_host
- yaql:
- expression: let(location => $.data.rightSplit(':', 1)[0]) -> regex('(?:https?://)?(.*)/').split($location)[1]
+ expression: let(location => $.data.rightSplit(':', 1)[0]) -> regex('(?:https?://)?(.*?)/(.*)').split($location)[1]
data: {get_param: DockerCephDaemonImage}
- docker.io
image:
if:
- custom_registry_host
- yaql:
- expression: let(location => $.data.rightSplit(':', 1)[0]) -> regex('(?:https?://)?(.*)/').split($location)[2]
+ expression: let(location => $.data.rightSplit(':', 1)[0]) -> regex('(?:https?://)?(.*?)/(.*)').split($location)[2]
data: {get_param: DockerCephDaemonImage}
- yaql:
expression: $.data.rightSplit(':', 1)[0]
diff --git a/docker/services/logrotate-crond.yaml b/docker/services/logrotate-crond.yaml
index f49fd36b..22ee5b56 100644
--- a/docker/services/logrotate-crond.yaml
+++ b/docker/services/logrotate-crond.yaml
@@ -78,7 +78,7 @@ outputs:
- {get_attr: [ContainersCommon, volumes]}
-
- /var/lib/kolla/config_files/logrotate-crond.json:/var/lib/kolla/config_files/config.json:ro
- - /var/lib/config-data/puppet-generated/logrotate-crond/:/var/lib/kolla/config_files/src:ro
+ - /var/lib/config-data/puppet-generated/crond/:/var/lib/kolla/config_files/src:ro
- /var/log/containers:/var/log/containers
environment:
- KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
diff --git a/docker/services/zaqar.yaml b/docker/services/zaqar.yaml
index 072c6759..b6fb4001 100644
--- a/docker/services/zaqar.yaml
+++ b/docker/services/zaqar.yaml
@@ -57,7 +57,7 @@ resources:
type: ../../puppet/services/database/mysql-client.yaml
ZaqarBase:
- type: ../../puppet/services/zaqar.yaml
+ type: ../../puppet/services/zaqar-api.yaml
properties:
EndpointMap: {get_param: EndpointMap}
ServiceData: {get_param: ServiceData}
diff --git a/environments/services/zaqar.yaml b/environments/services/zaqar.yaml
index e501b69c..f57582c2 100644
--- a/environments/services/zaqar.yaml
+++ b/environments/services/zaqar.yaml
@@ -1,3 +1,3 @@
resource_registry:
- OS::TripleO::Services::Zaqar: ../../puppet/services/zaqar.yaml
+ OS::TripleO::Services::Zaqar: ../../puppet/services/zaqar-api.yaml
OS::TripleO::Services::MongoDb: ../../puppet/services/database/mongodb.yaml
diff --git a/j2_excludes.yaml b/j2_excludes.yaml
index 5bdb0af9..74fb3bb1 100644
--- a/j2_excludes.yaml
+++ b/j2_excludes.yaml
@@ -11,27 +11,3 @@ name:
- network/storage_mgmt_v6.yaml
- network/tenant_v6.yaml
- network/management_v6.yaml
- - network/ports/internal_api.yaml
- - network/ports/external.yaml
- - network/ports/storage.yaml
- - network/ports/storage_mgmt.yaml
- - network/ports/tenant.yaml
- - network/ports/management.yaml
- - network/ports/internal_api_v6.yaml
- - network/ports/external_v6.yaml
- - network/ports/storage_v6.yaml
- - network/ports/storage_mgmt_v6.yaml
- - network/ports/tenant_v6.yaml
- - network/ports/management_v6.yaml
- - network/ports/internal_api_from_pool.yaml
- - network/ports/external_from_pool.yaml
- - network/ports/storage_from_pool.yaml
- - network/ports/storage_mgmt_from_pool.yaml
- - network/ports/tenant_from_pool.yaml
- - network/ports/management_from_pool.yaml
- - network/ports/internal_api_from_pool_v6.yaml
- - network/ports/external_from_pool_v6.yaml
- - network/ports/storage_from_pool_v6.yaml
- - network/ports/storage_mgmt_from_pool_v6.yaml
- - network/ports/tenant_from_pool_v6.yaml
- - network/ports/management_from_pool_v6.yaml
diff --git a/network/ports/external.yaml b/network/ports/external.yaml
deleted file mode 100644
index 72922093..00000000
--- a/network/ports/external.yaml
+++ /dev/null
@@ -1,61 +0,0 @@
-heat_template_version: pike
-
-description: >
- Creates a port on the external network. The IP address will be chosen
- automatically if FixedIPs is empty.
-
-parameters:
- ExternalNetName:
- description: The name of the external network.
- default: external
- type: string
- PortName:
- description: Name of the port
- default: ''
- type: string
- ControlPlaneIP: # Here for compatibility with noop.yaml
- description: IP address on the control plane
- default: ''
- type: string
- ControlPlaneNetwork: # Here for compatibility with ctlplane_vip.yaml
- description: The name of the undercloud Neutron control plane
- default: ctlplane
- type: string
- FixedIPs:
- description: >
- Control the IP allocation for the VIP port. E.g.
- [{'ip_address':'1.2.3.4'}]
- default: []
- type: json
- IPPool: # Here for compatibility with from_pool.yaml
- default: {}
- type: json
- NodeIndex: # Here for compatibility with from_pool.yaml
- default: 0
- type: number
-
-resources:
-
- ExternalPort:
- type: OS::Neutron::Port
- properties:
- network: {get_param: ExternalNetName}
- name: {get_param: PortName}
- fixed_ips: {get_param: FixedIPs}
- replacement_policy: AUTO
-
-outputs:
- ip_address:
- description: external network IP
- value: {get_attr: [ExternalPort, fixed_ips, 0, ip_address]}
- ip_address_uri:
- description: external network IP (for compatibility with external_v6.yaml)
- value: {get_attr: [ExternalPort, fixed_ips, 0, ip_address]}
- ip_subnet:
- description: IP/Subnet CIDR for the external network IP
- value:
- list_join:
- - ''
- - - {get_attr: [ExternalPort, fixed_ips, 0, ip_address]}
- - '/'
- - {str_split: ['/', {get_attr: [ExternalPort, subnets, 0, cidr]}, 1]}
diff --git a/network/ports/external_from_pool.yaml b/network/ports/external_from_pool.yaml
deleted file mode 100644
index a14aa90b..00000000
--- a/network/ports/external_from_pool.yaml
+++ /dev/null
@@ -1,46 +0,0 @@
-heat_template_version: pike
-
-description: >
- Returns an IP from a network mapped list of IPs
-
-parameters:
- ExternalNetName:
- description: The name of the external network.
- default: external
- type: string
- PortName:
- description: Name of the port
- default: ''
- type: string
- ControlPlaneIP: # Here for compatibility with noop.yaml
- description: IP address on the control plane
- default: ''
- type: string
- IPPool:
- default: {}
- description: A network mapped list of IPs
- type: json
- NodeIndex:
- default: 0
- description: Index of the IP to get from Pool
- type: number
- ExternalNetCidr:
- default: '10.0.0.0/24'
- description: Cidr for the external network.
- type: string
-
-outputs:
- ip_address:
- description: external network IP
- value: {get_param: [IPPool, {get_param: ExternalNetName}, {get_param: NodeIndex}]}
- ip_address_uri:
- description: external network IP (for compatibility with IPv6)
- value: {get_param: [IPPool, {get_param: ExternalNetName}, {get_param: NodeIndex}]}
- ip_subnet:
- description: IP/Subnet CIDR for the external network IP
- value:
- list_join:
- - ''
- - - {get_param: [IPPool, {get_param: ExternalNetName}, {get_param: NodeIndex}]}
- - '/'
- - {str_split: ['/', {get_param: ExternalNetCidr}, 1]}
diff --git a/network/ports/external_from_pool_v6.yaml b/network/ports/external_from_pool_v6.yaml
deleted file mode 100644
index 2aa51267..00000000
--- a/network/ports/external_from_pool_v6.yaml
+++ /dev/null
@@ -1,52 +0,0 @@
-heat_template_version: pike
-
-description: >
- Returns an IP from a network mapped list of IPs. This version is for IPv6
- addresses. The ip_address_uri output will have brackets for use in URLs.
-
-parameters:
- ExternalNetName:
- description: The name of the external network.
- default: external
- type: string
- PortName:
- description: Name of the port
- default: ''
- type: string
- ControlPlaneIP: # Here for compatability with noop.yaml
- description: IP address on the control plane
- default: ''
- type: string
- IPPool:
- default: {}
- description: A network mapped list of IPs
- type: json
- NodeIndex:
- default: 0
- description: Index of the IP to get from Pool
- type: number
- ExternalNetCidr:
- default: '2001:db8:fd00:1000::/64'
- description: Cidr for the external network.
- type: string
-
-outputs:
- ip_address:
- description: external network IP
- value: {get_param: [IPPool, {get_param: ExternalNetName}, {get_param: NodeIndex}]}
- ip_address_uri:
- description: external network IP (for compatibility with IPv6)
- value:
- list_join:
- - ''
- - - '['
- - {get_param: [IPPool, {get_param: ExternalNetName}, {get_param: NodeIndex}]}
- - ']'
- ip_subnet:
- description: IP/Subnet CIDR for the external network IP
- value:
- list_join:
- - ''
- - - {get_param: [IPPool, {get_param: ExternalNetName}, {get_param: NodeIndex}]}
- - '/'
- - {str_split: ['/', {get_param: ExternalNetCidr}, 1]}
diff --git a/network/ports/internal_api.yaml b/network/ports/internal_api.yaml
deleted file mode 100644
index 94006437..00000000
--- a/network/ports/internal_api.yaml
+++ /dev/null
@@ -1,57 +0,0 @@
-heat_template_version: pike
-
-description: >
- Creates a port on the internal_api network.
-
-parameters:
- InternalApiNetName:
- description: The name of the internal_api network.
- default: internal_api
- type: string
- PortName:
- description: Name of the port
- default: ''
- type: string
- ControlPlaneIP: # Here for compatibility with noop.yaml
- description: IP address on the control plane
- default: ''
- type: string
- FixedIPs:
- description: >
- Control the IP allocation for the VIP port. E.g.
- [{'ip_address':'1.2.3.4'}]
- default: []
- type: json
- IPPool: # Here for compatibility with from_pool.yaml
- default: {}
- type: json
- NodeIndex: # Here for compatibility with from_pool.yaml
- default: 0
- type: number
-
-resources:
-
- InternalApiPort:
- type: OS::Neutron::Port
- properties:
- network: {get_param: InternalApiNetName}
- name: {get_param: PortName}
- fixed_ips: {get_param: FixedIPs}
- replacement_policy: AUTO
-
-outputs:
- ip_address:
- description: internal API network IP
- value: {get_attr: [InternalApiPort, fixed_ips, 0, ip_address]}
- ip_address_uri:
- description: |
- internal API network IP (for compatibility with internal_api_v6.yaml)
- value: {get_attr: [InternalApiPort, fixed_ips, 0, ip_address]}
- ip_subnet:
- description: IP/Subnet CIDR for the internal API network IP
- value:
- list_join:
- - ''
- - - {get_attr: [InternalApiPort, fixed_ips, 0, ip_address]}
- - '/'
- - {str_split: ['/', {get_attr: [InternalApiPort, subnets, 0, cidr]}, 1]}
diff --git a/network/ports/internal_api_from_pool.yaml b/network/ports/internal_api_from_pool.yaml
deleted file mode 100644
index 6eeca142..00000000
--- a/network/ports/internal_api_from_pool.yaml
+++ /dev/null
@@ -1,46 +0,0 @@
-heat_template_version: pike
-
-description: >
- Returns an IP from a network mapped list of IPs
-
-parameters:
- InternalApiNetName:
- description: The name of the internal_api network.
- default: internal_api
- type: string
- PortName:
- description: Name of the port
- default: ''
- type: string
- ControlPlaneIP: # Here for compatibility with noop.yaml
- description: IP address on the control plane
- default: ''
- type: string
- IPPool:
- default: {}
- description: A network mapped list of IPs
- type: json
- NodeIndex:
- default: 0
- description: Index of the IP to get from Pool
- type: number
- InternalApiNetCidr:
- default: '172.16.2.0/24'
- description: Cidr for the internal_api network.
- type: string
-
-outputs:
- ip_address:
- description: internal API network IP
- value: {get_param: [IPPool, {get_param: InternalApiNetName}, {get_param: NodeIndex}]}
- ip_address_uri:
- description: internal API network IP (for compatibility with internal_api_v6.yaml)
- value: {get_param: [IPPool, {get_param: InternalApiNetName}, {get_param: NodeIndex}]}
- ip_subnet:
- description: IP/Subnet CIDR for the internal API network IP
- value:
- list_join:
- - ''
- - - {get_param: [IPPool, {get_param: InternalApiNetName}, {get_param: NodeIndex}]}
- - '/'
- - {str_split: ['/', {get_param: InternalApiNetCidr}, 1]}
diff --git a/network/ports/internal_api_from_pool_v6.yaml b/network/ports/internal_api_from_pool_v6.yaml
deleted file mode 100644
index 589d72a8..00000000
--- a/network/ports/internal_api_from_pool_v6.yaml
+++ /dev/null
@@ -1,52 +0,0 @@
-heat_template_version: pike
-
-description: >
- Returns an IP from a network mapped list of IPs. This version is for IPv6
- addresses. The ip_address_uri output will have brackets for use in URLs.
-
-parameters:
- InternalApiNetName:
- description: The name of the internal_api network.
- default: internal_api
- type: string
- PortName:
- description: Name of the port
- default: ''
- type: string
- ControlPlaneIP: # Here for compatability with noop.yaml
- description: IP address on the control plane
- default: ''
- type: string
- IPPool:
- default: {}
- description: A network mapped list of IPs
- type: json
- NodeIndex:
- default: 0
- description: Index of the IP to get from Pool
- type: number
- InternalApiNetCidr:
- default: 'fd00:fd00:fd00:2000::/64'
- description: Cidr for the internal_api network.
- type: string
-
-outputs:
- ip_address:
- description: internal API network IP
- value: {get_param: [IPPool, {get_param: InternalApiNetName}, {get_param: NodeIndex}]}
- ip_address_uri:
- description: internal API network IP (for compatibility with internal_api_v6.yaml)
- value:
- list_join:
- - ''
- - - '['
- - {get_param: [IPPool, {get_param: InternalApiNetName}, {get_param: NodeIndex}]}
- - ']'
- ip_subnet:
- description: IP/Subnet CIDR for the internal API network IP
- value:
- list_join:
- - ''
- - - {get_param: [IPPool, {get_param: InternalApiNetName}, {get_param: NodeIndex}]}
- - '/'
- - {str_split: ['/', {get_param: InternalApiNetCidr}, 1]}
diff --git a/network/ports/internal_api_v6.yaml b/network/ports/internal_api_v6.yaml
deleted file mode 100644
index 36a3ad07..00000000
--- a/network/ports/internal_api_v6.yaml
+++ /dev/null
@@ -1,61 +0,0 @@
-heat_template_version: pike
-
-description: >
- Creates a port on the internal_api network.
-
-parameters:
- InternalApiNetName:
- description: The name of the internal_api network.
- default: internal_api
- type: string
- PortName:
- description: Name of the port
- default: ''
- type: string
- ControlPlaneIP: # Here for compatability with noop.yaml
- description: IP address on the control plane
- default: ''
- type: string
- FixedIPs:
- description: >
- Control the IP allocation for the VIP port. E.g.
- [{'ip_address':'1.2.3.4'}]
- default: []
- type: json
- IPPool: # Here for compatibility with from_pool.yaml
- default: {}
- type: json
- NodeIndex: # Here for compatibility with from_pool.yaml
- default: 0
- type: number
-
-resources:
-
- InternalApiPort:
- type: OS::Neutron::Port
- properties:
- network: {get_param: InternalApiNetName}
- name: {get_param: PortName}
- fixed_ips: {get_param: FixedIPs}
- replacement_policy: AUTO
-
-outputs:
- ip_address:
- description: internal API network IP
- value: {get_attr: [InternalApiPort, fixed_ips, 0, ip_address]}
- ip_address_uri:
- description: internal api network IP with brackets suitable for a URL
- value:
- list_join:
- - ''
- - - '['
- - {get_attr: [InternalApiPort, fixed_ips, 0, ip_address]}
- - ']'
- ip_subnet:
- description: IP/Subnet CIDR for the internal API network IP
- value:
- list_join:
- - ''
- - - {get_attr: [InternalApiPort, fixed_ips, 0, ip_address]}
- - '/'
- - {str_split: ['/', {get_attr: [InternalApiPort, subnets, 0, cidr]}, 1]}
diff --git a/network/ports/management.yaml b/network/ports/management.yaml
deleted file mode 100644
index 417d0612..00000000
--- a/network/ports/management.yaml
+++ /dev/null
@@ -1,49 +0,0 @@
-heat_template_version: pike
-
-description: >
- Creates a port on the management network. The IP address will be chosen
- automatically if FixedIPs is empty.
-
-parameters:
- ManagementNetName:
- description: The name of the management network.
- default: management
- type: string
- PortName:
- description: Name of the port
- default: ''
- type: string
- ControlPlaneIP: # Here for compatibility with noop.yaml
- description: IP address on the control plane
- type: string
- IPPool: # Here for compatibility with from_pool.yaml
- default: {}
- type: json
- NodeIndex: # Here for compatibility with from_pool.yaml
- default: 0
- type: number
-
-resources:
-
- ManagementPort:
- type: OS::Neutron::Port
- properties:
- network: {get_param: ManagementNetName}
- name: {get_param: PortName}
- replacement_policy: AUTO
-
-outputs:
- ip_address:
- description: management network IP
- value: {get_attr: [ManagementPort, fixed_ips, 0, ip_address]}
- ip_address_uri:
- description: management network IP (for compatibility with management_v6.yaml)
- value: {get_attr: [ManagementPort, fixed_ips, 0, ip_address]}
- ip_subnet:
- description: IP/Subnet CIDR for the management network IP
- value:
- list_join:
- - ''
- - - {get_attr: [ManagementPort, fixed_ips, 0, ip_address]}
- - '/'
- - {str_split: ['/', {get_attr: [ManagementPort, subnets, 0, cidr]}, 1]}
diff --git a/network/ports/management_from_pool.yaml b/network/ports/management_from_pool.yaml
deleted file mode 100644
index 4815d163..00000000
--- a/network/ports/management_from_pool.yaml
+++ /dev/null
@@ -1,46 +0,0 @@
-heat_template_version: pike
-
-description: >
- Returns an IP from a network mapped list of IPs
-
-parameters:
- ManagementNetName:
- description: The name of the management network.
- default: management
- type: string
- PortName:
- description: Name of the port
- default: ''
- type: string
- ControlPlaneIP: # Here for compatability with noop.yaml
- description: IP address on the control plane
- default: ''
- type: string
- IPPool:
- default: {}
- description: A network mapped list of IPs
- type: json
- NodeIndex:
- default: 0
- description: Index of the IP to get from Pool
- type: number
- ManagementNetCidr:
- default: '172.16.4.0/24'
- description: Cidr for the management network.
- type: string
-
-outputs:
- ip_address:
- description: management network IP
- value: {get_param: [IPPool, {get_param: ManagementNetName}, {get_param: NodeIndex}]}
- ip_address_uri:
- description: management network IP (for compatibility with management_v6.yaml)
- value: {get_param: [IPPool, {get_param: ManagementNetName}, {get_param: NodeIndex}]}
- ip_subnet:
- description: IP/Subnet CIDR for the management network IP
- value:
- list_join:
- - ''
- - - {get_param: [IPPool, {get_param: ManagementNetName}, {get_param: NodeIndex}]}
- - '/'
- - {str_split: ['/', {get_param: ManagementNetCidr}, 1]}
diff --git a/network/ports/management_from_pool_v6.yaml b/network/ports/management_from_pool_v6.yaml
deleted file mode 100644
index 2a7d3b1d..00000000
--- a/network/ports/management_from_pool_v6.yaml
+++ /dev/null
@@ -1,52 +0,0 @@
-heat_template_version: pike
-
-description: >
- Returns an IP from a network mapped list of IPs. This version is for IPv6
- addresses. The ip_address_uri output will have brackets for use in URLs.
-
-parameters:
- ManagementNetName:
- description: The name of the management network.
- default: management
- type: string
- PortName:
- description: Name of the port
- default: ''
- type: string
- ControlPlaneIP: # Here for compatability with noop.yaml
- description: IP address on the control plane
- default: ''
- type: string
- IPPool:
- default: {}
- description: A network mapped list of IPs
- type: json
- NodeIndex:
- default: 0
- description: Index of the IP to get from Pool
- type: number
- ManagementNetCidr:
- default: 'fd00:fd00:fd00:6000::/64'
- description: Cidr for the management network.
- type: string
-
-outputs:
- ip_address:
- description: management network IP
- value: {get_param: [IPPool, {get_param: ManagementNetName}, {get_param: NodeIndex}]}
- ip_address_uri:
- description: management network IP (for compatibility with management_v6.yaml)
- value:
- list_join:
- - ''
- - - '['
- - {get_param: [IPPool, {get_param: ManagementNetName}, {get_param: NodeIndex}]}
- - ']'
- ip_subnet:
- description: IP/Subnet CIDR for the management network IP
- value:
- list_join:
- - ''
- - - {get_param: [IPPool, {get_param: ManagementNetName}, {get_param: NodeIndex}]}
- - '/'
- - {str_split: ['/', {get_param: ManagementNetCidr}, 1]}
diff --git a/network/ports/management_v6.yaml b/network/ports/management_v6.yaml
deleted file mode 100644
index 9de06d9c..00000000
--- a/network/ports/management_v6.yaml
+++ /dev/null
@@ -1,54 +0,0 @@
-heat_template_version: pike
-
-description: >
- Creates a port on the management network. The IP address will be chosen
- automatically if FixedIPs is empty.
-
-parameters:
- ManagementNetName:
- description: The name of the management network.
- default: management
- type: string
- PortName:
- description: Name of the port
- default: ''
- type: string
- ControlPlaneIP: # Here for compatibility with noop.yaml
- description: IP address on the control plane
- type: string
- IPPool: # Here for compatibility with from_pool.yaml
- default: {}
- type: json
- NodeIndex: # Here for compatibility with from_pool.yaml
- default: 0
- type: number
-
-resources:
-
- ManagementPort:
- type: OS::Neutron::Port
- properties:
- network: {get_param: ManagementNetName}
- name: {get_param: PortName}
- replacement_policy: AUTO
-
-outputs:
- ip_address:
- description: management network IP
- value: {get_attr: [ManagementPort, fixed_ips, 0, ip_address]}
- ip_address_uri:
- description: management network IP with brackets suitable for a URL
- value:
- list_join:
- - ''
- - - '['
- - {get_attr: [ManagementPort, fixed_ips, 0, ip_address]}
- - ']'
- ip_subnet:
- description: IP/Subnet CIDR for the management network IP
- value:
- list_join:
- - ''
- - - {get_attr: [ManagementPort, fixed_ips, 0, ip_address]}
- - '/'
- - {str_split: ['/', {get_attr: [ManagementPort, subnets, 0, cidr]}, 1]}
diff --git a/network/ports/external_v6.yaml b/network/ports/port.j2
index 5a1b5ae3..2088d840 100644
--- a/network/ports/external_v6.yaml
+++ b/network/ports/port.j2
@@ -1,19 +1,19 @@
heat_template_version: pike
description: >
- Creates a port on the external network. The IP address will be chosen
+ Creates a port on the {{network.name}} network. The IP address will be chosen
automatically if FixedIPs is empty.
parameters:
- ExternalNetName:
- description: The name of the external network.
- default: external
+ {{network.name}}NetName:
+ description: The name of the {{network.name_lower}} network.
+ default: {{network.name_lower|default(network.name|lower)}}
type: string
PortName:
description: Name of the port
default: ''
type: string
- ControlPlaneIP: # Here for compatability with noop.yaml
+ ControlPlaneIP: # Here for compatibility with noop.yaml
description: IP address on the control plane
default: ''
type: string
@@ -36,31 +36,37 @@ parameters:
resources:
- ExternalPort:
+ {{network.name}}Port:
type: OS::Neutron::Port
properties:
- network: {get_param: ExternalNetName}
+ network: {get_param: {{network.name}}NetName}
name: {get_param: PortName}
fixed_ips: {get_param: FixedIPs}
replacement_policy: AUTO
outputs:
ip_address:
- description: external network IP
- value: {get_attr: [ExternalPort, fixed_ips, 0, ip_address]}
+ description: {{network.name}} network IP
+ value: {get_attr: [{{network.name}}Port, fixed_ips, 0, ip_address]}
ip_address_uri:
- description: external network IP with brackets suitable for a URL
+{%- if network.ipv6 or ipv6_override|default(false) %}
+ description: {{network.name}} network IP (with brackets for IPv6 URLs)
value:
list_join:
- ''
- - '['
- - {get_attr: [ExternalPort, fixed_ips, 0, ip_address]}
+ - {get_attr: [{{network.name}}Port, fixed_ips, 0, ip_address]}
- ']'
+{%- else %}
+ description: {{network.name}} network IP (for compatibility with IPv6 URLs)
+ value: {get_attr: [{{network.name}}Port, fixed_ips, 0, ip_address]}
+{%- endif %}
ip_subnet:
- description: IP/Subnet CIDR for the external network IP
+ description: IP/Subnet CIDR for the {{network.name}} network IP
value:
list_join:
- ''
- - - {get_attr: [ExternalPort, fixed_ips, 0, ip_address]}
+ - - {get_attr: [{{network.name}}Port, fixed_ips, 0, ip_address]}
- '/'
- - {str_split: ['/', {get_attr: [ExternalPort, subnets, 0, cidr]}, 1]}
+ - {str_split: ['/', {get_attr: [{{network.name}}Port, subnets, 0, cidr]}, 1]}
+
diff --git a/network/ports/port.network.j2.yaml b/network/ports/port.network.j2.yaml
index ded3e798..d0bd45ab 100644
--- a/network/ports/port.network.j2.yaml
+++ b/network/ports/port.network.j2.yaml
@@ -1,72 +1 @@
-heat_template_version: pike
-
-description: >
- Creates a port on the {{network.name}} network. The IP address will be chosen
- automatically if FixedIPs is empty.
-
-parameters:
- {{network.name}}NetName:
- description: Name of the {{network.name_lower}} neutron network
- default: {{network.name_lower|default(network.name|lower)}}
- type: string
- PortName:
- description: Name of the port
- default: ''
- type: string
- ControlPlaneIP: # Here for compatibility with noop.yaml
- description: IP address on the control plane
- default: ''
- type: string
- ControlPlaneNetwork: # Here for compatibility with ctlplane_vip.yaml
- description: The name of the undercloud Neutron control plane
- default: ctlplane
- type: string
- FixedIPs:
- description: >
- Control the IP allocation for the VIP port. E.g.
- [{'ip_address':'1.2.3.4'}]
- default: []
- type: json
- IPPool: # Here for compatibility with from_pool.yaml
- default: {}
- type: json
- NodeIndex: # Here for compatibility with from_pool.yaml
- default: 0
- type: number
-
-resources:
-
- {{network.name}}Port:
- type: OS::Neutron::Port
- properties:
- network: {get_param: {{network.name}}NetName}
- name: {get_param: PortName}
- fixed_ips: {get_param: FixedIPs}
- replacement_policy: AUTO
-
-outputs:
- ip_address:
- description: {{network.name}} network IP
- value: {get_attr: [{{network.name}}Port, fixed_ips, 0, ip_address]}
- ip_address_uri:
-{%- if network.ipv6 %}
- description: {{network.name}} network IP (with brackets for IPv6 URLs)
- value:
- list_join:
- - ''
- - - '['
- - {get_attr: [{{network.name}}Port, fixed_ips, 0, ip_address]}
- - ']'
-{%- else %}
- description: {{network.name}} network IP (for compatibility with IPv6 URLs)
- value: {get_attr: [{{network.name}}Port, fixed_ips, 0, ip_address]}
-{%- endif %}
- ip_subnet:
- description: IP/Subnet CIDR for the {{network.name}} network IP
- value:
- list_join:
- - ''
- - - {get_attr: [{{network.name}}Port, fixed_ips, 0, ip_address]}
- - '/'
- - {str_split: ['/', {get_attr: [{{network.name}}Port, subnets, 0, cidr]}, 1]}
-
+{% include 'port.j2' %}
diff --git a/network/ports/port_from_pool.j2 b/network/ports/port_from_pool.j2
new file mode 100644
index 00000000..14b93692
--- /dev/null
+++ b/network/ports/port_from_pool.j2
@@ -0,0 +1,65 @@
+heat_template_version: pike
+
+description: >
+ Creates a port on the {{network.name}} network, using a map of IPs per role.
+ Each role has a map of IPs in <Role>IPs parameters, with a list of IPs by
+ network (lower_name or lower case). For example:
+ ControllerIPs:
+ external:
+ - 1.2.3.4 # First controller
+ - 1.2.3.5 # Second controller
+
+parameters:
+ {{network.name}}NetName:
+ description: The name of the {{network.name_lower}} network.
+ default: {{network.name_lower}}
+ type: string
+ PortName:
+ description: Name of the port
+ default: ''
+ type: string
+ ControlPlaneIP: # Here for compatibility with noop.yaml
+ description: IP address on the control plane
+ default: ''
+ type: string
+ ControlPlaneNetwork: # Here for compatibility with ctlplane_vip.yaml
+ description: The name of the undercloud Neutron control plane
+ default: ctlplane
+ type: string
+ IPPool: # Set in <Role>IPs map, see environments/ips-from-pool-all.yaml
+ default: {}
+ type: json
+ NodeIndex: # First node in the role will get first IP, and so on...
+ default: 0
+ type: number
+ {{network.name}}NetCidr:
+ default: {{network.ip_subnet}}
+ description: Cidr for the {{network.name_lower}} network.
+ type: string
+
+outputs:
+ ip_address:
+ description: {{network.name}} network IP
+ value: {get_param: [IPPool, {get_param: {{network.name}}NetName}, {get_param: NodeIndex}]}
+ ip_address_uri:
+{%- if network.ipv6 or ipv6_override|default(false) %}
+ description: {{network.name}} network IP (with brackets for IPv6 URLs)
+ value:
+ list_join:
+ - ''
+ - - '['
+ - {get_param: [IPPool, {get_param: {{network.name}}NetName}, {get_param: NodeIndex}]}
+ - ']'
+{%- else %}
+ description: {{network.name}} network IP (for compatibility with {{network.name_lower}}_v6.yaml)
+ value: {get_param: [IPPool, {get_param: {{network.name}}NetName}, {get_param: NodeIndex}]}
+{%- endif %}
+ ip_subnet:
+ description: IP/Subnet CIDR for the {{network.name}} network IP
+ value:
+ list_join:
+ - ''
+ - - {get_param: [IPPool, {get_param: {{network.name}}NetName}, {get_param: NodeIndex}]}
+ - '/'
+ - {str_split: ['/', {get_param: {{network.name}}NetCidr}, 1]}
+
diff --git a/network/ports/port_from_pool.network.j2.yaml b/network/ports/port_from_pool.network.j2.yaml
index 9c08ec76..ff863583 100644
--- a/network/ports/port_from_pool.network.j2.yaml
+++ b/network/ports/port_from_pool.network.j2.yaml
@@ -1,65 +1 @@
-heat_template_version: pike
-
-description: >
- Creates a port on the {{network.name}} network, using a map of IPs per role.
- Each role has a map of IPs in <Role>IPs parameters, with a list of IPs by
- network (lower_name or lower case). For example:
- ControllerIPs:
- external:
- - 1.2.3.4 # First controller
- - 1.2.3.5 # Second controller
-
-parameters:
- {{network.name}}NetName:
- description: Name of the {{network.name}} neutron network
- default: {{network.name_lower}}
- type: string
- PortName:
- description: Name of the port
- default: ''
- type: string
- ControlPlaneIP: # Here for compatibility with noop.yaml
- description: IP address on the control plane
- default: ''
- type: string
- ControlPlaneNetwork: # Here for compatibility with ctlplane_vip.yaml
- description: The name of the undercloud Neutron control plane
- default: ctlplane
- type: string
- IPPool: # Set in <Role>IPs map, see environments/ips-from-pool-all.yaml
- default: {}
- type: json
- NodeIndex: # First node in the role will get first IP, and so on...
- default: 0
- type: number
- {{network.name}}NetCidr:
- default: {{network.ip_subnet}}
- description: Cidr for the {{network.name_lower}} network.
- type: string
-
-outputs:
- ip_address:
- description: {{network.name}} network IP
- value: {get_param: [IPPool, {get_param: {{network.name}}NetName}, {get_param: NodeIndex}]}
- ip_address_uri:
-{%- if network.ipv6 %}
- description: {{network.name}} network IP (with brackets for IPv6 URLs)
- value:
- list_join:
- - ''
- - - '['
- - {get_param: [IPPool, {get_param: {{network.name}}NetName}, {get_param: NodeIndex}]}
- - ']'
-{%- else %}
- description: {{network.name}} network IP (for compatibility with {{network.name_lower}}_v6.yaml)
- value: {get_param: [IPPool, {get_param: {{network.name}}NetName}, {get_param: NodeIndex}]}
-{%- endif %}
- ip_subnet:
- description: IP/Subnet CIDR for the {{network.name}} network IP
- value:
- list_join:
- - ''
- - - {get_param: [IPPool, {get_param: {{network.name}}NetName}, {get_param: NodeIndex}]}
- - '/'
- - {str_split: ['/', {get_param: {{network.name}}NetCidr}, 1]}
-
+{% include 'port_from_pool.j2' %}
diff --git a/network/ports/port_from_pool_v6.network.j2.yaml b/network/ports/port_from_pool_v6.network.j2.yaml
new file mode 100644
index 00000000..689e1ad0
--- /dev/null
+++ b/network/ports/port_from_pool_v6.network.j2.yaml
@@ -0,0 +1,2 @@
+{% set ipv6_override = true -%}
+{% include 'port_from_pool.j2' %}
diff --git a/network/ports/port_v6.network.j2.yaml b/network/ports/port_v6.network.j2.yaml
new file mode 100644
index 00000000..59709bde
--- /dev/null
+++ b/network/ports/port_v6.network.j2.yaml
@@ -0,0 +1,2 @@
+{% set ipv6_override = true -%}
+{% include 'port.j2' %}
diff --git a/network/ports/storage.yaml b/network/ports/storage.yaml
deleted file mode 100644
index 13e51ccf..00000000
--- a/network/ports/storage.yaml
+++ /dev/null
@@ -1,56 +0,0 @@
-heat_template_version: pike
-
-description: >
- Creates a port on the storage network.
-
-parameters:
- StorageNetName:
- description: The name of the storage network.
- default: storage
- type: string
- PortName:
- description: Name of the port
- default: ''
- type: string
- ControlPlaneIP: # Here for compatibility with noop.yaml
- description: IP address on the control plane
- default: ''
- type: string
- FixedIPs:
- description: >
- Control the IP allocation for the VIP port. E.g.
- [{'ip_address':'1.2.3.4'}]
- default: []
- type: json
- IPPool: # Here for compatibility with from_pool.yaml
- default: {}
- type: json
- NodeIndex: # Here for compatibility with from_pool.yaml
- default: 0
- type: number
-
-resources:
-
- StoragePort:
- type: OS::Neutron::Port
- properties:
- network: {get_param: StorageNetName}
- name: {get_param: PortName}
- fixed_ips: {get_param: FixedIPs}
- replacement_policy: AUTO
-
-outputs:
- ip_address:
- description: storage network IP
- value: {get_attr: [StoragePort, fixed_ips, 0, ip_address]}
- ip_address_uri:
- description: storage network IP (for compatibility with storage_v6.yaml)
- value: {get_attr: [StoragePort, fixed_ips, 0, ip_address]}
- ip_subnet:
- description: IP/Subnet CIDR for the storage network IP
- value:
- list_join:
- - ''
- - - {get_attr: [StoragePort, fixed_ips, 0, ip_address]}
- - '/'
- - {str_split: ['/', {get_attr: [StoragePort, subnets, 0, cidr]}, 1]}
diff --git a/network/ports/storage_from_pool.yaml b/network/ports/storage_from_pool.yaml
deleted file mode 100644
index 11aa20c7..00000000
--- a/network/ports/storage_from_pool.yaml
+++ /dev/null
@@ -1,46 +0,0 @@
-heat_template_version: pike
-
-description: >
- Returns an IP from a network mapped list of IPs
-
-parameters:
- StorageNetName:
- description: The name of the storage network.
- default: storage
- type: string
- PortName:
- description: Name of the port
- default: ''
- type: string
- ControlPlaneIP: # Here for compatibility with noop.yaml
- description: IP address on the control plane
- default: ''
- type: string
- IPPool:
- default: {}
- description: A network mapped list of IPs
- type: json
- NodeIndex:
- default: 0
- description: Index of the IP to get from Pool
- type: number
- StorageNetCidr:
- default: '172.16.1.0/24'
- description: Cidr for the storage network.
- type: string
-
-outputs:
- ip_address:
- description: storage network IP
- value: {get_param: [IPPool, {get_param: StorageNetName}, {get_param: NodeIndex}]}
- ip_address_uri:
- description: storage network IP (for compatibility with storage_v6.yaml)
- value: {get_param: [IPPool, {get_param: StorageNetName}, {get_param: NodeIndex}]}
- ip_subnet:
- description: IP/Subnet CIDR for the storage network IP
- value:
- list_join:
- - ''
- - - {get_param: [IPPool, {get_param: StorageNetName}, {get_param: NodeIndex}]}
- - '/'
- - {str_split: ['/', {get_param: StorageNetCidr}, 1]}
diff --git a/network/ports/storage_from_pool_v6.yaml b/network/ports/storage_from_pool_v6.yaml
deleted file mode 100644
index 2d2c3055..00000000
--- a/network/ports/storage_from_pool_v6.yaml
+++ /dev/null
@@ -1,52 +0,0 @@
-heat_template_version: pike
-
-description: >
- Returns an IP from a network mapped list of IPs. This version is for IPv6
- addresses. The ip_address_uri output will have brackets for use in URLs.
-
-parameters:
- StorageNetName:
- description: The name of the storage network.
- default: storage
- type: string
- PortName:
- description: Name of the port
- default: ''
- type: string
- ControlPlaneIP: # Here for compatability with noop.yaml
- description: IP address on the control plane
- default: ''
- type: string
- IPPool:
- default: {}
- description: A network mapped list of IPs
- type: json
- NodeIndex:
- default: 0
- description: Index of the IP to get from Pool
- type: number
- StorageNetCidr:
- default: 'fd00:fd00:fd00:3000::/64'
- description: Cidr for the storage network.
- type: string
-
-outputs:
- ip_address:
- description: storage network IP
- value: {get_param: [IPPool, {get_param: StorageNetName}, {get_param: NodeIndex}]}
- ip_address_uri:
- description: storage network IP (for compatibility with storage_v6.yaml)
- value:
- list_join:
- - ''
- - - '['
- - {get_param: [IPPool, {get_param: StorageNetName}, {get_param: NodeIndex}]}
- - ']'
- ip_subnet:
- description: IP/Subnet CIDR for the storage network IP
- value:
- list_join:
- - ''
- - - {get_param: [IPPool, {get_param: StorageNetName}, {get_param: NodeIndex}]}
- - '/'
- - {str_split: ['/', {get_param: StorageNetCidr}, 1]}
diff --git a/network/ports/storage_mgmt.yaml b/network/ports/storage_mgmt.yaml
deleted file mode 100644
index 0940b849..00000000
--- a/network/ports/storage_mgmt.yaml
+++ /dev/null
@@ -1,57 +0,0 @@
-heat_template_version: pike
-
-description: >
- Creates a port on the storage_mgmt API network.
-
-parameters:
- StorageMgmtNetName:
- description: The name of the storage_mgmt network.
- default: storage_mgmt
- type: string
- PortName:
- description: Name of the port
- default: ''
- type: string
- ControlPlaneIP: # Here for compatibility with noop.yaml
- description: IP address on the control plane
- default: ''
- type: string
- FixedIPs:
- description: >
- Control the IP allocation for the VIP port. E.g.
- [{'ip_address':'1.2.3.4'}]
- default: []
- type: json
- IPPool: # Here for compatibility with from_pool.yaml
- default: {}
- type: json
- NodeIndex: # Here for compatibility with from_pool.yaml
- default: 0
- type: number
-
-resources:
-
- StorageMgmtPort:
- type: OS::Neutron::Port
- properties:
- network: {get_param: StorageMgmtNetName}
- name: {get_param: PortName}
- fixed_ips: {get_param: FixedIPs}
- replacement_policy: AUTO
-
-outputs:
- ip_address:
- description: storage_mgmt network IP
- value: {get_attr: [StorageMgmtPort, fixed_ips, 0, ip_address]}
- ip_address_uri:
- description: |
- storage_mgmt network IP (for compatibility with storage_mgmt_v6.yaml)
- value: {get_attr: [StorageMgmtPort, fixed_ips, 0, ip_address]}
- ip_subnet:
- description: IP/Subnet CIDR for the storage_mgmt network IP
- value:
- list_join:
- - ''
- - - {get_attr: [StorageMgmtPort, fixed_ips, 0, ip_address]}
- - '/'
- - {str_split: ['/', {get_attr: [StorageMgmtPort, subnets, 0, cidr]}, 1]}
diff --git a/network/ports/storage_mgmt_from_pool.yaml b/network/ports/storage_mgmt_from_pool.yaml
deleted file mode 100644
index 7efbc5ee..00000000
--- a/network/ports/storage_mgmt_from_pool.yaml
+++ /dev/null
@@ -1,46 +0,0 @@
-heat_template_version: pike
-
-description: >
- Returns an IP from a network mapped list of IPs
-
-parameters:
- StorageMgmtNetName:
- description: The name of the storage_mgmt network.
- default: storage_mgmt
- type: string
- PortName:
- description: Name of the port
- default: ''
- type: string
- ControlPlaneIP: # Here for compatibility with noop.yaml
- description: IP address on the control plane
- default: ''
- type: string
- IPPool:
- default: {}
- description: A network mapped list of IPs
- type: json
- NodeIndex:
- default: 0
- description: Index of the IP to get from Pool
- type: number
- StorageMgmtNetCidr:
- default: '172.16.3.0/24'
- description: Cidr for the storage_mgmt network.
- type: string
-
-outputs:
- ip_address:
- description: storage MGMT network IP
- value: {get_param: [IPPool, {get_param: StorageMgmtNetName}, {get_param: NodeIndex}]}
- ip_address_uri:
- description: storage MGMT network IP (for compatibility with storage_mgmt_v6.yaml)
- value: {get_param: [IPPool, {get_param: StorageMgmtNetName}, {get_param: NodeIndex}]}
- ip_subnet:
- description: IP/Subnet CIDR for the storage MGMT network IP
- value:
- list_join:
- - ''
- - - {get_param: [IPPool, {get_param: StorageMgmtNetName}, {get_param: NodeIndex}]}
- - '/'
- - {str_split: ['/', {get_param: StorageMgmtNetCidr}, 1]}
diff --git a/network/ports/storage_mgmt_from_pool_v6.yaml b/network/ports/storage_mgmt_from_pool_v6.yaml
deleted file mode 100644
index 07998aba..00000000
--- a/network/ports/storage_mgmt_from_pool_v6.yaml
+++ /dev/null
@@ -1,52 +0,0 @@
-heat_template_version: pike
-
-description: >
- Returns an IP from a network mapped list of IPs This version is for IPv6
- addresses. The ip_address_uri output will have brackets for use in URLs.
-
-parameters:
- StorageMgmtNetName:
- description: The name of the storage_mgmt network.
- default: storage_mgmt
- type: string
- PortName:
- description: Name of the port
- default: ''
- type: string
- ControlPlaneIP: # Here for compatability with noop.yaml
- description: IP address on the control plane
- default: ''
- type: string
- IPPool:
- default: {}
- description: A network mapped list of IPs
- type: json
- NodeIndex:
- default: 0
- description: Index of the IP to get from Pool
- type: number
- StorageMgmtNetCidr:
- default: 'fd00:fd00:fd00:4000::/64'
- description: Cidr for the storage_mgmt network.
- type: string
-
-outputs:
- ip_address:
- description: storage MGMT network IP
- value: {get_param: [IPPool, {get_param: StorageMgmtNetName}, {get_param: NodeIndex}]}
- ip_address_uri:
- description: storage MGMT network IP (for compatibility with storage_mgmt_v6.yaml)
- value:
- list_join:
- - ''
- - - '['
- - {get_param: [IPPool, {get_param: StorageMgmtNetName}, {get_param: NodeIndex}]}
- - ']'
- ip_subnet:
- description: IP/Subnet CIDR for the storage MGMT network IP
- value:
- list_join:
- - ''
- - - {get_param: [IPPool, {get_param: StorageMgmtNetName}, {get_param: NodeIndex}]}
- - '/'
- - {str_split: ['/', {get_param: StorageMgmtNetCidr}, 1]}
diff --git a/network/ports/storage_mgmt_v6.yaml b/network/ports/storage_mgmt_v6.yaml
deleted file mode 100644
index 399590c1..00000000
--- a/network/ports/storage_mgmt_v6.yaml
+++ /dev/null
@@ -1,61 +0,0 @@
-heat_template_version: pike
-
-description: >
- Creates a port on the storage_mgmt API network.
-
-parameters:
- StorageMgmtNetName:
- description: The name of the storage_mgmt network.
- default: storage_mgmt
- type: string
- PortName:
- description: Name of the port
- default: ''
- type: string
- ControlPlaneIP: # Here for compatability with noop.yaml
- description: IP address on the control plane
- default: ''
- type: string
- FixedIPs:
- description: >
- Control the IP allocation for the VIP port. E.g.
- [{'ip_address':'1.2.3.4'}]
- default: []
- type: json
- IPPool: # Here for compatibility with from_pool.yaml
- default: {}
- type: json
- NodeIndex: # Here for compatibility with from_pool.yaml
- default: 0
- type: number
-
-resources:
-
- StorageMgmtPort:
- type: OS::Neutron::Port
- properties:
- network: {get_param: StorageMgmtNetName}
- name: {get_param: PortName}
- fixed_ips: {get_param: FixedIPs}
- replacement_policy: AUTO
-
-outputs:
- ip_address:
- description: storage_mgmt network IP
- value: {get_attr: [StorageMgmtPort, fixed_ips, 0, ip_address]}
- ip_address_uri:
- description: storage_mgmt network IP with brackets suitable for a URI
- value:
- list_join:
- - ''
- - - '['
- - {get_attr: [StorageMgmtPort, fixed_ips, 0, ip_address]}
- - ']'
- ip_subnet:
- description: IP/Subnet CIDR for the storage_mgmt network IP
- value:
- list_join:
- - ''
- - - {get_attr: [StorageMgmtPort, fixed_ips, 0, ip_address]}
- - '/'
- - {str_split: ['/', {get_attr: [StorageMgmtPort, subnets, 0, cidr]}, 1]}
diff --git a/network/ports/storage_v6.yaml b/network/ports/storage_v6.yaml
deleted file mode 100644
index c7d47c54..00000000
--- a/network/ports/storage_v6.yaml
+++ /dev/null
@@ -1,61 +0,0 @@
-heat_template_version: pike
-
-description: >
- Creates a port on the storage network.
-
-parameters:
- StorageNetName:
- description: The name of the storage network.
- default: storage
- type: string
- PortName:
- description: Name of the port
- default: ''
- type: string
- ControlPlaneIP: # Here for compatability with noop.yaml
- description: IP address on the control plane
- default: ''
- type: string
- FixedIPs:
- description: >
- Control the IP allocation for the VIP port. E.g.
- [{'ip_address':'1.2.3.4'}]
- default: []
- type: json
- IPPool: # Here for compatibility with from_pool.yaml
- default: {}
- type: json
- NodeIndex: # Here for compatibility with from_pool.yaml
- default: 0
- type: number
-
-resources:
-
- StoragePort:
- type: OS::Neutron::Port
- properties:
- network: {get_param: StorageNetName}
- name: {get_param: PortName}
- fixed_ips: {get_param: FixedIPs}
- replacement_policy: AUTO
-
-outputs:
- ip_address:
- description: storage network IP
- value: {get_attr: [StoragePort, fixed_ips, 0, ip_address]}
- ip_address_uri:
- description: storage network IP with brackets suitable for a URL
- value:
- list_join:
- - ''
- - - '['
- - {get_attr: [StoragePort, fixed_ips, 0, ip_address]}
- - ']'
- ip_subnet:
- description: IP/Subnet CIDR for the storage network IP
- value:
- list_join:
- - ''
- - - {get_attr: [StoragePort, fixed_ips, 0, ip_address]}
- - '/'
- - {str_split: ['/', {get_attr: [StoragePort, subnets, 0, cidr]}, 1]}
diff --git a/network/ports/tenant.yaml b/network/ports/tenant.yaml
deleted file mode 100644
index 6c5eee38..00000000
--- a/network/ports/tenant.yaml
+++ /dev/null
@@ -1,56 +0,0 @@
-heat_template_version: pike
-
-description: >
- Creates a port on the tenant network.
-
-parameters:
- TenantNetName:
- description: The name of the tenant network.
- default: tenant
- type: string
- PortName:
- description: Name of the port
- default: ''
- type: string
- ControlPlaneIP: # Here for compatibility with noop.yaml
- description: IP address on the control plane
- default: ''
- type: string
- FixedIPs:
- description: >
- Control the IP allocation for the VIP port. E.g.
- [{'ip_address':'1.2.3.4'}]
- default: []
- type: json
- IPPool: # Here for compatibility with from_pool.yaml
- default: {}
- type: json
- NodeIndex: # Here for compatibility with from_pool.yaml
- default: 0
- type: number
-
-resources:
-
- TenantPort:
- type: OS::Neutron::Port
- properties:
- network: {get_param: TenantNetName}
- name: {get_param: PortName}
- fixed_ips: {get_param: FixedIPs}
- replacement_policy: AUTO
-
-outputs:
- ip_address:
- description: tenant network IP
- value: {get_attr: [TenantPort, fixed_ips, 0, ip_address]}
- ip_address_uri:
- description: tenant network IP (for compatibility with tenant_v6.yaml)
- value: {get_attr: [TenantPort, fixed_ips, 0, ip_address]}
- ip_subnet:
- description: IP/Subnet CIDR for the tenant network IP
- value:
- list_join:
- - ''
- - - {get_attr: [TenantPort, fixed_ips, 0, ip_address]}
- - '/'
- - {str_split: ['/', {get_attr: [TenantPort, subnets, 0, cidr]}, 1]}
diff --git a/network/ports/tenant_from_pool.yaml b/network/ports/tenant_from_pool.yaml
deleted file mode 100644
index 94c419df..00000000
--- a/network/ports/tenant_from_pool.yaml
+++ /dev/null
@@ -1,46 +0,0 @@
-heat_template_version: pike
-
-description: >
- Returns an IP from a network mapped list of IPs
-
-parameters:
- TenantNetName:
- description: The name of the tenant network.
- default: tenant
- type: string
- PortName:
- description: Name of the port
- default: ''
- type: string
- ControlPlaneIP: # Here for compatibility with noop.yaml
- description: IP address on the control plane
- default: ''
- type: string
- IPPool:
- default: {}
- description: A network mapped list of IPs
- type: json
- NodeIndex:
- default: 0
- description: Index of the IP to get from Pool
- type: number
- TenantNetCidr:
- default: '172.16.0.0/24'
- description: Cidr for the tenant network.
- type: string
-
-outputs:
- ip_address:
- description: tenant network IP
- value: {get_param: [IPPool, {get_param: TenantNetName}, {get_param: NodeIndex}]}
- ip_address_uri:
- description: tenant network IP (for compatibility with tenant_v6.yaml)
- value: {get_param: [IPPool, {get_param: TenantNetName}, {get_param: NodeIndex}]}
- ip_subnet:
- description: IP/Subnet CIDR for the tenant network IP
- value:
- list_join:
- - ''
- - - {get_param: [IPPool, {get_param: TenantNetName}, {get_param: NodeIndex}]}
- - '/'
- - {str_split: ['/', {get_param: TenantNetCidr}, 1]}
diff --git a/network/ports/tenant_from_pool_v6.yaml b/network/ports/tenant_from_pool_v6.yaml
deleted file mode 100644
index cc2b619a..00000000
--- a/network/ports/tenant_from_pool_v6.yaml
+++ /dev/null
@@ -1,51 +0,0 @@
-heat_template_version: pike
-
-description: >
- Returns an IP from a network mapped list of IPs
-
-parameters:
- TenantNetName:
- description: The name of the tenant network.
- default: tenant
- type: string
- PortName:
- description: Name of the port
- default: ''
- type: string
- ControlPlaneIP: # Here for compatability with noop.yaml
- description: IP address on the control plane
- default: ''
- type: string
- IPPool:
- default: {}
- description: A network mapped list of IPs
- type: json
- NodeIndex:
- default: 0
- description: Index of the IP to get from Pool
- type: number
- TenantNetCidr:
- default: 'fd00:fd00:fd00:5000::/64'
- description: Cidr for the tenant network.
- type: string
-
-outputs:
- ip_address:
- description: tenant network IP
- value: {get_param: [IPPool, {get_param: TenantNetName}, {get_param: NodeIndex}]}
- ip_address_uri:
- description: tenant network IP (for compatibility with tenant_v6.yaml)
- value:
- list_join:
- - ''
- - - '['
- - {get_param: [IPPool, {get_param: ExternalNetName}, {get_param: NodeIndex}]}
- - ']'
- ip_subnet:
- description: IP/Subnet CIDR for the tenant network IP
- value:
- list_join:
- - ''
- - - {get_param: [IPPool, {get_param: TenantNetName}, {get_param: NodeIndex}]}
- - '/'
- - {str_split: ['/', {get_param: TenantNetCidr}, 1]}
diff --git a/network/ports/tenant_v6.yaml b/network/ports/tenant_v6.yaml
deleted file mode 100644
index 47d52d8a..00000000
--- a/network/ports/tenant_v6.yaml
+++ /dev/null
@@ -1,61 +0,0 @@
-heat_template_version: pike
-
-description: >
- Creates a port on the tenant network.
-
-parameters:
- TenantNetName:
- description: The name of the tenant network.
- default: tenant
- type: string
- PortName:
- description: Name of the port
- default: ''
- type: string
- ControlPlaneIP: # Here for compatability with noop.yaml
- description: IP address on the control plane
- default: ''
- type: string
- FixedIPs:
- description: >
- Control the IP allocation for the VIP port. E.g.
- [{'ip_address':'1.2.3.4'}]
- default: []
- type: json
- IPPool: # Here for compatibility with from_pool.yaml
- default: {}
- type: json
- NodeIndex: # Here for compatibility with from_pool.yaml
- default: 0
- type: number
-
-resources:
-
- TenantPort:
- type: OS::Neutron::Port
- properties:
- network: {get_param: TenantNetName}
- name: {get_param: PortName}
- fixed_ips: {get_param: FixedIPs}
- replacement_policy: AUTO
-
-outputs:
- ip_address:
- description: tenant network IP
- value: {get_attr: [TenantPort, fixed_ips, 0, ip_address]}
- ip_address_uri:
- description: tenant network IP with brackets suitable for a URL
- value:
- list_join:
- - ''
- - - '['
- - {get_attr: [TenantPort, fixed_ips, 0, ip_address]}
- - ']'
- ip_subnet:
- description: IP/Subnet CIDR for the tenant network IP
- value:
- list_join:
- - ''
- - - {get_attr: [TenantPort, fixed_ips, 0, ip_address]}
- - '/'
- - {str_split: ['/', {get_attr: [TenantPort, subnets, 0, cidr]}, 1]}
diff --git a/puppet/services/docker.yaml b/puppet/services/docker.yaml
index d11ef66a..2cda08eb 100644
--- a/puppet/services/docker.yaml
+++ b/puppet/services/docker.yaml
@@ -7,8 +7,9 @@ parameters:
DockerInsecureRegistryAddress:
description: Optional. The IP Address and Port of an insecure docker
namespace that will be configured in /etc/sysconfig/docker.
- type: string
- default: ''
+ The value can be multiple addresses separated by commas.
+ type: comma_delimited_list
+ default: []
EndpointMap:
default: {}
description: Mapping of service endpoint -> protocol. Typically set
@@ -37,7 +38,7 @@ parameters:
type: json
conditions:
- insecure_registry_is_empty: {equals : [{get_param: DockerInsecureRegistryAddress}, '']}
+ insecure_registry_is_empty: {equals : [{get_param: DockerInsecureRegistryAddress}, []]}
outputs:
role_data:
@@ -48,11 +49,10 @@ outputs:
if:
- insecure_registry_is_empty
- {}
- - tripleo::profile::base::docker::insecure_registry_address: {get_param: DockerInsecureRegistryAddress}
+ - tripleo::profile::base::docker::insecure_registries: {get_param: DockerInsecureRegistryAddress}
step_config: |
include ::tripleo::profile::base::docker
upgrade_tasks:
- name: Install docker packages on upgrade if missing
tags: step3
yum: name=docker state=latest
-
diff --git a/puppet/services/nova-libvirt.yaml b/puppet/services/nova-libvirt.yaml
index df9e88fb..3f37cd94 100644
--- a/puppet/services/nova-libvirt.yaml
+++ b/puppet/services/nova-libvirt.yaml
@@ -170,6 +170,8 @@ outputs:
-
generate_service_certificates: true
tripleo::profile::base::nova::migration::client::libvirt_tls: true
+ nova::migration::libvirt::listen_address:
+ get_param: [ServiceNetMap, NovaLibvirtNetwork]
nova::migration::libvirt::live_migration_inbound_addr:
str_replace:
template:
diff --git a/puppet/services/zaqar.yaml b/puppet/services/zaqar-api.yaml
index 4a1ad179..82d105ef 100644
--- a/puppet/services/zaqar.yaml
+++ b/puppet/services/zaqar-api.yaml
@@ -87,9 +87,9 @@ resources:
outputs:
role_data:
- description: Shared role data for the Heat services.
+ description: Shared role data for the Zaqar services.
value:
- service_name: zaqar
+ service_name: zaqar_api
config_settings:
map_merge:
- get_attr: [ApacheServiceBase, role_data, config_settings]
diff --git a/releasenotes/notes/Change-zaqar-profile-path-7b00c68c0812fb3d.yaml b/releasenotes/notes/Change-zaqar-profile-path-7b00c68c0812fb3d.yaml
new file mode 100644
index 00000000..52db34b6
--- /dev/null
+++ b/releasenotes/notes/Change-zaqar-profile-path-7b00c68c0812fb3d.yaml
@@ -0,0 +1,6 @@
+---
+upgrade:
+ - |
+ The path to the zaqar profile has changed from puppet/services/zaqar.yaml to
+ puppet/services/zaqar-api.yaml. Make sure to update any references to this
+ in the resource registry.
diff --git a/roles/Controller.yaml b/roles/Controller.yaml
index 93a58df7..56f54f54 100644
--- a/roles/Controller.yaml
+++ b/roles/Controller.yaml
@@ -34,6 +34,8 @@
- OS::TripleO::Services::CeilometerAgentNotification
# FIXME: This service was disabled in Pike and this entry should be removed
# in Queens.
+ - OS::TripleO::Services::CeilometerApi
+ - OS::TripleO::Services::CeilometerCollector
- OS::TripleO::Services::CeilometerExpirer
- OS::TripleO::Services::CephExternal
- OS::TripleO::Services::CephMds
diff --git a/roles/ControllerOpenstack.yaml b/roles/ControllerOpenstack.yaml
index fdbec599..2cfc0cb9 100644
--- a/roles/ControllerOpenstack.yaml
+++ b/roles/ControllerOpenstack.yaml
@@ -27,6 +27,7 @@
- OS::TripleO::Services::CeilometerAgentCentral
- OS::TripleO::Services::CeilometerAgentNotification
- OS::TripleO::Services::CeilometerApi
+ - OS::TripleO::Services::CeilometerCollector
- OS::TripleO::Services::CeilometerExpirer
- OS::TripleO::Services::CephExternal
- OS::TripleO::Services::CephMds
diff --git a/roles/Telemetry.yaml b/roles/Telemetry.yaml
index 7bc93a40..1dbb887f 100644
--- a/roles/Telemetry.yaml
+++ b/roles/Telemetry.yaml
@@ -16,6 +16,7 @@
- OS::TripleO::Services::CeilometerAgentCentral
- OS::TripleO::Services::CeilometerAgentNotification
- OS::TripleO::Services::CeilometerApi
+ - OS::TrieplO::Services::CeilometerCollector
- OS::TripleO::Services::CeilometerExpirer
- OS::TripleO::Services::CertmongerUser
- OS::TripleO::Services::GnocchiApi
diff --git a/roles_data.yaml b/roles_data.yaml
index 7799fdae..313fcaa9 100644
--- a/roles_data.yaml
+++ b/roles_data.yaml
@@ -37,6 +37,8 @@
- OS::TripleO::Services::CeilometerAgentNotification
# FIXME: This service was disabled in Pike and this entry should be removed
# in Queens.
+ - OS::TripleO::Services::CeilometerApi
+ - OS::TripleO::Services::CeilometerCollector
- OS::TripleO::Services::CeilometerExpirer
- OS::TripleO::Services::CephExternal
- OS::TripleO::Services::CephMds