Comments (7)
@travisn yes these are 3 separate issues that I created to ensure that we don't miss anything but the root cause is the same we are not updating the csiConfigmap as required.
from rook.
Read Affinity in CM is not respected anymore
We no longer use CSI_ENABLE_READ_AFFINITY since we have added read affinity options per cluster. I believe we can safely remove it.
👍🏻
When we move from Host Networking to pod networking by changing CSI_ENABLE_HOST_NETWORK to false, netNamespace path is not updated for all the clusterID's
Do we actually need to add it to all cluster IDs? Currently, we only add it to the 'rook-ceph' cluster ID entry. I don't see it has an issue.
yes it need to be added to all the clusterID of specific ceph cluster or else we will have problem for radosnamespace/subvolumegroup created for that cluster.
When we switch back from Pod networking to Host networking by updating CSI_ENABLE_HOST_NETWORK to true the networkNamespaceFilePath is not removed for all the clusterID's
Currently, there is no logic in place to remove the netNamespaceFilePath when
CSI_ENABLE_HOST_NETWORK
is set to true.
that would be a bug in existing code :(
from rook.
when a new subvolumegroup/radosnamespace is created crushlocation is not added for all the clusterID if the readAffinity is not enabled
if CSI_ENABLE_READ_AFFINITY is set to true or false in operator configmap its having no effected. we need to remove that from CM as it is not used
I think, it should be fine right ?
if readAffinity is not enabled, there's no impact of presence or absence of crushLocationLabels or it being null.
(I agree that the entries look inconsistent though).
from rook.
when a new subvolumegroup/radosnamespace is created crushlocation is not added for all the clusterID if the readAffinity is not enabled
if CSI_ENABLE_READ_AFFINITY is set to true or false in operator configmap its having no effected. we need to remove that from CM as it is not used
I think, it should be fine right ? if readAffinity is not enabled, there's no impact of presence or absence of crushLocationLabels or it being null. (I agree that the entries look inconsistent though).
Yes it should be fine but lets keep all the data in the configmap consistent.
from rook.
Could you summarize at the top of the issue what is needed? This looks like three separate issues. Is there one root cause?
from rook.
Read Affinity in CM is not respected anymore
We no longer use CSI_ENABLE_READ_AFFINITY since we have added read affinity options per cluster. I believe we can safely remove it.
When we move from Host Networking to pod networking by changing CSI_ENABLE_HOST_NETWORK to false, netNamespace path is not updated for all the clusterID's
Do we actually need to add it to all cluster IDs? Currently, we only add it to the 'rook-ceph' cluster ID entry.
I don't see it has an issue.
When we switch back from Pod networking to Host networking by updating CSI_ENABLE_HOST_NETWORK to true the networkNamespaceFilePath is not removed for all the clusterID's
Currently, there is no logic in place to remove the netNamespaceFilePath when CSI_ENABLE_HOST_NETWORK
is set to true.
from rook.
I can't speak to the nuances of how rados namespaces or cephfs subvolume groups operate, but there is definitely a bug here that affects transition to/from Multus-enabled clusters if the netNamespaceFilePath
isn't being updated.
I think it probably makes sense to tackle all of these symptoms at the same time by fixing the csiConfigmap
update process.
This sounds like an issue of the code that handles the confgmap not being developed to determine the best end-state, and instead only designed to handle "if this changes, then do this" logic, which (I've given a talk on this) leads to issues like this where corner cases exist. It would be good to make sure the code generates the ideal configmap from scratch with every reconcile, and then applies it with no if-then logic about config/state transitions.
from rook.
Related Issues (20)
- SVG: support optional parameters when creating subvolumegroup CR HOT 3
- Errors inside Operator Pod HOT 23
- Creating a bucket with RGW multisite on a rook cluster having a non-master zone makes the credentials in the generated secret wrong HOT 2
- Add support for cephfs + fscrypt in dev-env HOT 4
- why should we set max_mds to 1 when upgradeMDS ? HOT 1
- Restart object user reconcile if rgw objectstore is updated
- Suspected memory leak in the Rook operator HOT 21
- Unit test are failing with cleanup job HOT 1
- Allow updating of the OSD device classes HOT 1
- Object Gateway panel does not work in Ceph Dashboard (KeyError: 'id') HOT 4
- Update CSI docs to remove obsolete prerequisites and notes
- Mergify is not automatically merging backports after approved and CI is passing HOT 1
- Tips for restoring a terrible state cluster? HOT 2
- Update cosi user if cephobjectstore is updated
- RGW SSL certificates are not reloaded after renewal/update HOT 1
- [enhancement] ignore the update events of heartbeat time changed when reconcile node events HOT 5
- Ceph Cluster Creation Failed on GKE HOT 10
- pg_autoscaler configuration is needed HOT 29
- Enhance the architecture of the external mode
- Try to make import and export more eaiser HOT 8
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rook.