janog-netcon / netcon-problem-management-subsystem Goto Github PK
View Code? Open in Web Editor NEWHome Page: https://netcon-problem-management-subsystem.pages.dev/
License: Other
Home Page: https://netcon-problem-management-subsystem.pages.dev/
License: Other
DockerコンテナがStopしていることがハンドリングされていない
netcon-problem-management-subsystem/controllers/nclet/drivers/containerlab.go
Lines 237 to 245 in 9aacb15
ContainerLabだとVMコンテナがReadyになってもVM自体が起動していない場合がある。それに合わせてReadyを表示させる。
[GET] problems
で 問題の一覧を返す[GET] problems/:problem_name
で その問題の環境一覧を返す(name と state だけでいい)[GET] problems/:problem_name/:problem_env
で問題環境を返す
[GET] /problem/:uniq_pe_name
の rename[POST] problems/:problem_name/:problem_env
で Change State: available to assigned[DELETE] problems/:problem_name/:problem_env
[DELETE] /problem/:uniq_pe_name
の renameけんめいのとおり
containerlabのstatusを取得する部分の実装が不完全なために正しく状態遷移しない部分を修正する。
開発中はkindを用いて実装しているが、GKEやGCP instance(つまり本番環境)でも同様に動作できるかどうかをテストする
ユーザがSSHで接続するための仕組みを実装する。
具体的には、以下のタスクを実施する。
Problem controllerを実装する。
ProblemEnvironmentを割り当て状況に合わせて自動でスケールさせる実装を行う。
具体的には、以下のタスクを実施する。
Originally posted by @motacapla in #22 (comment)_
GET /healthz
というエンドポイントで200を返せばOKなはず。
「インフラ班の人ならデバッグができる」という状態にするために、オペレーションガイドを作成してdoc以下に配置する
external ip、portの情報が渡されていないので、渡すようにする
パスワードはProblemEnvironmentStatusに入っているはず
kubectlからコンテナの詳細情報を取得できるようにするために表示したい内容を結合したフィールドを用意していたが、今はkubectl-netconによって表示内容を変えることができるようになっている。そのため、この部分をあるべき状態に修正する。
普通
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Offering public key: /Users/jp26081/.ssh/id_ed25519 ED25519 SHA256:W2HAh02br+R7a1R7J6z/4bghgFJpiLNBpruY+gjLN9Q agent
debug1: Authentications that can continue: publickey,password
debug1: Offering public key: /home1/irteamsu/.ssh/id_rsa RSA SHA256:L6zMBR/u4tHwEt8eJQPWB8PaDeEH1nnHmoEfLpNgfLY agent
debug1: Authentications that can continue: publickey,password
debug1: Trying private key: /Users/jp26081/.ssh/id_rsa
debug1: Trying private key: /Users/jp26081/.ssh/id_dsa
debug1: Trying private key: /Users/jp26081/.ssh/id_ecdsa
debug1: Trying private key: /Users/jp26081/.ssh/id_ecdsa_sk
debug1: Trying private key: /Users/jp26081/.ssh/id_ed25519_sk
debug1: Trying private key: /Users/jp26081/.ssh/id_xmss
debug1: Next authentication method: password
[email protected]'s password:
cEOS
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,keyboard-interactive
debug1: Next authentication method: publickey
debug1: Trying private key: /home/netcon/.ssh/id_rsa
debug1: Trying private key: /home/netcon/.ssh/id_ecdsa
debug1: Trying private key: /home/netcon/.ssh/id_ecdsa_sk
debug1: Offering public key: /home/netcon/.ssh/id_ed25519 ED25519 SHA256:ZUMhT2ZFYxHireEdrQvtchLve7saHhGkVly5fnXZD3k
debug1: Authentications that can continue: publickey,keyboard-interactive
debug1: Trying private key: /home/netcon/.ssh/id_ed25519_sk
debug1: Trying private key: /home/netcon/.ssh/id_xmss
debug1: Trying private key: /home/netcon/.ssh/id_dsa
debug1: Next authentication method: keyboard-interactive
([email protected]) Password:
#4 の続き
nclet側で取れてセットされている値が
https://janog51.slack.com/archives/C0445UTF43G/p1668177629880719?thread_ts=1668165522.223519&cid=C0445UTF43G
problem controller側で取得できていなさそう
1.6690284553993292e+09 ERROR failed to parse CPUUsedPercent for worker election {"controller": "problemen
vironment", "controllerGroup": "netcon.janog.gr.jp", "controllerKind": "ProblemEnvironment", "ProblemEnvironment"
: {"name":"pro-001-t5x6s","namespace":"netcon"}, "namespace": "netcon", "name": "pro-001-t5x6s", "reconcileID": "
938884db-e5ec-4776-bd94-ec0ba32ec8e4", "error": "strconv.ParseFloat: parsing \"\": invalid syntax"}
github.com/janog-netcon/netcon-problem-management-subsystem/controllers/controller-manager.(*ProblemEnvironmentRe
conciler).electWorker
/workspace/controllers/controller-manager/problemenvironment_controller.go:132
github.com/janog-netcon/netcon-problem-management-subsystem/controllers/controller-manager.(*ProblemEnvironmentRe
conciler).schedule
/workspace/controllers/controller-manager/problemenvironment_controller.go:198
github.com/janog-netcon/netcon-problem-management-subsystem/controllers/controller-manager.(*ProblemEnvironmentRe
conciler).Reconcile
/workspace/controllers/controller-manager/problemenvironment_controller.go:73
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile
/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:121
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler
/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:320
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem
/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:273
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2
/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:234
1.6690284553995066e+09 ERROR failed to parse MemoryUsedPercent for worker election {"controller": "problemen
vironment", "controllerGroup": "netcon.janog.gr.jp", "controllerKind": "ProblemEnvironment", "ProblemEnvironment"
: {"name":"pro-001-t5x6s","namespace":"netcon"}, "namespace": "netcon", "name": "pro-001-t5x6s", "reconcileID": "
938884db-e5ec-4776-bd94-ec0ba32ec8e4", "error": "strconv.ParseFloat: parsing \"\": invalid syntax"}
github.com/janog-netcon/netcon-problem-management-subsystem/controllers/controller-manager.(*ProblemEnvironmentRe
conciler).electWorker
/workspace/con
ProblemEnvironmentのschedulerの実装を行う。
具体的には、以下のタスクを実施する。
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.