-
Couldn't load subscription status.
- Fork 199
[WIP] unmanaged node prototype #2339
Conversation
306d2ab to
dc6cd05
Compare
dc6cd05 to
0150d32
Compare
|
Can you write a one page architecture spec that can be reviewed first before proceeding with implementation ? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Is it dedicated pool for unmanaged nodes or is pool can be mixed with managed and unmanaged nodes ?
- What if pool is Linux but unmanaged node is Windows, how is it enforced (same 32 bit vs 64 bit) Same for OS image - Ubuntu vs Redhat ?
- How is unmanaged node name is assigned ? what if there is a duplicate in the pool ?
- what happens if unmanaged node goes rogue ? Do we try to prevent it from taking work ? (Since OneFuzz was designed with "tear it down" in mind, and unmanaged node we cannot tear it down)
- Which queue unmanaged node gets it's work from ?
- Currently managed nodes auth using token that they get from inside vnet. Unmanaged node cannot do that - what's the auth, and can it be mixed with "user" auth when node makes a request ?
- Can I have 2 agents running on one unmanged node ? Are they going to interfere with each other ?
- Which app insights unmanaged node logs to ? how is that setup ?
- What if pool does not exist for which unmanaged node claims to be registered with
- What happens if unmanaged node is outdated ? What's the update process ?
- Does it have to be part of a scaleset ? or is it standalone VM ?
- What's the testing strategy ?
- What's test automation strategy ?
This is a prototype in a draft PR. I am not committing to an specific implementation. The point of this prototype is to understand what is needed. |
Codecov Report
@@ Coverage Diff @@
## main #2339 +/- ##
==========================================
- Coverage 29.37% 29.27% -0.10%
==========================================
Files 290 290
Lines 35603 35690 +87
==========================================
- Hits 10457 10449 -8
- Misses 25146 25241 +95
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. |
dedicated. The pool already has a field to that says if it is managed or not.
we have validtion the os matches at the registration. But keep in mind that in this scenrio we do not control the nodes. So we rely on whatever the gent gives which makes it hard to enforce.
The node id will be provided by the agent. At this point in the prototype, a duplicate will overwrit the previous registration
No. we don't since we do not control it. it is up to the node owner to tear it down
The queue of the pool it is registered to. Same as the current nodes
The client support 2 types of authentication
Currently both agent can run but they will interfere with each other because they will share the same machine id
The appinsight config is part of the job config and is independent of the node. the setup for is the same as the current implementation
the agent registration will fail
it is up to the owner of the unmanaged node
it could be part of a scaleset or a standalone VM . That is up to the unmanaged node owner. The service side will only see the node.
create an unmanaged pools, |
|
Can you write a one page spec with scenarios that implementation supposed to handle and the whole team can review and ask questions and provide feedback ? All those questions that I wrote were just of the top of my head. And it would be great to have a some sort of a plan to read through to understand what are you trying to implement. And also have a paragraph explaining test strategy. |
When i am done with prototyping |
…f the node is unmanaged
a5cf2bf to
5fc5b8a
Compare
includin the machine in the path of the working di
Summary of the Pull Request