aboutsummaryrefslogtreecommitdiffstats
path: root/puppet/services/neutron-plugin-ml2-fujitsu-cfab.yaml
blob: 3e7250d1afafa1af690fcecd909f00142c182e2a (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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
heat_template_version: pike

description: >
  Configure hieradata for Fujitsu C-Fabric plugin configuration

parameters:
  ServiceData:
    default: {}
    description: Dictionary packing service data
    type: json
  ServiceNetMap:
    default: {}
    description: Mapping of service_name -> network name. Typically set
                 via parameter_defaults in the resource registry.  This
                 mapping overrides those in ServiceNetMapDefaults.
    type: json
  DefaultPasswords:
    default: {}
    type: json
  RoleName:
    default: ''
    description: Role name on which the service is applied
    type: string
  RoleParameters:
    default: {}
    description: Parameters specific to the role
    type: json
  EndpointMap:
    default: {}
    description: Mapping of service endpoint -> protocol. Typically set
                 via parameter_defaults in the resource registry.
    type: json
  NeutronFujitsuCfabAddress:
    description: 'The address of the C-Fabric to telnet to.'
    type: string
  NeutronFujitsuCfabUserName:
    description: 'The C-Fabric username to use.'
    type: string
  NeutronFujitsuCfabPassword:
    description: 'The C-Fabric password to use.'
    type: string
    hidden: true
  NeutronFujitsuCfabPhysicalNetworks:
    description: 'List of <physical_network>:<vfab_id> tuples specifying physical_network names and corresponding vfab ids.'
    type: comma_delimited_list
    default: ''
  NeutronFujitsuCfabSharePprofile:
    description: '"Whether to share a C-Fabric pprofile among Neutron ports using the same VLAN ID.'
    type: boolean
    default: false
  NeutronFujitsuCfabPprofilePrefix:
    description: 'The prefix string for pprofile name.'
    type: string
    default: ''
  NeutronFujitsuCfabSaveConfig:
    description: 'Whether to save configuration.'
    type: boolean
    default: true

resources:

  NeutronMl2Base:
    type: ./neutron-plugin-ml2.yaml
    properties:
      ServiceData: {get_param: ServiceData}
      ServiceNetMap: {get_param: ServiceNetMap}
      DefaultPasswords: {get_param: DefaultPasswords}
      EndpointMap: {get_param: EndpointMap}
      RoleName: {get_param: RoleName}
      RoleParameters: {get_param: RoleParameters}

outputs:
  role_data:
    description: Role data for Fujitsu Cfab ML2 Driver
    value:
      service_name: neutron_plugin_ml2_fujitsu_cfab
      config_settings:
        map_merge:
          - get_attr: [NeutronMl2Base, role_data, config_settings]
          - neutron::plugins::ml2::fujitsu::cfab::address: {get_param: NeutronFujitsuCfabAddress}
            neutron::plugins::ml2::fujitsu::cfab::username: {get_param: NeutronFujitsuCfabUserName}
            neutron::plugins::ml2::fujitsu::cfab::password: {get_param: NeutronFujitsuCfabPassword}
            neutron::plugins::ml2::fujitsu::cfab::physical_networks: {get_param: NeutronFujitsuCfabPhysicalNetworks}
            neutron::plugins::ml2::fujitsu::cfab::share_pprofile: {get_param: NeutronFujitsuCfabSharePprofile}
            neutron::plugins::ml2::fujitsu::cfab::pprofile_prefix: {get_param: NeutronFujitsuCfabPprofilePrefix}
            neutron::plugins::ml2::fujitsu::cfab::save_config: {get_param: NeutronFujitsuCfabSaveConfig}
      step_config: |
        include ::tripleo::profile::base::neutron::plugins::ml2
estJSON.test_create_port_with_no_securitygroups tempest.api.network.test_ports.PortsIpV6TestJSON.test_create_update_delete_port tempest.api.network.test_ports.PortsIpV6TestJSON.test_list_ports tempest.api.network.test_ports.PortsIpV6TestJSON.test_show_port tempest.api.network.test_routers.RoutersIpV6Test.test_add_multiple_router_interfaces tempest.api.network.test_routers.RoutersIpV6Test.test_add_remove_router_interface_with_port_id tempest.api.network.test_routers.RoutersIpV6Test.test_add_remove_router_interface_with_subnet_id tempest.api.network.test_routers.RoutersIpV6Test.test_create_show_list_update_delete_router tempest.api.network.test_security_groups.SecGroupIPv6Test.test_create_list_update_show_delete_security_group tempest.api.network.test_security_groups.SecGroupIPv6Test.test_create_show_delete_security_group_rule tempest.api.network.test_security_groups.SecGroupIPv6Test.test_list_security_groups Tempest Scenario testing validates some specific overlay IPv6 scenarios (i.e. use cases) as follows: .. code-block:: bash tempest.scenario.test_network_v6.TestGettingAddress.test_dhcp6_stateless_from_os tempest.scenario.test_network_v6.TestGettingAddress.test_dualnet_dhcp6_stateless_from_os tempest.scenario.test_network_v6.TestGettingAddress.test_dualnet_multi_prefix_dhcpv6_stateless tempest.scenario.test_network_v6.TestGettingAddress.test_dualnet_multi_prefix_slaac tempest.scenario.test_network_v6.TestGettingAddress.test_dualnet_slaac_from_os tempest.scenario.test_network_v6.TestGettingAddress.test_multi_prefix_dhcpv6_stateless tempest.scenario.test_network_v6.TestGettingAddress.test_multi_prefix_slaac tempest.scenario.test_network_v6.TestGettingAddress.test_slaac_from_os The above Tempest API testing and Scenario testing are quite comprehensive to validate overlay IPv6 tenant networks. They are part of OpenStack default Smoke Tests, run in FuncTest and integrated into OPNFV's CI/CD environment.