Short:
1.We want:
1.1 Automate testing eden/eve on packet servers via github actions.
1.1.1 We are talking about servers:
location: sjc1
c1.large.arm
c2.large.arm
location: dfw2
c1.large.arm.xda
baremetal_2a5
2. Problems
2.1 Adam/Eden/EVE side
2.1.1 EVE devices (not just on packet; anywhere) need to access their controller. If the controller is not on the same network or publicly accessible, they cannot access the controller.
2.1.2 EVE devices can only obtain an IP address from DHCP.
2.2 Equinix Metal (packet) side.
2.2.1 When creating a server with ipxe boot, the DHCP packet server only gives out the public ipv4 and ipv6 addresses (we cannot access to the packet local network automatically from eve - 2.1.2).
2.2.2 Servers are united into one physical local network in only one metro (New York, Dallas(ex location: dfw2) etc...).
2.2.3 Virtual Networks (VLANs) can work only in one metro (New York, Dallas etc...).
Solution:
- We need to create Virtual Network(Vlan) in each metro that has servers for testing. (Justification 2.2.3)
- Each such network must have a server with a DHCP server. (Justification 2.2.3, 2.1.2, 2.2.1
- For each such virtual network, a server with OpenVpn must be configured and clients must be accessible from this virtual network. (Justification 2.1.1, 2.2.3)
Step by step for each metro:
P.S. Each server in packet is equipped with 2 internet ports connected in bond.
- Create Virtual Network(Vlan).
- Create Ubuntu Server.
- Disbond eth1 port from bond0 via ports packet API.
- Assign a eth1 port to virtual network via API.