{ "info": { "author": "Geert Jansen", "author_email": "geertj@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "License :: OSI Approved :: MIT License", "Operating System :: POSIX", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4" ], "description": "Ravstack - Run OpenStack on Ravello\n===================================\n\nRavstack is a toolkit that make it easy to run OpenStack on `Ravello Systems`_.\nIt focuses on OpenStack distributions that are installed by TripleO_ based\ninstallers, such as RDO-Manager_. Ravstack offers:\n\n* Ironic_ power control for Ravello.\n* Commands to create new \"virtual bare metal\" nodes and create an instack\n compatible ``instackenv.json`` file for them.\n* Commands to do certain post-install fixups requires because of the split\n inside/outside network offered by Ravello.\n\nInstallation\n------------\n\nThe recommended way is to download an already pre-configured undercloud VM from\nthe `Ravello Repo`_. The VM contains an installed RDO-Manager with pre-built\nbare metal images and has ravstack installed and configured.\n\nInstalling from the Ravello Repo\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nFirst step is to get the required images and create a new Ravello application:\n\n* Go to the `ManageIQ page`_ on the Ravello Repo.\n* Copy the VM named \"RDO Manager\" into your account.\n* Copy the ISO named \"ipxe.iso\" into your account.\n* Create a new application.\n* Add the RDO Manager VM to the application.\n* Give the VM a shorter, easier name (I suggest \"undercloud\").\n* Configure an SSH keypair for the VM.\n* Publish the application.\n\nOnce the VM is up and running, log on via SSH as the \"stack\" user. Note that\nthe undercloud VM is set up to use port mapping and so its ssh service will run\non a non-standard port somewhere in the range of 10000. The exact address and\nport number of the SSH service are available from Ravello web UI in the\n\"summary\" pane of the undercloud VM.\n\nOn the undercloud VM, edit the file ``/etc/ravstack/ravstack.conf``. Change the\n``[ravello]username`` and ``[ravello]password`` settings to match your Ravello\nusername and password. Ravstack needs access to your account so that it can\ncreate new nodes and perform power control operations.\n\nNow create the nodes and add them to Ironic. You can create as many nodes are\nyou want. The default networking range configured in RDO-Manager allows up to\n100 IPs for the nodes, and in addition 40 IPs for introspection (see below).\nThe example below creates 3 nodes::\n\n $ ravstack node-create -n 3\n Created 3 nodes: node1, node2, node3.\n $ ravstack node-dump\n Wrote 3 nodes to `~/instackenv.json`.\n Wrote 6 mac addresses to `/etc/ethers`.\n $ source ~/stackrc\n $ openstack baremetal import --json instackenv.json\n\nThe nodes should now be visible in Ironic (output abridged)::\n\n $ ironic node-list\n +--------------------------------------+-------------+-----------------+-------------+\n | UUID | Power State | Provision State | Maintenance |\n +--------------------------------------+-------------+-----------------+-------------+\n | cf30c3ba-7294-44cd-b835-664069289228 | power off | available | False |\n | e8f715b1-8c07-4361-8bb6-74dbe66dc134 | power off | available | False |\n | a12beebc-7e04-42e6-9f70-9fe9b585454f | power off | available | False |\n +--------------------------------------+-------------+-----------------+-------------+\n\nConfigure the boot order for the nodes and start introspection. The following\ncommands might issue a few warnings that nodes are locked. This is OK and\nexpected. The operation will retry automatically. Introspection should take\nless than 10 minutes to complete::\n\n $ openstack baremetal configure boot\n $ openstack baremetal introspection bulk start\n\nWe are now ready to deploy the overcloud. The following command may take up to\nan hour to complete::\n\n $ openstack overcloud deploy --plan overcloud --compute-scale 2\n\nAfter the installation is done, you should see the overcloud in a state of\n``CREATE_COMPLETE`` (output abridged)::\n\n $ heat stack-list\n +--------------------------------------+------------+-----------------+\n | id | stack_name | stack_status |\n +--------------------------------------+------------+-----------------+\n | 8e53c52f-8a02-4a7a-9ef8-4de530e37ff4 | overcloud | CREATE_COMPLETE |\n +--------------------------------------+------------+-----------------+\n\nA post install step is required. The VMs in a Ravello application are connected\nby an isolated network, and they communicate with the outside through one of\nthe available NAT options. The following command will set up the required port\nmappings and makes sure that Horizon and the VNC proxy have the correct\nconfiguration::\n\n $ ravstack fixup\n Fixed Ravello config for 3 nodes.\n Fixed OS config for 3 nodes.\n\nThat's it! You now have a working undercloud and overcloud.\n\n* To access the undercloud from the CLI, source the file ``~/stackrc`` on the\n undercloud VM, and use any of the available OpenStack commands.\n* To access the overcloud from the CLI, source the file ``~/overcloudrc`` on\n the undercloud VM, and use any of the available OpenStack commands.\n* To access the overcloud Horizon, go to the Ravello web UI, and open the\n \"http\" service on the \"overcloud-controller-1\" VM.\n\n**NOTE**: the following post-installation steps still remain to be done to make\nthe installation useful. These will be automated soon:\n\nCreate an image in Glance::\n\n $ glance image-create --name fedora --file fedora-user.qcow2 \\\n --disk-format qcow2 --container-format bare\n\nSetup overcloud networking. The following creates a simple provider network. It\nwill allow you to start up an instance, but not yet have it communicate to the\noutside world. TBD::\n\n $ neutron net-create nova --router:external\n $ neutron subnet-create --name nova --disable-dhcp \\\n --allocation-pool start=192.168.2.100,end=192.168.2.200 \\\n --gateway 192.168.2.1 nova 192.168.2.0/24\n\nEnable the undercloud Horizon for remote access. The image does not have the\nundercloud Horizon service exposed because it contains a pre-installed\nundercloud with fixed passwords. To enable this service, either we need to\nchange all password (can this be done easily?) or maybe more simply, install a\nunique random password at the Apache level.\n\nInstalling from Scratch\n~~~~~~~~~~~~~~~~~~~~~~~\n\nIf you want to RDO-Manager yourself then that is possible as well. You need to\nstart by installing a new CentOS VM in Ravello, and after that you need to\nfollowing the RDO-Manager `installation instructions`_. Also make sure you read\nthe `Ravello Notes`_ and `RDO-Manager Notes`_. Installation of ravstack\nitself::\n\n $ sudo pip3 install ravstack\n $ sudo ravstack config-create\n Created config file `/etc/ravstack/ravstack.conf`.\n $ sudo mkdir /var/log/ravstack\n $ sudo chown stack:stack /var/log/ravstack\n $ ravstack proxy-create\n Private key created as: `~/.ssh/id_ravstack`.\n Proxy created at: `~/bin/ironic-proxy`.\n\nNote that you need to have a working Python3 environment. Ravstack does not\nwork with Python 2.x. The easiest is to use the ``python34`` package from\nEPEL_.\n\nOnce you've installed ravstack, follow the instructions for installing from the\nRavello Repo above.\n\nDocumentation\n-------------\n\nIn addition to this README, the following documents exist:\n\n* `Ravello Notes`_ - Some notes on working with Ravello.\n* `RDO-Manager Notes`_ - Some notes on working with RDO Manager.\n\nComments\n--------\n\nFeel free to report issues on Github or mail me at geertj@gmail.com.\n\n.. _Ravello Systems: http://www.ravellosystems.com/\n.. _TripleO: https://wiki.openstack.org/wiki/TripleO\n.. _RDO-Manager: https://www.rdoproject.org/RDO-Manager\n.. _Ironic: https://wiki.openstack.org/wiki/Ironic\n.. _installation instructions: https://repos.fedorapeople.org/repos/openstack-m/docs/master/\n.. _EPEL: https://fedoraproject.org/wiki/EPEL\n.. _Ravello Repo: https://www.ravellosystems.com/repo/profile/public/manageiq\n.. _ManageIQ Page: https://www.ravellosystems.com/repo/profile/public/manageiq\n.. _Ravello Notes: https://github.com/geertj/ravstack/blob/master/docs/ravello.rst\n.. _RDO-Manager Notes: https://github.com/geertj/ravstack/blob/master/docs/rdomanager.rst\n", "description_content_type": null, "docs_url": null, "download_url": null, "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/geertj/ravstack", "keywords": null, "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "ravstack", "package_url": "https://pypi.org/project/ravstack/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/ravstack/", "project_urls": { "Homepage": "https://github.com/geertj/ravstack" }, "release_url": "https://pypi.org/project/ravstack/1.1/", "requires_dist": null, "requires_python": null, "summary": "Run OpenStack and oVirt on Ravello Systems.", "version": "1.1" }, "last_serial": 1788716, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "cbe2550ee0b6ccfdd6590fd0a7db8f23", "sha256": "8db33571ea1799a79e91b79274cb0d54aa551cbd51c96507ec1e65e4ebb2f69c" }, "downloads": -1, "filename": "ravstack-1.0.0.tar.gz", "has_sig": false, "md5_digest": "cbe2550ee0b6ccfdd6590fd0a7db8f23", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23266, "upload_time": "2015-07-27T17:21:30", "url": "https://files.pythonhosted.org/packages/d0/bd/1b7ebbd9ab676202cb9d5fff42db7fdc26023e6d2965f12590728cd1a9c3/ravstack-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "87250f53a64b764c3b4e203c1e7f1a13", "sha256": "45563e0dc24f7aa1e4309639ee7b96fe74b216f7dc1aafce6aeaa7232f8e4fdf" }, "downloads": -1, "filename": "ravstack-1.0.1.tar.gz", "has_sig": false, "md5_digest": "87250f53a64b764c3b4e203c1e7f1a13", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28954, "upload_time": "2015-07-28T13:47:10", "url": "https://files.pythonhosted.org/packages/5c/08/fd7e9fb9e05656e3f9031fe641ebfac45895e402212f907f401d6a039aca/ravstack-1.0.1.tar.gz" } ], "1.0.2": [], "1.0.3": [ { "comment_text": "", "digests": { "md5": "144624882460b94aff42be914e026db9", "sha256": "1627626b690b5caaa6d8a4e7d92faed408242f01f813f7f91a794b2e6a07e55b" }, "downloads": -1, "filename": "ravstack-1.0.3.tar.gz", "has_sig": false, "md5_digest": "144624882460b94aff42be914e026db9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34493, "upload_time": "2015-09-19T19:49:51", "url": "https://files.pythonhosted.org/packages/e7/82/454ef2728a29a969314e182b5841a8a63c40043454af840e324f3a664d1b/ravstack-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "029f9926540a54e72ecc5e2774ca62f5", "sha256": "940427923e326f16f130dfddf1d8d17be0c94bc9a0812dd2ecdc68d6154ae20d" }, "downloads": -1, "filename": "ravstack-1.0.4.tar.gz", "has_sig": false, "md5_digest": "029f9926540a54e72ecc5e2774ca62f5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34417, "upload_time": "2015-09-19T19:59:18", "url": "https://files.pythonhosted.org/packages/3b/15/3a35060f195935931eebba8dfc4f04d8cfd937ed9a49bc80bb668a8e4d4c/ravstack-1.0.4.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "d5f369f5aca4321fe23ed9ad3ed3dea2", "sha256": "afe2bbb8233a0b4948ff5f3b1dfdfb1398f06f51e74943f7b4c6fb92466f2fbb" }, "downloads": -1, "filename": "ravstack-1.1.tar.gz", "has_sig": false, "md5_digest": "d5f369f5aca4321fe23ed9ad3ed3dea2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35987, "upload_time": "2015-10-27T17:10:32", "url": "https://files.pythonhosted.org/packages/51/46/e339490469e8ef648a9f71dd64f900d250bd421db6dfb30ab164ce4ef391/ravstack-1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d5f369f5aca4321fe23ed9ad3ed3dea2", "sha256": "afe2bbb8233a0b4948ff5f3b1dfdfb1398f06f51e74943f7b4c6fb92466f2fbb" }, "downloads": -1, "filename": "ravstack-1.1.tar.gz", "has_sig": false, "md5_digest": "d5f369f5aca4321fe23ed9ad3ed3dea2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35987, "upload_time": "2015-10-27T17:10:32", "url": "https://files.pythonhosted.org/packages/51/46/e339490469e8ef648a9f71dd64f900d250bd421db6dfb30ab164ce4ef391/ravstack-1.1.tar.gz" } ] }