File: 10_basic_neutron_spec.rb

package info (click to toggle)
puppet-module-neutron 25.0.0-6
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 3,708 kB
  • sloc: ruby: 12,680; python: 38; sh: 15; makefile: 10
file content (80 lines) | stat: -rw-r--r-- 2,416 bytes parent folder | download
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
require 'spec_helper_acceptance'

describe 'basic neutron' do

  context 'default parameters' do

    it 'should work with no errors' do
      pp= <<-EOS
      include openstack_integration
      include openstack_integration::repos
      include openstack_integration::apache
      include openstack_integration::rabbitmq
      include openstack_integration::mysql
      include openstack_integration::memcached
      include openstack_integration::keystone
      include openstack_integration::neutron

      neutron_network { 'private':
        mtu => 1000,
      }
      neutron_subnet { 'private-subnet':
        cidr         => '192.168.100.0/24',
        ip_version   => '4',
        network_name => 'private',
      }
      neutron_network { 'flat':
        router_external           => true,
        provider_network_type     => 'flat',
        provider_physical_network => 'external',
      }
      neutron_subnet { 'flat-subnet':
        cidr             => '172.24.5.0/24',
        ip_version       => '4',
        allocation_pools => ['start=172.24.5.10,end=172.24.5.200'],
        gateway_ip       => '172.24.5.1',
        enable_dhcp      => false,
        network_name     => 'flat',
      }
      neutron_network { 'vlan':
        provider_network_type     => 'vlan',
        provider_physical_network => 'external',
        provider_segmentation_id  => 100,
      }
      neutron_subnet { 'vlan-subnet':
        cidr             => '172.24.6.0/24',
        ip_version       => '4',
        allocation_pools => ['start=172.24.6.10,end=172.24.6.200'],
        gateway_ip       => '172.24.6.1',
        enable_dhcp      => false,
        network_name     => 'vlan',
      }
      # TODO(tkajinam): Fix broken idempotency caused by gateway_network_name
      #neutron_router { 'router':
      #  gateway_network_name => 'flat',
      #}
      #neutron_router_interface { 'router:private':
      #}
      EOS


      # Run it twice and test for idempotency
      apply_manifest(pp, :catch_failures => true)
      apply_manifest(pp, :catch_changes => true)
    end

    describe port(9696) do
      it { is_expected.to be_listening }
    end

    describe 'test Neutron OVS agent bridges' do
      it 'should list OVS bridges' do
        command("ovs-vsctl show") do |r|
          expect(r.stdout).to match(/br-int/)
          expect(r.stdout).to match(/br-tun/)
        end
      end
    end

  end
end