Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Handle aws to gcp stitching via fabric #143

Open
abessiari opened this issue Aug 21, 2024 · 5 comments
Open

Handle aws to gcp stitching via fabric #143

abessiari opened this issue Aug 21, 2024 · 5 comments
Assignees

Comments

@abessiari
Copy link
Contributor

abessiari commented Aug 21, 2024

Note: Requires fablib extenstions 1.7.3

  • using native providers
  • stretch goal using sense
@abessiari abessiari self-assigned this Aug 21, 2024
@abessiari
Copy link
Contributor Author

Initial support has been checked in
Requires fablib extenstions 1.7.3
More testing in progress is needed to make sure other examples work.

@abessiari
Copy link
Contributor Author

abessiari commented Aug 22, 2024

On fabric side a single l3vpn is created with both the gcp and aws facility ports.

'sliver': {'Labels': '{"local_name": "aes-native-aws-gcp-XXXXXXXXXX"}',
            'Layer': 'L3',
            'Name': 'aes-native-aws-gcp-fabric_network-0',
            'StitchNode': 'false',
            'Technology': 'AL2S',
            'Type': 'L3VPN',
            'interfaces': [{'Capacities': '{"bw": 50, "mtu": 1460}',
                            'Labels': '{"device_name": "agg4.ashb", '
                                      '"ipv4_subnet": "192.168.1.1/30", '
                                      '"local_name": "Bundle-Ether5"}',
                            'Name': 'Cloud-Facility-GCP-Cloud-Facility-GCP-int',
                            'NodeMap': '["Facility", "GCP,Cloud-Facility-GCP"]',
                            'PeerLabels': '{"account_id": '
                                          '"ee15249e-XXXXXXXXXXXXXX/us-east4/any", '
                                          '"asn": "16550", "bgp_key": '
                                          '"YYYYYYYYYYYYYYY", '
                                          '"ipv4_subnet": "192.168.1.2/30", '
                                          '"local_name": "Google Cloud '
                                          'Platform"}',
                            'StitchNode': 'false',
                            'Type': 'ServicePort'},
                           {'Capacities': '{"bw": 50, "mtu": 9001}',
                            'Labels': '{"device_name": "agg3.ashb", '
                                      '"ipv4_subnet": "192.168.1.1/30", '
                                      '"local_name": "TenGigE0/0/0/11/3"}',
                            'Name': 'Cloud-Facility-AWS-Cloud-Facility-AWS-int',
                            'NodeMap': '["Facility", "AWS,Cloud-Facility-AWS"]',
                            'PeerLabels': '{"account_id": "XXXXXXXXXX", '
                                          '"asn": "64512", "bgp_key": '
                                          '"YYYYYYYYYYYYYYYYYYY", '
                                          '"ipv4_subnet": "192.168.1.2/30", '
                                          '"local_name": "AWS", "region": '
                                          '"us-east-1"}',
                            'StitchNode': 'false',
                            'Type': 'ServicePort'}]},
 'sliver_id': '2d8ba2e7-d115-4969-a19a-6524c64e75cb',
 'sliver_type': 'NetworkServiceSliver',

@abessiari
Copy link
Contributor Author

The config file is under examples/demos

resource:
  - network:
      - gcp_net:
          provider: '{{ gcp.gcp_provider }}'
          name: gcp-net
          layer3: "{{ layer3.gcp_layer }}"
          peering: "{{ peering.gcp_peering }}"

      - fabric_network:
          provider: '{{ fabric.fabric_provider }}'
          peering: [ "{{ peering.gcp_peering }}", "{{ peering.aws_peering }}" ]
          count: 1
          stitch_with:
          - network: '{{ network.gcp_net }}'
            stitch_option:
                group_name: GCP
          - network: '{{ network.aws_net }}'
            stitch_option:
                device_name: agg3.ashb

      - aws_net:
          provider: '{{ aws.aws_provider }}'
          layer3: "{{ layer3.aws_layer }}"
          peering: "{{ peering.aws_peering }}"
                                              

@abessiari
Copy link
Contributor Author

Seeing issues with fablib 1.7.3 dx connection is named using the gcp pairing key. 1.6.4 is fine.
Looks like we need some changes in Fabric Control Framework (sliver.localname) and possibly in
AM handler ...

@abessiari
Copy link
Contributor Author

Tested after Komal's change in CF sliver.localname=slicename

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant