Add baremetal node for puppet-infracloud
[releng.git] / prototypes / puppet-infracloud / manifests / site.pp
1 # SPDX-license-identifier: Apache-2.0
2 ##############################################################################
3 # Copyright (c) 2016 RedHat and others.
4 # All rights reserved. This program and the accompanying materials
5 # are made available under the terms of the Apache License, Version 2.0
6 # which accompanies this distribution, and is available at
7 # http://www.apache.org/licenses/LICENSE-2.0
8 ##############################################################################
9 node 'controller00.opnfvlocal' {
10   $group = 'infracloud'
11   class { 'opnfv::server':
12     iptables_public_tcp_ports => [80,5000,5671,8774,9292,9696,35357], # logs,keystone,rabbit,nova,glance,neutron,keystone
13     sysadmins                 => hiera('sysadmins', []),
14     enable_unbound            => false,
15     purge_apt_sources         => false,
16   }
17   class { 'opnfv::controller':
18     keystone_rabbit_password         => hiera('keystone_rabbit_password'),
19     neutron_rabbit_password          => hiera('neutron_rabbit_password'),
20     nova_rabbit_password             => hiera('nova_rabbit_password'),
21     root_mysql_password              => hiera('infracloud_mysql_password'),
22     keystone_mysql_password          => hiera('keystone_mysql_password'),
23     glance_mysql_password            => hiera('glance_mysql_password'),
24     neutron_mysql_password           => hiera('neutron_mysql_password'),
25     nova_mysql_password              => hiera('nova_mysql_password'),
26     keystone_admin_password          => hiera('keystone_admin_password'),
27     glance_admin_password            => hiera('glance_admin_password'),
28     neutron_admin_password           => hiera('neutron_admin_password'),
29     nova_admin_password              => hiera('nova_admin_password'),
30     keystone_admin_token             => hiera('keystone_admin_token'),
31     ssl_key_file_contents            => hiera('ssl_key_file_contents'),
32     ssl_cert_file_contents           => hiera('ssl_cert_file_contents'),
33     br_name                          => hiera('bridge_name'),
34     controller_public_address        => $::fqdn,
35     neutron_subnet_cidr              => '192.168.122.0/24',
36     neutron_subnet_gateway           => '192.168.122.1',
37     neutron_subnet_allocation_pools  => [
38                                           'start=192.168.122.50,end=192.168.122.254',
39                                         ],
40     opnfv_password                   => hiera('opnfv_password'),
41   }
42 }
43
44 node 'compute00.opnfvlocal' {
45   $group = 'infracloud'
46   class { 'opnfv::server':
47     sysadmins                 => hiera('sysadmins', []),
48     enable_unbound            => false,
49     purge_apt_sources         => false,
50   }
51
52   class { 'opnfv::compute':
53     nova_rabbit_password             => hiera('nova_rabbit_password'),
54     neutron_rabbit_password          => hiera('neutron_rabbit_password'),
55     neutron_admin_password           => hiera('neutron_admin_password'),
56     ssl_cert_file_contents           => hiera('ssl_cert_file_contents'),
57     ssl_key_file_contents            => hiera('ssl_key_file_contents'),
58     br_name                          => hiera('bridge_name'),
59     controller_public_address        => 'controller00.opnfvlocal',
60     virt_type                        => 'qemu',
61   }
62 }
63
64 node 'jumphost.opnfvlocal' {
65   class { 'opnfv::server':
66     sysadmins                 => hiera('sysadmins', []),
67     enable_unbound            => false,
68     purge_apt_sources         => false,
69   }
70 }
71
72 node 'baremetal.opnfvlocal' {
73   class { '::opnfv::server':
74     iptables_public_udp_ports => [67, 69],
75     sysadmins                 => hiera('sysadmins', []),
76     enable_unbound            => false,
77     purge_apt_sources         => false,
78   }
79
80   class { '::infracloud::bifrost':
81     ironic_inventory          => hiera('ironic_inventory', {}),
82     ironic_db_password        => hiera('ironic_db_password'),
83     mysql_password            => hiera('bifrost_mysql_password'),
84     ipmi_passwords            => hiera('ipmi_passwords'),
85     ssh_private_key           => hiera('bifrost_ssh_private_key'),
86     ssh_public_key            => hiera('bifrost_ssh_public_key'),
87     vlan                      => hiera('infracloud_vlan'),
88     gateway_ip                => hiera('infracloud_gateway_ip'),
89     default_network_interface => hiera('default_network_interface'),
90     dhcp_pool_start           => hiera('dhcp_pool_start'),
91     dhcp_pool_end             => hiera('dhcp_pool_end'),
92     network_interface         => hiera('network_interface'),
93     ipv4_nameserver           => hiera('ipv4_nameserver'),
94     ipv4_subnet_mask          => hiera('ipv4_subnet_mask'),
95   }
96 }