Skip to content

Commit 7b9ad11

Browse files
authored
Merge pull request #19 from platform9/feat/networking-qos
feat(networking): Neutron QoS family (policy + bandwidth-limit / DSCP / minimum-bandwidth rules)
2 parents 68edb4a + 55068b1 commit 7b9ad11

18 files changed

Lines changed: 1264 additions & 0 deletions

File tree

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,10 @@ All notable changes to this project are documented here. The format is based on
6767
`payload`) and `pcd_keymanager_container` (grouped secrets) resources plus a
6868
`pcd_keymanager_secret` data source (optionally fetches the payload). Barbican identifies
6969
objects by URL refs; the resources expose the full ref and use the bare UUID as the ID.
70+
- Network QoS (Neutron `qos` extension) — Phase 3: `pcd_networking_qos_policy` and its three
71+
rule types — `pcd_networking_qos_bandwidth_limit_rule`, `pcd_networking_qos_dscp_marking_rule`,
72+
`pcd_networking_qos_minimum_bandwidth_rule` — plus a `pcd_networking_qos_policy` data source.
73+
Rules are nested under a policy and imported by a composite `<qos_policy_id>/<rule_id>` ID.
7074

7175
- Registry documentation generation wired via `tfplugindocs` (`make generate`) — renders
7276
`docs/` for every resource and data source plus the provider index from schema
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
data "pcd_networking_qos_policy" "example" {
2+
name = "tf-example-qos"
3+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
terraform import pcd_networking_qos_bandwidth_limit_rule.example <qos_policy_id>/<rule_id>
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
resource "pcd_networking_qos_policy" "example" {
2+
name = "tf-example-qos"
3+
}
4+
5+
resource "pcd_networking_qos_bandwidth_limit_rule" "example" {
6+
qos_policy_id = pcd_networking_qos_policy.example.id
7+
max_kbps = 3000
8+
max_burst_kbps = 300
9+
direction = "egress"
10+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
terraform import pcd_networking_qos_dscp_marking_rule.example <qos_policy_id>/<rule_id>
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
resource "pcd_networking_qos_policy" "example" {
2+
name = "tf-example-qos"
3+
}
4+
5+
resource "pcd_networking_qos_dscp_marking_rule" "example" {
6+
qos_policy_id = pcd_networking_qos_policy.example.id
7+
dscp_mark = 26
8+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
terraform import pcd_networking_qos_minimum_bandwidth_rule.example <qos_policy_id>/<rule_id>
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
resource "pcd_networking_qos_policy" "example" {
2+
name = "tf-example-qos"
3+
}
4+
5+
resource "pcd_networking_qos_minimum_bandwidth_rule" "example" {
6+
qos_policy_id = pcd_networking_qos_policy.example.id
7+
min_kbps = 1000
8+
direction = "egress"
9+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
terraform import pcd_networking_qos_policy.example <qos_policy_id>
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
resource "pcd_networking_qos_policy" "example" {
2+
name = "tf-example-qos"
3+
description = "QoS policy managed by Terraform"
4+
shared = true
5+
tags = ["terraform", "qos"]
6+
}

0 commit comments

Comments
 (0)