Comments (3)
Thanks for the report.
If the user provides a different service address it probably should just automatically take the next available port
Hm, yes. We would have to read back all the already created targets and check for the highest port_id
... Probably not impossible, but I don't think we have precedent for that kind of logic yet. I will look at it.
If the user provides the same service address it should link it in. This probably should be fixed in resource-agents.
I don't think I fully understand this point. Right now I guess it would create a new portdir
and symlink the subsystem in there. Does the backend not accept this? How would we fix this in the resource agents?
I guess if anything linstor-gateway should look up whether or not there is already a target with the same addr
and assign the same port_id
if there is...
from linstor-gateway.
Sorry if I wasn't clear.
I guess if anything linstor-gateway should look up whether or not there is already a target with the same addr and assign the same port_id if there is...
Even if we use the same port_id for the same service_address with the current nvmet-port heartbeat code we will never symlink in the subsystem.
nvmet_port_start() runs nvmet_port_monitor which only checks if the $portdir exists, which it will since we created a port prior and will return 0 and never hit the following:
for subsystem in ${OCF_RESKEY_nqns}; do
ln -s /sys/kernel/config/nvmet/subsystems/${subsystem} \
${portdir}/subsystems/${subsystem}
done
the healthcheck
nvmet_port_monitor() {
[ -d ${portdir} ] || return $OCF_NOT_RUNNING
return $OCF_SUCCESS
}
Perhaps we should run loop where we link even if the portdir exists.
from linstor-gateway.
After going through a PoC implementation of this behavior, I discovered that when you have 1 VIP with 4 subsystems, it's possible for reactor to promote the VIP on separate Primaries.
For example:
nvme create -r nvme_group linbit:nvme:demo0 10.91.230.214/32 10G
nvme create -r nvme_group linbit:nvme:demo1 10.91.230.214/32 10G
nvme create -r nvme_group linbit:nvme:demo2 10.91.230.214/32 10G
Can result with demo0 and demo1 on NodeA, and demo2 on NodeB both with the VIP 10.91.230.214.
Is there a way to make sure that Reactor can co-locate things like this?
Perhaps preferred-nodes? https://github.com/LINBIT/drbd-reactor/blob/master/doc/promoter.md#preferred-nodes
from linstor-gateway.
Related Issues (20)
- iscsi add-volume creates incorrect size. HOT 3
- nvme volume-add is 56 MiB instead of 10G HOT 1
- ISCSI EOF HOT 6
- Can't add volume on existing iscsi service HOT 3
- NFS Export with xfs filesystem HOT 4
- Using linstor-gateway with an SSL key-secured controller HOT 1
- How to set the network interface for drbd-reactor when adding iscsi HOT 1
- Implement confirmation dialog when deleting HOT 1
- v1.3.0 - unable to get iscsi tgt implementation working HOT 5
- 404 Not Found HOT 2
- How to delete Linstor resource In Use? HOT 8
- Why is the iptables drop 2049 port rule automatically added when using linstor-gateway to export nfs services? HOT 4
- Username and password are not actually used
- compatible with pacemaker 2.0? HOT 10
- Unable to finalize NFS share creation HOT 4
- check-health not available in latest HOT 1
- error path does not have a whitelisted parent. HOT 1
- Connection to a remote LINSTOR controller possible ?
- Can't Create more than 1 NFS per satellite HOT 4
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 linstor-gateway.