Obsolete Legacy APIs excluding VIM feature
This patch obsoletes Legacy APIs excluding VIM feature. And this patch mainly contains the following changes: * Drop the implementation/db of NS and VNFFG functions. * Remove the implementation that was used only by Legacy VNFM features. * Remove the following components used only by Legacy features. * ceilometer * fenix * blazar * Drop the functional test jobs for Legacy features. * Delete the unnecessary files that were used in Legacy tests. Implements: blueprint deprecate-legacy-apis Change-Id: I76ba79f42cf7c3f04c48a87de4ae893f2d53e467
This commit is contained in:
parent
0ec99497f6
commit
f410d66e83
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.