fabric-testbed / fabfed

FABRIC Tool-based Federation Kit for a Testbed of Testbeds
MIT License
3 stars 0 forks source link

Allow fabric stitched network to be the middle man for nodes across other providers. #139

Closed abessiari closed 3 months ago

abessiari commented 4 months ago

Use Case: Chameleon nodes communicating with Cloudlab nodes via fabric L2STS stitched network.

Old Way Of Stitching Will Still Be Supported. The config sample below is here for convenience. So that we can compare it with the new config files that support multiple stitch networks.

resource:
  - network:
      - cnet:
          provider: '{{cloudlab.cloudlab_provider }}'
          layer3: "{{ layer3.my_layer }}"
      - fabric_network:
          provider: '{{ fabric.fabric_provider }}'
          layer3: "{{ layer3.my_layer }}"
          stitch_with: '{{ network.cnet }}'
abessiari commented 4 months ago

Sample config. stitch_with supports more than network.

resource:
  - network:
      - cnet:
          provider: '{{cloudlab.cloudlab_provider }}'
          layer3: "{{ layer3.my_layer }}"
      - fabric_network:
          provider: '{{ fabric.fabric_provider }}'
          layer3: "{{ layer3.my_layer }}"
          stitch_with:
          - network: '{{ network.cnet }}'
            stitch_option:
                device_name: CloudLab-Clemson
          - network: '{{ network.chi_network }}'
            stitch_option:
                site: '{{ var.site }}'
      - chi_network:
          provider: '{{ chi.chi_provider }}'
          name: stitch_net
          layer3: "{{ layer3.my_layer }}"
abessiari commented 4 months ago

Sample config that is also supported.

resource:
  - network:
      - cnet:
          provider: '{{cloudlab.cloudlab_provider }}'
          layer3: "{{ layer3.my_layer }}"
          stitch_with:
          - network: '{{ network.fabric_network }}'
            stitch_option:
                device_name: CloudLab-Clemson
      - fabric_network:
          provider: '{{ fabric.fabric_provider }}'
          layer3: "{{ layer3.my_layer }}"
          stitch_with:
          - network: '{{ network.chi_network }}'
            stitch_option:
                site: '{{ var.site }}'

      - chi_network:
          provider: '{{ chi.chi_provider }}'
          name: stitch_net
          layer3: "{{ layer3.my_layer }}"
abessiari commented 4 months ago

Work in progress.

abessiari commented 4 months ago

Phase 2 is Done. Verified that dataplane works between cloudlab nodes and fabric nodes. Now phase 3 begins. Test and Make sure old fabfed config files still work.

abessiari commented 3 months ago

Done