Skip to content

Commit 33fcf95

Browse files
committed
Update 2026-04-01
1 parent 43c43ed commit 33fcf95

File tree

1 file changed

+31
-18
lines changed

1 file changed

+31
-18
lines changed

extensions/network-namespace/README.md

Lines changed: 31 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -254,36 +254,49 @@ cmk createExtension \
254254
name=my-extnet \
255255
type=NetworkOrchestrator \
256256
path=network-namespace \
257-
"details[0].key=network.capabilities" \
258-
"details[0].value={\"services\":[\"SourceNat\",\"StaticNat\",\"PortForwarding\",\"Firewall\",\"Gateway\"],\"capabilities\":{\"SourceNat\":{\"SupportedSourceNatTypes\":\"peraccount\",\"RedundantRouter\":\"false\"},\"Firewall\":{\"TrafficStatistics\":\"per public ip\"}}}"
257+
"details[0].key=network.services" \
258+
"details[0].value=SourceNat,StaticNat,PortForwarding,Firewall,Gateway" \
259+
"details[1].key=network.service.capabilities" \
260+
"details[1].value={\"SourceNat\":{\"SupportedSourceNatTypes\":\"peraccount\",\"RedundantRouter\":\"false\"},\"Firewall\":{\"TrafficStatistics\":\"per public ip\"}}"
259261
```
260262

261-
The `network.capabilities` detail declares which services this extension provides
262-
and their CloudStack capability values. These are consulted when listing network
263-
service providers and when validating network offerings.
263+
The two details declare which services this extension provides and their
264+
CloudStack capability values. These are consulted when listing network service
265+
providers and when validating network offerings.
264266

265-
**`network.capabilities` JSON format:**
267+
**`network.services`** — comma-separated list of service names:
268+
```
269+
SourceNat,StaticNat,PortForwarding,Firewall,Gateway
270+
```
271+
Valid service names include: `Vpn`, `Dhcp`, `Dns`, `SourceNat`,
272+
`PortForwarding`, `Lb`, `UserData`, `StaticNat`, `NetworkACL`, `Firewall`,
273+
`Gateway`, `SecurityGroup`.
274+
275+
**`network.service.capabilities`** — JSON object mapping each service to its
276+
CloudStack `Capability` key/value pairs:
266277
```json
267278
{
268-
"services": ["SourceNat", "StaticNat", "PortForwarding", "Firewall", "Gateway"],
269-
"capabilities": {
270-
"SourceNat": {
271-
"SupportedSourceNatTypes": "peraccount",
272-
"RedundantRouter": "false"
273-
},
274-
"Firewall": {
275-
"TrafficStatistics": "per public ip"
276-
}
279+
"SourceNat": {
280+
"SupportedSourceNatTypes": "peraccount",
281+
"RedundantRouter": "false"
282+
},
283+
"Firewall": {
284+
"TrafficStatistics": "per public ip"
277285
}
278286
}
279287
```
280288

281-
Services not listed in `capabilities` (e.g. `StaticNat`, `PortForwarding`,
289+
Services listed in `network.services` that have no entry in
290+
`network.service.capabilities` (e.g. `StaticNat`, `PortForwarding`,
282291
`Gateway`) are still offered — CloudStack treats missing capability values as
283292
"no constraint" and accepts any value when creating the network offering.
284293

285-
If you omit the `network.capabilities` detail entirely, the extension defaults
286-
to all five services with `SourceNat.SupportedSourceNatTypes=peraccount`.
294+
If you omit both details entirely, the extension defaults to an empty set of
295+
services and no capabilities.
296+
297+
> **Backward compatibility:** the old combined `network.capabilities` JSON
298+
> key (with a `"services"` array and `"capabilities"` object in one blob) is
299+
> still accepted but deprecated. Prefer the split keys above.
287300
288301
Verify the extension was created and its state is `Enabled`:
289302
```bash

0 commit comments

Comments
 (0)