{ "info": { "author": "floppino", "author_email": "martina.clem@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: GNU General Public License (GPL)", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# Heat Template Validator\n![N|Solid](https://inizanhugo.files.wordpress.com/2018/11/heat.png?w=200)\n\nHeat Template Validator (HTV) is a tool created to validate *Heat templates* (yaml files) and check the parameters' existence in the Openstack server. \n\n### What does it do?\nThe main script *htv* will analyze every single file from the dir */htv/TemplateLocalStorage*. \nIt moves the valid files into the dir */htv/ValidHeatFiles*.\nIt moves the warning files into the dir */htv/WarnHeatFiles*. \nIt moves the error files into the dir */htv/ErrorHeatFiles* and for each file of the error and warn groups it creates a log and then it moves all log files into the dir */htv/Log*. \nAt the very beginning of the installation HTV will also create crontab lines inside the */htv/list_cron.txt* file.\n### Installation\nHTV requires [python>=3.5] and pip in order to run.\nOpen the terminal and download the application through *pip*:\n```sh\n$ pip install htv\n```\nThen install and configure the package via *htv -i* or *htv --install*:\n```sh\n$ htv -i\n```\nThis command will create the *htv* into your home directory with the relative subdirectories (Log, TemplateLocalStorage and so on).\nThere are few simple steps to follow in order to correctly use HTV:\n - Move the Heat files into the *./TemplateLocalStorage* dir\n - Move the open.rc files into the *./rc_files* dir\nAfter this transfer execute *htv -s* or *htv --shadow*:\n```sh\n$ htv -s\n```\nThen the application will prompt you the Openstack server password.\nRemember to enter this command only once: during the HTV installation, or everytime you need to change the Openstack passwords or *openrc.hs* files.\nThe *htv -s* command will also generate a list of crontabs in the *list_cron.txt* file that you can use in your system crontab file depending on which *openrc.sh* file is needed.\n### Usage\nYou can choose to run the application using the crontabs created in *list_cron.txt*.\nOr to run it no-interactively via *htv*:\n```sh\n$ htv\n```\nOr in the interactive mode where the application will ask for which openrc file to use for the Openstack authentication:\n```sh\n$ htv /Path/To/The/Openrc/File.sh\n```\nAfter this you are ready to go, the Heat templates will be moved accordingly with their warnings or errors and logs will be created and moved to the */htv//Log* dir.\n### Remember\nWhenever you want to use *htv* you first need to move the yaml files to the */htv/TemplateLocalStorage* dir.\n### In case the application directory changes\nIn case you move the HeatTemplateValidator directory to a different path it is necessary to do as follows:\n```sh\n$ htv -i\n$ htv -s\n```\nThis is a requirement in order to generate the new crontabs and having the whole application working.\n### Notes\nThis application fully functions on Ubuntu and MacOS with *python3*, *pip* and *python-dev* installed.\nAll advice welcome!\n\n\n [python>=3.5]: \n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/ko2-srls/HeatTemplateValidator", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "htv", "package_url": "https://pypi.org/project/htv/", "platform": "", "project_url": "https://pypi.org/project/htv/", "project_urls": { "Homepage": "https://github.com/ko2-srls/HeatTemplateValidator" }, "release_url": "https://pypi.org/project/htv/0.1.9/", "requires_dist": [ "yamllint", "cryptography", "PyYAML (==5.1)", "keystoneauth1 (==3.14.0)", "openstacksdk (==0.26.0)", "python-cinderclient (==4.2.0)", "python-glanceclient (==2.16.0)", "python-heatclient (==1.17.0)", "python-keystoneclient (==3.19.0)", "python-neutronclient (==6.12.0)", "python-novaclient (==14.0.0)", "python-openstackclient (==3.18.0)", "python-swiftclient (==3.7.0)" ], "requires_python": "", "summary": "A Heat Teamplate Validator", "version": "0.1.9" }, "last_serial": 5395443, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "4ace9e823e704fb5e3e46e6398fea9ad", "sha256": "d7b5991779e08ec56dbba87ec3020a8c3abb2edc38f6ae37867525ae2c559aff" }, "downloads": -1, "filename": "htv-0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "4ace9e823e704fb5e3e46e6398fea9ad", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 2543, "upload_time": "2019-06-07T17:04:47", "url": "https://files.pythonhosted.org/packages/22/99/657d21fa620d56509a9765b0e37164d6387f7bef628cb218b41e747b4d8b/htv-0.1-py3-none-any.whl" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "94526cd646e19c8f3e762d351f64a700", "sha256": "254adfbae8b0c29c29a1da4944f38f0ec71023cadfea52a2575288ca510d6ae5" }, "downloads": -1, "filename": "htv-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "94526cd646e19c8f3e762d351f64a700", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 2817, "upload_time": "2019-06-07T21:22:28", "url": "https://files.pythonhosted.org/packages/8c/dc/fd9bb0c5e697a70bbd1d5ff0d1c6ce826caad21f68ee192f72c60f94db71/htv-0.1.1-py3-none-any.whl" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "7e7e8b02d06dc878143e3ad779d52da9", "sha256": "9248888e42135deae7f2f16ddf23cb4c3a9d9b6f542bfeccfbfda1e8352db21f" }, "downloads": -1, "filename": "htv-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "7e7e8b02d06dc878143e3ad779d52da9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 2861, "upload_time": "2019-06-08T09:50:16", "url": "https://files.pythonhosted.org/packages/86/3e/3b86fbd74393ca113469b819cf693f633cecad472a39405364a93d64a446/htv-0.1.2-py3-none-any.whl" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "bc242703d6a4726ece9b14867aa9e5e5", "sha256": "a811c4d7c8824febd46324ebe6c64917632168f143fa36441256625ac7b42e5f" }, "downloads": -1, "filename": "htv-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "bc242703d6a4726ece9b14867aa9e5e5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 25382, "upload_time": "2019-06-09T09:22:01", "url": "https://files.pythonhosted.org/packages/ab/ad/28eeb3ff60f5bd9a44c93146821695c9afb3d36ee56e821864510f9a4604/htv-0.1.3-py3-none-any.whl" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "897da10dc8022bd445424a862130e181", "sha256": "efe49d5ed147b67bd01e59fb1c9e8fb984d28dac3204d6cd72f23b5972129a70" }, "downloads": -1, "filename": "htv-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "897da10dc8022bd445424a862130e181", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 25415, "upload_time": "2019-06-09T13:19:47", "url": "https://files.pythonhosted.org/packages/a8/db/15979aba1ef249d9b1aa3ac4c373427ddececad1fa1be163d19ba745b89d/htv-0.1.4-py3-none-any.whl" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "2f9f6e23c2e84e80aefd395a918ee834", "sha256": "8591bbc5781c5d65d44ba2c17b73f0c9b1caf4bef0a4b16d36965b31a2df00d9" }, "downloads": -1, "filename": "htv-0.1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "2f9f6e23c2e84e80aefd395a918ee834", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 32282, "upload_time": "2019-06-10T21:46:58", "url": "https://files.pythonhosted.org/packages/3d/42/53bacf60f9123858f6cfa26fb5484363a2e5b89880ac201caf05c152beca/htv-0.1.6-py3-none-any.whl" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "0cecc75b1450ba888532e3f9c1d927c4", "sha256": "7be88d56e426a502a10ba586fb7d130f25a132a8c4158631e5e6d56e07ff7fd7" }, "downloads": -1, "filename": "htv-0.1.7-py3-none-any.whl", "has_sig": false, "md5_digest": "0cecc75b1450ba888532e3f9c1d927c4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 31000, "upload_time": "2019-06-11T15:21:24", "url": "https://files.pythonhosted.org/packages/17/fa/a1755e9c66856f7a80d4a0c5b21388345ab5b00ce196a71942fd20823d3c/htv-0.1.7-py3-none-any.whl" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "ceb18df58b7db2c1b83079be197490b3", "sha256": "fa49fe0d13428071490132a7e271231ffabf7f149717b1280c0f0597aef55218" }, "downloads": -1, "filename": "htv-0.1.8-py3-none-any.whl", "has_sig": false, "md5_digest": "ceb18df58b7db2c1b83079be197490b3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 31107, "upload_time": "2019-06-12T16:55:43", "url": "https://files.pythonhosted.org/packages/54/d8/ac4d6936c6f92f8e6538a322619fcc07bde6998181fe7ef10852323de980/htv-0.1.8-py3-none-any.whl" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "4e1c3c4e5e158e835df2400f83be63c8", "sha256": "0106419a127c329448c6f757ea40737935c621e178eb222b63893776d8bd9e57" }, "downloads": -1, "filename": "htv-0.1.9-py3-none-any.whl", "has_sig": false, "md5_digest": "4e1c3c4e5e158e835df2400f83be63c8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 32038, "upload_time": "2019-06-13T10:57:59", "url": "https://files.pythonhosted.org/packages/1a/95/3d52396ba515f29d6fab57a5b7a5dfa11e0a498dec8148a8bd645c729151/htv-0.1.9-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4e1c3c4e5e158e835df2400f83be63c8", "sha256": "0106419a127c329448c6f757ea40737935c621e178eb222b63893776d8bd9e57" }, "downloads": -1, "filename": "htv-0.1.9-py3-none-any.whl", "has_sig": false, "md5_digest": "4e1c3c4e5e158e835df2400f83be63c8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 32038, "upload_time": "2019-06-13T10:57:59", "url": "https://files.pythonhosted.org/packages/1a/95/3d52396ba515f29d6fab57a5b7a5dfa11e0a498dec8148a8bd645c729151/htv-0.1.9-py3-none-any.whl" } ] }