Jump to: navigation, search

Solum/Packaging

Packaging Solum

Solum is not currently packaged with any linux distributions. However this should not stop you from packaging and deploying it yourself.

Packaging with Giftwrap

Giftwrap is a new project designed to package Openstack projects.

It is designed to run on the OS that you want to build the package for and works by creating a virtualenv of the selected packages and then creating a package in the current platform's packaging format in your current working directory. This package can then be installed on any system of the same platform.

Giftwrap also tries to figure out the best set of python dependencies to use by querying gerrit for the dependencies it was built with at the time.

Install Giftwrap

Giftwrap is not yet up on Pypi, so we need to clone its repo to install. if you are on OSX or Windows you may want to use the Vagrantfile included in the repo.

   $ git clone https://github.com/cloudcadre/giftwrap.git
   $ pip install ./giftwrap

Create Manifest

We need to create a manifest file '/tmp/solum/manifest.yml'. This example uses the most recent releases ( at the time of writing ). You can change the gitref to any valid git reference ( branch, release, or commit ):


   ---
   settings:
     package_name_format: 'giftwrap-openstack-{{project.name}}'
     version: '2014.2.1'
     base_path: '/opt/openstack'
   
   projects:
     - name: solum
       gitref: 2014.2.1
       stackforge: true
     - name: python-solumclient
       gitref: 1.2.1
       stackforge: true


Create Packages

   $ cd /tmp/solum
   $ giftwrap  build -m /tmp/solum/manifest.yml
   2014-08-30 20:44:34 INFO: Beginning to build 'solum'
   2014-08-30 20:44:34 INFO: Fetching source code for 'solum'
   2014-08-30 20:44:37 INFO: Creating the virtualenv for 'solum'
   2014-08-30 20:44:37 INFO: Running: 'virtualenv .venv'
   2014-08-30 20:44:38 INFO: Installing 'solum' pip dependencies to the virtualenv
   2014-08-30 20:44:39 INFO: Running: '.venv/bin/pip install --extra-index http://pypi.openstack.org/openstack/ Babel==1.3 Jinja2==2.7.3 Mako==1.0.0 MarkupSafe==0.23 PyYAML==3.11 Pygments==1.6 SQLAlchemy==0.9.7 Sphinx==1.2.2 Tempita==0.5.2 WSME==0.6.1 WebOb==1.4 WebTest==2.0.15 alembic==0.6.6 amqp==1.4.6 anyjson==0.3.3 argparse==1.2.1 beautifulsoup4==4.3.2 cffi==0.8.6 cliff==1.6.1 cmd2==0.6.7 coverage==3.7.1 cryptography==0.5.3 decorator==3.4.0 discover==0.4.0 docutils==0.9.1 eventlet==0.15.1 extras==0.0.3 fixtures==0.3.14 flake8==2.1.0 greenlet==0.4.3 hacking==0.9.2 httplib2==0.9 ipaddr==2.1.11 iso8601==0.1.10 jsonpatch==1.7 jsonpointer==1.4 jsonschema==2.3.0 kombu==3.0.21 lockfile==0.9.1 logutils==0.3.3 lxml==3.3.5 mccabe==0.2.1 mock==1.0.1 mox==0.5.3 netaddr==0.7.12 nose==1.3.3 oslosphinx==2.1.0 oslotest==1.0.0 pbr==0.10.0 pecan==0.6.1 pep8==1.5.6 prettytable==0.7.2 pyOpenSSL==0.14 pycparser==2.10 pyflakes==0.8.1 pyparsing==2.0.2 python-glanceclient==0.13.1 python-heatclient==0.2.10 python-keystoneclient==0.10.1 python-marconiclient==0.0.2 python-mimeparse==0.1.4 python-mistralclient==0.0.4 python-neutronclient==2.3.6 python-subunit==0.0.18 python-swiftclient==2.2.0 pytz==2014.4 requests==2.3.0 simplegeneric==0.8.1 simplejson==3.6.2 singledispatch==3.4.0.3 six==1.7.3 -e git://git.openstack.org/stackforge/solum@3b788ce907259afe5ce4091f1394f4faa9e33a8e#egg=solum-dev sphinxcontrib-httpdomain==1.3.0 sphinxcontrib-pecanwsme==0.8.0 sqlalchemy-migrate==0.9.1 stevedore==0.15 testrepository==0.0.18 testscenarios==0.4 testtools==0.9.35 waitress==0.8.9 warlock==1.1.0 wsgiref==0.1.2'
   INFO:giftwrap:Running: '.venv/bin/pip install --extra-index http://pypi.openstack.org/openstack/ Babel==1.3 Jinja2==2.7.3 Mako==1.0.0 MarkupSafe==0.23 PyYAML==3.11 Pygments==1.6 SQLAlchemy==0.9.7 Sphinx==1.2.2 Tempita==0.5.2 WSME==0.6.1 WebOb==1.4 WebTest==2.0.15 alembic==0.6.6 amqp==1.4.6 anyjson==0.3.3 argparse==1.2.1 beautifulsoup4==4.3.2 cffi==0.8.6 cliff==1.6.1 cmd2==0.6.7 coverage==3.7.1 cryptography==0.5.3 decorator==3.4.0 discover==0.4.0 docutils==0.9.1 eventlet==0.15.1 extras==0.0.3 fixtures==0.3.14 flake8==2.1.0 greenlet==0.4.3 hacking==0.9.2 httplib2==0.9 ipaddr==2.1.11 iso8601==0.1.10 jsonpatch==1.7 jsonpointer==1.4 jsonschema==2.3.0 kombu==3.0.21 lockfile==0.9.1 logutils==0.3.3 lxml==3.3.5 mccabe==0.2.1 mock==1.0.1 mox==0.5.3 netaddr==0.7.12 nose==1.3.3 oslosphinx==2.1.0 oslotest==1.0.0 pbr==0.10.0 pecan==0.6.1 pep8==1.5.6 prettytable==0.7.2 pyOpenSSL==0.14 pycparser==2.10 pyflakes==0.8.1 pyparsing==2.0.2 python-glanceclient==0.13.1 python-heatclient==0.2.10 python-keystoneclient==0.10.1 python-marconiclient==0.0.2 python-mimeparse==0.1.4 python-mistralclient==0.0.4 python-neutronclient==2.3.6 python-subunit==0.0.18 python-swiftclient==2.2.0 pytz==2014.4 requests==2.3.0 simplegeneric==0.8.1 simplejson==3.6.2 singledispatch==3.4.0.3 six==1.7.3 -e git://git.openstack.org/stackforge/solum@3b788ce907259afe5ce4091f1394f4faa9e33a8e#egg=solum-dev sphinxcontrib-httpdomain==1.3.0 sphinxcontrib-pecanwsme==0.8.0 sqlalchemy-migrate==0.9.1 stevedore==0.15 testrepository==0.0.18 testscenarios==0.4 testtools==0.9.35 waitress==0.8.9 warlock==1.1.0 wsgiref==0.1.2'
   2014-08-30 20:45:41 INFO: Installing 'solum' to the virtualenv
   INFO:giftwrap:Installing 'solum' to the virtualenv
   2014-08-30 20:45:41 INFO: Running: '.venv/bin/python setup.py install'
   INFO:giftwrap:Running: '.venv/bin/python setup.py install'
   2014-08-30 20:46:58 INFO: Running: 'fpm -s dir -t deb -n giftwrap-openstack-solum -v 2014.2.1 /opt/openstack/solum'
   INFO:giftwrap:Running: 'fpm -s dir -t deb -n giftwrap-openstack-solum -v 2014.2.1 /opt/openstack/solum'
   2014-08-30 20:46:59 INFO: Beginning to build 'python-solumclient'
   INFO:giftwrap:Beginning to build 'python-solumclient'
   2014-08-30 20:46:59 INFO: Fetching source code for 'python-solumclient'
   INFO:giftwrap:Fetching source code for 'python-solumclient'
   2014-08-30 20:47:00 INFO: Creating the virtualenv for 'python-solumclient'
   INFO:giftwrap:Creating the virtualenv for 'python-solumclient'
   2014-08-30 20:47:00 INFO: Running: 'virtualenv .venv'
   INFO:giftwrap:Running: 'virtualenv .venv'
   2014-08-30 20:47:01 INFO: Installing 'python-solumclient' pip dependencies to the virtualenv
   INFO:giftwrap:Installing 'python-solumclient' pip dependencies to the virtualenv
   2014-08-30 20:47:02 INFO: Running: '.venv/bin/pip install --extra-index http://pypi.openstack.org/openstack/ Babel==1.3 Jinja2==2.7.3 MarkupSafe==0.23 PyYAML==3.11 Pygments==1.6 Sphinx==1.2.2 argparse==1.2.1 coverage==3.7.1 discover==0.4.0 docutils==0.12 extras==0.0.3 fixtures==0.3.14 flake8==2.1.0 hacking==0.9.2 iso8601==0.1.10 lxml==3.3.5 mccabe==0.2.1 mock==1.0.1 netaddr==0.7.12 oslosphinx==2.1.0 pbr==0.10.0 pep8==1.5.6 prettytable==0.7.2 pyflakes==0.8.1 python-keystoneclient==0.10.1 python-mimeparse==0.1.4 -e git://git.openstack.org/stackforge/python-solumclient@a7c0ba416c1cf07fab8757971b996f71a39da043#egg=python_solumclient-dev python-subunit==0.0.18 pytz==2014.4 requests==2.3.0 six==1.7.3 stevedore==0.15 testrepository==0.0.18 testscenarios==0.4 testtools==0.9.35 wsgiref==0.1.2'
   INFO:giftwrap:Running: '.venv/bin/pip install --extra-index http://pypi.openstack.org/openstack/ Babel==1.3 Jinja2==2.7.3 MarkupSafe==0.23 PyYAML==3.11 Pygments==1.6 Sphinx==1.2.2 argparse==1.2.1 coverage==3.7.1 discover==0.4.0 docutils==0.12 extras==0.0.3 fixtures==0.3.14 flake8==2.1.0 hacking==0.9.2 iso8601==0.1.10 lxml==3.3.5 mccabe==0.2.1 mock==1.0.1 netaddr==0.7.12 oslosphinx==2.1.0 pbr==0.10.0 pep8==1.5.6 prettytable==0.7.2 pyflakes==0.8.1 python-keystoneclient==0.10.1 python-mimeparse==0.1.4 -e git://git.openstack.org/stackforge/python-solumclient@a7c0ba416c1cf07fab8757971b996f71a39da043#egg=python_solumclient-dev python-subunit==0.0.18 pytz==2014.4 requests==2.3.0 six==1.7.3 stevedore==0.15 testrepository==0.0.18 testscenarios==0.4 testtools==0.9.35 wsgiref==0.1.2'
   2014-08-30 20:48:27 INFO: Installing 'python-solumclient' to the virtualenv
   INFO:giftwrap:Installing 'python-solumclient' to the virtualenv
   2014-08-30 20:48:27 INFO: Running: '.venv/bin/python setup.py install'
   INFO:giftwrap:Running: '.venv/bin/python setup.py install'
   2014-08-30 20:48:45 INFO: Running: 'fpm -s dir -t deb -n giftwrap-openstack-python-solumclient -v 2014.2.1 /opt/openstack/python-solumclient'
   INFO:giftwrap:Running: 'fpm -s dir -t deb -n giftwrap-openstack-python-solumclient -v 2014.2.1 /opt/openstack/python-solumclient'
   $ ls /tmp/solum
   giftwrap-openstack-solum_2014.2.1_amd64.deb
   giftwrap-openstack-python-solumclient_2014.2.1_amd64.deb