Fix deletion graph (no cobbler mode)
Change-Id: I0bbf9d2a261dcf3e1c8a8d11bdb4073353f87936 Implements: blueprint get-rid-cobbler-dnsmasq Depends-On: I80c62056dcfdf70b3786e163960d0307849e019c
This commit is contained in:
parent
0b5ab4ff80
commit
83ae1d3d61
|
@ -6,7 +6,6 @@ $data = [
|
|||
'nodes',
|
||||
'networks',
|
||||
'astute',
|
||||
'known_hosts',
|
||||
'provision',
|
||||
'common',
|
||||
]
|
||||
|
|
|
@ -15,6 +15,7 @@ $end_address = $::fuel_settings['ADMIN_NETWORK']['dhcp_pool_end'
|
|||
$network_mask = $::fuel_settings['ADMIN_NETWORK']['netmask']
|
||||
$network_address = ipcalc_network_by_address_netmask($start_address, $network_mask)
|
||||
$dhcp_gateway = $::fuel_settings['ADMIN_NETWORK']['dhcp_gateway']
|
||||
|
||||
if $dhcp_gateway {
|
||||
$router = $dhcp_gateway
|
||||
}
|
||||
|
@ -23,14 +24,11 @@ else {
|
|||
}
|
||||
|
||||
$next_server = $::fuel_settings['ADMIN_NETWORK']['ipaddress']
|
||||
|
||||
$nailgun_api_url = "http://${::fuel_settings['ADMIN_NETWORK']['ipaddress']}:8000/api"
|
||||
$ethdevice_timeout = hiera('ethdevice_timeout', '120')
|
||||
|
||||
$ddns_key = hiera('ddns_key', 'VyCWe0kutrawqQ2WEFKkAw=')
|
||||
$ddns_key_algorithm = hiera('ddns_key_algorithm', 'HMAC-MD5')
|
||||
$ddns_key_name = hiera('ddns_key_name', 'DHCP_UPDATE')
|
||||
|
||||
$bootstrap_menu_label = hiera('bootstrap_menu_label', 'bootstrap')
|
||||
$bootstrap_kernel_path = hiera('bootstrap_kernel_path', '/images/vmlinuz')
|
||||
$bootstrap_initrd_path = hiera('bootstrap_initrd_path', '/images/initrd.img')
|
||||
|
@ -38,6 +36,7 @@ $bootstrap_initrd_path = hiera('bootstrap_initrd_path', '/images/initrd.img')
|
|||
$bootstrap_settings = pick($::fuel_settings['BOOTSTRAP'], {})
|
||||
$bootstrap_path = pick($bootstrap_settings['path'], '/var/www/nailgun/bootstraps/active_bootstrap')
|
||||
$metadata_yaml = file("${bootstrap_path}/metadata.yaml", '/dev/null')
|
||||
|
||||
if empty($metadata_yaml) {
|
||||
$bootstrap_meta = {}
|
||||
} else {
|
||||
|
@ -74,11 +73,11 @@ class { "::provision::tftp" :
|
|||
chain32_files => $chain32_files,
|
||||
} ->
|
||||
|
||||
file { "/var/lib/tftpboot${bootstrap_kernel_path}" :
|
||||
file { "/var/lib/tftpboot/${bootstrap_kernel_path}" :
|
||||
source => "${bootstrap_path}/vmlinuz",
|
||||
} ->
|
||||
|
||||
file { "/var/lib/tftpboot${bootstrap_initrd_path}" :
|
||||
file { "/var/lib/tftpboot/${bootstrap_initrd_path}" :
|
||||
source => "${bootstrap_path}/initrd.img"
|
||||
}
|
||||
|
||||
|
|
|
@ -14,9 +14,10 @@ class provision::dhcpd (
|
|||
$known_hosts = [],
|
||||
) inherits provision::params {
|
||||
|
||||
package { "dhcpd" :
|
||||
name => $::provision::params::dhcpd_package,
|
||||
}
|
||||
$package_name = $::provision::params::dhcpd_package
|
||||
$service_name = $::provision::params::dhcpd_service
|
||||
|
||||
package { $package_name : }
|
||||
|
||||
file { $::provision::params::dhcpd_conf :
|
||||
ensure => present,
|
||||
|
@ -24,8 +25,8 @@ class provision::dhcpd (
|
|||
owner => 'dhcpd',
|
||||
group => 'dhcpd',
|
||||
mode => '0640',
|
||||
require => Package["dhcpd"],
|
||||
notify => Service["dhcpd"],
|
||||
require => Package[$package_name],
|
||||
notify => Service[$service_name],
|
||||
}
|
||||
|
||||
file { $::provision::params::dhcpd_conf_d :
|
||||
|
@ -33,7 +34,7 @@ class provision::dhcpd (
|
|||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0755',
|
||||
require => Package["dhcpd"],
|
||||
require => Package[$package_name],
|
||||
}
|
||||
|
||||
# It is just a file that could be modified by other modules
|
||||
|
@ -42,13 +43,12 @@ class provision::dhcpd (
|
|||
require => File[$::provision::params::dhcpd_conf_d],
|
||||
}
|
||||
|
||||
service { "dhcpd" :
|
||||
name => $::provision::params::dhcpd_service,
|
||||
service { $service_name :
|
||||
ensure => running,
|
||||
enable => true,
|
||||
hasrestart => false,
|
||||
hasstatus => false,
|
||||
require => Package["dhcpd"],
|
||||
require => Package[$package_name],
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -7,16 +7,17 @@ class provision::named (
|
|||
$ddns_key_name = $::provision::params::ddns_key_name,
|
||||
) inherits provision::params {
|
||||
|
||||
package { "named" :
|
||||
name => $::provision::params::named_package,
|
||||
}
|
||||
$package_name = $::provision::params::named_package
|
||||
$service_name = $::provision::params::named_service
|
||||
|
||||
package { $package_name : }
|
||||
|
||||
file { "/var/named" :
|
||||
ensure => directory,
|
||||
owner => 'named',
|
||||
group => 'named',
|
||||
mode => '0750',
|
||||
require => Package["named"],
|
||||
require => Package[$package_name],
|
||||
}
|
||||
|
||||
file { $::provision::params::named_conf :
|
||||
|
@ -25,8 +26,8 @@ class provision::named (
|
|||
owner => 'named',
|
||||
group => 'named',
|
||||
mode => '0640',
|
||||
require => Package["named"],
|
||||
notify => Service["named"],
|
||||
require => Package[$package_name],
|
||||
notify => Service[$service_name],
|
||||
}
|
||||
|
||||
file { "/var/named/${domain_name}" :
|
||||
|
@ -35,17 +36,16 @@ class provision::named (
|
|||
owner => 'named',
|
||||
group => 'named',
|
||||
mode => '0644',
|
||||
require => Package["named"],
|
||||
notify => Service["named"],
|
||||
require => Package[$package_name],
|
||||
notify => Service[$service_name],
|
||||
}
|
||||
|
||||
service { "named" :
|
||||
name => $::provision::params::named_service,
|
||||
service { $service_name :
|
||||
ensure => running,
|
||||
enable => true,
|
||||
hasrestart => false,
|
||||
hasstatus => false,
|
||||
require => Package["named"],
|
||||
require => Package[$package_name],
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -27,10 +27,10 @@ class provision::params {
|
|||
$ddns_key = "VyCWe0kutrawqQ2WEFKkAw=="
|
||||
$ddns_key_algorithm = "HMAC-MD5"
|
||||
$ddns_key_name = "DHCP_UPDATE"
|
||||
|
||||
$bootstrap_kernel_path = "/images/ubuntu_bootstrap/vmlinuz"
|
||||
$bootstrap_initrd_path = "/images/ubuntu_bootstrap/initrd.img"
|
||||
$bootstrap_kernel_params = "ksdevice=bootif lang= console=ttyS0,9600 console=tty0 toram locale=en_US text boot=live biosdevname=0 components ip=frommedia ethdevice-timeout=120 net.ifnames=1 panic=60"
|
||||
$bootstrap_menu_label = "ubuntu_bootstrap"
|
||||
$tftp_root = "/var/lib/tftpboot"
|
||||
|
||||
}
|
||||
|
|
|
@ -3,6 +3,7 @@ class provision::tftp (
|
|||
$bootstrap_kernel_path = $::provision::params::bootstrap_kernel_path,
|
||||
$bootstrap_initrd_path = $::provision::params::bootstrap_initrd_path,
|
||||
$bootstrap_menu_label = $::provision::params::bootstrap_menu_label,
|
||||
$tftp_root = $::provision::params::tftp_root,
|
||||
$chain32_files = [],
|
||||
) inherits provision::params {
|
||||
|
||||
|
@ -45,7 +46,7 @@ class provision::tftp (
|
|||
|
||||
ensure_packages($tftp_packages)
|
||||
|
||||
file { ["/var/lib/tftpboot/images", "/var/lib/tftpboot/pxelinux.cfg"] :
|
||||
file { ["${tftp_root}/images", "${tftp_root}/pxelinux.cfg"] :
|
||||
ensure => directory,
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
|
@ -53,35 +54,35 @@ class provision::tftp (
|
|||
require => Package[$tftp_packages],
|
||||
}
|
||||
|
||||
file { "/var/lib/tftpboot/pxelinux.cfg/default" :
|
||||
file { "${tftp_root}/pxelinux.cfg/default" :
|
||||
ensure => present,
|
||||
content => template("provision/tftp.default.erb"),
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0644',
|
||||
require => File["/var/lib/tftpboot/pxelinux.cfg"],
|
||||
require => File["${tftp_root}/pxelinux.cfg"],
|
||||
}
|
||||
|
||||
file { '/var/lib/tftpboot/chain.c32':
|
||||
file { "${tftp_root}/chain.c32":
|
||||
source => '/usr/share/syslinux/chain.c32',
|
||||
require => Package[$tftp_packages],
|
||||
}
|
||||
|
||||
file { '/var/lib/tftpboot/pxelinux.0':
|
||||
file { "${tftp_root}/pxelinux.0":
|
||||
source => '/usr/share/syslinux/pxelinux.0',
|
||||
require => Package[$tftp_packages],
|
||||
}
|
||||
|
||||
file { '/var/lib/tftpboot/menu.c32':
|
||||
file { "${tftp_root}/menu.c32":
|
||||
source => '/usr/share/syslinux/menu.c32',
|
||||
require => Package[$tftp_packages],
|
||||
}
|
||||
|
||||
# TODO Create custom type that will remove all 01-* files that
|
||||
# are not in the $chain32_files list
|
||||
exec { 'remove /var/lib/tftpboot/pxelinux.cfg/01-* files' :
|
||||
command => "find /var/lib/tftpboot/pxelinux.cfg -type f -name '01-*' -delete",
|
||||
require => File["/var/lib/tftpboot/pxelinux.cfg"],
|
||||
exec { "remove ${tftp_root}/pxelinux.cfg/01-* files" :
|
||||
command => "find ${tftp_root}/pxelinux.cfg -type f -name '01-*' -delete",
|
||||
require => File["${tftp_root}/pxelinux.cfg"],
|
||||
} ->
|
||||
|
||||
file { $chain32_files :
|
||||
|
@ -90,6 +91,6 @@ class provision::tftp (
|
|||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0644',
|
||||
require => File["/var/lib/tftpboot/pxelinux.cfg"],
|
||||
require => File["${tftp_root}/pxelinux.cfg"],
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,35 +7,44 @@
|
|||
type: stage
|
||||
requires: [deletion_start]
|
||||
|
||||
- id: cobbler_enable_netboot
|
||||
type: master_shell
|
||||
- id: upload_provision_info_master
|
||||
type: upload_file
|
||||
version: 2.1.0
|
||||
role: ['/.*/']
|
||||
role: ['master']
|
||||
requires: [deletion_start]
|
||||
required_for: [move_to_bootstrap]
|
||||
required_for: [reconfigure_dhcpd]
|
||||
parameters:
|
||||
cmd:
|
||||
yaql_exp: 'concat("sh /etc/puppet/modules/osnailyfacter/modular/provision/netboot enable ", $.provision.name)'
|
||||
path: /var/lib/fuel/configs/{CLUSTER_ID}/provision.yaml
|
||||
timeout: 180
|
||||
data:
|
||||
#TODO: Replace dict($.items) to $ when LP1666913 is fixed
|
||||
yaql_exp: "($.provision.set('packages', $.provision.packages) + $.repo_setup + dict('output' => '/var/www/nailgun/targetimages') + dict($.items())).toYaml()"
|
||||
|
||||
- id: move_to_bootstrap
|
||||
type: move_to_bootstrap
|
||||
- id: reconfigure_dhcpd
|
||||
type: puppet
|
||||
version: 2.1.0
|
||||
role: ['master']
|
||||
requires: [upload_provision_info_master]
|
||||
required_for: [node_reboot]
|
||||
parameters:
|
||||
puppet_manifest: /etc/puppet/modules/fuel/examples/provision.pp
|
||||
puppet_modules: /etc/puppet/modules
|
||||
timeout: 3600
|
||||
|
||||
- id: node_reboot
|
||||
type: reboot
|
||||
version: 2.1.0
|
||||
role: ['/.*/']
|
||||
requires: [cobbler_enable_netboot]
|
||||
requires: [reconfigure_dhcpd]
|
||||
required_for: [node_erase]
|
||||
parameters:
|
||||
slave_name:
|
||||
yaql_exp: '$.provision.name'
|
||||
provisioning_info:
|
||||
yaql_exp: '$.provision'
|
||||
timeout: 180
|
||||
timeout: 300
|
||||
|
||||
- id: node_erase
|
||||
type: erase_node
|
||||
version: 2.1.0
|
||||
role: ['/.*/']
|
||||
requires: [move_to_bootstrap]
|
||||
requires: [node_reboot]
|
||||
required_for: [deletion_end]
|
||||
parameters:
|
||||
timeout: 180
|
||||
|
|
|
@ -85,7 +85,7 @@
|
|||
type: reboot
|
||||
version: 2.1.0
|
||||
role: ['/.*/']
|
||||
requires: [cobbler_disable_netboot]
|
||||
requires: [system_provision]
|
||||
required_for: [set_status_provisioned]
|
||||
parameters:
|
||||
timeout: 900
|
||||
|
|
Loading…
Reference in New Issue