Skip to content

Commit

Permalink
feat: use AZs by default (rackerlabs#510)
Browse files Browse the repository at this point in the history
This change will ensure that Genestack operates with availability zones
using common naming conventions by default. The AZ support is being added
to Nova, Cinder, and Neutron.

Signed-off-by: Kevin Carter <[email protected]>
  • Loading branch information
cloudnull authored Oct 30, 2024
1 parent aefcd1e commit 030d257
Show file tree
Hide file tree
Showing 8 changed files with 28 additions and 12 deletions.
4 changes: 4 additions & 0 deletions base-helm-configs/cinder/cinder-helm-overrides.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -758,6 +758,10 @@ conf:
app_name: cinder-volume
cinder:
DEFAULT:
storage_availability_zone: az1
default_availability_zone: null
allow_availability_zone_fallback: true
scheduler_default_filters: AvailabilityZoneFilter,CapacityFilter,CapabilitiesFilter
volume_usage_audit_period: hour
resource_query_filters_file: /etc/cinder/resource_filters.json
log_config_append: /etc/cinder/logging.conf
Expand Down
11 changes: 9 additions & 2 deletions base-helm-configs/neutron/neutron-helm-overrides.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1754,7 +1754,10 @@ conf:
# NOTE(portdirect): the bind port should not be defined, and is manipulated
# via the endpoints section.
bind_port: null
default_availability_zones: nova
default_availability_zones: null
network_scheduler_driver: neutron.scheduler.dhcp_agent_scheduler.AZAwareWeightScheduler
router_scheduler_driver: neutron.scheduler.l3_agent_scheduler.AZLeastRoutersScheduler
dhcp_load_type: networks
api_workers: 1
rpc_workers: 4
allow_overlapping_ips: True
Expand Down Expand Up @@ -1787,7 +1790,7 @@ conf:
connection_recycle_time: 3600
max_retries: -1
agent:
availability_zone: nova
availability_zone: az1
root_helper: sudo /var/lib/openstack/bin/neutron-rootwrap /etc/neutron/rootwrap.conf
root_helper_daemon: sudo /var/lib/openstack/bin/neutron-rootwrap-daemon /etc/neutron/rootwrap.conf
oslo_messaging_notifications:
Expand Down Expand Up @@ -1946,13 +1949,15 @@ conf:
vni_ranges: 1:65536
max_header_size: 38
agent:
availability_zone: az1
extensions: fip_qos,gateway_ip_qos
ml2_conf_sriov: null
taas:
taas:
enabled: False
openvswitch_agent:
agent:
availability_zone: az1
tunnel_types: vxlan
l2_population: True
arp_responder: True
Expand Down Expand Up @@ -1988,6 +1993,8 @@ conf:
interface_driver: null
dnsmasq_config_file: /etc/neutron/dnsmasq.conf
force_metadata: True
agent:
availability_zone: az1
dnsmasq: |
#no-hosts
#port=5353
Expand Down
7 changes: 5 additions & 2 deletions base-helm-configs/nova/nova-helm-overrides.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -608,7 +608,7 @@ conf:
tests:
NovaAggregates.create_and_get_aggregate_details:
- args:
availability_zone: nova
availability_zone: az1
runner:
concurrency: 1
times: 1
Expand All @@ -618,7 +618,7 @@ conf:
max: 0
NovaAggregates.create_and_update_aggregate:
- args:
availability_zone: nova
availability_zone: az1
runner:
concurrency: 1
times: 1
Expand Down Expand Up @@ -1358,6 +1358,8 @@ conf:
- cell0_database
nova:
DEFAULT:
default_availability_zone: az1
default_schedule_zone: null
# NOTE(cloudnull): the vif_plugging_* options are an implemntation detail of the nova container when running with OVN
vif_plugging_is_fatal: true
vif_plugging_timeout: 300
Expand Down Expand Up @@ -1413,6 +1415,7 @@ conf:
auth_type: password
auth_version: v3
cinder:
cross_az_attach: true
catalog_info: volumev3::internalURL
key_manager:
backend: barbican
Expand Down
2 changes: 1 addition & 1 deletion docs/adding-new-node.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ labels and annotations.
kubectl annotate \
nodes \
${NODES} \
ovn.openstack.org/availability_zones='nova'
ovn.openstack.org/availability_zones='az1'
```

4. Verify all the services are up and running
Expand Down
8 changes: 5 additions & 3 deletions docs/infrastructure-ovn-setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Post deployment we need to setup neutron to work with our integrated OVN environ
| **ovn.openstack.org/bridges** | str | `br-ex` | Comma separated list of bridges that will be created and plugged into OVS for a given node. |
| **ovn.openstack.org/ports** | str | `br-ex:bond1` | Comma separated list of bridge mappings. Maps values from the **bridges** annotation to physical devices on a given node. |
| **ovn.openstack.org/mappings** | str | `physnet1:br-ex` | Comma separated list of neutron mappings. Maps a value that will be used in neutron to a value found in the **ports** annotation. |
| **ovn.openstack.org/availability_zones** | str | `nova` | Colon separated list of Availability Zones a given node will serve. |
| **ovn.openstack.org/availability_zones** | str | `az1` | Colon separated list of Availability Zones a given node will serve. |
| **ovn.openstack.org/gateway** | str| `enabled` | If set to `enabled`, the node will be marked as a gateway. |

### Gather the network enabled nodes
Expand Down Expand Up @@ -92,12 +92,14 @@ Set the OVN availability zones which inturn creates neutron availability zones.
kubectl annotate \
nodes \
${ALL_NODES} \
ovn.openstack.org/availability_zones='nova'
ovn.openstack.org/availability_zones='az1'
```

!!! note

Any availability zone defined here should also be defined within your **neutron.conf**. The "nova" availability zone is an assumed defined, however, because we're running in a mixed OVN environment, we should define where we're allowed to execute OpenStack workloads.
Any availability zone defined here should also be defined within your **neutron.conf**. The "az1" availability zone is assumed by Genestack; however, because we're running in a mixed OVN environment, we define where we're allowed to execute OpenStack workloads ensuring we're not running workloads in an environment that doesn't have the network resources to support it.

Additionally, an availability zone can be used on different nodes and used to define where gateways reside. If you have multiple availability zones, you will need to define where the gateways will reside within your environment.

### Set `ovn.openstack.org/gateway`

Expand Down
2 changes: 1 addition & 1 deletion docs/octavia-loadbalancer-setup-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ $ openstack --os-cloud default loadbalancer create --name OVN-Test --vip-subnet-
| Field | Value |
+---------------------+--------------------------------------+
| admin_state_up | True |
| availability_zone | None |
| availability_zone | az1 |
| created_at | 2024-08-30T17:48:46 |
| description | |
| flavor_id | None |
Expand Down
4 changes: 2 additions & 2 deletions docs/openstack-cinder-fips-encryption.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ kubectl --namespace openstack exec -ti openstack-admin-client -- openstack volum
| Field | Value |
+---------------------+--------------------------------------+
| attachments | [] |
| availability_zone | nova |
| availability_zone | az1 |
| bootable | false |
| consistencygroup_id | None |
| created_at | 2024-10-17T20:01:19.233106 |
Expand Down Expand Up @@ -78,7 +78,7 @@ Verify encryption field after volume is created:
| Field | Value |
+--------------------------------+---------------------------------------------------------------+
| attachments | [] |
| availability_zone | nova |
| availability_zone | az1 |
| bootable | false |
| consistencygroup_id | None |
| created_at | 2024-10-17T20:01:19.000000 |
Expand Down
2 changes: 1 addition & 1 deletion docs/openstack-cinder-lvmisci.md
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ root@openstack-node-0:~# kubectl --namespace openstack exec -ti openstack-admin-
| Field | Value |
+---------------------+--------------------------------------+
| attachments | [] |
| availability_zone | nova |
| availability_zone | az1 |
| bootable | false |
| consistencygroup_id | None |
| created_at | 2023-12-26T17:46:15.639697 |
Expand Down

0 comments on commit 030d257

Please sign in to comment.