azure-pricer's People
Forkers
mooncowboy ngocngv harryangstrom albandrod pearlus yckwan lucianodgs jniguidula devopstoday11 jasond2014 zavab erpellet raffiloch atpatat balamurugesan johnstel hkarthik7 rafiinamdar-ops 0-1-2-3-4 pvermaak okoestner quintindk szenatti rhadi2005 umeshburawissen oncloudtrainingazure-pricer's Issues
P20 disks - SA Regions wrong cost
Picket up that the P20 disks for the two South African regions were not correct in the spreadsheet. About 10 times lower than the actual costs. All the other ones and standard disks are fine.
ssl.SSLEOFError: EOF occurred in violation of protocol (_ssl.c:1131)
I get the following error when trying to run:
python3 xls_generator.py Azure-Quote-Tool-$(date +%d%m%y).xlsx
Traceback (most recent call last):
File "/usr/lib/python3.8/urllib/request.py", line 1354, in do_open
h.request(req.get_method(), req.selector, req.data, headers,
File "/usr/lib/python3.8/http/client.py", line 1252, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/usr/lib/python3.8/http/client.py", line 1298, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "/usr/lib/python3.8/http/client.py", line 1247, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "/usr/lib/python3.8/http/client.py", line 1007, in _send_output
self.send(msg)
File "/usr/lib/python3.8/http/client.py", line 947, in send
self.connect()
File "/usr/lib/python3.8/http/client.py", line 1421, in connect
self.sock = self._context.wrap_socket(self.sock,
File "/usr/lib/python3.8/ssl.py", line 500, in wrap_socket
return self.sslsocket_class._create(
File "/usr/lib/python3.8/ssl.py", line 1040, in _create
self.do_handshake()
File "/usr/lib/python3.8/ssl.py", line 1309, in do_handshake
self._sslobj.do_handshake()
ssl.SSLEOFError: EOF occurred in violation of protocol (_ssl.c:1131)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "xls_generator.py", line 68, in
computePriceMatrix = priceReaderCompute.getPriceMatrix(regions)
File "/mnt/c/Users/leon/Github/azure-pricer/priceReaderCompute.py", line 68, in getPriceMatrix
with urllib.request.urlopen(res_inst_3year_vm_price_public_api_url) as url:
File "/usr/lib/python3.8/urllib/request.py", line 222, in urlopen
return opener.open(url, data, timeout)
File "/usr/lib/python3.8/urllib/request.py", line 525, in open
response = self._open(req, data)
File "/usr/lib/python3.8/urllib/request.py", line 542, in _open
result = self._call_chain(self.handle_open, protocol, protocol +
File "/usr/lib/python3.8/urllib/request.py", line 502, in _call_chain
result = func(*args)
File "/usr/lib/python3.8/urllib/request.py", line 1397, in https_open
return self.do_open(http.client.HTTPSConnection, req,
File "/usr/lib/python3.8/urllib/request.py", line 1357, in do_open
raise URLError(err)
urllib.error.URLError: <urlopen error EOF occurred in violation of protocol (_ssl.c:1131)>
SyntaxError: invalid syntax
Hi,
Running on Ubuntu. Getting this error when generating new file. Please assist? (Great tool!)
Traceback (most recent call last):
File "xls_generator.py", line 8, in
from xlsStructure import xlsStructure as xls
File "/azure-pricer-master/xlsStructure.py", line 68
'validationList' : '=$' + alphabet[regionListColumn] + '$1:$' + alphabet[regionListColumn] + '$36'
^
SyntaxError: invalid syntax
aux folder
Hi Sergio!
Is it possible to change "aux" folder name? You cannot clone this repo in Windows 10 because you cannot put "aux" as directory name.
Error image file while creating XLSX file
/home/ricard/.local/lib/python3.6/site-packages/xlsxwriter/worksheet.py:1057: UserWarning: Image file '/home/sergio/test/azure-pricer/media/slide.jpg' not found.
warn("Image file '%s' not found." % force_unicode(filename))
Parece que esta hardcodeado la posición del slide.jpg
Error menor
[Question] Need some reference / documentation to the azure api
Hi,
thanks for making this awesome pricing tool, I'm interested in this and trying to write a mini pricing tool myself. I've been reading the source for a while and realized that it uses an un-authenticated REST api call to the bellow url.
https://azure.microsoft.com/api/v2/pricing/
However I cannot find any documentation on how to use this api. can you provide some links and references. It'll help me a lot.
Premium Storage calculation seems wrong
Hey Seryio,
First of all, love the tool! Calculating currently 3000 VM's, such a help, many thanks!
By reviewing the calculation I got the impression that premium storage calculations seemed bit low, after a closer look in the code resp. pricing API I think I found an error:
When searching for p-disk prices python script randomly caught mount prices (premiumssd-p20-disk-mount) for shared disks which are very low. (around 4$)
I fixed the code locally by filtering "and not 'disk-mount' in diskName" in the priceReaderManagedDisk.py file:
regionSizes = {region + "-" + str(data['size']) : {'price':data['prices'][region]['value'], 'name':diskName.upper().split("-")[1], 'region':region, 'size':data['size']} for (diskName,data) in dataBasePrice['offers'].items() if keyWord in diskName and region in data['prices'] and not 'disk-mount' in diskName}
Hope that helps, thanks again for the great tool!
Regards,
Philippe
Incorrect Pricing on Virtual Machines
Looking at the output of a sample machine windows-e32sv4 pricing differs from the calculator or the API Call
On-Demand:
CPUs | Mem(GB) | Price/Hour | SAP | GPU | Burstable | Region | License | SSD | VM SIZE NAME |
---|---|---|---|---|---|---|---|---|---|
32 | 256 | 2.9414304 | NO | NO | NO | us-north-central | windows | YES | windows-e32sv4 |
32 | 256 | 1.7000928 | NO | NO | NO | us-north-central | linux | YES | linux-e32sv4 |
However the Calculator and the API list price of 3.488 for windows and 2.016 for Linux.
https://prices.azure.com/api/retail/prices?$filter=serviceName eq 'Virtual Machines' and skuName eq 'E32 v4' and armRegionName eq 'northcentralus'
Here is a link to the calculator
https://azure.com/e/a3c5e9482ce54858a0c3425e5a7d4bfb
Problem with disk
I dont see after filing with own data any other drive planes. Only Standard S4 column wher is HDD (E plans)? Why i dont see for example S10 or S20 in column?
SAP Supported VMs
The list of SAP Supported VMs are incomplete which does not provide an optional selection.
Below is the latest list of Production supported VMs for SAP (SAP Note 1928533 - SAP Applications on Azure: Supported Products and Azure VM types
Suggested change:
priceReaderCompute.py:
sapVMs=['a5','a6','a7','a8','a10','a9','a11','d11','d12','d13','d14','ds11','ds12','ds13','ds14','ds11v2','ds12v2','ds13v2','ds14v2','ds15v2','d2sv3','d4sv3','d8sv3','d16sv3','d32sv3','d48sv3','d64sv3','e2asv4','e4asv4','e8asv4','e16asv4','e20asv4','e32asv4','e48asv4','e64asv4','e96asv4','d2asv4','d4asv4','d8asv4','d16asv4','d32asv4','d48asv4','d64asv4','d96asv4','e2sv3','e4sv3','e8-4sv3','e8sv3','e16sv3','e20sv3','e32sv3','e48sv3','e64isv3','e64sv3','d2dsv4','d4dsv4','d8dsv4','d16dsv4','d32dsv4','d48dsv4','d64dsv4','e2dsv4','e4dsv4','e8dsv4','e16dsv4','e20dsv4','e32dsv4','e48dsv4','e64dsv4','gs1','gs2','gs3','gs4','gs5','m8ms','m16ms','m32ts','m32ls','m32ms','m64ls','m64s','m64ms','m128s','m128ms','m208sv2','m208msv2 ','m416sv2','m416msv2','m32msv2','m64sv2','m64msv2','m128sv2','m128msv2','m192isv2','m192imsv2','m32dmsv2','m64dsv2','m64dmsv2','m128dsv2','m128dmsv2','m192idsv2','m192idmsv2']
Excel 2013 compatibility
As an improvement: if you want to be compatible with Excel 2013 you should avoid using the MINIFS function ;-)
Storage over 4TB not calculated
No disks are calculate/assigned for Data Storage(GB) over 4TB
Empty columns in Excel
Hi, the customer-vm-list tab in excel is practically empty. I have tried to change the xls_generator.py, but I guess there is some other issue that I'm not able to figure out.
Azure-Quote-Tool-20201217.xlsx
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.