Merge "Obsolete Legacy APIs excluding VIM feature"
This commit is contained in:
commit
8a80f7d2bf
52
.zuul.yaml
52
.zuul.yaml
@ -63,10 +63,10 @@
|
||||
- compute1
|
||||
|
||||
- job:
|
||||
name: tacker-functional-devstack-multinode-legacy
|
||||
name: tacker-functional-devstack-multinode-sol
|
||||
parent: devstack
|
||||
description: |
|
||||
Base multinodes job for devstack-based functional tests
|
||||
Multinodes job for SOL devstack-based functional tests
|
||||
nodeset: openstack-4-nodes-jammy
|
||||
pre-run: playbooks/devstack/pre.yaml
|
||||
run: playbooks/devstack/run.yaml
|
||||
@ -82,18 +82,14 @@
|
||||
- openstack/nova
|
||||
- openstack/placement
|
||||
- openstack/aodh
|
||||
- openstack/blazar
|
||||
- openstack/blazar-nova
|
||||
- openstack/horizon
|
||||
- openstack/barbican
|
||||
- openstack/heat
|
||||
- openstack/networking-sfc
|
||||
- openstack/python-barbicanclient
|
||||
- openstack/python-blazarclient
|
||||
- openstack/python-tackerclient
|
||||
- openstack/tacker
|
||||
- openstack/tacker-horizon
|
||||
- x/fenix
|
||||
vars:
|
||||
devstack_localrc:
|
||||
CELLSV2_SETUP: singleconductor
|
||||
@ -135,8 +131,6 @@
|
||||
networking-sfc: https://opendev.org/openstack/networking-sfc
|
||||
aodh: https://opendev.org/openstack/aodh
|
||||
barbican: https://opendev.org/openstack/barbican
|
||||
blazar: https://opendev.org/openstack/blazar
|
||||
fenix: https://opendev.org/x/fenix
|
||||
devstack_services:
|
||||
# Core services enabled for this branch.
|
||||
# This list replaces the test-matrix.
|
||||
@ -194,7 +188,7 @@
|
||||
# Tacker services
|
||||
tacker: true
|
||||
tacker-conductor: true
|
||||
tox_envlist: dsvm-functional-legacy
|
||||
tox_envlist: dsvm-functional-sol
|
||||
group-vars:
|
||||
compute:
|
||||
# Since a VirtualInterfaceCreateException occurs during a test,
|
||||
@ -218,15 +212,6 @@
|
||||
TACKER_HOST: "{{ hostvars['controller-tacker']['nodepool']['private_ipv4'] }}"
|
||||
TACKER_MODE: standalone
|
||||
IS_ZUUL_FT: True
|
||||
# NOTES:
|
||||
# - Without this ugly inline template, we would have to overwrite devstack_localrc
|
||||
# as a whole in some way. However keeping up with parent jobs' definitions would
|
||||
# be too costly. E.g., ADMIN_PASSWORD, NETWORK_GATEWAY, etc. Too many variables.
|
||||
# - The reason we set CEILOMETER_BACKEND=none for compute nodes is that otherwise
|
||||
# gnocchi setup would run on every compute nodes (esp. multiple asynchronous calls
|
||||
# of recreate_database() would be disastrous). Unused api servers would also be
|
||||
# deployed on each compute node.
|
||||
CEILOMETER_BACKEND: "{% if 'compute' in group_names %}none{% else %}gnocchi{% endif %}"
|
||||
Q_SERVICE_PLUGIN_CLASSES: "qos,\
|
||||
networking_sfc.services.flowclassifier.plugin.FlowClassifierPlugin,\
|
||||
neutron.services.qos.qos_plugin.QoSPlugin,\
|
||||
@ -246,15 +231,6 @@
|
||||
# Neutron services
|
||||
q-ovn-metadata-agent: true
|
||||
|
||||
- job:
|
||||
name: tacker-functional-devstack-multinode-sol
|
||||
parent: tacker-functional-devstack-multinode-legacy
|
||||
description: |
|
||||
Multinodes job for SOL devstack-based functional tests
|
||||
host-vars:
|
||||
controller-tacker:
|
||||
tox_envlist: dsvm-functional-sol
|
||||
|
||||
- job:
|
||||
name: tacker-functional-devstack-multinode-sol-v2
|
||||
parent: tacker-functional-devstack-multinode-sol
|
||||
@ -369,7 +345,6 @@
|
||||
- openstack/octavia
|
||||
- openstack/placement
|
||||
- openstack/python-barbicanclient
|
||||
- openstack/python-blazarclient
|
||||
- openstack/python-octaviaclient
|
||||
- openstack/python-tackerclient
|
||||
- openstack/tacker
|
||||
@ -561,15 +536,6 @@
|
||||
vars:
|
||||
setup_multi_tenant: true
|
||||
|
||||
- job:
|
||||
name: tacker-functional-devstack-multinode-libs-master
|
||||
parent: tacker-functional-devstack-multinode-legacy
|
||||
description: |
|
||||
devstack-based functional tests with libs from the master branch
|
||||
required-projects:
|
||||
- openstack/heat-translator
|
||||
- openstack/tosca-parser
|
||||
|
||||
- job:
|
||||
name: tacker-functional-devstack-multinode-sol-kubernetes-v2
|
||||
parent: tacker-functional-devstack-multinode-sol-kubernetes
|
||||
@ -721,7 +687,7 @@
|
||||
|
||||
- job:
|
||||
name: tacker-functional-devstack-enhanced-policy-sol
|
||||
parent: tacker-functional-devstack-multinode-legacy
|
||||
parent: tacker-functional-devstack-multinode-sol
|
||||
description: |
|
||||
Enhanced policy job for SOL devstack-based functional tests
|
||||
host-vars:
|
||||
@ -753,7 +719,7 @@
|
||||
|
||||
- job:
|
||||
name: tacker-functional-devstack-multinode-sol-terraform-v2
|
||||
parent: tacker-functional-devstack-multinode-legacy
|
||||
parent: tacker-functional-devstack-multinode-sol
|
||||
description: |
|
||||
Multinodes job for SOL Terraform devstack-based functional tests
|
||||
attempts: 1
|
||||
@ -770,7 +736,7 @@
|
||||
|
||||
- job:
|
||||
name: tacker-compliance-devstack-multinode-sol
|
||||
parent: tacker-functional-devstack-multinode-legacy
|
||||
parent: tacker-functional-devstack-multinode-sol
|
||||
description: |
|
||||
Multinodes job for SOL devstack-based compliance tests
|
||||
host-vars:
|
||||
@ -787,15 +753,9 @@
|
||||
- release-notes-jobs-python3
|
||||
check:
|
||||
jobs:
|
||||
- tacker-functional-devstack-multinode-legacy:
|
||||
# TODO(ueha): Remove the job after Legacy APIs obsolete
|
||||
voting: false
|
||||
- tacker-functional-devstack-multinode-sol
|
||||
- tacker-functional-devstack-multinode-sol-separated-nfvo
|
||||
- tacker-functional-devstack-multinode-sol-kubernetes
|
||||
- tacker-functional-devstack-multinode-libs-master:
|
||||
# TODO(ueha): Remove the job after Legacy APIs obsolete
|
||||
voting: false
|
||||
- tacker-functional-devstack-multinode-sol-v2
|
||||
- tacker-functional-devstack-multinode-sol-separated-nfvo-v2
|
||||
- tacker-functional-devstack-multinode-sol-v2-individual-vnfc-mgmt
|
||||
|
@ -1,53 +0,0 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# 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.
|
||||
|
||||
echo "Deleting network service NS1, NS2"
|
||||
for ns in NS1 NS2; do
|
||||
network_service_id=$(openstack ns list | grep $ns | awk '{print $2}')
|
||||
if [ -n "$network_service_id" ]; then
|
||||
openstack ns delete $network_service_id
|
||||
fi
|
||||
done
|
||||
|
||||
sleep 5
|
||||
|
||||
echo "Deleting network service descriptor NSD-template"
|
||||
nsd_id=$(openstack ns descriptor list | grep NSD-template | awk '{print $2}')
|
||||
if [ -n "$nsd_id" ]; then
|
||||
openstack ns descriptor delete $nsd_id
|
||||
fi
|
||||
|
||||
echo "Deleting vnf descriptors"
|
||||
for vnfd_name in sample-tosca-vnfd1 sample-tosca-vnfd2 sample-vnfd1 sample-vnfd2; do
|
||||
vnfd_id=$(openstack vnf descriptor list | grep $vnfd_name | awk '{print $2}')
|
||||
if [ -n "$vnfd_id" ]; then
|
||||
openstack vnf descriptor delete $vnfd_id
|
||||
fi
|
||||
done
|
||||
|
||||
echo "Deleting http_client and http_server"
|
||||
for server_name in http_client http_server; do
|
||||
server_id=$(openstack server list | grep $server_name | awk '{print $2}')
|
||||
if [ -n "$server_id" ]; then
|
||||
openstack server delete $server_id
|
||||
fi
|
||||
done
|
||||
|
||||
sleep 10
|
||||
|
||||
echo "Deleting VIM0"
|
||||
vim_id=$(openstack vim list | grep VIM0 | awk '{print $2}')
|
||||
if [ -n "$vim_id" ]; then
|
||||
openstack vim delete $vim_id
|
||||
fi
|
@ -1,60 +0,0 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# 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.
|
||||
|
||||
network_name='net0'
|
||||
network_id=$(openstack network list | grep $network_name | awk '{print $2}')
|
||||
if [ -z "$network_id" ]; then
|
||||
echo "Creating network net0"
|
||||
openstack network create $network_name --provider-network-type=vxlan --provider-segment 1005
|
||||
openstack subnet create --network $network_name --subnet-range 10.0.10.0/24 subnet-test
|
||||
network_id=$(openstack network list | grep $network_name | awk '{print $2}')
|
||||
fi
|
||||
|
||||
echo "Creating HTTP client"
|
||||
openstack server create --flavor m1.tiny --image cirros-0.5.2-x86_64-disk --nic net-id=$network_id http_client
|
||||
echo "Creating HTTP server"
|
||||
openstack server create --flavor m1.tiny --image cirros-0.5.2-x86_64-disk --nic net-id=$network_id http_server
|
||||
|
||||
sleep 15
|
||||
|
||||
client_ip=$(openstack server list | grep http_client | grep -Eo '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+')
|
||||
network_source_port_id=$(openstack port list | grep $client_ip | awk '{print $2}')
|
||||
ip_dst=$(openstack server list | grep http_server | grep -Eo '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+')
|
||||
network_dest_port_id=$(openstack port list | grep $ip_dst | awk '{print $2}')
|
||||
|
||||
echo "Creating/ Updating ns_param.yaml file"
|
||||
cat > ../../samples/tosca-templates/vnffg-nsd/ns_param.yaml << EOL
|
||||
nsd:
|
||||
vl1_name: net_mgmt
|
||||
vl2_name: net0
|
||||
net_src_port_id: ${network_source_port_id}
|
||||
ip_dest_prefix: ${ip_dst}/24
|
||||
net_dst_port_id: ${network_dest_port_id}
|
||||
EOL
|
||||
|
||||
vim_default=$(openstack vim list | grep openstack | awk '{print $10}')
|
||||
if [ "$vim_default" != "True" ]; then
|
||||
echo "Creating default VIM"
|
||||
cat > ./vim_config.yaml << EOL
|
||||
auth_url: $OS_AUTH_URL
|
||||
username: $OS_USERNAME
|
||||
password: $OS_PASSWORD
|
||||
project_name: $OS_PROJECT_NAME
|
||||
project_domain_name: $OS_PROJECT_DOMAIN_ID
|
||||
user_domain_name: $OS_USER_DOMAIN_ID
|
||||
EOL
|
||||
openstack vim register --config-file vim_config.yaml --is-default VIM0
|
||||
rm ./vim_config.yaml
|
||||
fi
|
||||
|
@ -1,56 +0,0 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# 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.
|
||||
|
||||
echo "Deleting VNF forwarding graph VNFFG1"
|
||||
for vnffg in VNFFG1; do
|
||||
vnffg_id=$(openstack vnf graph list | grep $vnffg | awk '{print $2}')
|
||||
if [ -n "$vnffg_id" ]; then
|
||||
openstack vnf graph delete $vnffg_id
|
||||
fi
|
||||
done
|
||||
|
||||
sleep 5
|
||||
|
||||
echo "Deleting VNFs"
|
||||
for vnf_name in VNF1 VNF2; do
|
||||
vnf_id=$(openstack vnf list | grep $vnf_name | awk '{print $2}')
|
||||
if [ -n "$vnf_id" ]; then
|
||||
openstack vnf delete $vnf_id
|
||||
fi
|
||||
done
|
||||
|
||||
echo "Deleting VNF descriptors"
|
||||
for vnfd_name in VNFD1 VNFD2; do
|
||||
vnfd_id=$(openstack vnf descriptor list | grep $vnfd_name | awk '{print $2}')
|
||||
if [ -n "$vnfd_id" ]; then
|
||||
openstack vnf descriptor delete $vnfd_id
|
||||
fi
|
||||
done
|
||||
|
||||
echo "Deleting http_client and http_server"
|
||||
for server_name in http_client http_server; do
|
||||
server_id=$(openstack server list | grep $server_name | awk '{print $2}')
|
||||
if [ -n "$server_id" ]; then
|
||||
openstack server delete $server_id
|
||||
fi
|
||||
done
|
||||
|
||||
sleep 5
|
||||
|
||||
echo "Deleting VIM0"
|
||||
vim_id=$(openstack vim list | grep VIM0 | awk '{print $2}')
|
||||
if [ -n "$vim_id" ]; then
|
||||
openstack vim delete $vim_id
|
||||
fi
|
||||
|
@ -1,64 +0,0 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# 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.
|
||||
|
||||
network_name='net0'
|
||||
network_id=$(openstack network list | grep $network_name | awk '{print $2}')
|
||||
if [ -z "$network_id" ]; then
|
||||
echo "Creating network net0"
|
||||
openstack network create $network_name --provider-network-type=vxlan --provider-segment 1005
|
||||
openstack subnet create --network $network_name --subnet-range 10.0.10.0/24 subnet-test
|
||||
network_id=$(openstack network list | grep $network_name | awk '{print $2}')
|
||||
fi
|
||||
|
||||
echo "Creating HTTP client"
|
||||
openstack server create --flavor m1.tiny --image cirros-0.5.2-x86_64-disk --nic net-id=$network_id http_client
|
||||
echo "Creating HTTP server"
|
||||
openstack server create --flavor m1.tiny --image cirros-0.5.2-x86_64-disk --nic net-id=$network_id http_server
|
||||
|
||||
sleep 15
|
||||
|
||||
ip_src=$(openstack server list | grep http_client | grep -Eo '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+')
|
||||
network_source_port_id=$(openstack port list | grep $ip_src | awk '{print $2}')
|
||||
ip_dst=$(openstack server list | grep http_server | grep -Eo '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+')
|
||||
network_dest_port_id=$(openstack port list | grep $ip_dst | awk '{print $2}')
|
||||
|
||||
echo "Creating/ Updating ns_param.yaml file"
|
||||
cat > ../../samples/tosca-templates/vnffgd/vnffg-param-file.yaml << EOL
|
||||
net_src_port_id: ${network_source_port_id}
|
||||
ip_dst_pre: ${ip_dst}/24
|
||||
net_dst_port_id: ${network_dest_port_id}
|
||||
dst_port_range: 80-80
|
||||
EOL
|
||||
|
||||
vim_default=$(openstack vim list | grep openstack | awk '{print $10}')
|
||||
if [ "$vim_default" != "True" ]; then
|
||||
echo "Creating default VIM"
|
||||
cat > ./vim_config.yaml << EOL
|
||||
auth_url: $OS_AUTH_URL
|
||||
username: $OS_USERNAME
|
||||
password: $OS_PASSWORD
|
||||
project_name: $OS_PROJECT_NAME
|
||||
project_domain_name: $OS_PROJECT_DOMAIN_ID
|
||||
user_domain_name: $OS_USER_DOMAIN_ID
|
||||
EOL
|
||||
openstack vim register --config-file vim_config.yaml --is-default VIM0
|
||||
rm ./vim_config.yaml
|
||||
fi
|
||||
|
||||
echo "Create VNF1 and VNF2"
|
||||
openstack vnf descriptor create --vnfd-file ../../samples/tosca-templates/vnffgd/tosca-vnffg-vnfd1.yaml VNFD1
|
||||
openstack vnf create --vnfd-name VNFD1 --vim-name VIM0 VNF1
|
||||
openstack vnf descriptor create --vnfd-file ../../samples/tosca-templates/vnffgd/tosca-vnffg-vnfd2.yaml VNFD2
|
||||
openstack vnf create --vnfd-name VNFD2 --vim-name VIM0 VNF2
|
||||
|
@ -81,8 +81,6 @@ TACKER_NOVA_URL=${TACKER_NOVA_URL:-http://127.0.0.1:8774/v2}
|
||||
TACKER_NOVA_CA_CERTIFICATES_FILE=${TACKER_NOVA_CA_CERTIFICATES_FILE:-}
|
||||
TACKER_NOVA_API_INSECURE=${TACKER_NOVA_API_INSECURE:-False}
|
||||
|
||||
CEILOMETER_CONF_DIR=/etc/ceilometer
|
||||
|
||||
VNF_PACKAGE_CSAR_PATH=${VNF_PACKAGE_CSAR_PATH:=$TACKER_DATA_DIR/vnfpackage}
|
||||
FILESYSTEM_STORE_DATA_DIR=${FILESYSTEM_STORE_DATA_DIR:=$TACKER_DATA_DIR/csar_files}
|
||||
GLANCE_DEFAULT_BACKEND=${GLANCE_DEFAULT_BACKEND:=file}
|
||||
@ -268,12 +266,6 @@ function configure_tacker {
|
||||
iniset "/$Q_PLUGIN_CONF_FILE" ml2_type_flat flat_networks $PUBLIC_PHYSICAL_NETWORK,$MGMT_PHYS_NET
|
||||
iniset "/$Q_PLUGIN_CONF_FILE" ovs bridge_mappings $PUBLIC_PHYSICAL_NETWORK:$PUBLIC_BRIDGE,$MGMT_PHYS_NET:$BR_MGMT
|
||||
|
||||
# Experimental settings for monitor alarm auth settings,
|
||||
# Will be changed according to new implementation.
|
||||
iniset $TACKER_CONF alarm_auth username admin
|
||||
iniset $TACKER_CONF alarm_auth password "$ADMIN_PASSWORD"
|
||||
iniset $TACKER_CONF alarm_auth project_name admin
|
||||
|
||||
echo "Creating bridge"
|
||||
sudo ovs-vsctl --may-exist add-br ${BR_MGMT}
|
||||
fi
|
||||
@ -365,9 +357,6 @@ function openstack_image_create {
|
||||
function tacker_check_and_download_images {
|
||||
local image_url
|
||||
image_url[0]="http://download.cirros-cloud.net/0.5.2/cirros-0.5.2-x86_64-disk.img"
|
||||
# Customized image of OpenWRT 15.05.1 that can fix the continuously
|
||||
# respawning OpenWRT-based VNFs.
|
||||
image_url[1]="$TACKER_DIR/samples/images/openwrt-x86-kvm_guest-combined-ext4.img.gz"
|
||||
|
||||
local image_fname image_name glance_name
|
||||
local gz_pattern="\.gz$"
|
||||
@ -379,9 +368,6 @@ function tacker_check_and_download_images {
|
||||
do
|
||||
image_fname=`basename "${image_url[$index]}"`
|
||||
glance_name=${image_fname%.*}
|
||||
if [[ $glance_name =~ "openwrt" ]]; then
|
||||
glance_name="OpenWRT"
|
||||
fi
|
||||
image_name=`openstack image list | grep "$glance_name" | awk '{print $4}'`
|
||||
if [[ $image_name == "" ]]; then
|
||||
if [[ ! -f $FILES/$image_fname || "$(stat -c "%s" $FILES/$image_fname)" = "0" ]]; then
|
||||
@ -495,11 +481,3 @@ function tacker_setup_default_vim_resources {
|
||||
--ingress --protocol tcp --dst-port 22 test_secgrp
|
||||
|
||||
}
|
||||
|
||||
function configure_maintenance_event_types {
|
||||
local event_definitions_file=$CEILOMETER_CONF_DIR/event_definitions.yaml
|
||||
local maintenance_events_file=$TACKER_DIR/etc/ceilometer/maintenance_event_types.yaml
|
||||
|
||||
echo "Configure maintenance event types to $event_definitions_file"
|
||||
cat $maintenance_events_file >> $event_definitions_file
|
||||
}
|
||||
|
@ -39,18 +39,9 @@ enable_plugin heat https://opendev.org/openstack/heat master
|
||||
enable_plugin networking-sfc https://opendev.org/openstack/networking-sfc master
|
||||
enable_plugin barbican https://opendev.org/openstack/barbican master
|
||||
|
||||
# Ceilometer
|
||||
#CEILOMETER_PIPELINE_INTERVAL=300
|
||||
CEILOMETER_EVENT_ALARM=True
|
||||
enable_plugin ceilometer https://opendev.org/openstack/ceilometer master
|
||||
# Aodh
|
||||
enable_plugin aodh https://opendev.org/openstack/aodh master
|
||||
|
||||
# Blazar
|
||||
enable_plugin blazar https://github.com/openstack/blazar.git master
|
||||
|
||||
# Fenix
|
||||
enable_plugin fenix https://opendev.org/x/fenix.git master
|
||||
|
||||
# Tacker
|
||||
enable_plugin tacker https://opendev.org/openstack/tacker master
|
||||
|
||||
|
@ -40,17 +40,9 @@ enable_plugin heat https://opendev.org/openstack/heat master
|
||||
enable_plugin networking-sfc https://opendev.org/openstack/networking-sfc master
|
||||
enable_plugin barbican https://opendev.org/openstack/barbican master
|
||||
|
||||
# Ceilometer
|
||||
#CEILOMETER_PIPELINE_INTERVAL=300
|
||||
enable_plugin ceilometer https://opendev.org/openstack/ceilometer master
|
||||
# Aodh
|
||||
enable_plugin aodh https://opendev.org/openstack/aodh master
|
||||
|
||||
# Blazar
|
||||
enable_plugin blazar https://github.com/openstack/blazar.git master
|
||||
|
||||
# Fenix
|
||||
enable_plugin fenix https://opendev.org/x/fenix.git master
|
||||
|
||||
# Tacker
|
||||
enable_plugin tacker https://opendev.org/openstack/tacker master
|
||||
|
||||
|
@ -49,11 +49,6 @@ if is_service_enabled tacker; then
|
||||
tacker_check_and_download_images
|
||||
echo_summary "Setup default VIM resources"
|
||||
tacker_setup_default_vim_resources
|
||||
|
||||
if is_service_enabled ceilometer; then
|
||||
echo_summary "Configure maintenance event types"
|
||||
configure_maintenance_event_types
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 64 KiB |
@ -11,13 +11,9 @@ frame "tacker-server" {
|
||||
}
|
||||
|
||||
frame "tacker-conductor" {
|
||||
component "mgmt-driver" as mgmt {
|
||||
component "mgmt-driver" {
|
||||
'component Noop as noop
|
||||
component OpenWRT as wrt
|
||||
}
|
||||
component "monitor-driver" as monitor {
|
||||
component Ping as ping
|
||||
component Zabbix as zabbix
|
||||
component "Vnflcm Mgmt Driver" as mgmt
|
||||
}
|
||||
component conductor {
|
||||
component "Conductor Server" as cond
|
||||
@ -64,18 +60,5 @@ lcm_driver <-down-> ks_driver
|
||||
ks_driver <-down-> ks
|
||||
|
||||
lcm_driver <-[hidden]down-> mgmt
|
||||
lcm_driver <-[hidden]down-> monitor
|
||||
'cond <-down-> mgmt
|
||||
'cond <-down-> monitor
|
||||
/'
|
||||
'cond <-right-> noop
|
||||
cond <-right-> wrt
|
||||
wrt <-down-> vm
|
||||
cond <-down-> ping
|
||||
ping <-down-> vm
|
||||
cond <-down-> zabbix
|
||||
zabbix <-down-> vm
|
||||
mgmt <-[hidden]down-> monitor
|
||||
'/
|
||||
|
||||
@enduml
|
173
doc/source/_images/tacker-design-etsi.svg
Normal file
173
doc/source/_images/tacker-design-etsi.svg
Normal file
@ -0,0 +1,173 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="934px" preserveAspectRatio="none" style="width:1008px;height:934px;background:#FFFFFF;" version="1.1" viewBox="0 0 1008 934" width="1008px" zoomAndPan="magnify"><defs/><g><!--MD5=[b2f4bb23dcf1cc4ab5b737cddde40d6f]
|
||||
cluster tacker-server--><g id="cluster_tacker-server"><rect fill="none" height="181" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:1.0;" width="378" x="506" y="69"/><path d="M624,69 L624,78.2969 L614,88.2969 L506,88.2969 " fill="none" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="108" x="509" y="82.9951">tacker-server</text></g><!--MD5=[4ef80439e1ef409f8f3a0ec422262701]
|
||||
cluster server--><g id="cluster_server"><rect fill="none" height="114" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:1.0;" width="330" x="530" y="112"/><rect fill="none" height="10" style="stroke:#181818;stroke-width:1.0;" width="15" x="840" y="117"/><rect fill="none" height="2" style="stroke:#181818;stroke-width:1.0;" width="4" x="838" y="119"/><rect fill="none" height="2" style="stroke:#181818;stroke-width:1.0;" width="4" x="838" y="123"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="52" x="669" y="137.9951">server</text></g><!--MD5=[7bf92410ac0250ea3609588de63b8146]
|
||||
cluster tacker-conductor--><g id="cluster_tacker-conductor"><rect fill="none" height="406" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:1.0;" width="671" x="7" y="274"/><path d="M154,274 L154,283.2969 L144,293.2969 L7,293.2969 " fill="none" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="137" x="10" y="287.9951">tacker-conductor</text></g><!--MD5=[410ee69351307ae5bd2a7be181265a56]
|
||||
cluster mgmt-driver--><g id="cluster_mgmt-driver"><rect fill="none" height="97" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:1.0;" width="206" x="31" y="559"/><rect fill="none" height="10" style="stroke:#181818;stroke-width:1.0;" width="15" x="217" y="564"/><rect fill="none" height="2" style="stroke:#181818;stroke-width:1.0;" width="4" x="215" y="566"/><rect fill="none" height="2" style="stroke:#181818;stroke-width:1.0;" width="4" x="215" y="570"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="97" x="85.5" y="584.9951">mgmt-driver</text></g><!--MD5=[14fa2a3c2d4c209700102e0d0b961ff1]
|
||||
cluster conductor--><g id="cluster_conductor"><rect fill="none" height="203" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:1.0;" width="206" x="448" y="317"/><rect fill="none" height="10" style="stroke:#181818;stroke-width:1.0;" width="15" x="634" y="322"/><rect fill="none" height="2" style="stroke:#181818;stroke-width:1.0;" width="4" x="632" y="324"/><rect fill="none" height="2" style="stroke:#181818;stroke-width:1.0;" width="4" x="632" y="328"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="81" x="510.5" y="342.9951">conductor</text></g><!--MD5=[b96263a6e3ccc8d9646ad6160c88315b]
|
||||
cluster infra--><g id="cluster_infra"><rect fill="none" height="97" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:1.0;" width="393" x="261" y="559"/><rect fill="none" height="10" style="stroke:#181818;stroke-width:1.0;" width="15" x="634" y="564"/><rect fill="none" height="2" style="stroke:#181818;stroke-width:1.0;" width="4" x="632" y="566"/><rect fill="none" height="2" style="stroke:#181818;stroke-width:1.0;" width="4" x="632" y="570"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="89" x="413" y="584.9951">infra-driver</text></g><!--MD5=[e8f3788ad7b97e8de68b4194558bc2a1]
|
||||
cluster db--><g id="cluster_db"><path d="M702,554 C702,544 846.5,544 846.5,544 C846.5,544 991,544 991,554 L991,646 C991,656 846.5,656 846.5,656 C846.5,656 702,656 702,646 L702,554 " fill="none" style="stroke:#181818;stroke-width:1.0;"/><path d="M702,554 C702,564 846.5,564 846.5,564 C846.5,564 991,564 991,554 " fill="none" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="76" x="808.5" y="578.9951">tacker DB</text></g><!--MD5=[7e36013a18f7cfa28a27b0b0724d505c]
|
||||
cluster NFV infrastructures--><g id="cluster_NFV infrastructures"><path d="M307.8497,715.6483 C316.3833,700.3905 328.527,701.4589 338.8189,713.6655 C351.7385,693.2148 363.6304,696.3038 376.2137,713.9952 C383.9806,696.4117 395.8377,695.9602 406.6295,711.1914 C418.6242,696.0451 428.8197,699.439 438.9988,713.2229 C447.1825,698.2706 461.435,697.4388 471.7496,710.7541 C479.2678,695.789 492.814,693.5259 503.4364,707.3356 C514.8539,689.0866 532.6066,692.2963 539.2173,711.8815 C546.5662,693.1165 562.0919,692.2852 572.4271,709.0936 C583.9153,696.8767 593.0269,696.5987 600.6654,712.9049 C611.0893,697.598 624.3855,692.9469 636.4102,711.1998 C645.4561,698.8006 658.7826,696.6631 666.3323,712.7703 C674.7585,697.7351 690.2202,697.6528 698.7085,712.7034 C708.9397,694.3748 723.4826,696.2919 734.0647,712.3426 C749.9397,697.6082 761.7531,696.9617 771,719 C774.8289,717.7176 777.0062,718.8642 776.6141,723.2103 C796.8253,733.6443 801.685,752.0383 780.8771,766.5107 C799.1673,778.2811 804.7607,790.5269 785.6763,806.7544 C803.9631,822.2241 803.8957,842.3915 779.8549,852.4713 C799.8221,873.4152 788.6717,891.9502 764,897 C766.7913,895.933 768.008,897.849 767.7082,900.2784 C758.6464,913.8414 743.7041,916.3319 734.4431,900.5039 C725.5615,921.0495 711.2672,917.4913 698.7896,904.3048 C687.5556,918.1947 677.6743,916.7793 668.8899,901.7703 C660.3036,916.1642 648.6787,921.9473 636.5713,905.4546 C625.9389,922.7958 615.5981,922.427 603.8249,906.5801 C593.8801,922.3683 581.867,921.3448 572.4084,906.088 C561.9168,922.9044 550.9816,924.2356 537.5476,909.3207 C528.9111,927.0637 511.583,927.2378 502.7974,909.4666 C492.4044,923.5887 477.1847,919.9024 470.4645,905.3282 C461.7832,919.5106 449.6643,920.3514 441.6796,904.6572 C432.4426,918.6395 417.4943,919.9385 410.0853,902.8013 C399.4842,919.3601 384.7625,919.2721 374.8719,902.0604 C362.3963,916.7418 350.95,917.716 340.65,899.7779 C325.532,916.2524 305.3168,911.0153 299,890 C301.7673,890.6916 301.8654,892.2036 300.6479,894.3907 C279.3417,883.9562 282.906,863.4482 300.5672,852.9378 C275.0379,842.7215 278.7317,821.9734 296.4457,807.8079 C279.1766,794.4925 276.8862,778.6403 298.9988,767.8406 C272.1371,747.5545 277.4017,725.3327 306,712 C308.43,711.9427 309.3543,713.7107 307.8497,715.6483 " fill="none" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="155" x="457.5" y="729.9951">NFV infrastructures</text></g><!--MD5=[7f55565919cad08ec1768968c99e2901]
|
||||
cluster os--><g id="cluster_os"><polygon fill="none" points="578,765,588,755,747,755,747,863,737,873,578,873,578,765" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="737" x2="747" y1="765" y2="755"/><line style="stroke:#181818;stroke-width:1.0;" x1="578" x2="737" y1="765" y2="765"/><line style="stroke:#181818;stroke-width:1.0;" x1="737" x2="737" y1="765" y2="873"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="85" x="616" y="780.9951">OpenStack</text></g><!--MD5=[a81896ea8627d2fab2c19a6a59e223d0]
|
||||
cluster ks--><g id="cluster_ks"><polygon fill="none" points="323,765,333,755,538,755,538,863,528,873,323,873,323,765" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="528" x2="538" y1="765" y2="755"/><line style="stroke:#181818;stroke-width:1.0;" x1="323" x2="528" y1="765" y2="765"/><line style="stroke:#181818;stroke-width:1.0;" x1="528" x2="528" y1="765" y2="873"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="93" x="380" y="780.9951">Kubernetes</text></g><!--MD5=[dfb0996127bd4879b498e35905689047]
|
||||
entity lcm--><g id="elem_lcm"><rect fill="#F1F1F1" height="62.5938" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="131" x="546.5" y="147"/><rect fill="#F1F1F1" height="10" style="stroke:#181818;stroke-width:0.5;" width="15" x="657.5" y="152"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="655.5" y="154"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="655.5" y="158"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="89" x="561.5" y="179.9951">VNF Lifecycle</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="91" x="561.5" y="196.292">Management</text></g><!--MD5=[7d7cf5c833774a9065472aa9e96876d8]
|
||||
entity vnfpkgm--><g id="elem_vnfpkgm"><rect fill="#F1F1F1" height="62.5938" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="131" x="712.5" y="147"/><rect fill="#F1F1F1" height="10" style="stroke:#181818;stroke-width:0.5;" width="15" x="823.5" y="152"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="821.5" y="154"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="821.5" y="158"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="90" x="727.5" y="179.9951">VNF Package</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="91" x="727.5" y="196.292">Management</text></g><!--MD5=[52025288e216a85a7b6b26f1ab881e5a]
|
||||
entity mgmt--><g id="elem_mgmt"><rect fill="#F1F1F1" height="46.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="173" x="47.5" y="594"/><rect fill="#F1F1F1" height="10" style="stroke:#181818;stroke-width:0.5;" width="15" x="200.5" y="599"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="198.5" y="601"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="198.5" y="605"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="133" x="62.5" y="626.9951">Vnflcm Mgmt Driver</text></g><!--MD5=[1611d2e703c8690bc3d5266415755a2a]
|
||||
entity cond--><g id="elem_cond"><rect fill="#F1F1F1" height="46.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="161" x="476.5" y="352"/><rect fill="#F1F1F1" height="10" style="stroke:#181818;stroke-width:0.5;" width="15" x="617.5" y="357"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="615.5" y="359"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="615.5" y="363"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="121" x="491.5" y="384.9951">Conductor Server</text></g><!--MD5=[1d06afe333bd722f0c528ff04ad54d66]
|
||||
entity lcm_driver--><g id="elem_lcm_driver"><rect fill="#F1F1F1" height="46.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="173" x="464.5" y="458"/><rect fill="#F1F1F1" height="10" style="stroke:#181818;stroke-width:0.5;" width="15" x="617.5" y="463"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="615.5" y="465"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="615.5" y="469"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="133" x="479.5" y="490.9951">VNF Lifecycle Driver</text></g><!--MD5=[1e1d4ea3e703282a2b21c9c1bba56490]
|
||||
entity os_driver--><g id="elem_os_driver"><rect fill="#F1F1F1" height="46.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="160" x="478" y="594"/><rect fill="#F1F1F1" height="10" style="stroke:#181818;stroke-width:0.5;" width="15" x="618" y="599"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="616" y="601"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="616" y="605"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="120" x="493" y="626.9951">OpenStack Driver</text></g><!--MD5=[0df54a92cd73a43e114bd061c2b00bd7]
|
||||
entity ks_driver--><g id="elem_ks_driver"><rect fill="#F1F1F1" height="46.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="165" x="277.5" y="594"/><rect fill="#F1F1F1" height="10" style="stroke:#181818;stroke-width:0.5;" width="15" x="422.5" y="599"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="420.5" y="601"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="420.5" y="605"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="125" x="292.5" y="626.9951">Kubernetes Driver</text></g><!--MD5=[7af1cabe265fe092638a612bf0aa64fa]
|
||||
entity db_if--><g id="elem_db_if"><rect fill="#F1F1F1" height="46.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="125" x="718.5" y="594"/><rect fill="#F1F1F1" height="10" style="stroke:#181818;stroke-width:0.5;" width="15" x="823.5" y="599"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="821.5" y="601"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="821.5" y="605"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="85" x="733.5" y="626.9951">DB Interface</text></g><!--MD5=[4cb912dbab4f44d920109ddee8736186]
|
||||
entity maria--><g id="elem_maria"><rect fill="#F1F1F1" height="46.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="97" x="878.5" y="594"/><rect fill="#F1F1F1" height="10" style="stroke:#181818;stroke-width:0.5;" width="15" x="955.5" y="599"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="953.5" y="601"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="953.5" y="605"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="57" x="893.5" y="626.9951">MariaDB</text></g><!--MD5=[feb13187a4e12c0f7e43ab86a34517b0]
|
||||
entity vm--><g id="elem_vm"><polygon fill="#F1F1F1" points="621,813,631,803,723,803,723,839.2969,713,849.2969,621,849.2969,621,813" style="stroke:#181818;stroke-width:0.5;"/><line style="stroke:#181818;stroke-width:0.5;" x1="713" x2="723" y1="813" y2="803"/><line style="stroke:#181818;stroke-width:0.5;" x1="621" x2="713" y1="813" y2="813"/><line style="stroke:#181818;stroke-width:0.5;" x1="713" x2="713" y1="813" y2="849.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="62" x="636" y="835.9951">VNF (VM)</text></g><!--MD5=[c1e3f05984ba1120c8c0eb08c3b56370]
|
||||
entity container--><g id="elem_container"><polygon fill="#F1F1F1" points="366,813,376,803,514,803,514,839.2969,504,849.2969,366,849.2969,366,813" style="stroke:#181818;stroke-width:0.5;"/><line style="stroke:#181818;stroke-width:0.5;" x1="504" x2="514" y1="813" y2="803"/><line style="stroke:#181818;stroke-width:0.5;" x1="366" x2="504" y1="813" y2="813"/><line style="stroke:#181818;stroke-width:0.5;" x1="504" x2="504" y1="813" y2="849.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="108" x="381" y="835.9951">VNF (Container)</text></g><!--MD5=[4a65e84059005d12693a083370a06717]
|
||||
entity client--><g id="elem_client"><rect fill="#F1F1F1" height="46.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="125" x="632.5" y="7"/><rect fill="#F1F1F1" height="10" style="stroke:#181818;stroke-width:0.5;" width="15" x="737.5" y="12"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="735.5" y="14"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="735.5" y="18"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="85" x="647.5" y="39.9951">tacker-client</text></g><!--MD5=[8db5af3cca719067948aa3bf1ae78ac6]
|
||||
link db_if to maria--><g id="link_db_if_maria"><path d="M848.85,617 C856.96,617 865.06,617 873.17,617 " fill="none" id="db_if-maria" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="878.21,617,869.21,613,873.21,617,869.21,621,878.21,617" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="843.73,617,852.73,621,848.73,617,852.73,613,843.73,617" style="stroke:#181818;stroke-width:1.0;"/></g><!--MD5=[43cd503c39e4bd6286d0c784c2020f9b]
|
||||
link client to lcm--><g id="link_client_lcm"><path d="M679.82,57.8 C666.35,81.57 646.58,116.46 631.86,142.45 " fill="none" id="client-lcm" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="629.36,146.87,637.2879,141.0263,631.833,142.5244,630.3349,137.0695,629.36,146.87" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="682.39,53.25,674.4767,59.1134,679.9278,57.6017,681.4395,63.0529,682.39,53.25" style="stroke:#181818;stroke-width:1.0;"/></g><!--MD5=[62312b7427b3379f30726866e933d2f1]
|
||||
link client to vnfpkgm--><g id="link_client_vnfpkgm"><path d="M710.18,57.8 C723.65,81.57 743.42,116.46 758.14,142.45 " fill="none" id="client-vnfpkgm" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="760.64,146.87,759.6651,137.0695,758.167,142.5244,752.7121,141.0263,760.64,146.87" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="707.61,53.25,708.5605,63.0529,710.0722,57.6017,715.5233,59.1134,707.61,53.25" style="stroke:#181818;stroke-width:1.0;"/></g><!--MD5=[f3aa643efed49c2cdb0754d5941029b7]
|
||||
link lcm to db_if--><g id="link_lcm_db_if"><path d="M630.3,215.07 C638,230.55 646.81,249 654,266 C704.08,384.42 753.01,530.12 772.34,589.21 " fill="none" id="lcm-db_if" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="773.9,593.99,774.9018,584.1922,772.3446,589.2381,767.2987,586.6809,773.9,593.99" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="627.96,210.37,628.4072,220.2087,630.1961,214.8421,635.5626,216.631,627.96,210.37" style="stroke:#181818;stroke-width:1.0;"/></g><!--MD5=[2f40de9eb0b06ca8d87fa0bb8a4468f3]
|
||||
link vnfpkgm to db_if--><g id="link_vnfpkgm_db_if"><path d="M783.09,215.4 C785.04,230.92 787.04,249.32 788,266 C794.7,382.25 792.62,411.65 788,528 C787.19,548.4 785.33,571.4 783.73,588.77 " fill="none" id="vnfpkgm-db_if" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="783.24,593.97,788.0451,585.3728,783.6965,588.9909,780.0785,584.6424,783.24,593.97" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="782.43,210.25,779.5939,219.6817,783.059,215.2103,787.5304,218.6753,782.43,210.25" style="stroke:#181818;stroke-width:1.0;"/></g><!--MD5=[28a94ae21aed01acaeaba50361e0e5f3]
|
||||
link lcm to cond--><g id="link_lcm_cond"><path d="M601.81,215.55 C591.05,253.59 574.34,312.68 564.66,346.93 " fill="none" id="lcm-cond" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="563.28,351.79,569.5778,344.2178,564.6404,346.9786,561.8795,342.0412,563.28,351.79" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="603.29,210.32,596.9773,217.8798,601.9202,215.1287,604.6713,220.0715,603.29,210.32" style="stroke:#181818;stroke-width:1.0;"/></g><!--MD5=[a2e28fb29557a29a83e7b67fde3c7f07]
|
||||
link cond to lcm_driver--><g id="link_cond_lcm_driver"><path d="M555.43,403.19 C554.55,418.53 553.44,437.62 552.56,452.94 " fill="none" id="cond-lcm_driver" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="552.27,457.98,556.8018,449.2357,552.5695,452.989,548.8162,448.7566,552.27,457.98" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="555.73,398.06,551.2231,406.8171,555.4448,403.0519,559.21,407.2735,555.73,398.06" style="stroke:#181818;stroke-width:1.0;"/></g><!--MD5=[a27e2d377de41162c9da00fd99d1f429]
|
||||
link vnfpkgm to cond--><g id="link_vnfpkgm_cond"><path d="M742.82,213.63 C728.21,227.59 710.97,243.76 695,258 C659.16,289.97 616.7,325.29 588.44,348.46 " fill="none" id="vnfpkgm-cond" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="584.37,351.79,593.8623,349.1638,588.2321,348.6145,588.7814,342.9843,584.37,351.79" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="746.48,210.14,737.2113,213.4704,742.8668,213.5961,742.7411,219.2516,746.48,210.14" style="stroke:#181818;stroke-width:1.0;"/></g><!--MD5=[e1ea5324ab0abd99adea1b10743575ee]
|
||||
link cond to db_if--><g id="link_cond_db_if"><path d="M590.98,401.66 C610.55,417.09 635.11,437.64 655,458 C697,501 739.21,557.2 762.54,589.68 " fill="none" id="cond-db_if" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="765.57,593.91,763.5906,584.2621,762.6625,589.8423,757.0823,588.9142,765.57,593.91" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="586.63,398.25,591.237,406.9549,590.5621,401.3385,596.1785,400.6636,586.63,398.25" style="stroke:#181818;stroke-width:1.0;"/></g><!--MD5=[49a113382cce3b63d0a2fae9692c1263]
|
||||
link lcm_driver to db_if--><g id="link_lcm_driver_db_if"><path d="M599.83,506.59 C617.1,515.56 636.57,525.96 654,536 C684.53,553.58 718.23,574.9 743.24,591.11 " fill="none" id="lcm_driver-db_if" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="747.49,593.87,742.1349,585.6043,743.3014,591.1395,737.7661,592.3061,747.49,593.87" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="595.02,504.1,601.1736,511.7898,599.4603,506.3987,604.8514,504.6854,595.02,504.1" style="stroke:#181818;stroke-width:1.0;"/></g><!--MD5=[81e3960ad7b4f82b017bf490c45349a2]
|
||||
link lcm_driver to os_driver--><g id="link_lcm_driver_os_driver"><path d="M552.42,509.27 C553.64,532.45 555.37,565.58 556.58,588.76 " fill="none" id="lcm_driver-os_driver" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="556.84,593.84,560.3725,584.6464,556.5832,588.8466,552.383,585.0573,556.84,593.84" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="552.16,504.13,548.6289,513.3241,552.4175,509.1234,556.6183,512.912,552.16,504.13" style="stroke:#181818;stroke-width:1.0;"/></g><!--MD5=[7675ad822ae057a4200429760b0f902e]
|
||||
link os_driver to os--><g id="link_os_driver_os"><path d="M561.69,645.3 C565.43,672.955 571.3725,716.89 576.4463,754.3938 C576.7634,756.7377 577.0771,759.0566 577.3866,761.3448 C577.5414,762.4889 577.6952,763.6253 577.8478,764.7534 C577.886,765.0354 577.924,765.3169 577.9621,765.5979 " fill="none" id="os_driver-os" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="577.9621,765.5979,580.7193,756.1428,577.2917,760.643,572.7915,757.2154,577.9621,765.5979" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="561,640.15,558.2442,649.6054,561.6711,645.1048,566.1718,648.5317,561,640.15" style="stroke:#181818;stroke-width:1.0;"/></g><!--MD5=[d5b1fa3335b03a914642288bc645ea06]
|
||||
link lcm_driver to ks_driver--><g id="link_lcm_driver_ks_driver"><path d="M507.19,506.74 C492.27,515.57 475.67,525.85 461,536 C436.37,553.04 409.88,574.13 390.21,590.38 " fill="none" id="lcm_driver-ks_driver" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="385.87,593.98,395.3506,591.312,389.7181,590.7875,390.2426,585.155,385.87,593.98" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="511.77,504.05,501.9855,505.1739,507.4625,506.5888,506.0476,512.0659,511.77,504.05" style="stroke:#181818;stroke-width:1.0;"/></g><!--MD5=[cb38b57e89f7003dfbbc78ee90c80e1e]
|
||||
link ks_driver to ks--><g id="link_ks_driver_ks"><path d="M356.18,645.3 C352.305,672.955 346.15,716.89 340.895,754.3938 " fill="none" id="ks_driver-ks" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="340.895,754.3938,346.1052,746.0359,341.5888,749.4421,338.1826,744.9258,340.895,754.3938" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="356.9,640.15,351.6809,648.5023,356.2009,645.1009,359.6023,649.6209,356.9,640.15" style="stroke:#181818;stroke-width:1.0;"/></g><!--MD5=[5cbdad6cb1ad49ff0416bd24b6da13a7]
|
||||
link lcm_driver to mgmt--><!--MD5=[508e410c4ede39f6a0741ffb12dc985b]
|
||||
@startuml
|
||||
|
||||
'# Components
|
||||
component "tacker-client" as client
|
||||
|
||||
frame "tacker-server" {
|
||||
component server {
|
||||
component "VNF Lifecycle\nManagement" as lcm
|
||||
component "VNF Package\nManagement" as vnfpkgm
|
||||
}
|
||||
}
|
||||
|
||||
frame "tacker-conductor" {
|
||||
component "mgmt-driver" {
|
||||
'component Noop as noop
|
||||
component "Vnflcm Mgmt Driver" as mgmt
|
||||
}
|
||||
component conductor {
|
||||
component "Conductor Server" as cond
|
||||
component "VNF Lifecycle Driver" as lcm_driver
|
||||
}
|
||||
component "infra-driver" as infra {
|
||||
component "OpenStack Driver" as os_driver
|
||||
component "Kubernetes Driver" as ks_driver
|
||||
}
|
||||
}
|
||||
|
||||
database "tacker DB" as db {
|
||||
component "DB Interface" as db_if
|
||||
component "MariaDB" as maria
|
||||
db_if <-right-> maria
|
||||
}
|
||||
|
||||
cloud "NFV infrastructures" {
|
||||
node "OpenStack" as os {
|
||||
node "VNF (VM)" as vm
|
||||
}
|
||||
node "Kubernetes" as ks {
|
||||
node "VNF (Container)" as container
|
||||
}
|
||||
}
|
||||
|
||||
'# Relationships
|
||||
client <-down-> lcm
|
||||
client <-down-> vnfpkgm
|
||||
|
||||
lcm <-down-> db_if
|
||||
vnfpkgm <-down-> db_if
|
||||
|
||||
lcm <-down-> cond
|
||||
cond <-down-> lcm_driver
|
||||
vnfpkgm <-down-> cond
|
||||
|
||||
cond <-down-> db_if
|
||||
lcm_driver <-down-> db_if
|
||||
|
||||
lcm_driver <-down-> os_driver
|
||||
os_driver <-down-> os
|
||||
lcm_driver <-down-> ks_driver
|
||||
ks_driver <-down-> ks
|
||||
|
||||
lcm_driver <-[hidden]down-> mgmt
|
||||
|
||||
@enduml
|
||||
|
||||
@startuml
|
||||
|
||||
component "tacker-client" as client
|
||||
|
||||
frame "tacker-server" {
|
||||
component server {
|
||||
component "VNF Lifecycle\nManagement" as lcm
|
||||
component "VNF Package\nManagement" as vnfpkgm
|
||||
}
|
||||
}
|
||||
|
||||
frame "tacker-conductor" {
|
||||
component "mgmt-driver" {
|
||||
component "Vnflcm Mgmt Driver" as mgmt
|
||||
}
|
||||
component conductor {
|
||||
component "Conductor Server" as cond
|
||||
component "VNF Lifecycle Driver" as lcm_driver
|
||||
}
|
||||
component "infra-driver" as infra {
|
||||
component "OpenStack Driver" as os_driver
|
||||
component "Kubernetes Driver" as ks_driver
|
||||
}
|
||||
}
|
||||
|
||||
database "tacker DB" as db {
|
||||
component "DB Interface" as db_if
|
||||
component "MariaDB" as maria
|
||||
db_if <-right-> maria
|
||||
}
|
||||
|
||||
cloud "NFV infrastructures" {
|
||||
node "OpenStack" as os {
|
||||
node "VNF (VM)" as vm
|
||||
}
|
||||
node "Kubernetes" as ks {
|
||||
node "VNF (Container)" as container
|
||||
}
|
||||
}
|
||||
|
||||
client <-down-> lcm
|
||||
client <-down-> vnfpkgm
|
||||
|
||||
lcm <-down-> db_if
|
||||
vnfpkgm <-down-> db_if
|
||||
|
||||
lcm <-down-> cond
|
||||
cond <-down-> lcm_driver
|
||||
vnfpkgm <-down-> cond
|
||||
|
||||
cond <-down-> db_if
|
||||
lcm_driver <-down-> db_if
|
||||
|
||||
lcm_driver <-down-> os_driver
|
||||
os_driver <-down-> os
|
||||
lcm_driver <-down-> ks_driver
|
||||
ks_driver <-down-> ks
|
||||
|
||||
lcm_driver <-[hidden]down-> mgmt
|
||||
|
||||
@enduml
|
||||
|
||||
PlantUML version 1.2022.7(Mon Aug 22 17:01:30 UTC 2022)
|
||||
(GPL source distribution)
|
||||
Java Runtime: OpenJDK Runtime Environment
|
||||
JVM: OpenJDK 64-Bit Server VM
|
||||
Default Encoding: UTF-8
|
||||
Language: en
|
||||
Country: US
|
||||
--></g></svg>
|
After Width: | Height: | Size: 27 KiB |
Binary file not shown.
Before Width: | Height: | Size: 93 KiB |
@ -13,28 +13,10 @@ frame "tacker-server" {
|
||||
component "NFVOPlugin" as nfvo_plugin
|
||||
'cond <-down-> vnfm_plugin
|
||||
}
|
||||
component "mgmt-driver" as mgmt {
|
||||
'component Noop as noop
|
||||
component OpenWRT as wrt
|
||||
}
|
||||
component "monitor-driver" as monitor {
|
||||
component Ping as ping
|
||||
component Zabbix as zabbix
|
||||
}
|
||||
component "infra-driver" as infra {
|
||||
component "OpenStack Driver" as os_driver
|
||||
component "Kubernetes Driver" as ks_driver
|
||||
}
|
||||
component "vim-driver" as vim {
|
||||
component "OpenStack Driver" as os_vim
|
||||
component "Kubernetes Driver" as ks_vim
|
||||
}
|
||||
component "policy-action-driver" as policy {
|
||||
component "AutoHeal" as autoheal
|
||||
component "AutoScale" as autoscale
|
||||
component "Respawn" as respawn
|
||||
component "Log" as log
|
||||
}
|
||||
}
|
||||
|
||||
frame "tacker-conductor" as cond {
|
||||
@ -62,7 +44,6 @@ cloud "NFV infrastructures" as nfv_infra {
|
||||
}
|
||||
|
||||
'# Relationships
|
||||
client <-down-> vnfm
|
||||
client <-down-> nfvo
|
||||
|
||||
vnfm <-down-> vnfm_plugin
|
||||
@ -71,33 +52,12 @@ nfvo <-down-> nfvo_plugin
|
||||
vnfm_plugin <-down-> db_vnfm
|
||||
nfvo_plugin <-down-> db_nfvo
|
||||
|
||||
vnfm_plugin <-down-> os_driver
|
||||
vnfm_plugin <-down-> ks_driver
|
||||
|
||||
vnfm_plugin <-down-> policy
|
||||
vnfm_plugin <-down-> mgmt
|
||||
vnfm_plugin <-down-> monitor
|
||||
/'
|
||||
vnfm_plugin <-down-> autoheal
|
||||
vnfm_plugin <-down-> autoscale
|
||||
vnfm_plugin <-down-> respawn
|
||||
vnfm_plugin <-down-> log
|
||||
vnfm_plugin <-down-> wrt
|
||||
vnfm_plugin <-down-> ping
|
||||
vnfm_plugin <-down-> zabbix
|
||||
'/
|
||||
|
||||
nfvo_plugin <-down-> os_vim
|
||||
nfvo_plugin <-down-> ks_vim
|
||||
|
||||
os_driver <-down-> os
|
||||
ks_driver <-down-> ks
|
||||
|
||||
os_vim <-down-> os
|
||||
ks_vim <-down-> ks
|
||||
|
||||
cond <-[hidden]left-> server
|
||||
mgmt <-[hidden]down-> monitor
|
||||
monitor <-[hidden]down-> nfv_infra
|
||||
|
||||
@enduml
|
168
doc/source/_images/tacker-design-legacy.svg
Normal file
168
doc/source/_images/tacker-design-legacy.svg
Normal file
@ -0,0 +1,168 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="800px" preserveAspectRatio="none" style="width:1124px;height:800px;background:#FFFFFF;" version="1.1" viewBox="0 0 1124 800" width="1124px" zoomAndPan="magnify"><defs/><g><!--MD5=[b2f4bb23dcf1cc4ab5b737cddde40d6f]
|
||||
cluster tacker-server--><g id="cluster_tacker-server"><rect fill="none" height="477" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:1.0;" width="441" x="379" y="69"/><path d="M497,69 L497,78.2969 L487,88.2969 L379,88.2969 " fill="none" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="108" x="382" y="82.9951">tacker-server</text></g><!--MD5=[4ef80439e1ef409f8f3a0ec422262701]
|
||||
cluster server--><g id="cluster_server"><rect fill="none" height="113" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:1.0;" width="248" x="447" y="120"/><rect fill="none" height="10" style="stroke:#181818;stroke-width:1.0;" width="15" x="675" y="125"/><rect fill="none" height="2" style="stroke:#181818;stroke-width:1.0;" width="4" x="673" y="127"/><rect fill="none" height="2" style="stroke:#181818;stroke-width:1.0;" width="4" x="673" y="131"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="52" x="545" y="145.9951">server</text></g><!--MD5=[6ad7c0b688d9e902153dd4de2b6da276]
|
||||
cluster plugin--><g id="cluster_plugin"><rect fill="none" height="97" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:1.0;" width="309" x="403" y="289"/><rect fill="none" height="10" style="stroke:#181818;stroke-width:1.0;" width="15" x="692" y="294"/><rect fill="none" height="2" style="stroke:#181818;stroke-width:1.0;" width="4" x="690" y="296"/><rect fill="none" height="2" style="stroke:#181818;stroke-width:1.0;" width="4" x="690" y="300"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="48" x="533.5" y="314.9951">plugin</text></g><!--MD5=[104bfd9d1203c33bfb5ee7238b4da5fd]
|
||||
cluster vim--><g id="cluster_vim"><rect fill="none" height="97" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:1.0;" width="393" x="403" y="425"/><rect fill="none" height="10" style="stroke:#181818;stroke-width:1.0;" width="15" x="776" y="430"/><rect fill="none" height="2" style="stroke:#181818;stroke-width:1.0;" width="4" x="774" y="432"/><rect fill="none" height="2" style="stroke:#181818;stroke-width:1.0;" width="4" x="774" y="436"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="80" x="559.5" y="450.9951">vim-driver</text></g><!--MD5=[710611cf432e923510fdc86847488e2c]
|
||||
cluster cond--><g id="cluster_cond"><rect fill="none" height="180" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:1.0;" width="266" x="852" y="77"/><path d="M999,77 L999,86.2969 L989,96.2969 L852,96.2969 " fill="none" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="137" x="855" y="90.9951">tacker-conductor</text></g><!--MD5=[14fa2a3c2d4c209700102e0d0b961ff1]
|
||||
cluster conductor--><g id="cluster_conductor"><rect fill="none" height="97" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:1.0;" width="194" x="892" y="128"/><rect fill="none" height="10" style="stroke:#181818;stroke-width:1.0;" width="15" x="1066" y="133"/><rect fill="none" height="2" style="stroke:#181818;stroke-width:1.0;" width="4" x="1064" y="135"/><rect fill="none" height="2" style="stroke:#181818;stroke-width:1.0;" width="4" x="1064" y="139"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="81" x="948.5" y="153.9951">conductor</text></g><!--MD5=[e8f3788ad7b97e8de68b4194558bc2a1]
|
||||
cluster db--><g id="cluster_db"><path d="M6,420 C6,410 180.5,410 180.5,410 C180.5,410 355,410 355,420 L355,721 C355,731 180.5,731 180.5,731 C180.5,731 6,731 6,721 L6,420 " fill="none" style="stroke:#181818;stroke-width:1.0;"/><path d="M6,420 C6,430 180.5,430 180.5,430 C180.5,430 355,430 355,420 " fill="none" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="76" x="142.5" y="444.9951">tacker DB</text></g><!--MD5=[c9f065c649f77192c87e0e589cafacf7]
|
||||
cluster nfv_infra--><g id="cluster_nfv_infra"><path d="M449.8497,581.6483 C458.3833,566.3905 470.527,567.4589 480.8189,579.6655 C493.7385,559.2148 505.6304,562.3038 518.2137,579.9952 C525.9806,562.4117 537.8377,561.9602 548.6295,577.1914 C560.6242,562.0451 570.8197,565.439 580.9988,579.2229 C589.1825,564.2706 603.435,563.4388 613.7496,576.7541 C621.2678,561.789 634.814,559.5259 645.4364,573.3356 C656.8539,555.0866 674.6066,558.2963 681.2173,577.8815 C688.5662,559.1165 704.0919,558.2852 714.4271,575.0936 C725.9153,562.8767 735.0269,562.5987 742.6654,578.9049 C753.0893,563.598 766.3855,558.9469 778.4102,577.1998 C787.4561,564.8006 800.7826,562.6631 808.3323,578.7703 C816.7585,563.7351 832.2202,563.6528 840.7085,578.7034 C850.9397,560.3748 865.4826,562.2919 876.0647,578.3426 C891.9397,563.6082 903.7531,562.9617 913,585 C916.8289,583.7176 919.0062,584.8642 918.6141,589.2103 C938.8253,599.6443 943.685,618.0383 922.8771,632.5107 C941.1673,644.2811 946.7607,656.5269 927.6763,672.7544 C945.9631,688.2241 945.8957,708.3915 921.8549,718.4713 C941.8221,739.4152 930.6717,757.9502 906,763 C908.7913,761.933 910.008,763.849 909.7082,766.2784 C900.6464,779.8414 885.7041,782.3319 876.4431,766.5039 C867.5615,787.0495 853.2672,783.4913 840.7896,770.3048 C829.5556,784.1947 819.6743,782.7793 810.8899,767.7703 C802.3036,782.1642 790.6787,787.9473 778.5713,771.4546 C767.9389,788.7958 757.5981,788.427 745.8249,772.5801 C735.8801,788.3683 723.867,787.3448 714.4084,772.088 C703.9168,788.9044 692.9816,790.2356 679.5476,775.3207 C670.9111,793.0637 653.583,793.2378 644.7974,775.4666 C634.4044,789.5887 619.1847,785.9024 612.4645,771.3282 C603.7832,785.5106 591.6643,786.3514 583.6796,770.6572 C574.4426,784.6395 559.4943,785.9385 552.0853,768.8013 C541.4842,785.3601 526.7625,785.2721 516.8719,768.0604 C504.3963,782.7418 492.95,783.716 482.65,765.7779 C467.532,782.2524 447.3168,777.0153 441,756 C443.7673,756.6916 443.8654,758.2036 442.6479,760.3907 C421.3417,749.9562 424.906,729.4482 442.5672,718.9378 C417.0379,708.7215 420.7317,687.9734 438.4457,673.8079 C421.1766,660.4925 418.8862,644.6403 440.9988,633.8406 C414.1371,613.5545 419.4017,591.3327 448,578 C450.43,577.9427 451.3543,579.7107 449.8497,581.6483 " fill="none" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="155" x="599.5" y="595.9951">NFV infrastructures</text></g><!--MD5=[7f55565919cad08ec1768968c99e2901]
|
||||
cluster os--><g id="cluster_os"><polygon fill="none" points="720,631,730,621,889,621,889,729,879,739,720,739,720,631" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="879" x2="889" y1="631" y2="621"/><line style="stroke:#181818;stroke-width:1.0;" x1="720" x2="879" y1="631" y2="631"/><line style="stroke:#181818;stroke-width:1.0;" x1="879" x2="879" y1="631" y2="739"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="85" x="758" y="646.9951">OpenStack</text></g><!--MD5=[a81896ea8627d2fab2c19a6a59e223d0]
|
||||
cluster ks--><g id="cluster_ks"><polygon fill="none" points="465,631,475,621,680,621,680,729,670,739,465,739,465,631" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="670" x2="680" y1="631" y2="621"/><line style="stroke:#181818;stroke-width:1.0;" x1="465" x2="670" y1="631" y2="631"/><line style="stroke:#181818;stroke-width:1.0;" x1="670" x2="670" y1="631" y2="739"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="93" x="522" y="646.9951">Kubernetes</text></g><!--MD5=[764ce7cdcfebcfbe257b920672948601]
|
||||
entity vnfm--><g id="elem_vnfm"><rect fill="#F1F1F1" height="46.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="75" x="490.5" y="163"/><rect fill="#F1F1F1" height="10" style="stroke:#181818;stroke-width:0.5;" width="15" x="545.5" y="168"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="543.5" y="170"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="543.5" y="174"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="35" x="505.5" y="195.9951">Vnfm</text></g><!--MD5=[6049a01597386661b8e006843559374f]
|
||||
entity nfvo--><g id="elem_nfvo"><rect fill="#F1F1F1" height="46.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="70" x="601" y="163"/><rect fill="#F1F1F1" height="10" style="stroke:#181818;stroke-width:0.5;" width="15" x="651" y="168"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="649" y="170"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="649" y="174"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="30" x="616" y="195.9951">Nfvo</text></g><!--MD5=[6f60fe7827bf82100a1499cf2de5397f]
|
||||
entity vnfm_plugin--><g id="elem_vnfm_plugin"><rect fill="#F1F1F1" height="46.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="121" x="419.5" y="324"/><rect fill="#F1F1F1" height="10" style="stroke:#181818;stroke-width:0.5;" width="15" x="520.5" y="329"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="518.5" y="331"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="518.5" y="335"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="81" x="434.5" y="356.9951">VNFMPlugin</text></g><!--MD5=[e66b9c14b92a2bc0f1f9fba1d97ed048]
|
||||
entity nfvo_plugin--><g id="elem_nfvo_plugin"><rect fill="#F1F1F1" height="46.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="120" x="576" y="324"/><rect fill="#F1F1F1" height="10" style="stroke:#181818;stroke-width:0.5;" width="15" x="676" y="329"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="674" y="331"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="674" y="335"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="80" x="591" y="356.9951">NFVOPlugin</text></g><!--MD5=[482af39e40fe8ce176102cafc337fa0c]
|
||||
entity os_vim--><g id="elem_os_vim"><rect fill="#F1F1F1" height="46.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="160" x="620" y="460"/><rect fill="#F1F1F1" height="10" style="stroke:#181818;stroke-width:0.5;" width="15" x="760" y="465"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="758" y="467"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="758" y="471"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="120" x="635" y="492.9951">OpenStack Driver</text></g><!--MD5=[41bba39302383280e14c2e801ad2847c]
|
||||
entity ks_vim--><g id="elem_ks_vim"><rect fill="#F1F1F1" height="46.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="165" x="419.5" y="460"/><rect fill="#F1F1F1" height="10" style="stroke:#181818;stroke-width:0.5;" width="15" x="564.5" y="465"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="562.5" y="467"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="562.5" y="471"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="125" x="434.5" y="492.9951">Kubernetes Driver</text></g><!--MD5=[392dfeaf0bb9a7a29d8d59c18e315c72]
|
||||
entity Conductor Server--><g id="elem_Conductor Server"><rect fill="#F1F1F1" height="46.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="161" x="908.5" y="163"/><rect fill="#F1F1F1" height="10" style="stroke:#181818;stroke-width:0.5;" width="15" x="1049.5" y="168"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="1047.5" y="170"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="1047.5" y="174"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="121" x="923.5" y="195.9951">Conductor Server</text></g><!--MD5=[a1d1a3b312770a7130e1b99763ae4353]
|
||||
entity db_nfvo--><g id="elem_db_nfvo"><rect fill="#F1F1F1" height="46.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="140" x="199" y="460"/><rect fill="#F1F1F1" height="10" style="stroke:#181818;stroke-width:0.5;" width="15" x="319" y="465"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="317" y="467"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="317" y="471"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="100" x="214" y="492.9951">NFVOPluginDb</text></g><!--MD5=[21d8b7554ac6932f432930ca9efee83e]
|
||||
entity db_vnfm--><g id="elem_db_vnfm"><rect fill="#F1F1F1" height="46.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="141" x="22.5" y="460"/><rect fill="#F1F1F1" height="10" style="stroke:#181818;stroke-width:0.5;" width="15" x="143.5" y="465"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="141.5" y="467"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="141.5" y="471"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="101" x="37.5" y="492.9951">VNFMPluginDb</text></g><!--MD5=[4cb912dbab4f44d920109ddee8736186]
|
||||
entity maria--><g id="elem_maria"><rect fill="#F1F1F1" height="46.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="97" x="132.5" y="669"/><rect fill="#F1F1F1" height="10" style="stroke:#181818;stroke-width:0.5;" width="15" x="209.5" y="674"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="207.5" y="676"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="207.5" y="680"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="57" x="147.5" y="701.9951">MariaDB</text></g><!--MD5=[feb13187a4e12c0f7e43ab86a34517b0]
|
||||
entity vm--><g id="elem_vm"><polygon fill="#F1F1F1" points="763,679,773,669,865,669,865,705.2969,855,715.2969,763,715.2969,763,679" style="stroke:#181818;stroke-width:0.5;"/><line style="stroke:#181818;stroke-width:0.5;" x1="855" x2="865" y1="679" y2="669"/><line style="stroke:#181818;stroke-width:0.5;" x1="763" x2="855" y1="679" y2="679"/><line style="stroke:#181818;stroke-width:0.5;" x1="855" x2="855" y1="679" y2="715.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="62" x="778" y="701.9951">VNF (VM)</text></g><!--MD5=[c1e3f05984ba1120c8c0eb08c3b56370]
|
||||
entity container--><g id="elem_container"><polygon fill="#F1F1F1" points="508,679,518,669,656,669,656,705.2969,646,715.2969,508,715.2969,508,679" style="stroke:#181818;stroke-width:0.5;"/><line style="stroke:#181818;stroke-width:0.5;" x1="646" x2="656" y1="679" y2="669"/><line style="stroke:#181818;stroke-width:0.5;" x1="508" x2="646" y1="679" y2="679"/><line style="stroke:#181818;stroke-width:0.5;" x1="646" x2="646" y1="679" y2="715.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="108" x="523" y="701.9951">VNF (Container)</text></g><!--MD5=[4a65e84059005d12693a083370a06717]
|
||||
entity client--><g id="elem_client"><rect fill="#F1F1F1" height="46.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="125" x="573.5" y="7"/><rect fill="#F1F1F1" height="10" style="stroke:#181818;stroke-width:0.5;" width="15" x="678.5" y="12"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="676.5" y="14"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="676.5" y="18"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="85" x="588.5" y="39.9951">tacker-client</text></g><!--MD5=[ad63c54126eb1a3bd9fbc0b3441f167d]
|
||||
link db_nfvo to maria--><g id="link_db_nfvo_maria"><path d="M257.52,511 C240.65,550.69 209.33,624.36 192.47,664.03 " fill="none" id="db_nfvo-maria" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="190.48,668.69,197.6842,661.9744,192.4375,664.0891,190.3228,658.8424,190.48,668.69" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="259.58,506.15,252.3758,512.8656,257.6225,510.7509,259.7372,515.9976,259.58,506.15" style="stroke:#181818;stroke-width:1.0;"/></g><!--MD5=[c3d28dc8a45b02c29ec7e396d92852c2]
|
||||
link db_vnfm to maria--><g id="link_db_vnfm_maria"><path d="M104.48,511 C121.35,550.69 152.67,624.36 169.53,664.03 " fill="none" id="db_vnfm-maria" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="171.52,668.69,171.6772,658.8424,169.5625,664.0891,164.3158,661.9744,171.52,668.69" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="102.42,506.15,102.2628,515.9976,104.3775,510.7509,109.6242,512.8656,102.42,506.15" style="stroke:#181818;stroke-width:1.0;"/></g><!--MD5=[d6e018d4ae98ac31585c3ad1a5854e62]
|
||||
link client to nfvo--><g id="link_client_nfvo"><path d="M636,58.43 C636,86.54 636,129.97 636,157.94 " fill="none" id="client-nfvo" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="636,162.98,640,153.98,636,157.98,632,153.98,636,162.98" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="636,53.06,632,62.06,636,58.06,640,62.06,636,53.06" style="stroke:#181818;stroke-width:1.0;"/></g><!--MD5=[c23d32a409bec3c5005485b773056960]
|
||||
link vnfm to vnfm_plugin--><g id="link_vnfm_vnfm_plugin"><path d="M519.88,213.9 C511.05,243.14 497.03,289.6 488.18,318.92 " fill="none" id="vnfm-vnfm_plugin" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="486.69,323.82,493.1115,316.3525,488.1294,319.0317,485.4502,314.0495,486.69,323.82" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="521.33,209.11,514.9023,216.5723,519.8867,213.8972,522.5618,218.8815,521.33,209.11" style="stroke:#181818;stroke-width:1.0;"/></g><!--MD5=[e41df77064e8c7010d1b6075eb7337cc]
|
||||
link nfvo to nfvo_plugin--><g id="link_nfvo_nfvo_plugin"><path d="M636,214.28 C636,243.43 636,289.37 636,318.57 " fill="none" id="nfvo-nfvo_plugin" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="636,323.82,640,314.82,636,318.82,632,314.82,636,323.82" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="636,209.11,632,218.11,636,214.11,640,218.11,636,209.11" style="stroke:#181818;stroke-width:1.0;"/></g><!--MD5=[efc025505ca4784a151779ce67f57315]
|
||||
link vnfm_plugin to db_vnfm--><g id="link_vnfm_plugin_db_vnfm"><path d="M414.15,349.52 C351.3,353.3 255.43,365.29 181,402 C154.83,414.91 130.74,437.94 114.41,455.99 " fill="none" id="vnfm_plugin-db_vnfm" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="110.83,459.99,119.8076,455.9399,114.1598,456.2601,113.8397,450.6123,110.83,459.99" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="419.37,349.22,410.1559,345.7415,414.3782,349.5061,410.6136,353.7284,419.37,349.22" style="stroke:#181818;stroke-width:1.0;"/></g><!--MD5=[f9293f68eada8d4ce87d728727a5d982]
|
||||
link nfvo_plugin to db_nfvo--><g id="link_nfvo_plugin_db_nfvo"><path d="M601.77,373.01 C588.71,381.22 573.28,389.4 558,394 C491.94,413.87 469,381.95 403,402 C364.98,413.55 326.55,438.12 300.65,457 " fill="none" id="nfvo_plugin-db_nfvo" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="296.6,459.98,306.2173,457.8568,300.6238,457.0121,301.4686,451.4186,296.6,459.98" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="606.1,370.23,596.3641,371.7171,601.8899,372.9273,600.6797,378.4532,606.1,370.23" style="stroke:#181818;stroke-width:1.0;"/></g><!--MD5=[54b9d58d667c258e54230bc21037c7c9]
|
||||
link nfvo_plugin to os_vim--><g id="link_nfvo_plugin_os_vim"><path d="M648.72,374.64 C659.9,398.04 676.07,431.89 687.25,455.3 " fill="none" id="nfvo_plugin-os_vim" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="689.42,459.84,689.1487,449.9949,687.2642,455.3286,681.9305,453.4441,689.42,459.84" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="646.57,370.13,646.8413,379.9751,648.7258,374.6414,654.0595,376.5259,646.57,370.13" style="stroke:#181818;stroke-width:1.0;"/></g><!--MD5=[cba735c43583ad6600a2b2eb96c05b12]
|
||||
link nfvo_plugin to ks_vim--><g id="link_nfvo_plugin_ks_vim"><path d="M610.28,373.72 C586.59,397.41 551.61,432.39 527.87,456.13 " fill="none" id="nfvo_plugin-ks_vim" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="524.16,459.84,533.3524,456.3045,527.6955,456.3045,527.6955,450.6476,524.16,459.84" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="613.87,370.13,604.6776,373.6655,610.3345,373.6655,610.3345,379.3224,613.87,370.13" style="stroke:#181818;stroke-width:1.0;"/></g><!--MD5=[aad349f46b08fb46a88de6c49123a200]
|
||||
link os_vim to os--><g id="link_os_vim_os"><path d="M703.69,511.3 C707.43,538.955 713.3725,582.89 718.4463,620.3938 C718.7634,622.7377 719.0771,625.0566 719.3866,627.3448 C719.5414,628.4889 719.6952,629.6253 719.8478,630.7534 C719.886,631.0354 719.924,631.3169 719.9621,631.5979 " fill="none" id="os_vim-os" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="719.9621,631.5979,722.7193,622.1428,719.2917,626.643,714.7915,623.2154,719.9621,631.5979" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="703,506.15,700.2442,515.6054,703.6711,511.1048,708.1718,514.5317,703,506.15" style="stroke:#181818;stroke-width:1.0;"/></g><!--MD5=[9e034019b82c863caa8ef0aea6ec64ed]
|
||||
link ks_vim to ks--><g id="link_ks_vim_ks"><path d="M498.18,511.3 C494.305,538.955 488.15,582.89 482.895,620.3938 " fill="none" id="ks_vim-ks" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="482.895,620.3938,488.1052,612.0359,483.5888,615.4421,480.1826,610.9258,482.895,620.3938" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="498.9,506.15,493.6809,514.5023,498.2009,511.1009,501.6023,515.6209,498.9,506.15" style="stroke:#181818;stroke-width:1.0;"/></g><!--MD5=[27b2df526f2d6f1f7ac9ab4d46dc0cec]
|
||||
link server to cond--><!--MD5=[b81852c71e75ecc57a217deab855c5b4]
|
||||
@startuml
|
||||
|
||||
'# Components
|
||||
component "tacker-client" as client
|
||||
|
||||
frame "tacker-server" {
|
||||
component server {
|
||||
component "Vnfm" as vnfm
|
||||
component "Nfvo" as nfvo
|
||||
}
|
||||
component plugin {
|
||||
component "VNFMPlugin" as vnfm_plugin
|
||||
component "NFVOPlugin" as nfvo_plugin
|
||||
'cond <-down-> vnfm_plugin
|
||||
}
|
||||
component "vim-driver" as vim {
|
||||
component "OpenStack Driver" as os_vim
|
||||
component "Kubernetes Driver" as ks_vim
|
||||
}
|
||||
}
|
||||
|
||||
frame "tacker-conductor" as cond {
|
||||
component conductor {
|
||||
component "Conductor Server"
|
||||
}
|
||||
}
|
||||
|
||||
database "tacker DB" as db {
|
||||
component "NFVOPluginDb" as db_nfvo
|
||||
component "VNFMPluginDb" as db_vnfm
|
||||
component "MariaDB" as maria
|
||||
db_nfvo <-down-> maria
|
||||
db_vnfm <-down-> maria
|
||||
}
|
||||
|
||||
cloud "NFV infrastructures" as nfv_infra {
|
||||
node "OpenStack" as os {
|
||||
node "VNF (VM)" as vm
|
||||
}
|
||||
node "Kubernetes" as ks {
|
||||
node "VNF (Container)" as container
|
||||
}
|
||||
'vm -[hidden]up- ks
|
||||
}
|
||||
|
||||
'# Relationships
|
||||
client <-down-> nfvo
|
||||
|
||||
vnfm <-down-> vnfm_plugin
|
||||
nfvo <-down-> nfvo_plugin
|
||||
|
||||
vnfm_plugin <-down-> db_vnfm
|
||||
nfvo_plugin <-down-> db_nfvo
|
||||
|
||||
nfvo_plugin <-down-> os_vim
|
||||
nfvo_plugin <-down-> ks_vim
|
||||
|
||||
os_vim <-down-> os
|
||||
ks_vim <-down-> ks
|
||||
|
||||
cond <-[hidden]left-> server
|
||||
|
||||
@enduml
|
||||
|
||||
@startuml
|
||||
|
||||
component "tacker-client" as client
|
||||
|
||||
frame "tacker-server" {
|
||||
component server {
|
||||
component "Vnfm" as vnfm
|
||||
component "Nfvo" as nfvo
|
||||
}
|
||||
component plugin {
|
||||
component "VNFMPlugin" as vnfm_plugin
|
||||
component "NFVOPlugin" as nfvo_plugin
|
||||
}
|
||||
component "vim-driver" as vim {
|
||||
component "OpenStack Driver" as os_vim
|
||||
component "Kubernetes Driver" as ks_vim
|
||||
}
|
||||
}
|
||||
|
||||
frame "tacker-conductor" as cond {
|
||||
component conductor {
|
||||
component "Conductor Server"
|
||||
}
|
||||
}
|
||||
|
||||
database "tacker DB" as db {
|
||||
component "NFVOPluginDb" as db_nfvo
|
||||
component "VNFMPluginDb" as db_vnfm
|
||||
component "MariaDB" as maria
|
||||
db_nfvo <-down-> maria
|
||||
db_vnfm <-down-> maria
|
||||
}
|
||||
|
||||
cloud "NFV infrastructures" as nfv_infra {
|
||||
node "OpenStack" as os {
|
||||
node "VNF (VM)" as vm
|
||||
}
|
||||
node "Kubernetes" as ks {
|
||||
node "VNF (Container)" as container
|
||||
}
|
||||
}
|
||||
|
||||
client <-down-> nfvo
|
||||
|
||||
vnfm <-down-> vnfm_plugin
|
||||
nfvo <-down-> nfvo_plugin
|
||||
|
||||
vnfm_plugin <-down-> db_vnfm
|
||||
nfvo_plugin <-down-> db_nfvo
|
||||
|
||||
nfvo_plugin <-down-> os_vim
|
||||
nfvo_plugin <-down-> ks_vim
|
||||
|
||||
os_vim <-down-> os
|
||||
ks_vim <-down-> ks
|
||||
|
||||
cond <-[hidden]left-> server
|
||||
|
||||
@enduml
|
||||
|
||||
PlantUML version 1.2022.7(Mon Aug 22 17:01:30 UTC 2022)
|
||||
(GPL source distribution)
|
||||
Java Runtime: OpenJDK Runtime Environment
|
||||
JVM: OpenJDK 64-Bit Server VM
|
||||
Default Encoding: UTF-8
|
||||
Language: en
|
||||
Country: US
|
||||
--></g></svg>
|
After Width: | Height: | Size: 25 KiB |
Binary file not shown.
Before Width: | Height: | Size: 51 KiB |
@ -47,7 +47,7 @@ see `Middleware Architecture`_.
|
||||
|
||||
$ vi /etc/tacker/api-paste.ini
|
||||
[composite:tackerapi_v1_0]
|
||||
keystone = request_id catch_errors alarm_receiver external_oauth2_token keystonecontext extensions tackerapiapp_v1_0
|
||||
keystone = request_id catch_errors external_oauth2_token keystonecontext extensions tackerapiapp_v1_0
|
||||
|
||||
[composite:vnfpkgmapi_v1]
|
||||
keystone = request_id catch_errors external_oauth2_token keystonecontext vnfpkgmapp_v1
|
||||
|
@ -136,8 +136,8 @@ identity, see `Middleware Architecture`_.
|
||||
|
||||
$ vi /etc/tacker/api-paste.ini
|
||||
[composite:tackerapi_v1_0]
|
||||
#keystone = request_id catch_errors alarm_receiver authtoken keystonecontext extensions tackerapiapp_v1_0
|
||||
keystone = request_id catch_errors alarm_receiver oauth2token keystonecontext extensions tackerapiapp_v1_0
|
||||
#keystone = request_id catch_errors authtoken keystonecontext extensions tackerapiapp_v1_0
|
||||
keystone = request_id catch_errors oauth2token keystonecontext extensions tackerapiapp_v1_0
|
||||
|
||||
[composite:vnfpkgmapi_v1]
|
||||
#keystone = request_id catch_errors authtoken keystonecontext vnfpkgmapp_v1
|
||||
|
@ -233,10 +233,6 @@ Installing Tacker Server
|
||||
|
||||
[database]
|
||||
connection = mysql+pymysql://tacker:<TACKERDB_PASSWORD>@<MYSQL_IP>:3306/tacker?charset=utf8
|
||||
...
|
||||
|
||||
[tacker]
|
||||
monitor_driver = ping,http_ping
|
||||
|
||||
#. Copy the ``tacker.conf`` to ``/etc/tacker/`` directory.
|
||||
|
||||
|
@ -58,7 +58,7 @@ ETSI NFV-SOL Tacker Implementation
|
||||
|
||||
Tacker ETSI NFV-SOL based implementation is described as the following:
|
||||
|
||||
.. figure:: ../_images/tacker-design-etsi.png
|
||||
.. figure:: ../_images/tacker-design-etsi.svg
|
||||
:figwidth: 700 px
|
||||
:align: left
|
||||
:width: 700 px
|
||||
@ -77,12 +77,8 @@ executed in tacker-server with DB queries. The others are redirected to
|
||||
infra-driver to execute the actual logics for control and management of
|
||||
virtualised resources.
|
||||
|
||||
Tacker also provides configuring and monitoring system for VNF. The
|
||||
mgmt-driver or monitor-driver can be called by `Conductor Server`. In Ussuri
|
||||
release, OpenWRT for mgmt-driver and Ping/Zabbix for monitor-driver are
|
||||
available.
|
||||
|
||||
.. TODO(yoshito-ito): add ActionDriver after the implementation.
|
||||
Tacker also provides configuring system for VNF. The mgmt-driver can be called
|
||||
by `Conductor Server`.
|
||||
|
||||
.. note:: VIM related operations such as "Register VIM" and "Update VIM" are
|
||||
not defined in ETSI NFV-SOL. Users may need to use legacy Tacker.
|
||||
@ -92,18 +88,20 @@ Legacy Tacker Implementation
|
||||
|
||||
Legacy Tacker implementation is described as the following:
|
||||
|
||||
.. figure:: ../_images/tacker-design-legacy.png
|
||||
.. figure:: ../_images/tacker-design-legacy.svg
|
||||
:figwidth: 800 px
|
||||
:align: left
|
||||
:width: 800 px
|
||||
|
||||
When a REST API call is sent to tacker-server, VNFM and NFVO plugins handle
|
||||
the request and execute connected methods in each plugin. The each plugin
|
||||
(NFVOPlugin or VNFMPlugin) invokes required driver methods such as
|
||||
mgmt-driver, monitor-driver, infra-driver, and vim-driver.
|
||||
the request and execute connected methods in each plugin. The NFVO plugin
|
||||
invokes required vim-driver methods.
|
||||
|
||||
.. TODO(yoshito-ito): check the new fenix driver to add here.
|
||||
.. note:: Legacy API features other than the VIM feature have been deprecated.
|
||||
So only Nfvo receives the API from the tacker-client, but Vnfm and
|
||||
VNFMPlugin remain because they are used by VNF LCM API V1.
|
||||
|
||||
.. _NFV-SOL002 : https://portal.etsi.org/webapp/WorkProgram/Report_WorkItem.asp?WKI_ID=49492
|
||||
.. _NFV-SOL003 : https://portal.etsi.org/webapp/WorkProgram/Report_WorkItem.asp?WKI_ID=49506
|
||||
.. _NFV-SOL005 : https://portal.etsi.org/webapp/WorkProgram/Report_WorkItem.asp?WKI_ID=50935
|
||||
|
||||
|
@ -370,7 +370,6 @@ The sample script (``kubernetes_mgmt.py``) uses the
|
||||
...
|
||||
tacker.tacker.mgmt.drivers =
|
||||
noop = tacker.vnfm.mgmt_drivers.noop:VnfMgmtNoop
|
||||
openwrt = tacker.vnfm.mgmt_drivers.openwrt.openwrt:VnfMgmtOpenWRT
|
||||
vnflcm_noop = tacker.vnfm.mgmt_drivers.vnflcm_noop:VnflcmMgmtNoop
|
||||
mgmt-drivers-kubernetes = tacker.vnfm.mgmt_drivers.kubernetes_mgmt:KubernetesMgmtDriver
|
||||
...
|
||||
|
@ -344,7 +344,6 @@ of the tacker.
|
||||
...
|
||||
tacker.tacker.mgmt.drivers =
|
||||
noop = tacker.vnfm.mgmt_drivers.noop:VnfMgmtNoop
|
||||
openwrt = tacker.vnfm.mgmt_drivers.openwrt.openwrt:VnfMgmtOpenWRT
|
||||
vnflcm_noop = tacker.vnfm.mgmt_drivers.vnflcm_noop:VnflcmMgmtNoop
|
||||
ansible_driver = tacker.vnfm.mgmt_drivers.ansible.ansible:DeviceMgmtAnsible
|
||||
|
||||
|
@ -1,34 +0,0 @@
|
||||
- event_type: 'maintenance.scheduled'
|
||||
traits:
|
||||
service:
|
||||
fields: payload.service
|
||||
allowed_actions:
|
||||
fields: payload.allowed_actions
|
||||
instance_ids:
|
||||
fields: payload.instance_ids
|
||||
reply_url:
|
||||
fields: payload.reply_url
|
||||
state:
|
||||
fields: payload.state
|
||||
session_id:
|
||||
fields: payload.session_id
|
||||
actions_at:
|
||||
fields: payload.actions_at
|
||||
type: datetime
|
||||
project_id:
|
||||
fields: payload.project_id
|
||||
reply_at:
|
||||
fields: payload.reply_at
|
||||
type: datetime
|
||||
metadata:
|
||||
fields: payload.metadata
|
||||
- event_type: 'maintenance.host'
|
||||
traits:
|
||||
host:
|
||||
fields: payload.host
|
||||
project_id:
|
||||
fields: payload.project_id
|
||||
session_id:
|
||||
fields: payload.session_id
|
||||
state:
|
||||
fields: payload.state
|
@ -11,7 +11,6 @@ namespace = oslo.policy
|
||||
namespace = oslo.reports
|
||||
namespace = oslo.service.periodic_tasks
|
||||
namespace = oslo.service.service
|
||||
namespace = tacker.alarm_receiver
|
||||
namespace = tacker.auth
|
||||
namespace = tacker.common.config
|
||||
namespace = tacker.common.ext_oauth2_auth
|
||||
@ -21,18 +20,12 @@ namespace = tacker.keymgr
|
||||
namespace = tacker.nfvo.drivers.vim.kubernetes_driver
|
||||
namespace = tacker.nfvo.drivers.vim.openstack_driver
|
||||
namespace = tacker.nfvo.nfvo_plugin
|
||||
namespace = tacker.plugins.fenix
|
||||
namespace = tacker.service
|
||||
namespace = tacker.sol_refactored.common.config
|
||||
namespace = tacker.vnflcm.vnflcm_driver
|
||||
namespace = tacker.vnfm.infra_drivers.kubernetes.kubernetes_driver
|
||||
namespace = tacker.vnfm.infra_drivers.openstack.openstack
|
||||
namespace = tacker.vnfm.infra_drivers.openstack.translate_template
|
||||
namespace = tacker.vnfm.mgmt_drivers.openwrt.openwrt
|
||||
namespace = tacker.vnfm.monitor
|
||||
namespace = tacker.vnfm.monitor_drivers.ceilometer.ceilometer
|
||||
namespace = tacker.vnfm.monitor_drivers.http_ping.http_ping
|
||||
namespace = tacker.vnfm.monitor_drivers.ping.ping
|
||||
namespace = tacker.vnfm.nfvo_client
|
||||
namespace = tacker.vnfm.plugin
|
||||
namespace = tacker.wsgi
|
@ -18,7 +18,7 @@ use = egg:Paste#urlmap
|
||||
[composite:tackerapi_v1_0]
|
||||
use = call:tacker.auth:pipeline_factory
|
||||
noauth = request_id catch_errors extensions tackerapiapp_v1_0
|
||||
keystone = request_id catch_errors alarm_receiver authtoken keystonecontext extensions tackerapiapp_v1_0
|
||||
keystone = request_id catch_errors authtoken keystonecontext extensions tackerapiapp_v1_0
|
||||
|
||||
[composite:vnfpkgmapi_v1]
|
||||
use = call:tacker.auth:pipeline_factory
|
||||
@ -56,9 +56,6 @@ paste.filter_factory = oslo_middleware:RequestId.factory
|
||||
[filter:catch_errors]
|
||||
paste.filter_factory = oslo_middleware:CatchErrors.factory
|
||||
|
||||
[filter:alarm_receiver]
|
||||
paste.filter_factory = tacker.alarm_receiver:AlarmReceiver.factory
|
||||
|
||||
[filter:keystonecontext]
|
||||
paste.filter_factory = tacker.auth:TackerKeystoneContext.factory
|
||||
|
||||
|
@ -0,0 +1,4 @@
|
||||
---
|
||||
upgrade:
|
||||
- |
|
||||
Legacy APIs excluding VIM feature are obsoleted.
|
@ -1,13 +1,3 @@
|
||||
# Currently the plugins which implicitly require db cli to be
|
||||
# pre-installed when the database is remote (i.e., MYSQL_HOST
|
||||
# != host-where-it-is-enabled) is only ceilometer. So it'd be
|
||||
# more accurate to set the outermost 'when' condition like:
|
||||
#
|
||||
# when:
|
||||
# - devstack_plugins['ceilometer'] | default(false)
|
||||
# - devstack_localrc['DATABASE_TYPE'] is defined
|
||||
#
|
||||
# Either is fine so let's dispense with it to keep it simple.
|
||||
- block:
|
||||
- name: install mysql client if needed
|
||||
include_tasks: mysql.yaml
|
||||
|
Binary file not shown.
@ -1,53 +0,0 @@
|
||||
---
|
||||
version: '2.0'
|
||||
|
||||
std.create_vnf:
|
||||
type: direct
|
||||
|
||||
description: |
|
||||
Create a VNF and waits till VNF is active.
|
||||
|
||||
input:
|
||||
- body
|
||||
output:
|
||||
vnf_id: <% $.vnf_id %>
|
||||
vim_id: <% $.vim_id %>
|
||||
mgmt_ip_address: <% $.mgmt_ip_address %>
|
||||
status: <% $.status %>
|
||||
|
||||
task-defaults:
|
||||
on-error:
|
||||
- delete_vnf
|
||||
|
||||
tasks:
|
||||
create_vnf:
|
||||
description: Request to create a VNF.
|
||||
action: tacker.create_vnf body=<% $.body %>
|
||||
input:
|
||||
body: <% $.body %>
|
||||
publish:
|
||||
vnf_id: <% task(create_vnf).result.vnf.id %>
|
||||
vim_id: <% task(create_vnf).result.vnf.vim_id %>
|
||||
mgmt_ip_address: <% task(create_vnf).result.vnf.mgmt_ip_address %>
|
||||
status: <% task(create_vnf).result.vnf.status %>
|
||||
on-success:
|
||||
- wait_vnf_active
|
||||
|
||||
wait_vnf_active:
|
||||
description: Waits till VNF is ACTIVE.
|
||||
action: tacker.show_vnf vnf=<% $.vnf_id %>
|
||||
retry:
|
||||
count: 10
|
||||
delay: 10
|
||||
break-on: <% $.status = 'ACTIVE' %>
|
||||
break-on: <% $.status = 'ERROR' %>
|
||||
continue-on: <% $.status = 'PENDING_CREATE' %>
|
||||
publish:
|
||||
mgmt_ip_address: <% task(wait_vnf_active).result.vnf.mgmt_ip_address %>
|
||||
status: <% task(wait_vnf_active).result.vnf.status %>
|
||||
on-success:
|
||||
- delete_vnf: <% $.status = 'ERROR' %>
|
||||
|
||||
delete_vnf:
|
||||
description: Request to delete a VNF.
|
||||
action: tacker.delete_vnf vnf=<% $.vnf_id %>
|
@ -1,22 +0,0 @@
|
||||
---
|
||||
version: '2.0'
|
||||
|
||||
std.create_vnfd:
|
||||
type: direct
|
||||
|
||||
description: |
|
||||
Create a VNFD.
|
||||
|
||||
input:
|
||||
- body
|
||||
output:
|
||||
vnfd_id: <% $.vnfd_id %>
|
||||
|
||||
tasks:
|
||||
create_vnfd:
|
||||
description: Request to create a VNFD.
|
||||
action: tacker.create_vnfd body=<% $.body %>
|
||||
input:
|
||||
body: <% $.body %>
|
||||
publish:
|
||||
vnfd_id: <% task(create_vnfd).result.vnfd.id %>
|
@ -1,16 +0,0 @@
|
||||
---
|
||||
version: '2.0'
|
||||
|
||||
std.delete_vnf:
|
||||
type: direct
|
||||
|
||||
description: |
|
||||
Delete a VNF.
|
||||
|
||||
input:
|
||||
- vnf_id
|
||||
|
||||
tasks:
|
||||
delete_vnf:
|
||||
description: Request to delete a VNF.
|
||||
action: tacker.delete_vnf vnf=<% $.vnf_id %>
|
@ -1,16 +0,0 @@
|
||||
---
|
||||
version: '2.0'
|
||||
|
||||
std.delete_vnfd:
|
||||
type: direct
|
||||
|
||||
description: |
|
||||
Delete a VNFD.
|
||||
|
||||
input:
|
||||
- vnfd_id
|
||||
|
||||
tasks:
|
||||
delete_vnfd:
|
||||
description: Request to delete a VNFD.
|
||||
action: tacker.delete_vnfd vnfd=<% $.vnfd_id %>
|
@ -1,11 +0,0 @@
|
||||
{
|
||||
"body": {
|
||||
"vnf": {
|
||||
"attributes": {},
|
||||
"vim_id": "",
|
||||
"description": "Sample for tacker.create_vnf action",
|
||||
"vnfd_id": "dda99d4c-f24d-4550-b104-0958fef427b3",
|
||||
"name": "tacker-create-vnf"
|
||||
}
|
||||
}
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
{
|
||||
"body":{
|
||||
"vnfd":{
|
||||
"attributes":{
|
||||
"vnfd":"tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0\n\ndescription: Demo example\n\nmetadata:\n template_name: sample-tosca-vnfd\n\ntopology_template:\n node_templates:\n VDU1:\n type: tosca.nodes.nfv.VDU.Tacker\n properties:\n image: cirros-0.5.2-x86_64-disk\n flavor: m1.tiny\n availability_zone: nova\n mgmt_driver: noop\n config: |\n param0: key1\n param1: key2\n\n CP1:\n type: tosca.nodes.nfv.CP.Tacker\n properties:\n management: true\n anti_spoofing_protection: false\n requirements:\n - virtualLink:\n node: VL1\n - virtualBinding:\n node: VDU1\n\n CP2:\n type: tosca.nodes.nfv.CP.Tacker\n properties:\n anti_spoofing_protection: false\n requirements:\n - virtualLink:\n node: VL2\n - virtualBinding:\n node: VDU1\n\n CP3:\n type: tosca.nodes.nfv.CP.Tacker\n properties:\n anti_spoofing_protection: false\n requirements:\n - virtualLink:\n node: VL3\n - virtualBinding:\n node: VDU1\n\n VL1:\n type: tosca.nodes.nfv.VL\n properties:\n network_name: net_mgmt\n vendor: Tacker\n\n VL2:\n type: tosca.nodes.nfv.VL\n properties:\n network_name: net0\n vendor: Tacker\n\n VL3:\n type: tosca.nodes.nfv.VL\n properties:\n network_name: net1\n vendor: Tacker\n"
|
||||
},
|
||||
"name":"tacker-create-vnfd"
|
||||
}
|
||||
}
|
||||
}
|
@ -1,3 +0,0 @@
|
||||
{
|
||||
"vnf_id": "d7606ee7-053a-4064-bb67-501ac704a6ed"
|
||||
}
|
@ -1,3 +0,0 @@
|
||||
{
|
||||
"vnfd_id": "ad78e292-6b0b-47b5-80f4-3abe9e9c7e12"
|
||||
}
|
@ -1,2 +0,0 @@
|
||||
#!/bin/sh
|
||||
echo "Successfully installed VNFC" > /tacker
|
@ -1,5 +0,0 @@
|
||||
nsd:
|
||||
vl1_name: net_mgmt
|
||||
vl2_name: net0
|
||||
net_src_port_id: c0a40f9c-d229-40b7-871f-55131cf17783
|
||||
ip_dest_prefix: 10.10.0.11/24
|
@ -1,58 +0,0 @@
|
||||
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
|
||||
description: Demo example
|
||||
|
||||
metadata:
|
||||
template_name: sample-tosca-vnfd
|
||||
|
||||
topology_template:
|
||||
node_templates:
|
||||
VDU1:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
capabilities:
|
||||
nfv_compute:
|
||||
properties:
|
||||
disk_size: 1 GB
|
||||
mem_size: 512 MB
|
||||
num_cpus: 2
|
||||
properties:
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
mgmt_driver: noop
|
||||
availability_zone: nova
|
||||
metadata: {metering.server_group: VDU1}
|
||||
|
||||
CP1:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
VL1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net_mgmt
|
||||
vendor: Tacker
|
||||
|
||||
policies:
|
||||
- vdu1_cpu_usage_monitoring_policy:
|
||||
type: tosca.policies.tacker.Alarming
|
||||
triggers:
|
||||
vdu_hcpu_usage_respawning:
|
||||
event_type:
|
||||
type: tosca.events.resource.utilization
|
||||
implementation: ceilometer
|
||||
metric: cpu_util
|
||||
condition:
|
||||
threshold: 50
|
||||
constraint: utilization greater_than 50%
|
||||
granularity: 600
|
||||
evaluations: 1
|
||||
aggregation_method: mean
|
||||
resource_type: instance
|
||||
comparison_operator: gt
|
||||
metadata: VDU1
|
||||
action: [respawn]
|
@ -1,84 +0,0 @@
|
||||
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
|
||||
description: Demo example
|
||||
|
||||
metadata:
|
||||
template_name: sample-tosca-vnfd
|
||||
|
||||
topology_template:
|
||||
node_templates:
|
||||
VDU1:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
capabilities:
|
||||
nfv_compute:
|
||||
properties:
|
||||
disk_size: 1 GB
|
||||
mem_size: 512 MB
|
||||
num_cpus: 2
|
||||
properties:
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
mgmt_driver: noop
|
||||
availability_zone: nova
|
||||
metadata: {metering.server_group: SG1}
|
||||
|
||||
CP1:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
VL1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net_mgmt
|
||||
vendor: Tacker
|
||||
|
||||
policies:
|
||||
- SP1:
|
||||
type: tosca.policies.tacker.Scaling
|
||||
properties:
|
||||
targets: [VDU1]
|
||||
increment: 1
|
||||
cooldown: 60
|
||||
min_instances: 1
|
||||
max_instances: 3
|
||||
default_instances: 2
|
||||
|
||||
- vdu_cpu_usage_monitoring_policy:
|
||||
type: tosca.policies.tacker.Alarming
|
||||
triggers:
|
||||
vdu_hcpu_usage_scaling_out:
|
||||
event_type:
|
||||
type: tosca.events.resource.utilization
|
||||
implementation: ceilometer
|
||||
metric: cpu_util
|
||||
condition:
|
||||
threshold: 50
|
||||
constraint: utilization greater_than 50%
|
||||
granularity: 600
|
||||
evaluations: 1
|
||||
aggregation_method: mean
|
||||
resource_type: instance
|
||||
comparison_operator: gt
|
||||
metadata: SG1
|
||||
action: [SP1]
|
||||
|
||||
vdu_hcpu_usage_scaling_in:
|
||||
event_type:
|
||||
type: tosca.events.resource.utilization
|
||||
implementation: ceilometer
|
||||
metric: cpu_util
|
||||
condition:
|
||||
threshold: 10
|
||||
constraint: utilization less_than 10%
|
||||
granularity: 600
|
||||
evaluations: 1
|
||||
aggregation_method: mean
|
||||
resource_type: instance
|
||||
comparison_operator: lt
|
||||
metadata: SG1
|
||||
action: [SP1]
|
@ -1,50 +0,0 @@
|
||||
|
||||
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
|
||||
|
||||
description: sample-tosca-vnfd-scaling
|
||||
|
||||
metadata:
|
||||
template_name: sample-tosca-vnfd-scaling
|
||||
|
||||
topology_template:
|
||||
node_templates:
|
||||
VDU1:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
capabilities:
|
||||
nfv_compute:
|
||||
properties:
|
||||
num_cpus: 1
|
||||
mem_size: 512 MB
|
||||
disk_size: 1 GB
|
||||
properties:
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
mgmt_driver: noop
|
||||
availability_zone: nova
|
||||
|
||||
CP1:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
VL1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net_mgmt
|
||||
vendor: Tacker
|
||||
|
||||
policies:
|
||||
- SP1:
|
||||
type: tosca.policies.tacker.Scaling
|
||||
properties:
|
||||
targets: [VDU1]
|
||||
increment: 1
|
||||
cooldown: 60
|
||||
min_instances: 1
|
||||
max_instances: 3
|
||||
default_instances: 2
|
@ -1,10 +0,0 @@
|
||||
{
|
||||
image_source: 'http://download.cirros-cloud.net/0.5.2/cirros-0.5.2-x86_64-disk.img',
|
||||
flavor: 'm1.tiny',
|
||||
zone: 'nova',
|
||||
network: 'net_mgmt',
|
||||
management: 'true',
|
||||
pkt_in_network: 'net0',
|
||||
pkt_out_network: 'net1',
|
||||
vendor: 'tacker'
|
||||
}
|
@ -1,3 +0,0 @@
|
||||
{
|
||||
flavor: 'm1.small'
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
{
|
||||
image_name: 'cirros-0.5.2-x86_64-disk',
|
||||
flavor: 'm1.tiny',
|
||||
zone: 'nova',
|
||||
network: 'net_mgmt',
|
||||
management: 'true',
|
||||
pkt_in_network: 'net0',
|
||||
pkt_out_network: 'net1',
|
||||
vendor: 'tacker'
|
||||
}
|
@ -1,164 +0,0 @@
|
||||
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
|
||||
|
||||
description: Demo example
|
||||
|
||||
metadata:
|
||||
template_name: sample-tosca-vnfd
|
||||
|
||||
topology_template:
|
||||
node_templates:
|
||||
VDU1:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
properties:
|
||||
name: anti-affinity-vdu-insufficient-comp-nodes
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
flavor: m1.tiny
|
||||
availability_zone: nova
|
||||
mgmt_driver: noop
|
||||
config: |
|
||||
param0: key1
|
||||
param1: key2
|
||||
|
||||
CP11:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
CP12:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL2
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
CP13:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL3
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
VDU2:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
properties:
|
||||
name: anti-affinity-vdu-insufficient-comp-nodes
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
flavor: m1.medium
|
||||
availability_zone: nova
|
||||
mgmt_driver: noop
|
||||
config: |
|
||||
param0: key1
|
||||
param1: key2
|
||||
|
||||
CP21:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU2
|
||||
|
||||
CP22:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL2
|
||||
- virtualBinding:
|
||||
node: VDU2
|
||||
|
||||
CP23:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL3
|
||||
- virtualBinding:
|
||||
node: VDU2
|
||||
|
||||
VDU3:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
properties:
|
||||
name: anti-affinity-vdu-insufficient-comp-nodes
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
flavor: m1.tiny
|
||||
availability_zone: nova
|
||||
mgmt_driver: noop
|
||||
config: |
|
||||
param0: key1
|
||||
param1: key2
|
||||
|
||||
CP31:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU3
|
||||
|
||||
CP32:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL2
|
||||
- virtualBinding:
|
||||
node: VDU3
|
||||
|
||||
CP33:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL3
|
||||
- virtualBinding:
|
||||
node: VDU3
|
||||
|
||||
VL1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net_mgmt
|
||||
vendor: Tacker
|
||||
|
||||
VL2:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net0
|
||||
vendor: Tacker
|
||||
|
||||
VL3:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net1
|
||||
vendor: Tacker
|
||||
|
||||
policies:
|
||||
- my_compute_placement_policy:
|
||||
type: tosca.policies.tacker.Placement
|
||||
properties:
|
||||
policy: anti-affinity
|
||||
strict: true
|
||||
description: Apply anti-affinity placement policy to the application servers
|
||||
targets: [ VDU1, VDU2, VDU3 ]
|
@ -1,59 +0,0 @@
|
||||
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
|
||||
|
||||
description: Demo example
|
||||
|
||||
metadata:
|
||||
template_name: sample-tosca-vnfd
|
||||
|
||||
topology_template:
|
||||
node_templates:
|
||||
VDU1:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
capabilities:
|
||||
nfv_compute:
|
||||
properties:
|
||||
num_cpus: 1
|
||||
mem_size: 512 MB
|
||||
disk_size: 1 GB
|
||||
properties:
|
||||
name: test-vdu-block-storage
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
availability_zone: nova
|
||||
mgmt_driver: noop
|
||||
config: |
|
||||
param0: key1
|
||||
param1: key2
|
||||
|
||||
CP1:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
name: test-cp
|
||||
management: true
|
||||
order: 0
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
VB1:
|
||||
type: tosca.nodes.BlockStorage.Tacker
|
||||
properties:
|
||||
size: 1 GB
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
|
||||
CB1:
|
||||
type: tosca.nodes.BlockStorageAttachment
|
||||
properties:
|
||||
location: /dev/vdb
|
||||
requirements:
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
- virtualAttachment:
|
||||
node: VB1
|
||||
VL1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net_mgmt
|
||||
vendor: Tacker
|
@ -1,63 +0,0 @@
|
||||
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
|
||||
|
||||
description: Demo example
|
||||
|
||||
metadata:
|
||||
template_name: sample-tosca-vnfd
|
||||
|
||||
topology_template:
|
||||
inputs:
|
||||
my_vol:
|
||||
default: 0dbf28ba-d0b7-4369-99ce-7a3c31dc996f
|
||||
description: volume id
|
||||
type: string
|
||||
node_templates:
|
||||
VDU1:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
capabilities:
|
||||
nfv_compute:
|
||||
properties:
|
||||
num_cpus: 1
|
||||
mem_size: 512 MB
|
||||
disk_size: 1 GB
|
||||
properties:
|
||||
name: test-vdu-block-storage
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
availability_zone: nova
|
||||
mgmt_driver: noop
|
||||
config: |
|
||||
param0: key1
|
||||
param1: key2
|
||||
|
||||
CP1:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
name: test-cp
|
||||
management: true
|
||||
order: 0
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
VB1:
|
||||
type: tosca.nodes.BlockStorage.Tacker
|
||||
properties:
|
||||
volume_id: my_vol
|
||||
|
||||
CB1:
|
||||
type: tosca.nodes.BlockStorageAttachment
|
||||
properties:
|
||||
location: /dev/vdb
|
||||
requirements:
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
- virtualAttachment:
|
||||
node: VB1
|
||||
VL1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net_mgmt
|
||||
vendor: Tacker
|
@ -1,68 +0,0 @@
|
||||
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
|
||||
|
||||
description: Demo example
|
||||
|
||||
metadata:
|
||||
template_name: sample-tosca-vnfd
|
||||
|
||||
topology_template:
|
||||
node_templates:
|
||||
VDU1_flavor_func:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
capabilities:
|
||||
nfv_compute:
|
||||
properties:
|
||||
num_cpus: 1
|
||||
disk_size: 1 GB
|
||||
mem_size: 512 MB
|
||||
properties:
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
availability_zone: nova
|
||||
mgmt_driver: noop
|
||||
config: |
|
||||
param0: key1
|
||||
param1: key2
|
||||
|
||||
CP1:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU1_flavor_func
|
||||
|
||||
CP2:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL2
|
||||
- virtualBinding:
|
||||
node: VDU1_flavor_func
|
||||
|
||||
CP3:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL3
|
||||
- virtualBinding:
|
||||
node: VDU1_flavor_func
|
||||
|
||||
VL1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net_mgmt
|
||||
vendor: Tacker
|
||||
|
||||
VL2:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net0
|
||||
vendor: Tacker
|
||||
|
||||
VL3:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net1
|
||||
vendor: Tacker
|
@ -1,71 +0,0 @@
|
||||
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
|
||||
|
||||
description: Demo example with auto image creation
|
||||
|
||||
metadata:
|
||||
template_name: sample-tosca-vnfd-image
|
||||
|
||||
topology_template:
|
||||
node_templates:
|
||||
VDU1_image_func:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
properties:
|
||||
flavor: m1.tiny
|
||||
availability_zone: nova
|
||||
mgmt_driver: noop
|
||||
config: |
|
||||
param0: key1
|
||||
param1: key2
|
||||
artifacts:
|
||||
VNFImage_image_func:
|
||||
type: tosca.artifacts.Deployment.Image.VM
|
||||
file: http://download.cirros-cloud.net/0.5.2/cirros-0.5.2-x86_64-disk.img
|
||||
|
||||
CP1:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU1_image_func
|
||||
|
||||
CP2:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL2
|
||||
- virtualBinding:
|
||||
node: VDU1_image_func
|
||||
|
||||
CP3:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL3
|
||||
- virtualBinding:
|
||||
node: VDU1_image_func
|
||||
|
||||
VL1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net_mgmt
|
||||
vendor: Tacker
|
||||
|
||||
VL2:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net0
|
||||
vendor: Tacker
|
||||
|
||||
VL3:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net1
|
||||
vendor: Tacker
|
@ -1,90 +0,0 @@
|
||||
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
|
||||
|
||||
description: VNF TOSCA template with flavor input parameters
|
||||
|
||||
metadata:
|
||||
template_name: sample-tosca-vnfd-instance-reservation
|
||||
|
||||
topology_template:
|
||||
node_templates:
|
||||
VDU1:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
properties:
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
flavor: { get_input: flavor }
|
||||
reservation_metadata:
|
||||
resource_type: {get_input: resource_type}
|
||||
id: { get_input: server_group_id }
|
||||
|
||||
CP1:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
order: 0
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
CP2:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
order: 1
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL2
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
CP3:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
order: 2
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL3
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
VL1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net_mgmt
|
||||
vendor: Tacker
|
||||
|
||||
VL2:
|
||||
type: tosca.nodes.nfv.VL
|
||||
|
||||
properties:
|
||||
network_name: net0
|
||||
vendor: Tacker
|
||||
|
||||
VL3:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net1
|
||||
vendor: Tacker
|
||||
|
||||
|
||||
policies:
|
||||
- RSV:
|
||||
type: tosca.policies.tacker.Reservation
|
||||
reservation:
|
||||
start_actions: [SP_RSV]
|
||||
before_end_actions: [SP_RSV]
|
||||
end_actions: [noop]
|
||||
properties:
|
||||
lease_id: { get_input: lease_id }
|
||||
- SP_RSV:
|
||||
type: tosca.policies.tacker.Scaling
|
||||
properties:
|
||||
increment: 2
|
||||
cooldown: 60
|
||||
min_instances: 0
|
||||
max_instances: 2
|
||||
default_instances: 0
|
||||
targets: [VDU1]
|
@ -1,137 +0,0 @@
|
||||
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
|
||||
|
||||
description: Demo example
|
||||
|
||||
metadata:
|
||||
template_name: sample-tosca-vnfd-large-template
|
||||
|
||||
topology_template:
|
||||
node_templates:
|
||||
VDU1:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
properties:
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
flavor: m1.tiny
|
||||
availability_zone: nova
|
||||
mgmt_driver: noop
|
||||
config: |
|
||||
param0: key1
|
||||
param1: key2
|
||||
user_data_format: RAW
|
||||
user_data: |
|
||||
#!/bin/sh
|
||||
echo "my hostname is `hostname`" > /tmp/hostname
|
||||
echo "my hostname is `hostname`" > /tmp/hostname
|
||||
echo "my hostname is `hostname`" > /tmp/hostname
|
||||
echo "my hostname is `hostname`" > /tmp/hostname
|
||||
echo "my hostname is `hostname`" > /tmp/hostname
|
||||
echo "my hostname is `hostname`" > /tmp/hostname
|
||||
echo "my hostname is `hostname`" > /tmp/hostname
|
||||
echo "my hostname is `hostname`" > /tmp/hostname
|
||||
echo "my hostname is `hostname`" > /tmp/hostname
|
||||
echo "my hostname is `hostname`" > /tmp/hostname
|
||||
echo "my hostname is `hostname`" > /tmp/hostname
|
||||
echo "my hostname is `hostname`" > /tmp/hostname
|
||||
echo "my hostname is `hostname`" > /tmp/hostname
|
||||
echo "my hostname is `hostname`" > /tmp/hostname
|
||||
echo "my hostname is `hostname`" > /tmp/hostname
|
||||
echo "my hostname is `hostname`" > /tmp/hostname
|
||||
echo "my hostname is `hostname`" > /tmp/hostname
|
||||
echo "my hostname is `hostname`" > /tmp/hostname
|
||||
echo "my hostname is `hostname`" > /tmp/hostname
|
||||
echo "my hostname is `hostname`" > /tmp/hostname
|
||||
echo "my hostname is `hostname`" > /tmp/hostname
|
||||
echo "my hostname is `hostname`" > /tmp/hostname
|
||||
echo "my hostname is `hostname`" > /tmp/hostname
|
||||
echo "my hostname is `hostname`" > /tmp/hostname
|
||||
echo "my hostname is `hostname`" > /tmp/hostname
|
||||
|
||||
CP11:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
CP12:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL2
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
VDU2:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
properties:
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
flavor: m1.medium
|
||||
availability_zone: nova
|
||||
mgmt_driver: noop
|
||||
config: |
|
||||
param0: key1
|
||||
param1: key2
|
||||
user_data_format: RAW
|
||||
user_data: |
|
||||
#!/bin/sh
|
||||
echo "my hostname is `hostname`" > /tmp/hostname
|
||||
echo "my hostname is `hostname`" > /tmp/hostname
|
||||
echo "my hostname is `hostname`" > /tmp/hostname
|
||||
echo "my hostname is `hostname`" > /tmp/hostname
|
||||
echo "my hostname is `hostname`" > /tmp/hostname
|
||||
echo "my hostname is `hostname`" > /tmp/hostname
|
||||
echo "my hostname is `hostname`" > /tmp/hostname
|
||||
echo "my hostname is `hostname`" > /tmp/hostname
|
||||
echo "my hostname is `hostname`" > /tmp/hostname
|
||||
echo "my hostname is `hostname`" > /tmp/hostname
|
||||
echo "my hostname is `hostname`" > /tmp/hostname
|
||||
echo "my hostname is `hostname`" > /tmp/hostname
|
||||
echo "my hostname is `hostname`" > /tmp/hostname
|
||||
echo "my hostname is `hostname`" > /tmp/hostname
|
||||
echo "my hostname is `hostname`" > /tmp/hostname
|
||||
echo "my hostname is `hostname`" > /tmp/hostname
|
||||
echo "my hostname is `hostname`" > /tmp/hostname
|
||||
echo "my hostname is `hostname`" > /tmp/hostname
|
||||
echo "my hostname is `hostname`" > /tmp/hostname
|
||||
echo "my hostname is `hostname`" > /tmp/hostname
|
||||
echo "my hostname is `hostname`" > /tmp/hostname
|
||||
echo "my hostname is `hostname`" > /tmp/hostname
|
||||
echo "my hostname is `hostname`" > /tmp/hostname
|
||||
echo "my hostname is `hostname`" > /tmp/hostname
|
||||
echo "my hostname is `hostname`" > /tmp/hostname
|
||||
|
||||
CP21:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU2
|
||||
|
||||
CP22:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL2
|
||||
- virtualBinding:
|
||||
node: VDU2
|
||||
|
||||
VL1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net_mgmt
|
||||
vendor: Tacker
|
||||
|
||||
VL2:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net0
|
||||
vendor: Tacker
|
@ -1,51 +0,0 @@
|
||||
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
|
||||
|
||||
description: Maintenance VNF with Fenix
|
||||
|
||||
metadata:
|
||||
template_name: tosca-vnfd-maintenance
|
||||
|
||||
topology_template:
|
||||
node_templates:
|
||||
VDU1:
|
||||
capabilities:
|
||||
nfv_compute:
|
||||
properties:
|
||||
disk_size: 15 GB
|
||||
mem_size: 2048 MB
|
||||
num_cpus: 2
|
||||
properties:
|
||||
availability_zone: nova
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
maintenance: true
|
||||
mgmt_driver: noop
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
|
||||
CP11:
|
||||
properties:
|
||||
anti_spoofing_protection: false
|
||||
management: true
|
||||
order: 0
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
|
||||
VL1:
|
||||
properties:
|
||||
network_name: net_mgmt
|
||||
vendor: Tacker
|
||||
type: tosca.nodes.nfv.VL
|
||||
policies:
|
||||
- SP1:
|
||||
properties:
|
||||
cooldown: 120
|
||||
default_instances: 3
|
||||
increment: 1
|
||||
max_instances: 3
|
||||
min_instances: 1
|
||||
targets:
|
||||
- VDU1
|
||||
type: tosca.policies.tacker.Scaling
|
@ -1,52 +0,0 @@
|
||||
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
|
||||
|
||||
description: VNFD With Ping Monitor
|
||||
|
||||
metadata:
|
||||
template_name: sample-tosca-vnfd-monitor
|
||||
|
||||
topology_template:
|
||||
node_templates:
|
||||
|
||||
VDU1:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
properties:
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
flavor: m1.tiny
|
||||
config: |
|
||||
param0: key1
|
||||
param1: key2
|
||||
monitoring_policy:
|
||||
name: ping
|
||||
actions:
|
||||
failure: respawn
|
||||
parameters:
|
||||
count: 3
|
||||
interval: 10
|
||||
monitoring_delay: 45
|
||||
timeout: 2
|
||||
config_drive: true
|
||||
user_data_format: RAW
|
||||
user_data: |
|
||||
#!/bin/sh
|
||||
echo "my hostname is `hostname`" > /tmp/hostname
|
||||
df -h > /tmp/test.txt
|
||||
sleep 90
|
||||
sudo ifdown eth0
|
||||
|
||||
CP1:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
VL1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net_mgmt
|
||||
vendor: Tacker
|
@ -1,88 +0,0 @@
|
||||
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
|
||||
description: Demo example
|
||||
|
||||
metadata:
|
||||
template_name: sample-tosca-vnfd
|
||||
|
||||
topology_template:
|
||||
node_templates:
|
||||
VDU1:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
capabilities:
|
||||
nfv_compute:
|
||||
properties:
|
||||
disk_size: 1 GB
|
||||
mem_size: 512 MB
|
||||
num_cpus: 1
|
||||
properties:
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
mgmt_driver: noop
|
||||
availability_zone: nova
|
||||
mgmt_driver: noop
|
||||
monitoring_policy:
|
||||
name: ping
|
||||
parameters:
|
||||
monitoring_delay: 45
|
||||
count: 3
|
||||
interval: 1
|
||||
timeout: 2
|
||||
actions:
|
||||
failure: vdu_autoheal
|
||||
|
||||
CP1:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
VDU2:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
capabilities:
|
||||
nfv_compute:
|
||||
properties:
|
||||
disk_size: 1 GB
|
||||
mem_size: 512 MB
|
||||
num_cpus: 1
|
||||
properties:
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
mgmt_driver: noop
|
||||
availability_zone: nova
|
||||
mgmt_driver: noop
|
||||
monitoring_policy:
|
||||
name: ping
|
||||
parameters:
|
||||
monitoring_delay: 45
|
||||
count: 3
|
||||
interval: 1
|
||||
timeout: 2
|
||||
actions:
|
||||
failure: vdu_autoheal
|
||||
user_data_format: RAW
|
||||
user_data: |
|
||||
#!/bin/sh
|
||||
echo "my hostname is `hostname`" > /tmp/hostname
|
||||
df -h > /home/cirros/diskinfo
|
||||
sleep 90
|
||||
sudo ifdown eth0
|
||||
|
||||
CP2:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU2
|
||||
|
||||
VL1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net_mgmt
|
||||
vendor: Tacker
|
@ -1,175 +0,0 @@
|
||||
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
|
||||
|
||||
description: Multi VDU monitoring example
|
||||
|
||||
metadata:
|
||||
template_name: sample-tosca-multi-vdu-monitoring
|
||||
|
||||
topology_template:
|
||||
node_templates:
|
||||
VDU1:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
properties:
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
flavor: m1.tiny
|
||||
availability_zone: nova
|
||||
mgmt_driver: noop
|
||||
config: |
|
||||
param0: key1
|
||||
param1: key2
|
||||
mgmt_driver: noop
|
||||
monitoring_policy:
|
||||
name: ping
|
||||
actions:
|
||||
failure: respawn
|
||||
parameters:
|
||||
count: 3
|
||||
interval: 10
|
||||
monitoring_delay: 45
|
||||
timeout: 2
|
||||
|
||||
CP11:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
anti_spoofing_protection: True
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
CP12:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL2
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
CP13:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL3
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
VDU2:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
properties:
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
flavor: m1.tiny
|
||||
availability_zone: nova
|
||||
mgmt_driver: noop
|
||||
config: |
|
||||
param0: key1
|
||||
param1: key2
|
||||
monitoring_policy:
|
||||
name: ping
|
||||
actions:
|
||||
failure: respawn
|
||||
parameters:
|
||||
count: 3
|
||||
interval: 10
|
||||
monitoring_delay: 45
|
||||
timeout: 2
|
||||
|
||||
CP21:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU2
|
||||
|
||||
CP22:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL2
|
||||
- virtualBinding:
|
||||
node: VDU2
|
||||
|
||||
CP23:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL3
|
||||
- virtualBinding:
|
||||
node: VDU2
|
||||
|
||||
VDU3:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
properties:
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
flavor: m1.tiny
|
||||
availability_zone: nova
|
||||
mgmt_driver: noop
|
||||
monitoring_policy:
|
||||
name: ping
|
||||
actions:
|
||||
failure: respawn
|
||||
parameters:
|
||||
count: 3
|
||||
interval: 10
|
||||
monitoring_delay: 45
|
||||
timeout: 2
|
||||
config_drive: true
|
||||
user_data_format: RAW
|
||||
user_data: |
|
||||
#!/bin/sh
|
||||
echo "my hostname is `hostname`" > /tmp/hostname
|
||||
df -h > /home/cirros/diskinfo
|
||||
sleep 90
|
||||
sudo ifdown eth0
|
||||
|
||||
CP31:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU3
|
||||
|
||||
CP32:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL2
|
||||
- virtualBinding:
|
||||
node: VDU3
|
||||
|
||||
CP33:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL3
|
||||
- virtualBinding:
|
||||
node: VDU3
|
||||
|
||||
VL1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net_mgmt
|
||||
vendor: Tacker
|
||||
|
||||
VL2:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net0
|
||||
vendor: Tacker
|
||||
|
||||
VL3:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net1
|
||||
vendor: Tacker
|
@ -1,152 +0,0 @@
|
||||
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
|
||||
|
||||
description: Demo example
|
||||
|
||||
metadata:
|
||||
template_name: sample-tosca-vnfd
|
||||
|
||||
topology_template:
|
||||
node_templates:
|
||||
VDU1:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
properties:
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
flavor: m1.tiny
|
||||
availability_zone: nova
|
||||
mgmt_driver: noop
|
||||
config: |
|
||||
param0: key1
|
||||
param1: key2
|
||||
|
||||
CP11:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
CP12:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL2
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
CP13:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL3
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
VDU2:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
properties:
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
flavor: m1.medium
|
||||
availability_zone: nova
|
||||
mgmt_driver: noop
|
||||
config: |
|
||||
param0: key1
|
||||
param1: key2
|
||||
|
||||
CP21:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU2
|
||||
|
||||
CP22:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL2
|
||||
- virtualBinding:
|
||||
node: VDU2
|
||||
|
||||
CP23:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL3
|
||||
- virtualBinding:
|
||||
node: VDU2
|
||||
|
||||
VDU3:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
properties:
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
flavor: m1.tiny
|
||||
availability_zone: nova
|
||||
mgmt_driver: noop
|
||||
config: |
|
||||
param0: key1
|
||||
param1: key2
|
||||
|
||||
CP31:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU3
|
||||
|
||||
CP32:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL2
|
||||
- virtualBinding:
|
||||
node: VDU3
|
||||
|
||||
CP33:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL3
|
||||
- virtualBinding:
|
||||
node: VDU3
|
||||
|
||||
VL1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net_mgmt
|
||||
vendor: Tacker
|
||||
|
||||
VL2:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net0
|
||||
vendor: Tacker
|
||||
|
||||
VL3:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net1
|
||||
vendor: Tacker
|
@ -1,35 +0,0 @@
|
||||
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
|
||||
|
||||
description: VNFD With no Monitor
|
||||
|
||||
metadata:
|
||||
template_name: sample-tosca-vnfd-no-monitor
|
||||
|
||||
topology_template:
|
||||
node_templates:
|
||||
|
||||
VDU1:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
properties:
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
flavor: m1.tiny
|
||||
config: |
|
||||
param0: key1
|
||||
param1: key2
|
||||
|
||||
CP1:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
VL1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net_mgmt
|
||||
vendor: TACKER
|
@ -1,104 +0,0 @@
|
||||
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
|
||||
|
||||
description: VNF TOSCA template with input parameters
|
||||
|
||||
metadata:
|
||||
template_name: sample-tosca-vnfd
|
||||
|
||||
topology_template:
|
||||
inputs:
|
||||
image_source:
|
||||
type: string
|
||||
description: Image source
|
||||
|
||||
flavor:
|
||||
type: string
|
||||
description: Flavor Information
|
||||
|
||||
zone:
|
||||
type: string
|
||||
description: Zone Information
|
||||
|
||||
network:
|
||||
type: string
|
||||
description: mgmt network
|
||||
|
||||
management:
|
||||
type: string
|
||||
description: management network
|
||||
|
||||
pkt_in_network:
|
||||
type: string
|
||||
description: In network
|
||||
|
||||
pkt_out_network:
|
||||
type: string
|
||||
description: Out network
|
||||
|
||||
vendor:
|
||||
type: string
|
||||
description: Vendor information
|
||||
|
||||
node_templates:
|
||||
VDU1:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
properties:
|
||||
flavor: {get_input: flavor}
|
||||
availability_zone: { get_input: zone }
|
||||
mgmt_driver: noop
|
||||
config: |
|
||||
param0: key1
|
||||
param1: key2
|
||||
artifacts:
|
||||
VNFImage:
|
||||
type: tosca.artifacts.Deployment.Image.VM
|
||||
file: { get_input: image_source }
|
||||
|
||||
CP1:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: { get_input: management }
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
CP2:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL2
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
CP3:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL3
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
VL1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: { get_input: network }
|
||||
vendor: {get_input: vendor}
|
||||
|
||||
VL2:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: { get_input: pkt_in_network }
|
||||
vendor: {get_input: vendor}
|
||||
|
||||
VL3:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: { get_input: pkt_out_network }
|
||||
vendor: {get_input: vendor}
|
@ -1,101 +0,0 @@
|
||||
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
|
||||
|
||||
description: VNF TOSCA template with input parameters
|
||||
|
||||
metadata:
|
||||
template_name: sample-tosca-vnfd
|
||||
|
||||
topology_template:
|
||||
inputs:
|
||||
image_name:
|
||||
type: string
|
||||
description: Image Name
|
||||
|
||||
flavor:
|
||||
type: string
|
||||
description: Flavor Information
|
||||
|
||||
zone:
|
||||
type: string
|
||||
description: Zone Information
|
||||
|
||||
network:
|
||||
type: string
|
||||
description: mgmt network
|
||||
|
||||
management:
|
||||
type: string
|
||||
description: management network
|
||||
|
||||
pkt_in_network:
|
||||
type: string
|
||||
description: In network
|
||||
|
||||
pkt_out_network:
|
||||
type: string
|
||||
description: Out network
|
||||
|
||||
vendor:
|
||||
type: string
|
||||
description: Vendor information
|
||||
|
||||
node_templates:
|
||||
VDU1:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
properties:
|
||||
image: { get_input: image_name}
|
||||
flavor: {get_input: flavor}
|
||||
availability_zone: { get_input: zone }
|
||||
mgmt_driver: noop
|
||||
config: |
|
||||
param0: key1
|
||||
param1: key2
|
||||
|
||||
CP1:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: { get_input: management }
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
CP2:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL2
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
CP3:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL3
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
VL1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: { get_input: network }
|
||||
vendor: {get_input: vendor}
|
||||
|
||||
VL2:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: { get_input: pkt_in_network }
|
||||
vendor: {get_input: vendor}
|
||||
|
||||
VL3:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: { get_input: pkt_out_network }
|
||||
vendor: {get_input: vendor}
|
@ -1,120 +0,0 @@
|
||||
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
|
||||
|
||||
description: Demo example
|
||||
|
||||
metadata:
|
||||
template_name: sample-tosca-vnfd
|
||||
|
||||
topology_template:
|
||||
node_templates:
|
||||
VDU1:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
properties:
|
||||
name: affinity-vdu
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
flavor: m1.tiny
|
||||
availability_zone: nova
|
||||
mgmt_driver: noop
|
||||
config: |
|
||||
param0: key1
|
||||
param1: key2
|
||||
|
||||
CP11:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
CP12:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL2
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
CP13:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL3
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
VDU2:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
properties:
|
||||
name: affinity-vdu
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
flavor: m1.medium
|
||||
availability_zone: nova
|
||||
mgmt_driver: noop
|
||||
config: |
|
||||
param0: key1
|
||||
param1: key2
|
||||
|
||||
CP21:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU2
|
||||
|
||||
CP22:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL2
|
||||
- virtualBinding:
|
||||
node: VDU2
|
||||
|
||||
CP23:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL3
|
||||
- virtualBinding:
|
||||
node: VDU2
|
||||
|
||||
VL1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net_mgmt
|
||||
vendor: Tacker
|
||||
|
||||
VL2:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net0
|
||||
vendor: Tacker
|
||||
|
||||
VL3:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net1
|
||||
vendor: Tacker
|
||||
policies:
|
||||
- my_compute_placement_policy:
|
||||
type: tosca.policies.tacker.Placement
|
||||
properties:
|
||||
policy: affinity
|
||||
strict: true
|
||||
description: Apply affinity placement policy to the application servers
|
||||
targets: [ VDU1, VDU2 ]
|
@ -1,120 +0,0 @@
|
||||
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
|
||||
|
||||
description: Demo example
|
||||
|
||||
metadata:
|
||||
template_name: sample-tosca-vnfd
|
||||
|
||||
topology_template:
|
||||
node_templates:
|
||||
VDU1:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
properties:
|
||||
name: anti-affinity-vdu-multi-comp-nodes
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
flavor: m1.tiny
|
||||
availability_zone: nova
|
||||
mgmt_driver: noop
|
||||
config: |
|
||||
param0: key1
|
||||
param1: key2
|
||||
|
||||
CP11:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
CP12:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL2
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
CP13:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL3
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
VDU2:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
properties:
|
||||
name: anti-affinity-vdu-multi-comp-nodes
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
flavor: m1.medium
|
||||
availability_zone: nova
|
||||
mgmt_driver: noop
|
||||
config: |
|
||||
param0: key1
|
||||
param1: key2
|
||||
|
||||
CP21:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU2
|
||||
|
||||
CP22:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL2
|
||||
- virtualBinding:
|
||||
node: VDU2
|
||||
|
||||
CP23:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL3
|
||||
- virtualBinding:
|
||||
node: VDU2
|
||||
|
||||
VL1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net_mgmt
|
||||
vendor: Tacker
|
||||
|
||||
VL2:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net0
|
||||
vendor: Tacker
|
||||
|
||||
VL3:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net1
|
||||
vendor: Tacker
|
||||
policies:
|
||||
- my_compute_placement_policy:
|
||||
type: tosca.policies.tacker.Placement
|
||||
properties:
|
||||
policy: anti-affinity
|
||||
strict: true
|
||||
description: Apply anti-affinity placement policy to the application servers
|
||||
targets: [ VDU1, VDU2 ]
|
@ -1,163 +0,0 @@
|
||||
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
|
||||
|
||||
description: Demo example
|
||||
|
||||
metadata:
|
||||
template_name: sample-tosca-vnfd
|
||||
|
||||
topology_template:
|
||||
node_templates:
|
||||
VDU1:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
properties:
|
||||
name: invalid-placement-policy-vdu
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
flavor: m1.tiny
|
||||
availability_zone: nova
|
||||
mgmt_driver: noop
|
||||
config: |
|
||||
param0: key1
|
||||
param1: key2
|
||||
|
||||
CP11:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
CP12:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL2
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
CP13:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL3
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
VDU2:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
properties:
|
||||
name: invalid-placement-policy-vdu
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
flavor: m1.medium
|
||||
availability_zone: nova
|
||||
mgmt_driver: noop
|
||||
config: |
|
||||
param0: key1
|
||||
param1: key2
|
||||
|
||||
CP21:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU2
|
||||
|
||||
CP22:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL2
|
||||
- virtualBinding:
|
||||
node: VDU2
|
||||
|
||||
CP23:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL3
|
||||
- virtualBinding:
|
||||
node: VDU2
|
||||
|
||||
VDU3:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
properties:
|
||||
name: invalid-placement-policy-vdu
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
flavor: m1.tiny
|
||||
availability_zone: nova
|
||||
mgmt_driver: noop
|
||||
config: |
|
||||
param0: key1
|
||||
param1: key2
|
||||
|
||||
CP31:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU3
|
||||
|
||||
CP32:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL2
|
||||
- virtualBinding:
|
||||
node: VDU3
|
||||
|
||||
CP33:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL3
|
||||
- virtualBinding:
|
||||
node: VDU3
|
||||
|
||||
VL1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net_mgmt
|
||||
vendor: Tacker
|
||||
|
||||
VL2:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net0
|
||||
vendor: Tacker
|
||||
|
||||
VL3:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net1
|
||||
vendor: Tacker
|
||||
policies:
|
||||
- my_compute_placement_policy:
|
||||
type: tosca.policies.tacker.Placement
|
||||
properties:
|
||||
policy: invalid
|
||||
strict: true
|
||||
description: Apply invalid placement policy to the application servers
|
||||
targets: [ VDU1, VDU2, VDU3 ]
|
@ -1,55 +0,0 @@
|
||||
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
|
||||
description: Demo example
|
||||
|
||||
metadata:
|
||||
template_name: sample-tosca-vnfd
|
||||
|
||||
topology_template:
|
||||
node_templates:
|
||||
VDU1:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
capabilities:
|
||||
nfv_compute:
|
||||
properties:
|
||||
disk_size: 1 GB
|
||||
mem_size: 512 MB
|
||||
num_cpus: 1
|
||||
properties:
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
mgmt_driver: noop
|
||||
availability_zone: nova
|
||||
mgmt_driver: noop
|
||||
monitoring_policy:
|
||||
name: ping
|
||||
parameters:
|
||||
monitoring_delay: 45
|
||||
count: 3
|
||||
interval: 1
|
||||
timeout: 2
|
||||
actions:
|
||||
failure: vdu_autoheal
|
||||
user_data_format: RAW
|
||||
user_data: |
|
||||
#!/bin/sh
|
||||
echo "my hostname is `hostname`" > /tmp/hostname
|
||||
df -h > /home/cirros/diskinfo
|
||||
sleep 90
|
||||
sudo ifdown eth0
|
||||
|
||||
CP1:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
VL1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net_mgmt
|
||||
vendor: Tacker
|
||||
|
@ -1,72 +0,0 @@
|
||||
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
|
||||
|
||||
description: VNFD with predefined properties.
|
||||
|
||||
topology_template:
|
||||
node_templates:
|
||||
|
||||
VDU1:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
capabilities:
|
||||
nfv_compute:
|
||||
properties:
|
||||
num_cpus: 1
|
||||
mem_size: 512 MB
|
||||
disk_size: 1 GB
|
||||
properties:
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
availability_zone: nova
|
||||
mgmt_driver: noop
|
||||
config: |
|
||||
param0: key1
|
||||
param1: key2
|
||||
|
||||
CP1:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
ip_address: 192.168.120.225
|
||||
anti_spoofing_protection: true
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
CP2:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL2
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
CP3:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
anti_spoofing_protection: true
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL3
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
VL1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net_mgmt
|
||||
vendor: Tacker
|
||||
|
||||
VL2:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net0
|
||||
vendor: Tacker
|
||||
|
||||
VL3:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net1
|
||||
vendor: Tacker
|
@ -1,82 +0,0 @@
|
||||
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
|
||||
|
||||
description: Demo example
|
||||
|
||||
metadata:
|
||||
template_name: sample-tosca-vnfd
|
||||
|
||||
topology_template:
|
||||
inputs:
|
||||
vdu-name:
|
||||
type: string
|
||||
description: Vdu name
|
||||
default: test-vdu
|
||||
cp-name:
|
||||
type: string
|
||||
description: Cp name
|
||||
default: test-cp
|
||||
node_templates:
|
||||
VDU1:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
properties:
|
||||
name: {get_input : vdu-name}
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
flavor: m1.tiny
|
||||
key_name: userKey
|
||||
availability_zone: nova
|
||||
mgmt_driver: noop
|
||||
config: |
|
||||
param0: key1
|
||||
param1: key2
|
||||
|
||||
CP1:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
name: {get_input : cp-name}
|
||||
management: true
|
||||
anti_spoofing_protection: true
|
||||
security_groups:
|
||||
- test_secgrp
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
CP2:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL2
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
CP3:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL3
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
VL1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net_mgmt
|
||||
vendor: Tacker
|
||||
|
||||
VL2:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net0
|
||||
vendor: Tacker
|
||||
|
||||
VL3:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net1
|
||||
vendor: Tacker
|
@ -1,44 +0,0 @@
|
||||
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
|
||||
|
||||
description: Example Floating IP - Allocate one IP from floating network and attach to CP.
|
||||
|
||||
metadata:
|
||||
template_name: sample-tosca-vnfd-test-fip-with-floating-network
|
||||
|
||||
topology_template:
|
||||
node_templates:
|
||||
VDU1:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
capabilities:
|
||||
nfv_compute:
|
||||
properties:
|
||||
disk_size: 1 GB
|
||||
mem_size: 512 MB
|
||||
num_cpus: 1
|
||||
properties:
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
mgmt_driver: noop
|
||||
|
||||
CP1:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
VL1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net_mgmt
|
||||
vendor: Tacker
|
||||
|
||||
FIP1:
|
||||
type: tosca.nodes.network.FloatingIP
|
||||
properties:
|
||||
floating_network: public
|
||||
requirements:
|
||||
- link:
|
||||
node: CP1
|
@ -1,42 +0,0 @@
|
||||
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
|
||||
metadata:
|
||||
template_name: sample-tosca-vnfd-for-vnfc
|
||||
|
||||
topology_template:
|
||||
node_templates:
|
||||
firewall_vnfc:
|
||||
type: tosca.nodes.nfv.VNFC.Tacker
|
||||
requirements:
|
||||
- host: VDU1
|
||||
interfaces:
|
||||
Standard:
|
||||
create: install_vnfc.sh
|
||||
|
||||
VDU1:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
properties:
|
||||
flavor: m1.small
|
||||
mgmt_driver: noop
|
||||
config: |
|
||||
param0: key1
|
||||
param1: key2
|
||||
artifacts:
|
||||
fedora:
|
||||
type: tosca.artifacts.Deployment.Image.VM
|
||||
file: https://github.com/bharaththiruveedula/dotfiles/raw/master/fedora-sw.qcow2
|
||||
CP1:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
VL1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: private
|
||||
vendor: Tacker
|
@ -1,37 +0,0 @@
|
||||
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
|
||||
imports:
|
||||
- test-ns-vnfd1
|
||||
- test-ns-vnfd2
|
||||
|
||||
topology_template:
|
||||
inputs:
|
||||
vl1_name:
|
||||
type: string
|
||||
description: name of VL1 virtuallink
|
||||
default: net_mgmt
|
||||
vl2_name:
|
||||
type: string
|
||||
description: name of VL2 virtuallink
|
||||
default: net0
|
||||
node_templates:
|
||||
VNF1:
|
||||
type: tosca.nodes.nfv.VNF1
|
||||
requirements:
|
||||
- virtualLink1: VL1
|
||||
- virtualLink2: VL2
|
||||
|
||||
VNF2:
|
||||
type: tosca.nodes.nfv.VNF2
|
||||
|
||||
VL1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: {get_input: vl1_name}
|
||||
vendor: tacker
|
||||
|
||||
VL2:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: {get_input: vl2_name}
|
||||
vendor: tacker
|
||||
|
@ -1,98 +0,0 @@
|
||||
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
|
||||
|
||||
description: Demo example
|
||||
node_types:
|
||||
tosca.nodes.nfv.VNF1:
|
||||
requirements:
|
||||
- virtualLink1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
required: true
|
||||
- virtualLink2:
|
||||
type: tosca.nodes.nfv.VL
|
||||
required: true
|
||||
capabilities:
|
||||
forwader1:
|
||||
type: tosca.capabilities.nfv.Forwarder
|
||||
forwader2:
|
||||
type: tosca.capabilities.nfv.Forwarder
|
||||
|
||||
topology_template:
|
||||
substitution_mappings:
|
||||
node_type: tosca.nodes.nfv.VNF1
|
||||
requirements:
|
||||
virtualLink1: [CP11, virtualLink]
|
||||
virtualLink2: [CP14, virtualLink]
|
||||
capabilities:
|
||||
forwarder1: [CP11, forwarder]
|
||||
forwarder2: [CP14, forwarder]
|
||||
|
||||
node_templates:
|
||||
VDU1:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
properties:
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
flavor: m1.tiny
|
||||
availability_zone: nova
|
||||
mgmt_driver: noop
|
||||
config: |
|
||||
param0: key1
|
||||
param1: key2
|
||||
|
||||
CP11:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
CP12:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL2
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
VDU2:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
properties:
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
flavor: m1.medium
|
||||
availability_zone: nova
|
||||
mgmt_driver: noop
|
||||
config: |
|
||||
param0: key1
|
||||
param1: key2
|
||||
|
||||
CP13:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU2
|
||||
|
||||
CP14:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
requirements:
|
||||
- virtualBinding:
|
||||
node: VDU2
|
||||
|
||||
VL1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net_mgmt
|
||||
vendor: Tacker
|
||||
|
||||
VL2:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net0
|
||||
vendor: Tacker
|
||||
|
@ -1,68 +0,0 @@
|
||||
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
|
||||
|
||||
description: Demo example
|
||||
|
||||
node_types:
|
||||
tosca.nodes.nfv.VNF2:
|
||||
capabilities:
|
||||
forwarder1:
|
||||
type: tosca.capabilities.nfv.Forwarder
|
||||
topology_template:
|
||||
substitution_mappings:
|
||||
node_type: tosca.nodes.nfv.VNF2
|
||||
capabilities:
|
||||
forwarder1: [CP21, forwarder]
|
||||
node_templates:
|
||||
VDU1:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
properties:
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
flavor: m1.tiny
|
||||
availability_zone: nova
|
||||
mgmt_driver: noop
|
||||
config: |
|
||||
param0: key1
|
||||
param1: key2
|
||||
|
||||
CP21:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
VDU2:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
properties:
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
flavor: m1.medium
|
||||
availability_zone: nova
|
||||
mgmt_driver: noop
|
||||
config: |
|
||||
param0: key1
|
||||
param1: key2
|
||||
|
||||
CP22:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL2
|
||||
- virtualBinding:
|
||||
node: VDU2
|
||||
|
||||
VL1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net_mgmt
|
||||
vendor: Tacker
|
||||
|
||||
VL2:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net0
|
||||
vendor: Tacker
|
||||
|
@ -1,98 +0,0 @@
|
||||
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
|
||||
|
||||
description: Demo example
|
||||
node_types:
|
||||
tosca.nodes.nfv.VNF1:
|
||||
requirements:
|
||||
- virtualLink1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
required: true
|
||||
- virtualLink2:
|
||||
type: tosca.nodes.nfv.VL
|
||||
required: true
|
||||
capabilities:
|
||||
forwader1:
|
||||
type: tosca.capabilities.nfv.Forwarder
|
||||
forwader2:
|
||||
type: tosca.capabilities.nfv.Forwarder
|
||||
|
||||
topology_template:
|
||||
substitution_mappings:
|
||||
node_type: tosca.nodes.nfv.VNF1
|
||||
requirements:
|
||||
virtualLink1: [CP11, virtualLink]
|
||||
virtualLink2: [CP14, virtualLink]
|
||||
capabilities:
|
||||
forwarder1: [CP11, forwarder]
|
||||
forwarder2: [CP14, forwarder]
|
||||
|
||||
node_templates:
|
||||
VDU1:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
properties:
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
flavor: m1.tiny
|
||||
availability_zone: nova
|
||||
mgmt_driver: noop
|
||||
config: |
|
||||
param0: key1
|
||||
param1: key2
|
||||
|
||||
CP11:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
CP12:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL2
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
VDU2:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
properties:
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
flavor: m1.medium
|
||||
availability_zone: nova
|
||||
mgmt_driver: noop
|
||||
config: |
|
||||
param0: key1
|
||||
param1: key2
|
||||
|
||||
CP13:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU2
|
||||
|
||||
CP14:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
requirements:
|
||||
- virtualBinding:
|
||||
node: VDU2
|
||||
|
||||
VL1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net_mgmt
|
||||
vendor: Tacker
|
||||
|
||||
VL2:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net0
|
||||
vendor: Tacker
|
||||
|
@ -1,68 +0,0 @@
|
||||
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
|
||||
|
||||
description: Demo example
|
||||
|
||||
node_types:
|
||||
tosca.nodes.nfv.VNF2:
|
||||
capabilities:
|
||||
forwarder1:
|
||||
type: tosca.capabilities.nfv.Forwarder
|
||||
topology_template:
|
||||
substitution_mappings:
|
||||
node_type: tosca.nodes.nfv.VNF2
|
||||
capabilities:
|
||||
forwarder1: [CP21, forwarder]
|
||||
node_templates:
|
||||
VDU1:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
properties:
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
flavor: m1.tiny
|
||||
availability_zone: nova
|
||||
mgmt_driver: noop
|
||||
config: |
|
||||
param0: key1
|
||||
param1: key2
|
||||
|
||||
CP21:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
VDU2:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
properties:
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
flavor: m1.medium
|
||||
availability_zone: nova
|
||||
mgmt_driver: noop
|
||||
config: |
|
||||
param0: key1
|
||||
param1: key2
|
||||
|
||||
CP22:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL2
|
||||
- virtualBinding:
|
||||
node: VDU2
|
||||
|
||||
VL1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net_mgmt
|
||||
vendor: Tacker
|
||||
|
||||
VL2:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net0
|
||||
vendor: Tacker
|
||||
|
@ -1,37 +0,0 @@
|
||||
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
|
||||
imports:
|
||||
- test-nsd-vnfd1
|
||||
- test-nsd-vnfd2
|
||||
|
||||
topology_template:
|
||||
inputs:
|
||||
vl1_name:
|
||||
type: string
|
||||
description: name of VL1 virtuallink
|
||||
default: net_mgmt
|
||||
vl2_name:
|
||||
type: string
|
||||
description: name of VL2 virtuallink
|
||||
default: net0
|
||||
node_templates:
|
||||
VNF1:
|
||||
type: tosca.nodes.nfv.VNF1
|
||||
requirements:
|
||||
- virtualLink1: VL1
|
||||
- virtualLink2: VL2
|
||||
|
||||
VNF2:
|
||||
type: tosca.nodes.nfv.VNF2
|
||||
|
||||
VL1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: {get_input: vl1_name}
|
||||
vendor: tacker
|
||||
|
||||
VL2:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: {get_input: vl2_name}
|
||||
vendor: tacker
|
||||
|
@ -1,67 +0,0 @@
|
||||
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
|
||||
|
||||
description: VirtualLinks of CP11 and CP22 will be provided by NS descriptor
|
||||
node_types:
|
||||
tosca.nodes.nfv.VNF1:
|
||||
requirements:
|
||||
- virtualLink1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
required: true
|
||||
capabilities:
|
||||
forwader1:
|
||||
type: tosca.capabilities.nfv.Forwarder
|
||||
|
||||
topology_template:
|
||||
substitution_mappings:
|
||||
node_type: tosca.nodes.nfv.VNF1
|
||||
requirements:
|
||||
virtualLink1: [CP11, virtualLink]
|
||||
capabilities:
|
||||
forwarder1: [CP11, forwarder]
|
||||
|
||||
node_templates:
|
||||
VDU1:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
properties:
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
flavor: m1.tiny
|
||||
availability_zone: nova
|
||||
mgmt_driver: noop
|
||||
config: |
|
||||
param0: key1
|
||||
param1: key2
|
||||
user_data_format: RAW
|
||||
user_data: |
|
||||
#!/bin/sh
|
||||
echo 1 > /proc/sys/net/ipv4/ip_forward
|
||||
|
||||
CP11:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
CP12:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL2
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
VL1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net_mgmt
|
||||
vendor: Tacker
|
||||
|
||||
VL2:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net0
|
||||
vendor: Tacker
|
@ -1,61 +0,0 @@
|
||||
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
|
||||
|
||||
description: Demo example
|
||||
|
||||
node_types:
|
||||
tosca.nodes.nfv.VNF2:
|
||||
capabilities:
|
||||
forwarder1:
|
||||
type: tosca.capabilities.nfv.Forwarder
|
||||
topology_template:
|
||||
substitution_mappings:
|
||||
node_type: tosca.nodes.nfv.VNF2
|
||||
capabilities:
|
||||
forwarder1: [CP21, forwarder]
|
||||
node_templates:
|
||||
VDU1:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
properties:
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
flavor: m1.tiny
|
||||
availability_zone: nova
|
||||
mgmt_driver: noop
|
||||
config: |
|
||||
param0: key1
|
||||
param1: key2
|
||||
user_data_format: RAW
|
||||
user_data: |
|
||||
#!/bin/sh
|
||||
echo 1 > /proc/sys/net/ipv4/ip_forward
|
||||
|
||||
CP21:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
CP22:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL2
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
VL1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net_mgmt
|
||||
vendor: Tacker
|
||||
|
||||
VL2:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net0
|
||||
vendor: Tacker
|
||||
|
@ -1,109 +0,0 @@
|
||||
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
|
||||
|
||||
description: Import VNFDs(already on-boarded) with input parameters
|
||||
imports:
|
||||
- sample-vnfd1
|
||||
- sample-vnfd2
|
||||
|
||||
topology_template:
|
||||
inputs:
|
||||
vl1_name:
|
||||
type: string
|
||||
description: name of VL1 virtuallink
|
||||
default: net_mgmt
|
||||
vl2_name:
|
||||
type: string
|
||||
description: name of VL2 virtuallink
|
||||
default: net0
|
||||
net_src_port_id:
|
||||
type: string
|
||||
description: neutron port id of source port
|
||||
ip_dest_prefix:
|
||||
type: string
|
||||
description: IP prefix of destination port
|
||||
|
||||
node_templates:
|
||||
VNF1:
|
||||
type: tosca.nodes.nfv.VNF1
|
||||
requirements:
|
||||
- virtualLink1: VL1
|
||||
|
||||
VNF2:
|
||||
type: tosca.nodes.nfv.VNF2
|
||||
|
||||
VL1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: {get_input: vl1_name}
|
||||
vendor: tacker
|
||||
|
||||
VL2:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: {get_input: vl2_name}
|
||||
vendor: tacker
|
||||
|
||||
Forwarding_path1:
|
||||
type: tosca.nodes.nfv.FP.TackerV2
|
||||
description: creates path inside ns (src_port->CP12->CP22->dst_port)
|
||||
properties:
|
||||
id: 51
|
||||
policy:
|
||||
type: ACL
|
||||
criteria:
|
||||
- name: block_tcp
|
||||
classifier:
|
||||
network_src_port_id: {get_input: net_src_port_id}
|
||||
destination_port_range: 80-1024
|
||||
ip_proto: 6
|
||||
ip_dst_prefix: {get_input: ip_dest_prefix}
|
||||
path:
|
||||
- forwarder: sample-vnfd1
|
||||
capability: CP12
|
||||
- forwarder: sample-vnfd2
|
||||
capability: CP22
|
||||
|
||||
Forwarding_path2:
|
||||
type: tosca.nodes.nfv.FP.TackerV2
|
||||
description: creates path inside ns (src_port->CP12->dst_port)
|
||||
properties:
|
||||
id: 52
|
||||
policy:
|
||||
type: ACL
|
||||
criteria:
|
||||
- name: block_tcp
|
||||
classifier:
|
||||
network_src_port_id: {get_input: net_src_port_id}
|
||||
destination_port_range: 8080-8080
|
||||
ip_proto: 6
|
||||
ip_dst_prefix: {get_input: ip_dest_prefix}
|
||||
path:
|
||||
- forwarder: sample-vnfd1
|
||||
capability: CP12
|
||||
|
||||
groups:
|
||||
|
||||
VNFFG1:
|
||||
type: tosca.groups.nfv.VNFFG
|
||||
description: HTTP to Corporate Net
|
||||
properties:
|
||||
vendor: tacker
|
||||
version: 1.0
|
||||
number_of_endpoints: 2
|
||||
dependent_virtual_link: [VL1, VL2]
|
||||
connection_point: [CP12, CP22]
|
||||
constituent_vnfs: [sample-vnfd1, sample-vnfd2]
|
||||
members: [Forwarding_path1]
|
||||
|
||||
VNFFG2:
|
||||
type: tosca.groups.nfv.VNFFG
|
||||
description: HTTP to Corporate Net
|
||||
properties:
|
||||
vendor: tacker
|
||||
version: 1.0
|
||||
number_of_endpoints: 1
|
||||
dependent_virtual_link: [VL1]
|
||||
connection_point: [CP12]
|
||||
constituent_vnfs: [sample-vnfd1]
|
||||
members: [Forwarding_path2]
|
||||
|
@ -1,3 +0,0 @@
|
||||
nsd:
|
||||
vl1_name: net_mgmt
|
||||
vl2_name: net0
|
@ -1,39 +0,0 @@
|
||||
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
|
||||
|
||||
description: Import VNFDs(already on-boarded) with input parameters
|
||||
imports:
|
||||
- sample-tosca-vnfd1
|
||||
- sample-tosca-vnfd2
|
||||
|
||||
topology_template:
|
||||
inputs:
|
||||
vl1_name:
|
||||
type: string
|
||||
description: name of VL1 virtuallink
|
||||
default: net_mgmt
|
||||
vl2_name:
|
||||
type: string
|
||||
description: name of VL2 virtuallink
|
||||
default: net0
|
||||
node_templates:
|
||||
VNF1:
|
||||
type: tosca.nodes.nfv.VNF1
|
||||
requirements:
|
||||
- virtualLink1: VL1
|
||||
- virtualLink2: VL2
|
||||
|
||||
VNF2:
|
||||
type: tosca.nodes.nfv.VNF2
|
||||
|
||||
VL1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: {get_input: vl1_name}
|
||||
vendor: tacker
|
||||
|
||||
VL2:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: {get_input: vl2_name}
|
||||
vendor: tacker
|
||||
|
@ -1,98 +0,0 @@
|
||||
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
|
||||
|
||||
description: VirtualLinks of CP11 and CP22 will be provided by NS descriptor
|
||||
node_types:
|
||||
tosca.nodes.nfv.VNF1:
|
||||
requirements:
|
||||
- virtualLink1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
required: true
|
||||
- virtualLink2:
|
||||
type: tosca.nodes.nfv.VL
|
||||
required: true
|
||||
capabilities:
|
||||
forwader1:
|
||||
type: tosca.capabilities.nfv.Forwarder
|
||||
forwader2:
|
||||
type: tosca.capabilities.nfv.Forwarder
|
||||
|
||||
topology_template:
|
||||
substitution_mappings:
|
||||
node_type: tosca.nodes.nfv.VNF1
|
||||
requirements:
|
||||
virtualLink1: [CP11, virtualLink]
|
||||
virtualLink2: [CP14, virtualLink]
|
||||
capabilities:
|
||||
forwarder1: [CP11, forwarder]
|
||||
forwarder2: [CP14, forwarder]
|
||||
|
||||
node_templates:
|
||||
VDU1:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
properties:
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
flavor: m1.tiny
|
||||
availability_zone: nova
|
||||
mgmt_driver: noop
|
||||
config: |
|
||||
param0: key1
|
||||
param1: key2
|
||||
|
||||
CP11:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
CP12:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL2
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
VDU2:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
properties:
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
flavor: m1.medium
|
||||
availability_zone: nova
|
||||
mgmt_driver: noop
|
||||
config: |
|
||||
param0: key1
|
||||
param1: key2
|
||||
|
||||
CP13:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU2
|
||||
|
||||
CP14:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
requirements:
|
||||
- virtualBinding:
|
||||
node: VDU2
|
||||
|
||||
VL1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net_mgmt
|
||||
vendor: Tacker
|
||||
|
||||
VL2:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net0
|
||||
vendor: Tacker
|
||||
|
@ -1,68 +0,0 @@
|
||||
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
|
||||
|
||||
description: Demo example
|
||||
|
||||
node_types:
|
||||
tosca.nodes.nfv.VNF2:
|
||||
capabilities:
|
||||
forwarder1:
|
||||
type: tosca.capabilities.nfv.Forwarder
|
||||
topology_template:
|
||||
substitution_mappings:
|
||||
node_type: tosca.nodes.nfv.VNF2
|
||||
capabilities:
|
||||
forwarder1: [CP21, forwarder]
|
||||
node_templates:
|
||||
VDU1:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
properties:
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
flavor: m1.tiny
|
||||
availability_zone: nova
|
||||
mgmt_driver: noop
|
||||
config: |
|
||||
param0: key1
|
||||
param1: key2
|
||||
|
||||
CP21:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
VDU2:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
properties:
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
flavor: m1.medium
|
||||
availability_zone: nova
|
||||
mgmt_driver: noop
|
||||
config: |
|
||||
param0: key1
|
||||
param1: key2
|
||||
|
||||
CP22:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL2
|
||||
- virtualBinding:
|
||||
node: VDU2
|
||||
|
||||
VL1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net_mgmt
|
||||
vendor: Tacker
|
||||
|
||||
VL2:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net0
|
||||
vendor: Tacker
|
||||
|
@ -1,15 +0,0 @@
|
||||
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
|
||||
|
||||
description: Import VNDs(already on-boarded) without param
|
||||
imports:
|
||||
- sample2-tosca-vnfd1
|
||||
- sample2-tosca-vnfd2
|
||||
|
||||
topology_template:
|
||||
node_templates:
|
||||
VNF1:
|
||||
type: tosca.nodes.nfv.VNF1
|
||||
|
||||
VNF2:
|
||||
type: tosca.nodes.nfv.VNF2
|
||||
|
@ -1,98 +0,0 @@
|
||||
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
|
||||
|
||||
description: Demo Sample VNFD1
|
||||
node_types:
|
||||
tosca.nodes.nfv.VNF1:
|
||||
requirements:
|
||||
- virtualLink1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
required: true
|
||||
- virtualLink2:
|
||||
type: tosca.nodes.nfv.VL
|
||||
required: true
|
||||
|
||||
topology_template:
|
||||
substitution_mappings:
|
||||
node_type: tosca.nodes.nfv.VNF1
|
||||
|
||||
node_templates:
|
||||
VDU1:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
properties:
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
flavor: m1.tiny
|
||||
availability_zone: nova
|
||||
mgmt_driver: noop
|
||||
config: |
|
||||
param0: key1
|
||||
param1: key2
|
||||
|
||||
CP11:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
order: 0
|
||||
management: true
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
CP12:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
order: 1
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL2
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
VDU2:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
properties:
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
flavor: m1.tiny
|
||||
availability_zone: nova
|
||||
mgmt_driver: noop
|
||||
config: |
|
||||
param0: key1
|
||||
param1: key2
|
||||
|
||||
CP13:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
order: 0
|
||||
management: true
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU2
|
||||
|
||||
CP14:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
order: 1
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL2
|
||||
- virtualBinding:
|
||||
node: VDU2
|
||||
|
||||
VL1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net_mgmt
|
||||
vendor: Tacker
|
||||
|
||||
VL2:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net0
|
||||
vendor: Tacker
|
||||
|
@ -1,98 +0,0 @@
|
||||
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
|
||||
|
||||
description: Demo example VNFD2
|
||||
node_types:
|
||||
tosca.nodes.nfv.VNF2:
|
||||
requirements:
|
||||
- virtualLink1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
required: true
|
||||
- virtualLink2:
|
||||
type: tosca.nodes.nfv.VL
|
||||
required: true
|
||||
|
||||
topology_template:
|
||||
substitution_mappings:
|
||||
node_type: tosca.nodes.nfv.VNF2
|
||||
|
||||
node_templates:
|
||||
VDU1:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
properties:
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
flavor: m1.tiny
|
||||
availability_zone: nova
|
||||
mgmt_driver: noop
|
||||
config: |
|
||||
param0: key1
|
||||
param1: key2
|
||||
|
||||
CP11:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
order: 0
|
||||
management: true
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
CP12:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
order: 1
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL2
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
VDU2:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
properties:
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
flavor: m1.tiny
|
||||
availability_zone: nova
|
||||
mgmt_driver: noop
|
||||
config: |
|
||||
param0: key1
|
||||
param1: key2
|
||||
|
||||
CP13:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
order: 0
|
||||
management: true
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU2
|
||||
|
||||
CP14:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
order: 1
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL2
|
||||
- virtualBinding:
|
||||
node: VDU2
|
||||
|
||||
VL1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net_mgmt
|
||||
vendor: Tacker
|
||||
|
||||
VL2:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net0
|
||||
vendor: Tacker
|
||||
|
@ -1,40 +0,0 @@
|
||||
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
|
||||
metadata:
|
||||
template_name: sample-tosca-vnfd-for-vnfc
|
||||
|
||||
topology_template:
|
||||
node_templates:
|
||||
firewall_vnfc:
|
||||
type: tosca.nodes.nfv.VNFC.Tacker
|
||||
requirements:
|
||||
- host: VDU1
|
||||
interfaces:
|
||||
Standard:
|
||||
create: install_vnfc.sh
|
||||
|
||||
VDU1:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
properties:
|
||||
image: fedora-software-config
|
||||
flavor: m1.small
|
||||
mgmt_driver: noop
|
||||
key_name: stack_key
|
||||
config: |
|
||||
param0: key1
|
||||
param1: key2
|
||||
|
||||
CP1:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
VL1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net1
|
||||
vendor: Tacker
|
@ -1,63 +0,0 @@
|
||||
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
|
||||
metadata:
|
||||
template_name: sample-tosca-vnfd-for-vnfc
|
||||
|
||||
topology_template:
|
||||
node_templates:
|
||||
firewall_vnfc:
|
||||
type: tosca.nodes.nfv.VNFC.Tacker
|
||||
requirements:
|
||||
- host: VDU1
|
||||
- host: VDU2
|
||||
interfaces:
|
||||
Standard:
|
||||
create: /home/bharatht/install_vnfc.sh
|
||||
|
||||
VDU1:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
properties:
|
||||
image: fedora-software-config
|
||||
flavor: m1.small
|
||||
mgmt_driver: noop
|
||||
key_name: stack_key
|
||||
config: |
|
||||
param0: key1
|
||||
param1: key2
|
||||
|
||||
CP1:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
VDU2:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
properties:
|
||||
image: fedora-software-config
|
||||
flavor: m1.small
|
||||
mgmt_driver: noop
|
||||
key_name: stack_key
|
||||
config: |
|
||||
param0: key1
|
||||
param1: key2
|
||||
|
||||
CP2:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU2
|
||||
|
||||
VL1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: private
|
||||
vendor: Tacker
|
@ -1,39 +0,0 @@
|
||||
vdus:
|
||||
VDU1:
|
||||
config:
|
||||
dhcp: |
|
||||
package dhcp
|
||||
|
||||
config dnsmasq
|
||||
option domainneeded '1'
|
||||
option boguspriv '1'
|
||||
option filterwin2k '0'
|
||||
option localise_queries '1'
|
||||
option rebind_protection '1'
|
||||
option rebind_localhost '1'
|
||||
option local '/lan/'
|
||||
option domain 'lan'
|
||||
option expandhosts '1'
|
||||
option nonegcache '0'
|
||||
option authoritative '1'
|
||||
option readethers '1'
|
||||
option leasefile '/tmp/dhcp.leases'
|
||||
option resolvfile '/tmp/resolv.conf.auto'
|
||||
option localservice '1'
|
||||
|
||||
config dhcp 'lan'
|
||||
option interface 'lan'
|
||||
option start '100'
|
||||
option limit '150'
|
||||
option leasetime '12h'
|
||||
option dhcpv6 'server'
|
||||
option ra 'server'
|
||||
option ra_management '1'
|
||||
|
||||
config 'domain'
|
||||
option 'name' 'www.facebook.com'
|
||||
option 'ip' '1.2.3.4'
|
||||
|
||||
config 'domain'
|
||||
option 'name' 'www.google.com'
|
||||
option 'ip' '192.168.1.140'
|
@ -1,97 +0,0 @@
|
||||
vdus:
|
||||
VDU1:
|
||||
config:
|
||||
firewall: |
|
||||
package firewall
|
||||
|
||||
config defaults
|
||||
option syn_flood '1'
|
||||
option input 'ACCEPT'
|
||||
option output 'ACCEPT'
|
||||
option forward 'REJECT'
|
||||
|
||||
config zone
|
||||
option name 'lan'
|
||||
list network 'lan'
|
||||
option input 'ACCEPT'
|
||||
option output 'ACCEPT'
|
||||
option forward 'ACCEPT'
|
||||
|
||||
config zone
|
||||
option name 'wan'
|
||||
list network 'wan'
|
||||
list network 'wan6'
|
||||
option input 'REJECT'
|
||||
option output 'ACCEPT'
|
||||
option forward 'REJECT'
|
||||
option masq '1'
|
||||
option mtu_fix '1'
|
||||
|
||||
config forwarding
|
||||
option src 'lan'
|
||||
option dest 'wan'
|
||||
|
||||
config rule
|
||||
option name 'Allow-DHCP-Renew'
|
||||
option src 'wan'
|
||||
option proto 'udp'
|
||||
option dest_port '68'
|
||||
option target 'ACCEPT'
|
||||
option family 'ipv4'
|
||||
|
||||
config rule
|
||||
option name 'Allow-Ping'
|
||||
option src 'wan'
|
||||
option proto 'icmp'
|
||||
option icmp_type 'echo-request'
|
||||
option family 'ipv4'
|
||||
option target 'ACCEPT'
|
||||
|
||||
config rule
|
||||
option name 'Allow-IGMP'
|
||||
option src 'wan'
|
||||
option proto 'igmp'
|
||||
option family 'ipv4'
|
||||
option target 'ACCEPT'
|
||||
|
||||
config rule
|
||||
option name 'Allow-DHCPv6'
|
||||
option src 'wan'
|
||||
option proto 'udp'
|
||||
option src_ip 'fe80::/10'
|
||||
option src_port '547'
|
||||
option dest_ip 'fe80::/10'
|
||||
option dest_port '546'
|
||||
option family 'ipv6'
|
||||
option target 'ACCEPT'
|
||||
|
||||
config rule
|
||||
option name 'Allow-MLD'
|
||||
option src 'wan'
|
||||
option proto 'icmp'
|
||||
option src_ip 'fe80::/10'
|
||||
list icmp_type '130/0'
|
||||
list icmp_type '131/0'
|
||||
list icmp_type '132/0'
|
||||
list icmp_type '143/0'
|
||||
option family 'ipv6'
|
||||
option target 'ACCEPT'
|
||||
|
||||
config rule
|
||||
option name 'Allow-ICMPv6-Input'
|
||||
option src 'wan'
|
||||
option proto 'icmp'
|
||||
list icmp_type 'echo-request'
|
||||
list icmp_type 'echo-reply'
|
||||
list icmp_type 'destination-unreachable'
|
||||
list icmp_type 'packet-too-big'
|
||||
list icmp_type 'time-exceeded'
|
||||
list icmp_type 'bad-header'
|
||||
list icmp_type 'unknown-header-type'
|
||||
list icmp_type 'router-solicitation'
|
||||
list icmp_type 'neighbour-solicitation'
|
||||
list icmp_type 'router-advertisement'
|
||||
list icmp_type 'neighbour-advertisement'
|
||||
option limit '190/sec'
|
||||
option family 'ipv6'
|
||||
option target 'REJECT'
|
@ -1,71 +0,0 @@
|
||||
vdus:
|
||||
VDU1:
|
||||
config:
|
||||
qos: |
|
||||
package qos
|
||||
|
||||
config interface 'wan'
|
||||
option classgroup 'Default'
|
||||
option upload '1000'
|
||||
option download '16000'
|
||||
option enabled '1'
|
||||
|
||||
config classify
|
||||
option target 'Priority'
|
||||
option ports '22,53'
|
||||
option comment 'ssh, dns'
|
||||
|
||||
config classify
|
||||
option target 'Normal'
|
||||
option proto 'tcp'
|
||||
option ports '20,21,25,80,110,443,993,995'
|
||||
option comment 'ftp, smtp, http(s), imap'
|
||||
|
||||
config classify
|
||||
option target 'Express'
|
||||
option ports '5190'
|
||||
option comment 'AOL, iChat, ICQ'
|
||||
|
||||
config default
|
||||
option target 'Express'
|
||||
option proto 'udp'
|
||||
option pktsize '-500'
|
||||
|
||||
config reclassify
|
||||
option target 'Priority'
|
||||
option proto 'icmp'
|
||||
|
||||
config default
|
||||
option target 'Bulk'
|
||||
option portrange '1024-65535'
|
||||
|
||||
config classgroup 'Default'
|
||||
option classes 'Priority Express Normal Bulk'
|
||||
option default 'Normal'
|
||||
|
||||
config class 'Priority'
|
||||
option packetsize '400'
|
||||
option avgrate '10'
|
||||
option priority '20'
|
||||
|
||||
config class 'Priority_down'
|
||||
option packetsize '1000'
|
||||
option avgrate '10'
|
||||
|
||||
config class 'Express'
|
||||
option packetsize '1000'
|
||||
option avgrate '50'
|
||||
option priority '10'
|
||||
|
||||
config class 'Normal'
|
||||
option packetsize '1500'
|
||||
option packetdelay '100'
|
||||
option avgrate '10'
|
||||
option priority '5'
|
||||
|
||||
config class 'Normal_down'
|
||||
option avgrate '20'
|
||||
|
||||
config class 'Bulk'
|
||||
option avgrate '1'
|
||||
option packetdelay '200'
|
@ -1,46 +0,0 @@
|
||||
vdus:
|
||||
VDU1:
|
||||
config:
|
||||
network: |
|
||||
package network
|
||||
|
||||
config interface 'loopback'
|
||||
option ifname 'lo'
|
||||
option proto 'static'
|
||||
option ipaddr '127.0.0.1'
|
||||
option netmask '255.0.0.0'
|
||||
|
||||
config interface 'net_mgmt'
|
||||
option ifname 'eth0'
|
||||
option proto 'dhcp'
|
||||
|
||||
config interface 'net0'
|
||||
option ifname 'eth1'
|
||||
option proto 'dhcp'
|
||||
|
||||
config interface 'net1'
|
||||
option ifname 'eth2'
|
||||
option proto 'dhcp'
|
||||
|
||||
firewall: |
|
||||
package firewall
|
||||
|
||||
config defaults
|
||||
option syn_flood '1'
|
||||
option input 'ACCEPT'
|
||||
option output 'ACCEPT'
|
||||
option forward 'ACCEPT'
|
||||
|
||||
config zone
|
||||
option name 'net_mgmt'
|
||||
option network 'net_mgmt'
|
||||
option input 'ACCEPT'
|
||||
option output 'ACCEPT'
|
||||
option forward 'REJECT'
|
||||
|
||||
config zone
|
||||
option name 'lan'
|
||||
list network 'net0 net1'
|
||||
option input 'ACCEPT'
|
||||
option output 'ACCEPT'
|
||||
option forward 'ACCEPT'
|
@ -1,76 +0,0 @@
|
||||
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
|
||||
description: Demo example
|
||||
|
||||
metadata:
|
||||
template_name: sample-tosca-vnfd
|
||||
|
||||
topology_template:
|
||||
node_templates:
|
||||
VDU1:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
capabilities:
|
||||
nfv_compute:
|
||||
properties:
|
||||
disk_size: 1 GB
|
||||
mem_size: 512 MB
|
||||
num_cpus: 2
|
||||
properties:
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
mgmt_driver: noop
|
||||
availability_zone: nova
|
||||
|
||||
CP1:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
VDU2:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
capabilities:
|
||||
nfv_compute:
|
||||
properties:
|
||||
disk_size: 1 GB
|
||||
mem_size: 512 MB
|
||||
num_cpus: 2
|
||||
properties:
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
mgmt_driver: noop
|
||||
availability_zone: nova
|
||||
|
||||
CP2:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL2
|
||||
- virtualBinding:
|
||||
node: VDU2
|
||||
|
||||
VL1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net_mgmt
|
||||
vendor: Tacker
|
||||
|
||||
VL2:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net0
|
||||
vendor: Tacker
|
||||
|
||||
policies:
|
||||
- my_compute_placement_policy:
|
||||
type: tosca.policies.tacker.Placement
|
||||
properties:
|
||||
policy: anti-affinity
|
||||
strict: true
|
||||
description: Apply anti-affinity placement policy to the application servers
|
||||
targets: [ VDU1, VDU2 ]
|
@ -1,58 +0,0 @@
|
||||
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
|
||||
description: Demo example
|
||||
|
||||
metadata:
|
||||
template_name: sample-tosca-vnfd
|
||||
|
||||
topology_template:
|
||||
node_templates:
|
||||
VDU1:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
capabilities:
|
||||
nfv_compute:
|
||||
properties:
|
||||
disk_size: 1 GB
|
||||
mem_size: 512 MB
|
||||
num_cpus: 2
|
||||
properties:
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
mgmt_driver: noop
|
||||
availability_zone: nova
|
||||
metadata: {metering.server_group: VDU1}
|
||||
|
||||
CP1:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
VL1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net_mgmt
|
||||
vendor: Tacker
|
||||
|
||||
policies:
|
||||
- vdu1_cpu_usage_monitoring_policy:
|
||||
type: tosca.policies.tacker.Alarming
|
||||
triggers:
|
||||
vdu_hcpu_usage_respawning:
|
||||
event_type:
|
||||
type: tosca.events.resource.utilization
|
||||
implementation: ceilometer
|
||||
metric: cpu_util
|
||||
condition:
|
||||
threshold: 50
|
||||
constraint: utilization greater_than 50%
|
||||
granularity: 600
|
||||
evaluations: 1
|
||||
aggregation_method: mean
|
||||
comparison_operator: gt
|
||||
resource_type: instance
|
||||
metadata: VDU1
|
||||
action: [respawn, log]
|
@ -1,58 +0,0 @@
|
||||
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
|
||||
description: Demo example
|
||||
|
||||
metadata:
|
||||
template_name: sample-tosca-vnfd
|
||||
|
||||
topology_template:
|
||||
node_templates:
|
||||
VDU1:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
capabilities:
|
||||
nfv_compute:
|
||||
properties:
|
||||
disk_size: 1 GB
|
||||
mem_size: 512 MB
|
||||
num_cpus: 2
|
||||
properties:
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
mgmt_driver: noop
|
||||
availability_zone: nova
|
||||
metadata: {metering.server_group: VDU1}
|
||||
|
||||
CP1:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
VL1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net_mgmt
|
||||
vendor: Tacker
|
||||
|
||||
policies:
|
||||
- vdu1_cpu_usage_monitoring_policy:
|
||||
type: tosca.policies.tacker.Alarming
|
||||
triggers:
|
||||
vdu_hcpu_usage_respawning:
|
||||
event_type:
|
||||
type: tosca.events.resource.utilization
|
||||
implementation: ceilometer
|
||||
metric: cpu_util
|
||||
condition:
|
||||
threshold: 50
|
||||
constraint: utilization greater_than 50%
|
||||
granularity: 300
|
||||
evaluations: 1
|
||||
aggregation_method: mean
|
||||
resource_type: instance
|
||||
comparison_operator: gt
|
||||
metadata: VDU1
|
||||
action: [respawn]
|
@ -1,84 +0,0 @@
|
||||
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
|
||||
description: Demo example
|
||||
|
||||
metadata:
|
||||
template_name: sample-tosca-vnfd
|
||||
|
||||
topology_template:
|
||||
node_templates:
|
||||
VDU1:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
capabilities:
|
||||
nfv_compute:
|
||||
properties:
|
||||
disk_size: 1 GB
|
||||
mem_size: 512 MB
|
||||
num_cpus: 2
|
||||
properties:
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
mgmt_driver: noop
|
||||
availability_zone: nova
|
||||
metadata: {metering.server_group: SG1}
|
||||
|
||||
CP1:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
VL1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net_mgmt
|
||||
vendor: Tacker
|
||||
|
||||
policies:
|
||||
- SP1:
|
||||
type: tosca.policies.tacker.Scaling
|
||||
properties:
|
||||
targets: [VDU1]
|
||||
increment: 1
|
||||
cooldown: 120
|
||||
min_instances: 1
|
||||
max_instances: 3
|
||||
default_instances: 1
|
||||
|
||||
- vdu_cpu_usage_monitoring_policy:
|
||||
type: tosca.policies.tacker.Alarming
|
||||
triggers:
|
||||
vdu_hcpu_usage_scaling_out:
|
||||
event_type:
|
||||
type: tosca.events.resource.utilization
|
||||
implementation: ceilometer
|
||||
metric: cpu_util
|
||||
condition:
|
||||
threshold: 80
|
||||
constraint: utilization greater_than 80%
|
||||
granularity: 60
|
||||
evaluations: 1
|
||||
aggregation_method: mean
|
||||
resource_type: instance
|
||||
comparison_operator: gt
|
||||
metadata: SG1
|
||||
action: [SP1]
|
||||
|
||||
vdu_lcpu_usage_scaling_in:
|
||||
event_type:
|
||||
type: tosca.events.resource.utilization
|
||||
implementation: ceilometer
|
||||
metric: cpu_util
|
||||
condition:
|
||||
threshold: 10
|
||||
constraint: utilization less_than 10%
|
||||
granularity: 60
|
||||
evaluations: 1
|
||||
aggregation_method: mean
|
||||
resource_type: instance
|
||||
comparison_operator: lt
|
||||
metadata: SG1
|
||||
action: [SP1]
|
@ -1,57 +0,0 @@
|
||||
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
|
||||
|
||||
description: Demo example
|
||||
|
||||
metadata:
|
||||
template_name: sample-tosca-vnfd
|
||||
|
||||
topology_template:
|
||||
node_templates:
|
||||
VDU1:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
capabilities:
|
||||
nfv_compute:
|
||||
properties:
|
||||
num_cpus: 1
|
||||
mem_size: 512 MB
|
||||
disk_size: 1 GB
|
||||
properties:
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
availability_zone: nova
|
||||
mgmt_driver: noop
|
||||
config: |
|
||||
param0: key1
|
||||
param1: key2
|
||||
|
||||
CP1:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
order: 0
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
VB1:
|
||||
type: tosca.nodes.BlockStorage.Tacker
|
||||
properties:
|
||||
size: 1 GB
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
|
||||
CB1:
|
||||
type: tosca.nodes.BlockStorageAttachment
|
||||
properties:
|
||||
location: /dev/vdb
|
||||
requirements:
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
- virtualAttachment:
|
||||
node: VB1
|
||||
VL1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net_mgmt
|
||||
vendor: Tacker
|
@ -1,39 +0,0 @@
|
||||
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
|
||||
description: A sample containerized VNF with two containers per VDU
|
||||
|
||||
metadata:
|
||||
template_name: sample-tosca-vnfd
|
||||
|
||||
topology_template:
|
||||
node_templates:
|
||||
VDU1:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
properties:
|
||||
namespace: default
|
||||
mapping_ports:
|
||||
- "80:80"
|
||||
- "88:88"
|
||||
service_type: NodePort
|
||||
vnfcs:
|
||||
front_end:
|
||||
num_cpus: 0.5
|
||||
mem_size: 512 MB
|
||||
image: nginx
|
||||
ports:
|
||||
- "80"
|
||||
rss_reader:
|
||||
num_cpus: 0.5
|
||||
mem_size: 512 MB
|
||||
image: nickchase/rss-php-nginx:v1
|
||||
ports:
|
||||
- "88"
|
||||
policies:
|
||||
- SP1:
|
||||
type: tosca.policies.tacker.Scaling
|
||||
targets: [VDU1]
|
||||
properties:
|
||||
min_instances: 1
|
||||
max_instances: 3
|
||||
target_cpu_utilization_percentage: 40
|
||||
default_instances: 1 # required parameter but ignored for cnf
|
||||
increment: 1 # required parameter but ignored for cnf
|
@ -1,38 +0,0 @@
|
||||
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
|
||||
description: A sample containerized VNF with one container per VDU
|
||||
|
||||
metadata:
|
||||
template_name: sample-tosca-vnfd
|
||||
|
||||
topology_template:
|
||||
node_templates:
|
||||
VDU1:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
properties:
|
||||
namespace: default
|
||||
mapping_ports:
|
||||
- "80:80"
|
||||
labels:
|
||||
- "app: webserver"
|
||||
service_type: ClusterIP
|
||||
vnfcs:
|
||||
web_server:
|
||||
num_cpus: 0.2
|
||||
mem_size: 100 MB
|
||||
image: k8s.gcr.io/hpa-example
|
||||
ports:
|
||||
- "80"
|
||||
config: |
|
||||
param0: key1
|
||||
param1: key2
|
||||
|
||||
policies:
|
||||
- SP1:
|
||||
type: tosca.policies.tacker.Scaling
|
||||
targets: [VDU1]
|
||||
properties:
|
||||
min_instances: 1
|
||||
max_instances: 10
|
||||
target_cpu_utilization_percentage: 50
|
||||
default_instances: 1 # required parameter but ignored for cnf
|
||||
increment: 1 # required parameter but ignored for cnf
|
@ -1,38 +0,0 @@
|
||||
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
|
||||
|
||||
description: Dedicated CPU example
|
||||
|
||||
metadata:
|
||||
template_name: sample-tosca-vnfd-cpu-dedicate
|
||||
|
||||
topology_template:
|
||||
node_templates:
|
||||
VDU1:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
capabilities:
|
||||
nfv_compute:
|
||||
properties:
|
||||
disk_size: 10 GB
|
||||
mem_size: 2048 MB
|
||||
num_cpus: 2
|
||||
cpu_allocation:
|
||||
cpu_affinity: dedicated
|
||||
properties:
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
|
||||
CP1:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
order: 0
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
VL1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net_mgmt
|
||||
vendor: Tacker
|
@ -1,76 +0,0 @@
|
||||
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
|
||||
|
||||
description: Demo example
|
||||
|
||||
metadata:
|
||||
template_name: sample-tosca-vnfd
|
||||
|
||||
topology_template:
|
||||
node_templates:
|
||||
VDU1:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
capabilities:
|
||||
nfv_compute:
|
||||
properties:
|
||||
num_cpus: 1
|
||||
mem_size: 512 MB
|
||||
disk_size: 1 GB
|
||||
properties:
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
availability_zone: nova
|
||||
mgmt_driver: noop
|
||||
config: |
|
||||
param0: key1
|
||||
param1: key2
|
||||
|
||||
CP1:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
order: 0
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
CP2:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
order: 1
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL2
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
CP3:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
order: 2
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL3
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
VL1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net_mgmt
|
||||
vendor: Tacker
|
||||
|
||||
VL2:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net0
|
||||
vendor: Tacker
|
||||
|
||||
VL3:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net1
|
||||
vendor: Tacker
|
@ -1,5 +0,0 @@
|
||||
{
|
||||
lease_id: '8b01bdf8-a47c-49ea-96f1-3504fccfc9d4',
|
||||
resource_type: 'physical_host',
|
||||
reservation_id: '707e4f81-aedd-44cd-a445-fd18a47d0228',
|
||||
}
|
@ -1,103 +0,0 @@
|
||||
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
|
||||
|
||||
description: VNF TOSCA template with reservation id input parameters
|
||||
|
||||
metadata:
|
||||
template_name: sample-tosca-vnfd-host-reservation
|
||||
|
||||
topology_template:
|
||||
inputs:
|
||||
lease_id:
|
||||
type: string
|
||||
description: lease id
|
||||
|
||||
resource_type:
|
||||
type: string
|
||||
description: reservation resource type
|
||||
|
||||
reservation_id:
|
||||
type: string
|
||||
description: reservation id
|
||||
|
||||
node_templates:
|
||||
VDU1:
|
||||
type: tosca.nodes.nfv.VDU.Tacker
|
||||
properties:
|
||||
image: cirros-0.5.2-x86_64-disk
|
||||
flavor: m1.tiny
|
||||
reservation_metadata:
|
||||
resource_type: { get_input: resource_type }
|
||||
id: { get_input: reservation_id }
|
||||
|
||||
CP1:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
management: true
|
||||
order: 0
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL1
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
CP2:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
order: 1
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL2
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
CP3:
|
||||
type: tosca.nodes.nfv.CP.Tacker
|
||||
properties:
|
||||
order: 2
|
||||
anti_spoofing_protection: false
|
||||
requirements:
|
||||
- virtualLink:
|
||||
node: VL3
|
||||
- virtualBinding:
|
||||
node: VDU1
|
||||
|
||||
VL1:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net_mgmt
|
||||
vendor: Tacker
|
||||
|
||||
VL2:
|
||||
type: tosca.nodes.nfv.VL
|
||||
|
||||
properties:
|
||||
network_name: net0
|
||||
vendor: Tacker
|
||||
|
||||
VL3:
|
||||
type: tosca.nodes.nfv.VL
|
||||
properties:
|
||||
network_name: net1
|
||||
vendor: Tacker
|
||||
|
||||
|
||||
policies:
|
||||
- RSV:
|
||||
type: tosca.policies.tacker.Reservation
|
||||
reservation:
|
||||
start_actions: [SP_RSV]
|
||||
before_end_actions: [SP_RSV]
|
||||
end_actions: [noop]
|
||||
properties:
|
||||
lease_id: { get_input: lease_id }
|
||||
- SP_RSV:
|
||||
type: tosca.policies.tacker.Scaling
|
||||
properties:
|
||||
increment: 2
|
||||
cooldown: 120
|
||||
min_instances: 0
|
||||
max_instances: 2
|
||||
default_instances: 0
|
||||
targets: [VDU1]
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user