wilfred-s commented on issue #81: [YUNIKORN-28] Support validating 
yunikorn-configs before admitting it
URL: 
https://github.com/apache/incubator-yunikorn-k8shim/pull/81#issuecomment-598166263
 
 
   By adding the core scheduler config code into the admission controller 
introduce a hard coupling between the k8shim code and the core code. This will 
mean that we cannot change the core config code without updating the shim. When 
we introduce a new shim which adds some config to the core and we want to 
deploy the scheduler without the k8shim we cannot. It will be blocked by the 
admission controller as it will not allow us to make any configuration changes. 
The new core can thus not be released without releasing a new k8shim and a new 
admission controller.
   
   We need to keep the flexibility to make configuration changes in the core 
without the need to release a shim or admission controller. The current 
deployment of one binary for shim and core is not the end state.
   
   I am also wondering where the config volume is if you have no scheduler 
deployed. Beside that having an active admission controller in the cluster and 
no scheduler would also leave your whole cluster stuck. Nothing will be 
scheduled without a scheduler. I do not think that it is a good enough reason 
to push the code into the admission controller. The admission controller must 
never rely on any shim or core version. It should stay as dumb as possible.
   
   Using a service discovery to find the rest interface is a better solution 
and allows us to really keep any knowledge that does not belong in the 
admission controller out of it.
   
   You also need to keep in mind that even if the validate passes the scheduler 
can still reject the configuration. The config can be valid but the running 
config might prevent it from being applied, i.e. a leaf queue with running apps 
cannot be changed into a parent queue, or a placement rule defined in the 
config might not exist in the code itself.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to