create a deb package.

Asked by Ritesh Paiboina

I wanted to create a deb package for my module......how do I create a deb pacakge which can be used by

fuel's puppet modules..

Question information

Language:
English Edit question
Status:
Answered
For:
Fuel for OpenStack Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Miroslav Anashkin (manashkin) said :
#1

Greetings Ritesh,

Mirantis Openstack uses standard .deb packages, signed with Mirantis key.
Depending of MOS version, packages built against Ubuntu 12.04.1 or 12.04.4 as target release.

So, simply build your package against one of these Ubuntu versions.

Unfortunately, you cannot simply add your package to the local Ubuntu repository on Fuel master node, since it runs under Centos, which has only limited tool set to maintain Ubuntu repositories.

Instead, you have to add one more local Ubuntu repository with your package to the master node, update Puppet manifests to configure your new repository on every new installed nodes in addition to the existing one (Not instead!!) and add proper code to install your module to the required OpenStack module in the Puppet manifests.

It is not easy after all, but you may attend to one of the following free support IRC channels and get a lot of answers there:
irc://freenode.net/#fuel
irc://freenode.net/#fuel-dev

Kind regards,
Miroslav Anashkin
L2 Support Engineer
Fuel Core Team

Revision history for this message
Ritesh Paiboina (rsritesh) said :
#2

Thank you Miroslav, for the reply. It is really helping me. I am very much new to this.

I need your help on this too :

I have made some modifications in openstack dashboard horizon . Now I want to have these changes in fuel envoirnment too.
So what I am doing is :

from the following directory,

fuel-main/local_mirror/ubuntu/pool/main/

I am taking up this deb file openstack-dashboard_2014.1.r1-fuel5.1~mira8_all.deb

I have extracted as

> dpkg-deb -x openstack-dashboard_2014.1.r1-fuel5.1~mira8_all.deb ./

Plcaced my changes in the extracted directory and placing the same control file.

 I am building the package again as

> dpkg-deb --build ./ openstack-dashboard_2014.1.r1-fuel5.1~mira8_all.deb

Now the problem is when I am running the controller node in the fuel envrionment. The node is getting exited with the error.

The error is : SIZE MISMATCHES ...FETCH EXITED

How do I deal this scenario ?

Revision history for this message
Miroslav Anashkin (manashkin) said :
#3

Greetings Ritesh,

You cannot simply update package inside the local repository.
The error you are getting tells you need to re-index the existing repository
Since this Debian repository is located on the Fuel master node, running CentOS - there are not all Debian repository features supported with available Deb tools for CentOS. So, you will not be able to re-index the existing local Ubuntu repository in-place.

Instead, you have to create new Debian repository for your updates, place your updated package to the new repository, add it to the list of configured repositories in Puppet manifests.
Your updated package version must not match with one of already existing versions!
Then, you may change Puppet manifests to install your version instead of the original one.

Kind regards,
Miroslav

Can you help with this problem?

Provide an answer of your own, or ask Ritesh Paiboina for more information if necessary.

To post a message you must log in.