mirror of
https://github.com/gravitl/netmaker.git
synced 2025-10-14 13:04:26 +08:00
add ability to set failover nodes
This commit is contained in:
@@ -754,9 +754,10 @@ func deleteEgressGateway(w http.ResponseWriter, r *http.Request) {
|
|||||||
func createIngressGateway(w http.ResponseWriter, r *http.Request) {
|
func createIngressGateway(w http.ResponseWriter, r *http.Request) {
|
||||||
var params = mux.Vars(r)
|
var params = mux.Vars(r)
|
||||||
w.Header().Set("Content-Type", "application/json")
|
w.Header().Set("Content-Type", "application/json")
|
||||||
|
failover := r.Header.Get("failover") == "yes"
|
||||||
nodeid := params["nodeid"]
|
nodeid := params["nodeid"]
|
||||||
netid := params["network"]
|
netid := params["network"]
|
||||||
node, err := logic.CreateIngressGateway(netid, nodeid)
|
node, err := logic.CreateIngressGateway(netid, nodeid, failover)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Log(0, r.Header.Get("user"),
|
logger.Log(0, r.Header.Get("user"),
|
||||||
fmt.Sprintf("failed to create ingress gateway on node [%s] on network [%s]: %v",
|
fmt.Sprintf("failed to create ingress gateway on node [%s] on network [%s]: %v",
|
||||||
|
@@ -172,7 +172,7 @@ func DeleteEgressGateway(network, nodeid string) (models.Node, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// CreateIngressGateway - creates an ingress gateway
|
// CreateIngressGateway - creates an ingress gateway
|
||||||
func CreateIngressGateway(netid string, nodeid string) (models.Node, error) {
|
func CreateIngressGateway(netid string, nodeid string, failover bool) (models.Node, error) {
|
||||||
|
|
||||||
var postUpCmd, postDownCmd string
|
var postUpCmd, postDownCmd string
|
||||||
node, err := GetNodeByID(nodeid)
|
node, err := GetNodeByID(nodeid)
|
||||||
@@ -224,7 +224,9 @@ func CreateIngressGateway(netid string, nodeid string) (models.Node, error) {
|
|||||||
node.PostUp = postUpCmd
|
node.PostUp = postUpCmd
|
||||||
node.PostDown = postDownCmd
|
node.PostDown = postDownCmd
|
||||||
node.UDPHolePunch = "no"
|
node.UDPHolePunch = "no"
|
||||||
|
if failover {
|
||||||
|
node.Failover = "yes"
|
||||||
|
}
|
||||||
data, err := json.Marshal(&node)
|
data, err := json.Marshal(&node)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return models.Node{}, err
|
return models.Node{}, err
|
||||||
|
Reference in New Issue
Block a user