Go에서 gRPC를 사용하여 IOS XR에 config 적용
이번에는 gRPC를 사용하여 config를 투입하는 방법을 소개합니다.
지난번과 마찬가지로 로그인 정보를 메타데이터로 상하문에 삽입합니다.
md := metadata.Pairs(
"username", "root",
"password", "password",
)
ctx := metadata.NewOutgoingContext(context.Background(), md)
또한 투입할 명령을 문자열로 미리 준비하여 배열 clis := [...]string{
"interface GigabitEthernet0/0/0/1",
"interface GigabitEthernet0/0/0/1 ipv4 address 172.16.1.254 255.255.255.0",
}
이후 지난번client
으로 제작된 구조만 바꾸면 된다 conn, _ := grpc.Dial("192.168.1.10:50051", grpc.WithInsecure())
client := dialin.NewGRPCConfigOperClient(conn)
준비된 명령 수만 투입하면 됩니다. for _, cli := range clis {
reply, _ := client.CliConfig(ctx, &dialin.CliConfigArgs{Cli: cli})
if reply.Errors != "" {
fmt.Println(reply.Errors)
}
}
전체상은 다음과 같다.package main
import (
"context"
"fmt"
"google.golang.org/grpc"
"google.golang.org/grpc/metadata"
dialin "github.com/cisco/bigmuddy-network-telemetry-proto/proto_go/mdt_grpc_dialin"
)
func main() {
md := metadata.Pairs(
"username", "root",
"password", "password",
)
clis := [...]string{
"interface GigabitEthernet0/0/0/1",
"interface GigabitEthernet0/0/0/1 ipv4 address 172.16.1.254 255.255.255.0",
}
conn, _ := grpc.Dial("192.168.1.10:50051", grpc.WithInsecure())
client := dialin.NewGRPCConfigOperClient(conn)
ctx := metadata.NewOutgoingContext(context.Background(), md)
for _, cli := range clis {
reply, _ := client.CliConfig(ctx, &dialin.CliConfigArgs{Cli: cli})
if reply.Errors != "" {
fmt.Println(reply.Errors)
}
}
}
지금까지 gRPC 기반 IOS XR의 조작을 3차례 소개했는데, 이렇게 되면 아무래도 gRPC의 기초를 파악할 수 있을 것 같다.
Reference
이 문제에 관하여(Go에서 gRPC를 사용하여 IOS XR에 config 적용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/ikegami/articles/833a18b47c6917e25451텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)