75a1e34c3c
The ironic devstack gate boots virtual baremetal 'nodes' on the Neutron tenant network. These nodes PXE boot and expect TFTP access and the ability to post a callback via Ironic's API at $HOST_IP:6385. This adds two new rules to the openstack-INPUT chain to allow these from the Devstack Neutron public network. Change-Id: I6aecc0f07641c09f696756b94398d1ccbe082548
46 lines
1.7 KiB
Puppet
46 lines
1.7 KiB
Puppet
# == Class: openstack_project::single_use_slave
|
|
#
|
|
# This class configures single use Jenkins slaves with a few
|
|
# toggleable options. Most importantly sudo rights for the Jenkins
|
|
# user are by default off but can be enabled. Also, automatic_upgrades
|
|
# are off by default as the assumption is the backing image for
|
|
# this single use slaves will be refreshed with new packages
|
|
# periodically.
|
|
class openstack_project::single_use_slave (
|
|
$certname = $::fqdn,
|
|
$install_users = true,
|
|
$sudo = false,
|
|
$bare = true,
|
|
$python3 = false,
|
|
$include_pypy = false,
|
|
$automatic_upgrades = false,
|
|
$all_mysql_privs = false,
|
|
$ssh_key = $openstack_project::jenkins_ssh_key
|
|
) inherits openstack_project {
|
|
class { 'openstack_project::template':
|
|
certname => $certname,
|
|
automatic_upgrades => $automatic_upgrades,
|
|
install_users => $install_users,
|
|
iptables_rules4 =>
|
|
[
|
|
# Ports 69 and 6385 allow to allow ironic VM nodes to reach tftp and
|
|
# the ironic API from the neutron public net
|
|
'-p udp --dport 69 -s 172.24.4.0/24 -j ACCEPT',
|
|
'-p tcp --dport 6385 -s 172.24.4.0/24 -j ACCEPT',
|
|
# Ports 8000, 8003, 8004 from the devstack neutron public net to allow
|
|
# nova servers to reach heat-api-cfn, heat-api-cloudwatch, heat-api
|
|
'-p tcp --dport 8000 -s 172.24.4.0/24 -j ACCEPT',
|
|
'-p tcp --dport 8003 -s 172.24.4.0/24 -j ACCEPT',
|
|
'-p tcp --dport 8004 -s 172.24.4.0/24 -j ACCEPT',
|
|
],
|
|
}
|
|
class { 'jenkins::slave':
|
|
ssh_key => $ssh_key,
|
|
sudo => $sudo,
|
|
bare => $bare,
|
|
python3 => $python3,
|
|
include_pypy => $include_pypy,
|
|
all_mysql_privs => $all_mysql_privs,
|
|
}
|
|
}
|