diff options
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 |