amazon-ec2-instance-selector icon indicating copy to clipboard operation
amazon-ec2-instance-selector copied to clipboard

Ability to filter Ipv4 per ENIs

Open ghost opened this issue 3 years ago • 2 comments
trafficstars

When we want to calculate the max pods in the EKS case of an instance type we need to know both the number of ENIs and the number of Ip per ENIs.

Actually we need to do the check manually in order not to have problems in the EKS clusters.

ghost avatar Jul 15 '22 12:07 ghost

Good feature request! We can definitely get this into ec2-instance-selector:

For reference: (.NetworkInfo.Ipv4AddressesPerInterface and .NetworkInfo.Ipv6AddressesPerInterface)

    {
        "AutoRecoverySupported": true,
        "BareMetal": false,
        "BurstablePerformanceSupported": false,
        "CurrentGeneration": true,
        "DedicatedHostsSupported": true,
        "EbsInfo": {
            "EbsOptimizedInfo": {
                "BaselineBandwidthInMbps": 650,
                "BaselineIops": 3600,
                "BaselineThroughputInMBps": 81.25,
                "MaximumBandwidthInMbps": 4750,
                "MaximumIops": 18750,
                "MaximumThroughputInMBps": 593.75
            },
            "EbsOptimizedSupport": "default",
            "EncryptionSupport": "supported",
            "NvmeSupport": "required"
        },
        "FpgaInfo": null,
        "FreeTierEligible": false,
        "GpuInfo": null,
        "HibernationSupported": true,
        "Hypervisor": "nitro",
        "InferenceAcceleratorInfo": null,
        "InstanceStorageInfo": null,
        "InstanceStorageSupported": false,
        "InstanceType": "m5.large",
        "MemoryInfo": {
            "SizeInMiB": 8192
        },
        "NetworkInfo": {
            "DefaultNetworkCardIndex": 0,
            "EfaInfo": null,
            "EfaSupported": false,
            "EnaSupport": "required",
            "EncryptionInTransitSupported": false,
            "Ipv4AddressesPerInterface": 10,
            "Ipv6AddressesPerInterface": 10,
            "Ipv6Supported": true,
            "MaximumNetworkCards": 1,
            "MaximumNetworkInterfaces": 3,
            "NetworkCards": [
                {
                    "MaximumNetworkInterfaces": 3,
                    "NetworkCardIndex": 0,
                    "NetworkPerformance": "Up to 10 Gigabit"
                }
            ],
            "NetworkPerformance": "Up to 10 Gigabit"
        },
        "PlacementGroupInfo": {
            "SupportedStrategies": [
                "cluster",
                "partition",
                "spread"
            ]
        },
        "ProcessorInfo": {
            "SupportedArchitectures": [
                "x86_64"
            ],
            "SustainedClockSpeedInGhz": 3.1
        },
        "SupportedBootModes": [
            "legacy-bios",
            "uefi"
        ],
        "SupportedRootDeviceTypes": [
            "ebs"
        ],
        "SupportedUsageClasses": [
            "on-demand",
            "spot"
        ],
        "SupportedVirtualizationTypes": [
            "hvm"
        ],
        "VCpuInfo": {
            "DefaultCores": 1,
            "DefaultThreadsPerCore": 2,
            "DefaultVCpus": 2,
            "ValidCores": [
                1
            ],
            "ValidThreadsPerCore": [
                1,
                2
            ]
        },
        "OndemandPricePerHour": 0.096,
        "SpotPrice": 0.02064770118269803
    }

bwagner5 avatar Jul 20 '22 19:07 bwagner5

Hey @bwagner5 I'd like to take a stab at it. I've gone through the relevant code, and I have a fair idea about the implementation. However, I'll need some pointers for writing test cases.

Thanks.

hassaanakram avatar Jun 06 '23 19:06 hassaanakram