aboutsummaryrefslogtreecommitdiffstats
path: root/samples/vnf_samples/vnf_descriptors/agnostic_vnf.yaml
blob: 14a3910e370a690b8769e9433ae6bf4336a2060a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# Copyright (c) 2018 Intel Corporation
#
# 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.

vnfd:vnfd-catalog:
    vnfd:
    -   id: AgnosticVnf
        name: AgnosticVnf
        short-name: AgnosticVnf
        description: 'VNFD for AgnosticVNF which wraps around any unsupported VNF
                      and allows for blackbox testing of the VNF.'
        mgmt-interface:
            vdu-id: AgnosticVnf-baremetal
            {% if user is defined %}
            user: '{{user}}'  # Value filled by vnfdgen
            {% endif %}
            {% if password is defined %}
            password: '{{password}}'  # Value filled by vnfdgen
            {% endif %}
            {% if ip is defined %}
            ip: '{{ip}}'  # Value filled by vnfdgen
            {% endif %}
            {% if key_filename is defined %}
            key_filename: '{{key_filename}}'  # Value filled by vnfdgen
            {% endif %}
        vdu:
        -   id: AgnosticVnf-baremetal
            name: AgnosticVnf-baremetal
            description: Agnostic vnf
            routing_table: {{ routing_table }}
            nd_route_tbl: {{ nd_route_tbl }}
        benchmark:
            kpi:
                []
slomsg_rpc_hosts => ['some.server.com', 'someother.server.com'] }) end it 'should construct a multihost URL' do is_expected.to contain_class('nova::metadata::novajoin::api').with( :transport_url => 'rabbit://guest:somepassword@some.server.com:5672,guest:somepassword@someother.server.com:5672/?ssl=0' ) end end context 'with username provided' do before do params.merge!({ :oslomsg_rpc_username => 'bunny' }) end it 'should construct URL with username' do is_expected.to contain_class('nova::metadata::novajoin::api').with( :transport_url => 'rabbit://bunny:somepassword@some.server.com:5672/?ssl=0' ) end end context 'with username and password provided' do before do params.merge!( { :oslomsg_rpc_username => 'bunny', :oslomsg_rpc_password => 'carrot' } ) end it 'should construct URL with username and password' do is_expected.to contain_class('nova::metadata::novajoin::api').with( :transport_url => 'rabbit://bunny:carrot@some.server.com:5672/?ssl=0' ) end end context 'with multiple hosts and user info provided' do before do params.merge!( { :oslomsg_rpc_hosts => ['some.server.com', 'someother.server.com'], :oslomsg_rpc_username => 'bunny', :oslomsg_rpc_password => 'carrot' } ) end it 'should distributed user info across hosts URL' do is_expected.to contain_class('nova::metadata::novajoin::api').with( :transport_url => 'rabbit://bunny:carrot@some.server.com:5672,bunny:carrot@someother.server.com:5672/?ssl=0' ) end end end on_supported_os.each do |os, facts| context "on #{os}" do let(:facts) do facts.merge({}) end it_behaves_like 'tripleo::profile::base::novajoin' end end end