Project

General

Profile

« Previous | Next » 

Revision 4f0fafbd

Added by Dmitri Dolguikh about 8 years ago

Fixes #14775 - virsh provider is now being renamed

When migrating during dns and dhcp configuration files.

View differences:

extra/migrations/20160411000000_migrate_libvirt_settings.rb
class MigrateVirshToLibvirtConfig < ::Proxy::Migration
def migrate
input_yaml = YAML.load_file(path(src_dir, "settings.yml"))
copy_original_configuration_except("settings.yml", path("settings.d", "dhcp_virsh.yml"), path("settings.d", "dns_virsh.yml"))
write_yaml(path(dst_dir, "settings.d", "dhcp_libvirt.yml"), transform_dhcp_yaml(input_yaml))
write_yaml(path(dst_dir, "settings.d", "dns_libvirt.yml"), transform_dns_yaml(input_yaml))
copy_original_configuration_except("settings.yml",
path("settings.d", "dhcp.yml"), path("settings.d", "dhcp_virsh.yml"),
path("settings.d", "dns.yml"), path("settings.d", "dns_virsh.yml"))
dhcp_path = path(src_dir, "settings.d", "dhcp.yml")
write_yaml(path(dst_dir, "settings.d", "dhcp.yml"), transform_dhcp_yaml(YAML.load_file(dhcp_path))) if File.exist?(dhcp_path)
write_yaml(path(dst_dir, "settings.d", "dhcp_libvirt.yml"), transform_dhcp_libvirt_yaml(input_yaml))
dns_path = path(src_dir, "settings.d", "dns.yml")
write_yaml(path(dst_dir, "settings.d", "dns.yml"), transform_dns_yaml(YAML.load_file(dns_path))) if File.exist?(dns_path)
write_yaml(path(dst_dir, "settings.d", "dns_libvirt.yml"), transform_dns_libvirt_yaml(input_yaml))
write_yaml(path(dst_dir, "settings.yml"), transform_settings_yaml(input_yaml))
end
......
yaml
end
def transform_dns_yaml(yaml)
def transform_dns_libvirt_yaml(yaml)
network = yaml[:virsh_network] || 'default'
{ :network => network }
end
def transform_dns_yaml(yaml)
yaml[:use_provider] = "dns_libvirt" if yaml[:use_provider] == "dns_virsh"
yaml
end
def transform_dhcp_yaml(yaml)
yaml[:use_provider] = "dhcp_libvirt" if yaml[:use_provider] == "dhcp_virsh"
yaml
end
def transform_dhcp_libvirt_yaml(yaml)
network = yaml[:virsh_network] || 'default'
{ :network => network }
end

Also available in: Unified diff