Skip to content

Commit

Permalink
Kill some YCP zombies
Browse files Browse the repository at this point in the history
  • Loading branch information
ancorgs committed Feb 20, 2020
1 parent 0f1da68 commit 07253c3
Show file tree
Hide file tree
Showing 2 changed files with 127 additions and 132 deletions.
67 changes: 33 additions & 34 deletions src/clients/fcoe-client_finish.rb
Original file line number Diff line number Diff line change
Expand Up @@ -87,40 +87,39 @@ def main
Builtins.y2milestone("Nothing to do")
end

Builtins.foreach(@netcards) do |card|
command = ""
file_name = ""
if Ops.get_string(card, "fcoe_vlan", "") != FcoeClient.NOT_AVAILABLE &&
Ops.get_string(card, "fcoe_vlan", "") != FcoeClient.NOT_CONFIGURED
# FCoE VLAN interface is configured -> start services
@start_services = true

# copy sysconfig files
file_name = Builtins.sformat(
"/etc/sysconfig/network/ifcfg-%1.%2",
Ops.get_string(card, "dev_name", ""),
Ops.get_string(card, "vlan_interface", "")
)
command = Builtins.sformat(
"/usr/bin/cp -a %1 %2/etc/sysconfig/network",
file_name.shellescape,
Installation.destdir.shellescape
)
Builtins.y2milestone("Executing command: %1", command)
WFM.Execute(path(".local.bash"), command)

file_name = Builtins.sformat(
"/etc/sysconfig/network/ifcfg-%1",
Ops.get_string(card, "dev_name", "")
)
command = Builtins.sformat(
"/usr/bin/cp -a %1 %2/etc/sysconfig/network",
file_name.shellescape,
Installation.destdir.shellescape
)
Builtins.y2milestone("Executing command: %1", command)
WFM.Execute(path(".local.bash"), command)
end
@netcards.each do |card|
fcoe_vlan = card.fetch("fcoe_vlan", "")
next if fcoe_vlan == FcoeClient.NOT_AVAILABLE || fcoe_vlan == FcoeClient.NOT_CONFIGURED

# FCoE VLAN interface is configured -> start services
@start_services = true

# copy sysconfig files
file_name = Builtins.sformat(
"/etc/sysconfig/network/ifcfg-%1.%2",
Ops.get_string(card, "dev_name", ""),
Ops.get_string(card, "vlan_interface", "")
)

command = Builtins.sformat(
"/usr/bin/cp -a %1 %2/etc/sysconfig/network",
file_name.shellescape,
Installation.destdir.shellescape
)
Builtins.y2milestone("Executing command: %1", command)
WFM.Execute(path(".local.bash"), command)

file_name = Builtins.sformat(
"/etc/sysconfig/network/ifcfg-%1",
Ops.get_string(card, "dev_name", "")
)
command = Builtins.sformat(
"/usr/bin/cp -a %1 %2/etc/sysconfig/network",
file_name.shellescape,
Installation.destdir.shellescape
)
Builtins.y2milestone("Executing command: %1", command)
WFM.Execute(path(".local.bash"), command)
end

if @start_services
Expand Down
192 changes: 94 additions & 98 deletions src/modules/FcoeClient.rb
Original file line number Diff line number Diff line change
Expand Up @@ -1235,35 +1235,34 @@ def WriteSysconfigFiles
netcards = GetNetworkCards()
success = true

Builtins.foreach(netcards) do |card|
netcards.each do |card|
fcoe_vlan = card.fetch("fcoe_vlan", "")
if fcoe_vlan != @NOT_AVAILABLE &&
fcoe_vlan != @NOT_CONFIGURED
# write ifcfg-<if>.>VLAN> only if VLAN was created (not for VLAN = 0 which means
# FCoE is started on the network interface itself)
dev_name = card.fetch("dev_name", "")
vid = card.fetch("vlan_interface", "")
if vid != "0"
Builtins.y2milestone("Writing /etc/sysconfig/network/ifcfg-%1", fcoe_vlan)
vifcfg_path = path(".network.value") + fcoe_vlan
# write /etc/sysconfig/network/ifcfg-<fcoe-vlan-interface>, e.g. ifcfg-eth3.200
SCR.Write(vifcfg_path + "BOOTPROTO", "static")
SCR.Write(vifcfg_path + "STARTMODE", "nfsroot")
SCR.Write(vifcfg_path + "ETHERDEVICE", dev_name)
SCR.Write(vifcfg_path + "USERCONTROL", "no")
SCR.Write(vifcfg_path + "VLAN_ID", vid)
end
ifcfg_file = "/etc/sysconfig/network/ifcfg-#{dev_name}"
Builtins.y2milestone("Writing %1", ifcfg_file)

# write /etc/sysconfig/network/ifcfg-<interface> (underlying interface), e.g. ifcfg-eth3
ifcfg_path = path(".network.value") + dev_name
SCR.Write(ifcfg_path + "STARTMODE", "nfsroot")
# don't overwrite BOOTPROTO !!!
if !FileUtils.Exists(ifcfg_file)
SCR.Write(ifcfg_path + "BOOTPROTO", "static")
SCR.Write(ifcfg_path + "NAME", card.fetch("device", ""))
end
# write ifcfg-<if>.<VLAN> only if VLAN was created (not for VLAN = 0 which means
# FCoE is started on the network interface itself)
next if fcoe_vlan == @NOT_AVAILABLE || fcoe_vlan == @NOT_CONFIGURED

dev_name = card.fetch("dev_name", "")
vid = card.fetch("vlan_interface", "")
if vid != "0"
Builtins.y2milestone("Writing /etc/sysconfig/network/ifcfg-%1", fcoe_vlan)
vifcfg_path = path(".network.value") + fcoe_vlan
# write /etc/sysconfig/network/ifcfg-<fcoe-vlan-interface>, e.g. ifcfg-eth3.200
SCR.Write(vifcfg_path + "BOOTPROTO", "static")
SCR.Write(vifcfg_path + "STARTMODE", "nfsroot")
SCR.Write(vifcfg_path + "ETHERDEVICE", dev_name)
SCR.Write(vifcfg_path + "USERCONTROL", "no")
SCR.Write(vifcfg_path + "VLAN_ID", vid)
end
ifcfg_file = "/etc/sysconfig/network/ifcfg-#{dev_name}"
Builtins.y2milestone("Writing %1", ifcfg_file)

# write /etc/sysconfig/network/ifcfg-<interface> (underlying interface), e.g. ifcfg-eth3
ifcfg_path = path(".network.value") + dev_name
SCR.Write(ifcfg_path + "STARTMODE", "nfsroot")
# don't overwrite BOOTPROTO !!!
if !FileUtils.Exists(ifcfg_file)
SCR.Write(ifcfg_path + "BOOTPROTO", "static")
SCR.Write(ifcfg_path + "NAME", card.fetch("device", ""))
end
end
# This is very important- it flushes the cache, and stores the configuration on the disk
Expand All @@ -1282,90 +1281,87 @@ def WriteCfgFiles

success = false

Builtins.foreach(netcards) do |card|
if Ops.get_string(card, "fcoe_vlan", "") != @NOT_AVAILABLE &&
Ops.get_string(card, "fcoe_vlan", "") != @NOT_CONFIGURED
command = ""
output = {}

Builtins.y2milestone(
"Writing /etc/fcoe/cfg-%1",
Ops.get_string(card, "cfg_device", "")
)
success = SCR.Write(
netcards.each do |card|
fcoe_vlan = card.fetch("fcoe_vlan", "")
next if fcoe_vlan == @NOT_AVAILABLE || fcoe_vlan == @NOT_CONFIGURED

Builtins.y2milestone(
"Writing /etc/fcoe/cfg-%1",
Ops.get_string(card, "cfg_device", "")
)
success = SCR.Write(
Ops.add(
Ops.add(
Ops.add(
path(".fcoe.cfg-ethx.value"),
Ops.get_string(card, "cfg_device", "")
),
"FCOE_ENABLE"
path(".fcoe.cfg-ethx.value"),
Ops.get_string(card, "cfg_device", "")
),
"FCOE_ENABLE"
),
Ops.get_string(card, "fcoe_enable", "no")
)
if !success
Builtins.y2error(
"Writing FCOE_ENABLE=%1 failed",
Ops.get_string(card, "fcoe_enable", "no")
)
if !success
Builtins.y2error(
"Writing FCOE_ENABLE=%1 failed",
Ops.get_string(card, "fcoe_enable", "no")
)
end
success = SCR.Write(
end
success = SCR.Write(
Ops.add(
Ops.add(
Ops.add(
path(".fcoe.cfg-ethx.value"),
Ops.get_string(card, "cfg_device", "")
),
"DCB_REQUIRED"
path(".fcoe.cfg-ethx.value"),
Ops.get_string(card, "cfg_device", "")
),
"DCB_REQUIRED"
),
Ops.get_string(card, "dcb_required", "no")
)
if !success
Builtins.y2error(
"Writing DCB_REQUIRED=%1 failed",
Ops.get_string(card, "dcb_required", "no")
)
if !success
Builtins.y2error(
"Writing DCB_REQUIRED=%1 failed",
Ops.get_string(card, "dcb_required", "no")
)
end
success = SCR.Write(
end
success = SCR.Write(
Ops.add(
Ops.add(
Ops.add(
path(".fcoe.cfg-ethx.value"),
Ops.get_string(card, "cfg_device", "")
),
"AUTO_VLAN"
path(".fcoe.cfg-ethx.value"),
Ops.get_string(card, "cfg_device", "")
),
"AUTO_VLAN"
),
Ops.get_string(card, "auto_vlan", "no")
)
if !success
Builtins.y2error(
"Writing AUTO_VLAN=%1 failed",
Ops.get_string(card, "auto_vlan", "no")
)
if !success
Builtins.y2error(
"Writing AUTO_VLAN=%1 failed",
Ops.get_string(card, "auto_vlan", "no")
)
end
if Ops.get_string(card, "dcb_required", "no") == "yes"
# enable DCB on the interface
command = Builtins.sformat(
"/usr/sbin/dcbtool sc %1 dcb on",
Ops.get_string(card, "dev_name", "").shellescape
)
Builtins.y2milestone("Executing command: %1", command)
output = SCR.Execute(path(".target.bash_output"), command)
Builtins.y2milestone("Output: %1", output)
if Ops.get_integer(output, "exit", 255) != 0
# only warning, not necessarily an error
Builtins.y2warning("Command: %1 failed", command)
end
if Ops.get_string(card, "dcb_required", "no") == "yes"
# enable DCB on the interface
command = Builtins.sformat(
"/usr/sbin/dcbtool sc %1 dcb on",
Ops.get_string(card, "dev_name", "").shellescape
)
Builtins.y2milestone("Executing command: %1", command)
output = SCR.Execute(path(".target.bash_output"), command)
Builtins.y2milestone("Output: %1", output)
if Ops.get_integer(output, "exit", 255) != 0
# only warning, not necessarily an error
Builtins.y2warning("Command: %1 failed", command)
end
# enable App:FCoE on the interface
command = Builtins.sformat(
"/usr/sbin/dcbtool sc %1 app:0 e:1 a:1 w:1",
Ops.get_string(card, "dev_name", "").shellescape
)
Builtins.y2milestone("Executing command: %1", command)
# enable App:FCoE on the interface
command = Builtins.sformat(
"/usr/sbin/dcbtool sc %1 app:0 e:1 a:1 w:1",
Ops.get_string(card, "dev_name", "").shellescape
)
Builtins.y2milestone("Executing command: %1", command)

output = SCR.Execute(path(".target.bash_output"), command)
Builtins.y2milestone("Output: %1", output)
if Ops.get_integer(output, "exit", 255) != 0
# only warning, not necessarily an error
Builtins.y2warning("Command: %1 failed", command)
end
output = SCR.Execute(path(".target.bash_output"), command)
Builtins.y2milestone("Output: %1", output)
if Ops.get_integer(output, "exit", 255) != 0
# only warning, not necessarily an error
Builtins.y2warning("Command: %1 failed", command)
end
end
end
Expand Down

0 comments on commit 07253c3

Please sign in to comment.