hitrov / oci-arm-host-capacity

This script allows to bypass Oracle Cloud Infrastructure 'Out of host capacity' error immediately when additional OCI capacity will appear in your Home Region / Availability domain.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

LimitExceeded but I didn't have any instance deployed.

akubima opened this issue · comments

commented

{ "code": "LimitExceeded", "message": "The following service limits were exceeded: standard-a1-memory-count, standard-a1-memory-regional-count, standard-a1-core-count, standard-a1-core-regional-count. Request a service limit increase from the service limits page in the console. " }

I received this response several times for the last 14 days. According to the docs provided by this repository that kind of response stated that I already have an instance but I didn't have any instance, undeleted boot volume, etc. and I also didn't see any new instance deployed after I received this kind of response when running this script.

Is this the script's vault or Oci's or me? Please help, I'm so confused.

Thanks.

commented

Yes I did checked it, all the free tier resources was not being used at all

image

here is my .env config
image

I don't think my account was limited, any idea why?

Thank you for your response.

Weird. Try creating from the console, and if error will be different (“normal” out of host capacity), send here copied curl request from the browser (without auth headers)

commented

Sure here it is.

curl 'https://iaas.ap-singapore-1.oraclecloud.com/20160918/instances/' \ -H 'Accept: */*' \ -H 'Connection: keep-alive' \ -H 'Content-Type: application/json' \ -H 'DNT: 1' \ -H 'Origin: https://cloud.oracle.com' \ -H 'Referer: https://cloud.oracle.com/' \ -H 'Sec-Fetch-Dest: empty' \ -H 'Sec-Fetch-Mode: cors' \ -H 'Sec-Fetch-Site: cross-site' \ -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36' \ -H 'accept-language: en' \ -H 'authorization: <removed> \ -H 'opc-request-id: <removed>' \ -H 'sec-ch-ua: "Google Chrome";v="119", "Chromium";v="119", "Not?A_Brand";v="24"' \ -H 'sec-ch-ua-mobile: ?0' \ -H 'sec-ch-ua-platform: "Windows"' \ -H 'x-content-sha256: <removed> \ -H 'x-date: Thu, 07 Dec 2023 12:50:08 GMT' \ --data-raw '{"metadata":{"ssh_authorized_keys":<removed>},"shape":"VM.Standard.A1.Flex","compartmentId":"ocid1.tenancy.oc1..aaaaaaaaypub72axxtqi323k2wuuihpuq6llaee6ne5x7jwg5qxgyhw3vp5q","displayName":"instance-20231207-1948","availabilityDomain":"fgcZ:AP-SINGAPORE-1-AD-1","sourceDetails":{"sourceType":"image","imageId":"ocid1.image.oc1.ap-singapore-1.aaaaaaaaodapmrmktgbfke35cbewiajm5nlzlfdplbirozptgaiu5reoavoq","bootVolumeSizeInGBs":100,"bootVolumeVpusPerGB":10},"isPvEncryptionInTransitEnabled":true,"createVnicDetails":{"assignPublicIp":true,"subnetId":"ocid1.subnet.oc1.ap-singapore-1.aaaaaaaaco6ll3qeqyegfqr4675m5uoa5nmcuegh7qmj3ctgzzo54vtanj2a","assignPrivateDnsRecord":true,"assignIpv6Ip":true,"ipv6AddressIpv6SubnetCidrPairDetails":[{"ipv6SubnetCidr":"2603:c024:450b:b400:0000:0000:0000:0000/64"}]},"agentConfig":{"pluginsConfig":[{"name":"Vulnerability Scanning","desiredState":"DISABLED"},{"name":"Compute RDMA GPU Monitoring","desiredState":"DISABLED"},{"name":"Compute Instance Monitoring","desiredState":"ENABLED"},{"name":"Compute HPC RDMA Auto-Configuration","desiredState":"DISABLED"},{"name":"Compute HPC RDMA Authentication","desiredState":"DISABLED"},{"name":"Block Volume Management","desiredState":"DISABLED"},{"name":"Bastion","desiredState":"DISABLED"}],"isMonitoringDisabled":false,"isManagementDisabled":false},"definedTags":{},"freeformTags":{},"instanceOptions":{"areLegacyImdsEndpointsDisabled":false},"availabilityConfig":{"recoveryAction":"RESTORE_INSTANCE"},"shapeConfig":{"ocpus":2,"memoryInGBs":12}}' \ --compressed

Edit: response was { "code" : "InternalError", "message" : "Out of host capacity." }

Can confirm I get the same error code.

I get both, I get 2 or 3 "Out of Capacity" in a row, then 1 or 2 "Limit Exceeded" in a row. i run mine every minute.

my guess it could be related to the number of API calls allowed for certain endpoint (create instance). everywhere I recommend to not run every minute, at least once per 3-5

OK, I will space it out to every 3 minutes and see if that helps. Thanks.

commented

Now my account is blocked 🙂. I run this script every 5mins.

weird, regret to hear that. did you have any AMD instances or other resources which could possibly violate their policy?
the worst thing is that Oracle REST API doesn't provide any rate limit (-remaining) headers to not even get into this situation. the best thing that I could I already did many months ago by implementing Add too many requests waiter - basically do nothing for the next ten minutes after Too Many Requests HTTP error code encountered

commented

Nope, just a VCN no instances, no volumes, no buckets, just a VCN. I've been using this script to get an instance since Feb 2022 and it worked several times and this script is very helpful until my account got blocked. I think OCI do something with their ends to detect requests that comes from this script and blocked them.

commented

Is there any way to sign up again to OCI, I tried to sign up but always got "Error processing transaction" after verifying my payment method (got charged) and submitted them. I have contacted their support and they just reply "Sorry we're unable to process... This is all the information we can provide".

That would be strange because official REST API is used, there are no any violations that I could think of

In fact you pointed in a way that maybe I’m gonna check official SDK implementation, maybe some more headers can be added to “pretend” as there’s no PHP one, I had to write auth on my own https://github.com/hitrov/oci-api-php-request-sign

commented

That would be strange because official REST API is used, there are no any violations that I could think of

Indeed, don't get me wrong but even their payment verification system is faulty and before my account got blocked I have tried to upgrade to Pay As You Go but I can't get through the US$100 hold because they said my card was denied. I contacted my bank they said nothing was wrong the international transaction was enabled and the card was not at its limit. The bank was right I can use the same card on Stripe and PayPal but not on OCI, tried several different cards issued from completely different banks still face the same issue, the cards was all denied.

my guess it could be related to the number of API calls allowed for certain endpoint (create instance). everywhere I recommend to not run every minute, at least once per 3-5

It was on me, I figured out shortly after my last comment that I had 2 crons running. Stopped one and spaced out to every 3 minutes and it has been fine since.

@peprmint1 you probably forgot to check "delete attached boot volume" when deleting a test server, and thus no longer have 200GB free capacity. That happened to me too. Delete everything here https://cloud.oracle.com/block-storage/boot-volumes and try again

commented

@divinity76 Nope, there are no boot volumes.

I have script, that run every minute on 2 machines (nowm after i read about banned accounts, i set to every 8 min on first machine and every 12 min on second machine). And i getting the same error every 20-90 minutes. 20-90 minutes i got every minute standart Out of host capacity. and once in this time i got The following service limits were exceeded: standard-a1-memory-count, standard-a1-memory-regional-count, standard-a1-core-count, standard-a1-core-regional-count. Request a service limit increase from the service limits page in the console. . All my limits are ok:
image
image
image

@vasmarfas running with the same api key on 2 different computers? Sounds like a dangerous game IMO.