code cleanups
This commit is contained in:
@@ -35,11 +35,11 @@ func New() (nodeYaml, error) {
|
||||
return ret, nil
|
||||
}
|
||||
|
||||
func (self *nodeYaml) FindAllNodes() ([]NodeInfo, error) {
|
||||
func (config *nodeYaml) FindAllNodes() ([]NodeInfo, error) {
|
||||
var ret []NodeInfo
|
||||
|
||||
wwlog.Printf(wwlog.DEBUG, "Finding all nodes...\n")
|
||||
for nodename, node := range self.Nodes {
|
||||
for nodename, node := range config.Nodes {
|
||||
var n NodeInfo
|
||||
|
||||
wwlog.Printf(wwlog.DEBUG, "In node loop: %s\n", nodename)
|
||||
@@ -97,47 +97,45 @@ func (self *nodeYaml) FindAllNodes() ([]NodeInfo, error) {
|
||||
}
|
||||
|
||||
for _, p := range n.Profiles {
|
||||
if _, ok := self.NodeProfiles[p]; !ok {
|
||||
if _, ok := config.NodeProfiles[p]; !ok {
|
||||
wwlog.Printf(wwlog.WARN, "Profile not found for node '%s': %s\n", nodename, p)
|
||||
continue
|
||||
}
|
||||
|
||||
wwlog.Printf(wwlog.VERBOSE, "Merging profile into node: %s <- %s\n", nodename, p)
|
||||
|
||||
pstring := fmt.Sprintf("%s", p)
|
||||
n.Comment.SetAlt(config.NodeProfiles[p].Comment, p)
|
||||
n.ClusterName.SetAlt(config.NodeProfiles[p].ClusterName, p)
|
||||
n.ContainerName.SetAlt(config.NodeProfiles[p].ContainerName, p)
|
||||
n.KernelVersion.SetAlt(config.NodeProfiles[p].KernelVersion, p)
|
||||
n.KernelArgs.SetAlt(config.NodeProfiles[p].KernelArgs, p)
|
||||
n.Ipxe.SetAlt(config.NodeProfiles[p].Ipxe, p)
|
||||
n.Init.SetAlt(config.NodeProfiles[p].Init, p)
|
||||
n.IpmiIpaddr.SetAlt(config.NodeProfiles[p].IpmiIpaddr, p)
|
||||
n.IpmiNetmask.SetAlt(config.NodeProfiles[p].IpmiNetmask, p)
|
||||
n.IpmiGateway.SetAlt(config.NodeProfiles[p].IpmiGateway, p)
|
||||
n.IpmiUserName.SetAlt(config.NodeProfiles[p].IpmiUserName, p)
|
||||
n.IpmiPassword.SetAlt(config.NodeProfiles[p].IpmiPassword, p)
|
||||
n.SystemOverlay.SetAlt(config.NodeProfiles[p].SystemOverlay, p)
|
||||
n.RuntimeOverlay.SetAlt(config.NodeProfiles[p].RuntimeOverlay, p)
|
||||
n.Root.SetAlt(config.NodeProfiles[p].Root, p)
|
||||
|
||||
n.Comment.SetAlt(self.NodeProfiles[p].Comment, pstring)
|
||||
n.ClusterName.SetAlt(self.NodeProfiles[p].ClusterName, pstring)
|
||||
n.ContainerName.SetAlt(self.NodeProfiles[p].ContainerName, pstring)
|
||||
n.KernelVersion.SetAlt(self.NodeProfiles[p].KernelVersion, pstring)
|
||||
n.KernelArgs.SetAlt(self.NodeProfiles[p].KernelArgs, pstring)
|
||||
n.Ipxe.SetAlt(self.NodeProfiles[p].Ipxe, pstring)
|
||||
n.Init.SetAlt(self.NodeProfiles[p].Init, pstring)
|
||||
n.IpmiIpaddr.SetAlt(self.NodeProfiles[p].IpmiIpaddr, pstring)
|
||||
n.IpmiNetmask.SetAlt(self.NodeProfiles[p].IpmiNetmask, pstring)
|
||||
n.IpmiGateway.SetAlt(self.NodeProfiles[p].IpmiGateway, pstring)
|
||||
n.IpmiUserName.SetAlt(self.NodeProfiles[p].IpmiUserName, pstring)
|
||||
n.IpmiPassword.SetAlt(self.NodeProfiles[p].IpmiPassword, pstring)
|
||||
n.SystemOverlay.SetAlt(self.NodeProfiles[p].SystemOverlay, pstring)
|
||||
n.RuntimeOverlay.SetAlt(self.NodeProfiles[p].RuntimeOverlay, pstring)
|
||||
n.Root.SetAlt(self.NodeProfiles[p].Root, pstring)
|
||||
n.Disabled.SetAltB(config.NodeProfiles[p].Disabled, p)
|
||||
n.Discoverable.SetAltB(config.NodeProfiles[p].Discoverable, p)
|
||||
|
||||
n.Disabled.SetAltB(self.NodeProfiles[p].Disabled, pstring)
|
||||
n.Discoverable.SetAltB(self.NodeProfiles[p].Discoverable, pstring)
|
||||
|
||||
for devname, netdev := range self.NodeProfiles[p].NetDevs {
|
||||
for devname, netdev := range config.NodeProfiles[p].NetDevs {
|
||||
if _, ok := n.NetDevs[devname]; !ok {
|
||||
var netdev NetDevEntry
|
||||
n.NetDevs[devname] = &netdev
|
||||
}
|
||||
wwlog.Printf(wwlog.DEBUG, "Updating profile (%s) netdev: %s\n", p, devname)
|
||||
|
||||
n.NetDevs[devname].Ipaddr.SetAlt(netdev.Ipaddr, pstring)
|
||||
n.NetDevs[devname].Netmask.SetAlt(netdev.Netmask, pstring)
|
||||
n.NetDevs[devname].Hwaddr.SetAlt(netdev.Hwaddr, pstring)
|
||||
n.NetDevs[devname].Gateway.SetAlt(netdev.Gateway, pstring)
|
||||
n.NetDevs[devname].Type.SetAlt(netdev.Type, pstring)
|
||||
n.NetDevs[devname].Default.SetAltB(netdev.Default, pstring)
|
||||
n.NetDevs[devname].Ipaddr.SetAlt(netdev.Ipaddr, p)
|
||||
n.NetDevs[devname].Netmask.SetAlt(netdev.Netmask, p)
|
||||
n.NetDevs[devname].Hwaddr.SetAlt(netdev.Hwaddr, p)
|
||||
n.NetDevs[devname].Gateway.SetAlt(netdev.Gateway, p)
|
||||
n.NetDevs[devname].Type.SetAlt(netdev.Type, p)
|
||||
n.NetDevs[devname].Default.SetAltB(netdev.Default, p)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -159,10 +157,10 @@ func (self *nodeYaml) FindAllNodes() ([]NodeInfo, error) {
|
||||
return ret, nil
|
||||
}
|
||||
|
||||
func (self *nodeYaml) FindAllProfiles() ([]NodeInfo, error) {
|
||||
func (config *nodeYaml) FindAllProfiles() ([]NodeInfo, error) {
|
||||
var ret []NodeInfo
|
||||
|
||||
for name, profile := range self.NodeProfiles {
|
||||
for name, profile := range config.NodeProfiles {
|
||||
var p NodeInfo
|
||||
p.NetDevs = make(map[string]*NetDevEntry)
|
||||
|
||||
@@ -219,17 +217,17 @@ func (self *nodeYaml) FindAllProfiles() ([]NodeInfo, error) {
|
||||
return ret, nil
|
||||
}
|
||||
|
||||
func (self *nodeYaml) FindDiscoverableNode() (NodeInfo, string, error) {
|
||||
func (config *nodeYaml) FindDiscoverableNode() (NodeInfo, string, error) {
|
||||
var ret NodeInfo
|
||||
|
||||
nodes, _ := self.FindAllNodes()
|
||||
nodes, _ := config.FindAllNodes()
|
||||
|
||||
for _, node := range nodes {
|
||||
if node.Discoverable.GetB() == false {
|
||||
if !node.Discoverable.GetB() {
|
||||
continue
|
||||
}
|
||||
for netdev, dev := range node.NetDevs {
|
||||
if dev.Hwaddr.Defined() == false {
|
||||
if !dev.Hwaddr.Defined() {
|
||||
return node, netdev, nil
|
||||
}
|
||||
}
|
||||
@@ -238,10 +236,10 @@ func (self *nodeYaml) FindDiscoverableNode() (NodeInfo, string, error) {
|
||||
return ret, "", errors.New("No unconfigured nodes found")
|
||||
}
|
||||
|
||||
func (self *nodeYaml) FindByHwaddr(hwa string) (NodeInfo, error) {
|
||||
func (config *nodeYaml) FindByHwaddr(hwa string) (NodeInfo, error) {
|
||||
var ret NodeInfo
|
||||
|
||||
n, _ := self.FindAllNodes()
|
||||
n, _ := config.FindAllNodes()
|
||||
|
||||
for _, node := range n {
|
||||
for _, dev := range node.NetDevs {
|
||||
@@ -254,10 +252,10 @@ func (self *nodeYaml) FindByHwaddr(hwa string) (NodeInfo, error) {
|
||||
return ret, errors.New("No nodes found with HW Addr: " + hwa)
|
||||
}
|
||||
|
||||
func (self *nodeYaml) FindByIpaddr(ipaddr string) (NodeInfo, error) {
|
||||
func (config *nodeYaml) FindByIpaddr(ipaddr string) (NodeInfo, error) {
|
||||
var ret NodeInfo
|
||||
|
||||
n, _ := self.FindAllNodes()
|
||||
n, _ := config.FindAllNodes()
|
||||
|
||||
for _, node := range n {
|
||||
for _, dev := range node.NetDevs {
|
||||
@@ -277,7 +275,7 @@ func (nodes *nodeYaml) SearchByName(search string) ([]NodeInfo, error) {
|
||||
|
||||
for _, node := range n {
|
||||
b, _ := regexp.MatchString(search, node.Id.Get())
|
||||
if b == true {
|
||||
if b {
|
||||
ret = append(ret, node)
|
||||
}
|
||||
}
|
||||
@@ -293,7 +291,7 @@ func (nodes *nodeYaml) SearchByNameList(searchList []string) ([]NodeInfo, error)
|
||||
for _, search := range searchList {
|
||||
for _, node := range n {
|
||||
b, _ := regexp.MatchString(search, node.Id.Get())
|
||||
if b == true {
|
||||
if b {
|
||||
ret = append(ret, node)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -97,7 +97,7 @@ type NetDevEntry struct {
|
||||
|
||||
func init() {
|
||||
//TODO: Check to make sure nodes.conf is found
|
||||
if util.IsFile(ConfigFile) == false {
|
||||
if !util.IsFile(ConfigFile) {
|
||||
c, err := os.OpenFile(ConfigFile, os.O_RDWR|os.O_CREATE, 0644)
|
||||
if err != nil {
|
||||
wwlog.Printf(wwlog.ERROR, "Could not create new configuration file: %s\n", err)
|
||||
|
||||
@@ -6,52 +6,46 @@ package node
|
||||
*
|
||||
*********/
|
||||
|
||||
func (self *Entry) Set(val string) {
|
||||
func (ent *Entry) Set(val string) {
|
||||
if val == "" {
|
||||
return
|
||||
}
|
||||
|
||||
if val == "UNDEF" || val == "DELETE" || val == "UNSET" {
|
||||
self.value = ""
|
||||
ent.value = ""
|
||||
} else {
|
||||
self.value = val
|
||||
ent.value = val
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func (self *Entry) SetB(val bool) {
|
||||
self.bool = val
|
||||
return
|
||||
func (ent *Entry) SetB(val bool) {
|
||||
ent.bool = val
|
||||
}
|
||||
|
||||
func (self *Entry) SetAlt(val string, from string) {
|
||||
func (ent *Entry) SetAlt(val string, from string) {
|
||||
if val == "" {
|
||||
return
|
||||
}
|
||||
|
||||
self.altvalue = val
|
||||
self.from = from
|
||||
ent.altvalue = val
|
||||
ent.from = from
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func (self *Entry) SetAltB(val bool, from string) {
|
||||
if val == true {
|
||||
self.altbool = val
|
||||
self.from = from
|
||||
}
|
||||
return
|
||||
func (ent *Entry) SetAltB(val bool, from string) {
|
||||
ent.altbool = val
|
||||
ent.from = from
|
||||
|
||||
}
|
||||
|
||||
func (self *Entry) SetDefault(val string) {
|
||||
func (ent *Entry) SetDefault(val string) {
|
||||
if val == "" {
|
||||
return
|
||||
}
|
||||
|
||||
self.def = val
|
||||
ent.def = val
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
/**********
|
||||
@@ -60,29 +54,29 @@ func (self *Entry) SetDefault(val string) {
|
||||
*
|
||||
*********/
|
||||
|
||||
func (self *Entry) Get() string {
|
||||
if self.value != "" {
|
||||
return self.value
|
||||
func (ent *Entry) Get() string {
|
||||
if ent.value != "" {
|
||||
return ent.value
|
||||
}
|
||||
if self.altvalue != "" {
|
||||
return self.altvalue
|
||||
if ent.altvalue != "" {
|
||||
return ent.altvalue
|
||||
}
|
||||
if self.def != "" {
|
||||
return self.def
|
||||
if ent.def != "" {
|
||||
return ent.def
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (self *Entry) GetB() bool {
|
||||
return self.bool
|
||||
func (ent *Entry) GetB() bool {
|
||||
return ent.bool
|
||||
}
|
||||
|
||||
func (self *Entry) GetReal() string {
|
||||
return self.value
|
||||
func (ent *Entry) GetReal() string {
|
||||
return ent.value
|
||||
}
|
||||
|
||||
func (self *Entry) GetRealB() bool {
|
||||
return self.bool
|
||||
func (ent *Entry) GetRealB() bool {
|
||||
return ent.bool
|
||||
}
|
||||
|
||||
/**********
|
||||
@@ -91,44 +85,44 @@ func (self *Entry) GetRealB() bool {
|
||||
*
|
||||
*********/
|
||||
|
||||
func (self *Entry) Print() string {
|
||||
if self.value != "" {
|
||||
return self.value
|
||||
func (ent *Entry) Print() string {
|
||||
if ent.value != "" {
|
||||
return ent.value
|
||||
}
|
||||
if self.altvalue != "" {
|
||||
return self.altvalue
|
||||
if ent.altvalue != "" {
|
||||
return ent.altvalue
|
||||
}
|
||||
if self.def != "" {
|
||||
return "(" + self.def + ")"
|
||||
if ent.def != "" {
|
||||
return "(" + ent.def + ")"
|
||||
}
|
||||
return "--"
|
||||
}
|
||||
|
||||
func (self *Entry) PrintB() bool {
|
||||
if self.from == "" {
|
||||
return self.bool
|
||||
func (ent *Entry) PrintB() bool {
|
||||
if ent.from == "" {
|
||||
return ent.bool
|
||||
}
|
||||
return self.altbool
|
||||
return ent.altbool
|
||||
}
|
||||
|
||||
func (self *Entry) Source() string {
|
||||
if self.value != "" && self.altvalue != "" {
|
||||
func (ent *Entry) Source() string {
|
||||
if ent.value != "" && ent.altvalue != "" {
|
||||
return "SUPERSEDED"
|
||||
//return fmt.Sprintf("[%s]", self.from)
|
||||
} else if self.from == "" {
|
||||
//return fmt.Sprintf("[%s]", ent.from)
|
||||
} else if ent.from == "" {
|
||||
return "--"
|
||||
}
|
||||
return self.from
|
||||
return ent.from
|
||||
}
|
||||
|
||||
func (self *Entry) Defined() bool {
|
||||
if self.value != "" {
|
||||
func (ent *Entry) Defined() bool {
|
||||
if ent.value != "" {
|
||||
return true
|
||||
}
|
||||
if self.altvalue != "" {
|
||||
if ent.altvalue != "" {
|
||||
return true
|
||||
}
|
||||
if self.def != "" {
|
||||
if ent.def != "" {
|
||||
return true
|
||||
}
|
||||
return false
|
||||
|
||||
@@ -14,19 +14,19 @@ import (
|
||||
*
|
||||
****/
|
||||
|
||||
func (self *nodeYaml) AddNode(nodeID string) (NodeInfo, error) {
|
||||
func (config *nodeYaml) AddNode(nodeID string) (NodeInfo, error) {
|
||||
var node NodeConf
|
||||
var n NodeInfo
|
||||
|
||||
wwlog.Printf(wwlog.VERBOSE, "Adding new node: %s\n", nodeID)
|
||||
|
||||
if _, ok := self.Nodes[nodeID]; ok {
|
||||
if _, ok := config.Nodes[nodeID]; ok {
|
||||
return n, errors.New("Nodename already exists: " + nodeID)
|
||||
}
|
||||
|
||||
self.Nodes[nodeID] = &node
|
||||
self.Nodes[nodeID].Profiles = []string{"default"}
|
||||
self.Nodes[nodeID].NetDevs = make(map[string]*NetDevs)
|
||||
config.Nodes[nodeID] = &node
|
||||
config.Nodes[nodeID].Profiles = []string{"default"}
|
||||
config.Nodes[nodeID].NetDevs = make(map[string]*NetDevs)
|
||||
|
||||
n.Id.Set(nodeID)
|
||||
n.Profiles = []string{"default"}
|
||||
@@ -35,57 +35,57 @@ func (self *nodeYaml) AddNode(nodeID string) (NodeInfo, error) {
|
||||
return n, nil
|
||||
}
|
||||
|
||||
func (self *nodeYaml) DelNode(nodeID string) error {
|
||||
func (config *nodeYaml) DelNode(nodeID string) error {
|
||||
|
||||
if _, ok := self.Nodes[nodeID]; !ok {
|
||||
if _, ok := config.Nodes[nodeID]; !ok {
|
||||
return errors.New("Nodename does not exist: " + nodeID)
|
||||
}
|
||||
|
||||
wwlog.Printf(wwlog.VERBOSE, "Deleting node: %s\n", nodeID)
|
||||
delete(self.Nodes, nodeID)
|
||||
delete(config.Nodes, nodeID)
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (self *nodeYaml) NodeUpdate(node NodeInfo) error {
|
||||
func (config *nodeYaml) NodeUpdate(node NodeInfo) error {
|
||||
nodeID := node.Id.Get()
|
||||
|
||||
if _, ok := self.Nodes[nodeID]; !ok {
|
||||
if _, ok := config.Nodes[nodeID]; !ok {
|
||||
return errors.New("Nodename does not exist: " + nodeID)
|
||||
}
|
||||
|
||||
self.Nodes[nodeID].Comment = node.Comment.GetReal()
|
||||
self.Nodes[nodeID].ContainerName = node.ContainerName.GetReal()
|
||||
self.Nodes[nodeID].ClusterName = node.ClusterName.GetReal()
|
||||
self.Nodes[nodeID].Ipxe = node.Ipxe.GetReal()
|
||||
self.Nodes[nodeID].Init = node.Init.GetReal()
|
||||
self.Nodes[nodeID].KernelVersion = node.KernelVersion.GetReal()
|
||||
self.Nodes[nodeID].KernelArgs = node.KernelArgs.GetReal()
|
||||
self.Nodes[nodeID].IpmiIpaddr = node.IpmiIpaddr.GetReal()
|
||||
self.Nodes[nodeID].IpmiNetmask = node.IpmiNetmask.GetReal()
|
||||
self.Nodes[nodeID].IpmiGateway = node.IpmiGateway.GetReal()
|
||||
self.Nodes[nodeID].IpmiUserName = node.IpmiUserName.GetReal()
|
||||
self.Nodes[nodeID].IpmiPassword = node.IpmiPassword.GetReal()
|
||||
self.Nodes[nodeID].RuntimeOverlay = node.RuntimeOverlay.GetReal()
|
||||
self.Nodes[nodeID].SystemOverlay = node.SystemOverlay.GetReal()
|
||||
self.Nodes[nodeID].Root = node.Root.GetReal()
|
||||
config.Nodes[nodeID].Comment = node.Comment.GetReal()
|
||||
config.Nodes[nodeID].ContainerName = node.ContainerName.GetReal()
|
||||
config.Nodes[nodeID].ClusterName = node.ClusterName.GetReal()
|
||||
config.Nodes[nodeID].Ipxe = node.Ipxe.GetReal()
|
||||
config.Nodes[nodeID].Init = node.Init.GetReal()
|
||||
config.Nodes[nodeID].KernelVersion = node.KernelVersion.GetReal()
|
||||
config.Nodes[nodeID].KernelArgs = node.KernelArgs.GetReal()
|
||||
config.Nodes[nodeID].IpmiIpaddr = node.IpmiIpaddr.GetReal()
|
||||
config.Nodes[nodeID].IpmiNetmask = node.IpmiNetmask.GetReal()
|
||||
config.Nodes[nodeID].IpmiGateway = node.IpmiGateway.GetReal()
|
||||
config.Nodes[nodeID].IpmiUserName = node.IpmiUserName.GetReal()
|
||||
config.Nodes[nodeID].IpmiPassword = node.IpmiPassword.GetReal()
|
||||
config.Nodes[nodeID].RuntimeOverlay = node.RuntimeOverlay.GetReal()
|
||||
config.Nodes[nodeID].SystemOverlay = node.SystemOverlay.GetReal()
|
||||
config.Nodes[nodeID].Root = node.Root.GetReal()
|
||||
|
||||
self.Nodes[nodeID].Disabled = node.Disabled.GetRealB()
|
||||
self.Nodes[nodeID].Discoverable = node.Discoverable.GetRealB()
|
||||
config.Nodes[nodeID].Disabled = node.Disabled.GetRealB()
|
||||
config.Nodes[nodeID].Discoverable = node.Discoverable.GetRealB()
|
||||
|
||||
self.Nodes[nodeID].Profiles = node.Profiles
|
||||
self.Nodes[nodeID].NetDevs = make(map[string]*NetDevs)
|
||||
config.Nodes[nodeID].Profiles = node.Profiles
|
||||
config.Nodes[nodeID].NetDevs = make(map[string]*NetDevs)
|
||||
|
||||
for devname, netdev := range node.NetDevs {
|
||||
var newdev NetDevs
|
||||
self.Nodes[nodeID].NetDevs[devname] = &newdev
|
||||
config.Nodes[nodeID].NetDevs[devname] = &newdev
|
||||
|
||||
self.Nodes[nodeID].NetDevs[devname].Ipaddr = netdev.Ipaddr.GetReal()
|
||||
self.Nodes[nodeID].NetDevs[devname].Netmask = netdev.Netmask.GetReal()
|
||||
self.Nodes[nodeID].NetDevs[devname].Hwaddr = netdev.Hwaddr.GetReal()
|
||||
self.Nodes[nodeID].NetDevs[devname].Gateway = netdev.Gateway.GetReal()
|
||||
self.Nodes[nodeID].NetDevs[devname].Type = netdev.Type.GetReal()
|
||||
self.Nodes[nodeID].NetDevs[devname].Default = netdev.Default.GetRealB()
|
||||
config.Nodes[nodeID].NetDevs[devname].Ipaddr = netdev.Ipaddr.GetReal()
|
||||
config.Nodes[nodeID].NetDevs[devname].Netmask = netdev.Netmask.GetReal()
|
||||
config.Nodes[nodeID].NetDevs[devname].Hwaddr = netdev.Hwaddr.GetReal()
|
||||
config.Nodes[nodeID].NetDevs[devname].Gateway = netdev.Gateway.GetReal()
|
||||
config.Nodes[nodeID].NetDevs[devname].Type = netdev.Type.GetReal()
|
||||
config.Nodes[nodeID].NetDevs[devname].Default = netdev.Default.GetRealB()
|
||||
}
|
||||
|
||||
return nil
|
||||
@@ -97,73 +97,73 @@ func (self *nodeYaml) NodeUpdate(node NodeInfo) error {
|
||||
*
|
||||
****/
|
||||
|
||||
func (self *nodeYaml) AddProfile(profileID string) (NodeInfo, error) {
|
||||
func (config *nodeYaml) AddProfile(profileID string) (NodeInfo, error) {
|
||||
var node NodeConf
|
||||
var n NodeInfo
|
||||
|
||||
wwlog.Printf(wwlog.VERBOSE, "Adding new profile: %s\n", profileID)
|
||||
|
||||
if _, ok := self.NodeProfiles[profileID]; ok {
|
||||
if _, ok := config.NodeProfiles[profileID]; ok {
|
||||
return n, errors.New("Profile name already exists: " + profileID)
|
||||
}
|
||||
|
||||
self.NodeProfiles[profileID] = &node
|
||||
config.NodeProfiles[profileID] = &node
|
||||
|
||||
n.Id.Set(profileID)
|
||||
|
||||
return n, nil
|
||||
}
|
||||
|
||||
func (self *nodeYaml) DelProfile(profileID string) error {
|
||||
func (config *nodeYaml) DelProfile(profileID string) error {
|
||||
|
||||
if _, ok := self.NodeProfiles[profileID]; !ok {
|
||||
if _, ok := config.NodeProfiles[profileID]; !ok {
|
||||
return errors.New("Profile does not exist: " + profileID)
|
||||
}
|
||||
|
||||
wwlog.Printf(wwlog.VERBOSE, "Deleting profile: %s\n", profileID)
|
||||
delete(self.NodeProfiles, profileID)
|
||||
delete(config.NodeProfiles, profileID)
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (self *nodeYaml) ProfileUpdate(profile NodeInfo) error {
|
||||
func (config *nodeYaml) ProfileUpdate(profile NodeInfo) error {
|
||||
profileID := profile.Id.Get()
|
||||
|
||||
if _, ok := self.NodeProfiles[profileID]; !ok {
|
||||
if _, ok := config.NodeProfiles[profileID]; !ok {
|
||||
return errors.New("Profile name does not exist: " + profileID)
|
||||
}
|
||||
self.NodeProfiles[profileID].Comment = profile.Comment.GetReal()
|
||||
self.NodeProfiles[profileID].ContainerName = profile.ContainerName.GetReal()
|
||||
self.NodeProfiles[profileID].Ipxe = profile.Ipxe.GetReal()
|
||||
self.NodeProfiles[profileID].Init = profile.Init.GetReal()
|
||||
self.NodeProfiles[profileID].ClusterName = profile.ClusterName.GetReal()
|
||||
self.NodeProfiles[profileID].KernelVersion = profile.KernelVersion.GetReal()
|
||||
self.NodeProfiles[profileID].KernelArgs = profile.KernelArgs.GetReal()
|
||||
self.NodeProfiles[profileID].IpmiIpaddr = profile.IpmiIpaddr.GetReal()
|
||||
self.NodeProfiles[profileID].IpmiNetmask = profile.IpmiNetmask.GetReal()
|
||||
self.NodeProfiles[profileID].IpmiGateway = profile.IpmiGateway.GetReal()
|
||||
self.NodeProfiles[profileID].IpmiUserName = profile.IpmiUserName.GetReal()
|
||||
self.NodeProfiles[profileID].IpmiPassword = profile.IpmiPassword.GetReal()
|
||||
self.NodeProfiles[profileID].RuntimeOverlay = profile.RuntimeOverlay.GetReal()
|
||||
self.NodeProfiles[profileID].SystemOverlay = profile.SystemOverlay.GetReal()
|
||||
self.NodeProfiles[profileID].Root = profile.Root.GetReal()
|
||||
config.NodeProfiles[profileID].Comment = profile.Comment.GetReal()
|
||||
config.NodeProfiles[profileID].ContainerName = profile.ContainerName.GetReal()
|
||||
config.NodeProfiles[profileID].Ipxe = profile.Ipxe.GetReal()
|
||||
config.NodeProfiles[profileID].Init = profile.Init.GetReal()
|
||||
config.NodeProfiles[profileID].ClusterName = profile.ClusterName.GetReal()
|
||||
config.NodeProfiles[profileID].KernelVersion = profile.KernelVersion.GetReal()
|
||||
config.NodeProfiles[profileID].KernelArgs = profile.KernelArgs.GetReal()
|
||||
config.NodeProfiles[profileID].IpmiIpaddr = profile.IpmiIpaddr.GetReal()
|
||||
config.NodeProfiles[profileID].IpmiNetmask = profile.IpmiNetmask.GetReal()
|
||||
config.NodeProfiles[profileID].IpmiGateway = profile.IpmiGateway.GetReal()
|
||||
config.NodeProfiles[profileID].IpmiUserName = profile.IpmiUserName.GetReal()
|
||||
config.NodeProfiles[profileID].IpmiPassword = profile.IpmiPassword.GetReal()
|
||||
config.NodeProfiles[profileID].RuntimeOverlay = profile.RuntimeOverlay.GetReal()
|
||||
config.NodeProfiles[profileID].SystemOverlay = profile.SystemOverlay.GetReal()
|
||||
config.NodeProfiles[profileID].Root = profile.Root.GetReal()
|
||||
|
||||
self.NodeProfiles[profileID].Disabled = profile.Disabled.GetRealB()
|
||||
self.NodeProfiles[profileID].Discoverable = profile.Discoverable.GetRealB()
|
||||
config.NodeProfiles[profileID].Disabled = profile.Disabled.GetRealB()
|
||||
config.NodeProfiles[profileID].Discoverable = profile.Discoverable.GetRealB()
|
||||
|
||||
self.NodeProfiles[profileID].Profiles = profile.Profiles
|
||||
self.NodeProfiles[profileID].NetDevs = make(map[string]*NetDevs)
|
||||
config.NodeProfiles[profileID].Profiles = profile.Profiles
|
||||
config.NodeProfiles[profileID].NetDevs = make(map[string]*NetDevs)
|
||||
|
||||
for devname, netdev := range profile.NetDevs {
|
||||
var newdev NetDevs
|
||||
self.NodeProfiles[profileID].NetDevs[devname] = &newdev
|
||||
config.NodeProfiles[profileID].NetDevs[devname] = &newdev
|
||||
|
||||
self.NodeProfiles[profileID].NetDevs[devname].Ipaddr = netdev.Ipaddr.GetReal()
|
||||
self.NodeProfiles[profileID].NetDevs[devname].Netmask = netdev.Netmask.GetReal()
|
||||
self.NodeProfiles[profileID].NetDevs[devname].Hwaddr = netdev.Hwaddr.GetReal()
|
||||
self.NodeProfiles[profileID].NetDevs[devname].Gateway = netdev.Gateway.GetReal()
|
||||
self.NodeProfiles[profileID].NetDevs[devname].Type = netdev.Type.GetReal()
|
||||
self.NodeProfiles[profileID].NetDevs[devname].Default = netdev.Default.GetRealB()
|
||||
config.NodeProfiles[profileID].NetDevs[devname].Ipaddr = netdev.Ipaddr.GetReal()
|
||||
config.NodeProfiles[profileID].NetDevs[devname].Netmask = netdev.Netmask.GetReal()
|
||||
config.NodeProfiles[profileID].NetDevs[devname].Hwaddr = netdev.Hwaddr.GetReal()
|
||||
config.NodeProfiles[profileID].NetDevs[devname].Gateway = netdev.Gateway.GetReal()
|
||||
config.NodeProfiles[profileID].NetDevs[devname].Type = netdev.Type.GetReal()
|
||||
config.NodeProfiles[profileID].NetDevs[devname].Default = netdev.Default.GetRealB()
|
||||
}
|
||||
|
||||
return nil
|
||||
@@ -175,9 +175,9 @@ func (self *nodeYaml) ProfileUpdate(profile NodeInfo) error {
|
||||
*
|
||||
****/
|
||||
|
||||
func (self *nodeYaml) Persist() error {
|
||||
func (config *nodeYaml) Persist() error {
|
||||
|
||||
out, err := yaml.Marshal(self)
|
||||
out, err := yaml.Marshal(config)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user