You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 10 Next »

Short:

1.We want to automate eden and eve integration testing on packet servers.

1.1 We are talking about servers: 

locationsjc1

c1.large.arm
c2.large.arm

locationdfw2

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:

  1. We need to create Virtual Network(Vlan) in each metro that has servers for testing. (Justification 2.2.3)
    1. Each such network must have a server with a DHCP server. (Justification 2.2.3, 2.1.2, 2.2.1)
    2. 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 guide for setup network, dhcp, openvpn in each metro:

P.S. Each server in packet is equipped with 2 internet ports connected in bond.

  1. Create Virtual Network(Vlan).
  2. Create another Virtual Network(Vlan).
  3. Create Ubuntu Server.
    1. Disbond eth1 port from bond0.
    2. Assign eth1 port to virtual network via API.
    3. Assign eth1 port to another virtual network via API. (This is necessary in order to make the VLAN native, I don't know why, but exactly 2 networks are required. Anther virtual network can be anything.)
    4. Make virtual newtork as native on a eth1 port.
    5. Configure eth1 port in Ubuntu OS(remove from bond and setup static IP. example 192.168.33.1).
    6. Setup DHCP server on eth1(example pool: 192.168.33.2-192.168.33.127, mask 255.255.255.0 without gateway, we dont use gateway).
    7. Setup OpenVPN server on eth0, and give client IP's from pool (example: 192.168.33.127-192.168.33.245 mask 255.255.255.0).
    8. Make bridge between OpenVPN clients connections and eth1.

Step by step in Github Actions:

  1. Connect to a needed location via VPN.
  2. Create new server with ipxe boot in packet hosting.
    1. Disbond eth1 port from bond0.
    2. Assign eth1 port to virtual network.
    3. Assign eth1 port to another virtual network. (This is necessary in order to make the VLAN native, I don't know why, but exactly 2 networks are required. Another virtual network can be anything.)
    4. Make virtual newtork as native on a eth1 port.
  3. ./eden eve onboard
  • No labels