Skip to content

Commit 06704f2

Browse files
committed
fix!: manage the physical interface in ci-aio
Treat the physical interface as network interface inside of the `ci-aio` environment. This is to ensure the network interface files are created correctly with the appropriate permissions otherwise we will lose connection after the DHCP lease expires. Also this approach enables us to include the interface within the firewall configuration ensuring we maintain SSH access through the firewall via this interface.
1 parent e036472 commit 06704f2

File tree

5 files changed

+16
-18
lines changed

5 files changed

+16
-18
lines changed

.github/workflows/stackhpc-all-in-one.yml

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -202,23 +202,11 @@ jobs:
202202
- name: Write Terraform network config
203203
run: |
204204
cat << EOF > etc/kayobe/environments/$KAYOBE_ENVIRONMENT/tf-networks.yml
205-
206-
admin_oc_net_name: admin
207-
admin_cidr: "{{ access_cidr.value }}"
208-
admin_allocation_pool_start: 0.0.0.0
209-
admin_allocation_pool_end: 0.0.0.0
210-
admin_gateway: "{{ access_gw.value }}"
211-
admin_bootproto: dhcp
212-
admin_ips:
205+
admin_oc_net_name: ethernet
206+
ethernet_ips:
213207
controller0: "{{ access_ip_v4.value }}"
214208
EOF
215209
216-
- name: Write Terraform network interface config
217-
run: |
218-
cat << EOF > etc/kayobe/environments/$KAYOBE_ENVIRONMENT/inventory/group_vars/controllers/tf-network-interfaces
219-
admin_interface: "{{ access_interface.value }}"
220-
EOF
221-
222210
- name: Write all-in-one scenario config
223211
run: |
224212
cat << EOF > etc/kayobe/environments/$KAYOBE_ENVIRONMENT/zz-aio-scenario.yml

etc/kayobe/environments/ci-aio/automated-setup.sh

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -72,10 +72,6 @@ fi
7272
sudo ip l set dummy1 up
7373
sudo ip l set dummy1 master breth1
7474

75-
if type apt; then
76-
sudo cp /run/systemd/network/* /etc/systemd/network
77-
fi
78-
7975
export KAYOBE_VAULT_PASSWORD=$(cat $BASE_PATH/vault-pw)
8076
pushd $BASE_PATH/src/kayobe-config
8177
source kayobe-env --environment ci-aio

etc/kayobe/environments/ci-aio/controllers.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@
66
# to setup the Kayobe user account. Default is {{ os_distribution }}.
77
controller_bootstrap_user: "{{ os_distribution if os_distribution == 'ubuntu' else 'cloud-user' }}"
88

9+
controller_extra_network_interfaces:
10+
- ethernet
11+
912
# Controller lvm configuration. See intentory/group_vars/controllers/lvm.yml
1013
# for the exact configuration.
1114
controller_lvm_groups:

etc/kayobe/environments/ci-aio/inventory/group_vars/controllers/network-interfaces

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@
22
###############################################################################
33
# Network interface definitions for the controller group.
44

5+
# Ethernet interface is the `primary` or `physical` interface associated
6+
# with the instance that the AIO deployment runs inside of. It is the interface used
7+
# to reach the instance.
8+
ethernet_interface: "{{ ansible_facts['default_ipv4']['interface'] }}"
9+
510
# Controller interface on all-in-one network.
611
aio_interface: breth1
712
# Use dummy1 if it exists, otherwise the bridge will have no ports.

etc/kayobe/environments/ci-aio/networks.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,12 @@ cleaning_net_name: aio
8080
###############################################################################
8181
# Network definitions.
8282

83+
# This network is required to be defined within `ci-aio` environment to ensure that
84+
# the network interface files are created appropriately and to provide easy inclusion
85+
# within the firewall configuration.
86+
ethernet_bootproto: dhcp
87+
ethernet_zone: trusted
88+
8389
# All-in-one network.
8490
aio_cidr: 192.168.33.0/24
8591
aio_allocation_pool_start: 192.168.33.3

0 commit comments

Comments
 (0)