# # This manifest is intended to demonstrate how to provision the # resources necessary to boot a vm with network connectivity provided # by neutron. # # Note that a neutron_router resource must declare a dependency on the # first subnet of the gateway network. Other dependencies for the # resources used in this example can be automatically determined. # keystone_tenant { 'admin': ensure => present, } neutron_network { 'public': ensure => present, router_external => 'True', tenant_name => 'admin', } neutron_subnet { 'public_subnet': ensure => 'present', cidr => '172.24.4.224/28', network_name => 'public', tenant_name => 'admin', } keystone_tenant { 'demo': ensure => present, } neutron_network { 'private': ensure => present, tenant_name => 'demo', } neutron_subnet { 'private_subnet': ensure => present, cidr => '10.0.0.0/24', network_name => 'private', tenant_name => 'demo', } # Tenant-private router - assumes network namespace isolation neutron_router { 'demo_router': ensure => present, tenant_name => 'demo', gateway_network_name => 'public', require => Neutron_subnet['public_subnet'], } neutron_router_interface { 'demo_router:private_subnet': ensure => present, }