blob: 610c58bf5b280b26a0189c852b9baa5862ad6a0f [file] [log] [blame]
{#
Copyright 2017-present Open Networking Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
#}
tosca_definitions_version: tosca_simple_yaml_1_0
imports:
- custom_types/addresspool.yaml
- custom_types/addressmanagerservice.yaml
- custom_types/addressmanagerserviceinstance.yaml
- custom_types/network.yaml
- custom_types/networktemplate.yaml
- custom_types/serviceinstance.yaml
- custom_types/serviceinstancelink.yaml
- custom_types/site.yaml
- custom_types/slice.yaml
description: public network config, generated by platform-install
topology_template:
node_templates:
# site, fully created in deployment.yaml
{{ site_name }}:
type: tosca.nodes.Site
properties:
name: {{ site_name }}
must-exist: true
# Address Manager service, fully created in cord-service.yaml
service#addressmanager:
type: tosca.nodes.AddressManagerService
properties:
name: addressmanager
must-exist: true
# public network
public_template:
type: tosca.nodes.NetworkTemplate
properties:
name: public_template
visibility: public
translation: none
vtn_kind: PUBLIC
public:
type: tosca.nodes.Network
properties:
name: public
permit_all_slices: true
subnet: 10.8.1.0/24 # NOTE same as AddressPool#addresses_public
# ip_version: 4
requirements:
- template:
node: public_template
relationship: tosca.relationships.BelongsToOne
- owner:
node: {{ site_name }}_public
relationship: tosca.relationships.BelongsToOne
# Created in cord-services.yaml.j2
addresses_public:
type: tosca.nodes.AddressPool
properties:
name: addresses_public
must-exist: true
AddressManagerServiceInstancePublicNetwork:
type: tosca.nodes.AddressManagerServiceInstance
requirements:
- owner:
node: service#addressmanager
relationship: tosca.relationships.BelongsToOne
- address_pool:
node: addresses_public
relationship: tosca.relationships.BelongsToOne
properties:
name: AM_public_net
public_to_address_manager:
type: tosca.nodes.ServiceInstanceLink
requirements:
- provider_service_instance:
node: AddressManagerServiceInstancePublicNetwork
relationship: tosca.relationships.BelongsToOne
- subscriber_network:
node: public
relationship: tosca.relationships.BelongsToOne
{{ site_name }}_public:
description: This slice exists solely to own the public network
type: tosca.nodes.Slice
properties:
network: noauto
name: {{ site_name }}_public
requirements:
- site:
node: {{ site_name }}
relationship: tosca.relationships.BelongsToOne