cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1954
Views
0
Helpful
6
Replies

HA-RAFT VIP

BasharAziz
Level 1
Level 1

 

After deploying NSO HA Raft successfully, I'm unable to configure HA-HCC-VIP , the node id refer to the built-in HA and not to raft. As per documentation: https://developer.cisco.com/docs/nso/guides/#!high-availability/tail-f-hcc-package

 

 

admin@ncs(config-node-1)# commit dry-run
Aborted: 'hcc bgp node 1 node-id': Invalid node value

admin@ncs(config)# hcc bgp node
--------------------------------^
syntax error: incomplete path: 'hcc bgp node'

container bgp { tailf:info "VIP announcement over BGP"; description "Run a local BGP daemon and advertise VIP routes to neighbors."; list node { key node-id; leaf node-id { type leafref { path "/ncs:high-availability/ncs:ha-node/ncs:id"; } description "Unique NCS node ID"; mandatory true; }

 

How to reach the CLUSTER (API northbound ) with VIP ? 

 

 

 

 

1 Accepted Solution

Accepted Solutions

Please run:

 

admin@ncs# show packages package tailf-hcc package-version

 

This does not seem right (from your show ha-raft above):

 

ha-raft status role stalled

 

From https://developer.cisco.com/docs/nso/guides/#!high-availability/nso-ha-raft

 

Additionally, NSO node can also be in the stalled state, if HA Raft is enabled but the node has not joined a cluster.

See examples.ncs/high-availability/raft-cluster for an example setup.

 

View solution in original post

6 Replies 6

cohult
Cisco Employee
Cisco Employee

Hello, You need to upgrade the tailf-hcc package to the latest version. I.e. tailf-hcc 6.0.0 [June 26, 2023]

  revision 2023-06-26 {
    description
      "Added support for HA Raft, changed /hcc/bgp/node leafref to
       completion point and validation callback.
       Released as part of tailf-hcc 6.0.0.";
  }
 container bgp {
      tailf:info "VIP announcement over BGP";
      description
        "Run a local BGP daemon and advertise VIP routes to neighbors.";
  
      list node {
        key "node-id";
        description
          "Unique NCS HA node ID. Valid values are:
             - /high-availability/ha-node when built-in HA is used or
             - /ha-raft/status/member for HA Raft.";
        leaf node-id { 
          tailf:cli-completion-actionpoint "hcc-complete-members";
          tailf:validate hcc-validate-members {
            tailf:dependency '.';
          }
          type string;
        }
...

Thank you for your quick reply, indeed I can see it in yang:

      list node {
        key "node-id";
        description
          "Unique NCS HA node ID. Valid values are:
             - /high-availability/ha-node when built-in HA is used or
             - /ha-raft/status/member for HA Raft.";

 

Your YANG snippet from your first post above shows the old YANG model:

list node {
  key node-id;
  leaf node-id {
    type leafref {
      path "/ncs:high-availability/ncs:ha-node/ncs:id";
    }
    description "Unique NCS node ID";
    mandatory true;
  }

 

HCC is not recognize node-id

 

root@5532c14f6109:/# cat /var/opt/ncs/packages/tailf-hcc/src/yang/tailf-hcc.yang | grep node
"Added support for HA Raft, changed /hcc/bgp/node leafref to
"If set to 'true', the primary node in a cluster automatically
node. The addresses are automatically unbound when a node
to reliably connect to the primary node in the cluster.";
list node {
key "node-id";
"Unique NCS HA node ID. Valid values are:
- /high-availability/ha-node when built-in HA is used or
leaf node-id {
"If set to 'true' this node uses BGP to announce VIP


root@5532c14f6109:/# ncs_cli -Cu admin
admin@ncs# show packages package oper-status
PACKAGE
PROGRAM META FILE
CODE JAVA PYTHON BAD NCS PACKAGE PACKAGE CIRCULAR DATA LOAD ERROR
NAME UP ERROR UNINITIALIZED UNINITIALIZED VERSION NAME VERSION DEPENDENCY ERROR ERROR INFO WARNINGS
---------------------------------------------------------------------------------------------------------------------------------------------
cisco-asa-cli-6.13 X - - - - - - - - - - -
cisco-ios-cli-6.84 X - - - - - - - - - - -
cisco-iosxr-cli-7.36 X - - - - - - - - - - -
fortinet-fortios-cli-5.9 X - - - - - - - - - - -
tailf-hcc X - - - - - - - - - - -

admin@ncs# show ha-raft
ha-raft status role stalled
ha-raft status connected-node [ nso02 nso03 ]
ha-raft status local-node nso01
SERIAL NUMBER EXPIRATION DATE FILE PATH
--------------------------------------------------------------------------------------------------
751969403D336E6C449A683459EBC626ED7DAD55 2033-06-30T09:42:50+00:00 /etc/ncs/ssl/cert/nso01.crt

SERIAL NUMBER EXPIRATION DATE FILE PATH
-----------------------------------------------------------------------------------------------
5614431A97E1654D1E5C3008BACFD6CBD6D7AA95 2033-06-30T09:42:36+00:00 /etc/ncs/ssl/cert/ca.crt

ha-raft status log current-index 0
ha-raft status log applied-index 0
ha-raft status log num-entries 0


admin@ncs# config
Entering configuration mode terminal
admin@ncs(config)# hcc bgp node 1
Value for 'gobgp-bin-dir' (<string>): /bin/
Value for 'as' (<unsignedInt>): 6500
Value for 'router-id' (<IP address>): 1.1.1.1
admin@ncs(config-node-1)# commit dry-run

Aborted: 'hcc bgp node 1 node-id': Invalid node value
admin@ncs(config-node-1)# exit

admin@ncs(config)# hcc bgp node
--------------------------------^
syntax error: incomplete path: 'hcc bgp node'
admin@ncs(config)#

 

Please run:

 

admin@ncs# show packages package tailf-hcc package-version

 

This does not seem right (from your show ha-raft above):

 

ha-raft status role stalled

 

From https://developer.cisco.com/docs/nso/guides/#!high-availability/nso-ha-raft

 

Additionally, NSO node can also be in the stalled state, if HA Raft is enabled but the node has not joined a cluster.

See examples.ncs/high-availability/raft-cluster for an example setup.

 

 

Thank you for your help, missing the ha-raft create-cluster, now I can select the node id

admin@ncs(config)# ha-raft create-cluster member [nso02 nso03 ]

admin@ncs(config)# hcc bgp node nso01 ?
Possible completions:
  as              BGP Autonomous System Number
  disabled        
  enabled         
  gobgp-bin-dir   Directory containing gobgp/gobgpd binaries
  neighbor        
  router-id       Local BGP router ID