← Back to team overview

fuel-dev team mailing list archive

Re: question about package repository on fuel 4.1

 

Hi Samuel,

First of all, we are going to update our repository building scripts to use
multistrap utility in order to involve several repos or you will stick into
problem with several package versions in the same repository. Here is the
request: https://review.openstack.org/#/c/81508/ . It is a little bit raw
for now but it might be helpful for you.

Second, we are moving forward to support managing of custom repos during
the ISO build and also allowing users to build the repo on the already
deployed master node. This is closely related to the following blueprints:

OpenStack patching
https://blueprints.launchpad.net/fuel/+spec/patch-openstack

Fuel upgrades
https://blueprints.launchpad.net/fuel/+spec/fuel-upgrade

and

Pluggable Architecture

https://blueprints.launchpad.net/fuel/+spec/fuel-pluggable-architecture

We will do really appreciate your feedback and comments on these
blueprints. Also, you may want to look into our stackforge/fuel-* projects.
Speaking of repository management this is done in the fuel-main project:
https://review.openstack.org/#/q/status:open+project:stackforge/fuel-main,n,z.
Feel free to comment on all the changes requested and to request them on
your own.

Next, speaking of deployment sequence ordering, you can do this in several
ways:

1) Put your puppet class where you want and tie it with other classes in
the specific order, e.g. writing it down into the cluster_[ha|simple].pp
files for the controller role case switch
2) Create your own role by adding into the openstack.yaml file in
nailgun/fixtures directory of stackforge/fuel-web project:
https://github.com/stackforge/fuel-web/blob/master/nailgun/nailgun/fixtures/openstack.yaml.
Then you can easily adjust role deployment sequence in
*set_deployment_priorities* method here:
https://github.com/stackforge/fuel-web/blob/master/nailgun/nailgun/orchestrator/deployment_serializers.py
just
by injecting your role wherever you want, assigning it to the node and
using case switches for roles in cluster_[ha|simple].pp file (look for
cinder node role switching for example).
3) Also you can add your own specific post-deployment action into our
worker middleware called Astute:
https://github.com/stackforge/fuel-astute/tree/master/lib/astute/post_deploy_actions
in
order to execute some post-deployment actions. You can also add your own
actions into the Astute orchestration sequence before the deployment starts
if you want to just like it is done here:
https://github.com/stackforge/fuel-astute/blob/master/lib/astute/orchestrator.rb#L46

Additionally, speaking of custom eggs installation, e.g. for
flask-sqlalchemy. You can do this by simply putting the files on the node
and running puppet exec in order to install this package or by using puppet
'pip' package provider. Look into puppet reference documentation
http://docs.puppetlabs.com/references/latest/type.html#package-provider-pip
 and
http://docs.puppetlabs.com/references/latest/type.html#package-attribute-source
.
Nevertheless it would be better if you built deb package by converting
python egg into deb and simply adding it to your repo. Here is a good
manual on how to repackage python packages using py2dsc utility:
https://wiki.debian.org/Python/Packaging.
You can also use custom repositories during ISO building by exporting
EXTRA_DEB_REPOS or EXTRA_RPM_REPOS environmental variables (
https://github.com/stackforge/fuel-main/blob/master/config.mk#L157-L168).

Also, there is a link on Mirantis internal presentation on FUEL:
https://docs.google.com/a/mirantis.com/presentation/d/1kPdY647WolQ50-u4flb76WGBMFUxL_0jmA80c46Ec7E
.
We are gonna refurbish it a little bit to make it more useful for community
and outside users, but you can find some information in there.

Do not hesitate to contact us in this mailing list as soon as you
experience problems - we are looking forward to contacting from you as it
will make FUEL more user- and developer-friendly and save your time cycles
while doing your job.



On Fri, Mar 21, 2014 at 7:06 PM, <samuel.bartel@xxxxxxxxxx> wrote:

> Hello Dimitry,
> Thanks it help a lot. I managed to adapt this script to add my .deb and
> auto rebuild the repo (pool+dists).
> unfortunately, I'have got 2 new problems
> We have developped puppet module and include its init.pp manifest in the
> site.pp
>
> the init.pp manifest include 3 manifest
> config.pp seting up the config files
> frontend.pp installing the front end package
> backend.pp installing the backend package and starting the service
>
> the problems are :
> -our module seems to be deployed before openstack modules so some
> requierements are not met (neutron.conf file is missing and
> openstack-dashboard is not setup)
> -our backend module need flask-sqlalchimy. This is missing from precise
> repo so we are using pip in order to install it but even with http and
> https proxies setting up in the puppet.conf, and etc/profile puppet seems
> to not be able to access pip repo
>
> how can you be sure that our modules will be deployed at the end of the
> deployement process?
> how can we set up properly http proxy?
>
> Thanks by advance
>
> Samuel
>
>
> ________________________________________
> De : Dmitry Borodaenko [dborodaenko@xxxxxxxxxxxx]
> Date d'envoi : mardi 18 mars 2014 19:34
> À : BARTEL Samuel NRS
> Cc : fuel-dev@xxxxxxxxxxxxxxxxxxx; fweyns@xxxxxxxxxxxx; ALLES David
> IMT/OLPS
> Objet : Re: [Fuel-dev] question about package repository on fuel 4.1
>
> Hi Samuel,
>
> Here's how the deb package repository for Fuel master node is
> generated during ISO build:
>
> https://github.com/stackforge/fuel-main/blob/master/mirror/ubuntu/createchroot.mk
>
> You can adapt this script to re-create an APT repository that includes
> your packages on an already deployed master node.
>
> Alternatively, you can rebuild your own ISO (make sure to use the
> stable/4.1 branch of fuel-main.git) with additional deb or rpm
> packages. For deb packages, copy them to
> fuel-main/mirror/ubuntu/files/; for rpm, to
> local_mirror/centos/os/x86_64/Packages/ (local_mirror is a cache
> directory, if you don't already have it, run "make iso" once).
>
> Instructions on building Fuel ISO image can be found here:
> http://docs.mirantis.com/fuel-dev/develop/env.html#building-the-fuel-iso
>
> Hope this helps,
> -DmitryB
>
> On Tue, Mar 18, 2014 at 7:43 AM,  <samuel.bartel@xxxxxxxxxx> wrote:
> > Hello,
> >
> >
> >
> > I am working on a project for Orange in France Using fuel to deploy
> > openstack. We are in relation with Frank Weyns.
> >
> > I have several question about fuel :
> >
> >
> > We have developped two new modules that we planed to deploy on the
> controler
> > nodes :
> > -a front end module : extension for horizon inluding new panels
> > -a back end module : withnew api services
> >
> > following these documentations:
> >
> http://docs.mirantis.com/fuel-dev/develop/module_structure.html#the-puppet-modules-structure
> > http://docs.mirantis.com/fuel-dev/develop/fuel_settings.html
> >
> > we add new module in puppet, setup it to be executed only for controler
> > role, and include it in the main site.pp.
> >
> > The problem is on the .deb packages. We would like to add them in the
> > package repository on the fuel master ndoe (I guess it is the repository
> > avalaible here on the master node :
> /var/www/nailgun/ubuntu/fuelweb/x86_64/)
> >  we try to manually add the .deb file and modify the associated Packages
> > file but with no success.
> >
> > How can you add our custome packages to fue fuel package repository on
> the
> > fuel master node? is it possible or should set up an other repository and
> > declare it on the source.list of the deployed node? in the case we have
> to
> > modify source.list, is there an easiest way to proceed than modifying
> > ubuntu-1204.preseed.erb in cobbler module
> >
> >
> >
> >
> > regards
> >
> >
> >
> > Samuel BARTEL
> >
> >
> _________________________________________________________________________________________________________________________
> >
> > Ce message et ses pieces jointes peuvent contenir des informations
> > confidentielles ou privilegiees et ne doivent donc
> > pas etre diffuses, exploites ou copies sans autorisation. Si vous avez
> recu
> > ce message par erreur, veuillez le signaler
> > a l'expediteur et le detruire ainsi que les pieces jointes. Les messages
> > electroniques etant susceptibles d'alteration,
> > Orange decline toute responsabilite si ce message a ete altere, deforme
> ou
> > falsifie. Merci.
> >
> > This message and its attachments may contain confidential or privileged
> > information that may be protected by law;
> > they should not be distributed, used or copied without authorisation.
> > If you have received this email in error, please notify the sender and
> > delete this message and its attachments.
> > As emails may be altered, Orange is not liable for messages that have
> been
> > modified, changed or falsified.
> > Thank you.
> >
> >
> > --
> > Mailing list: https://launchpad.net/~fuel-dev
> > Post to     : fuel-dev@xxxxxxxxxxxxxxxxxxx
> > Unsubscribe : https://launchpad.net/~fuel-dev
> > More help   : https://help.launchpad.net/ListHelp
> >
>
>
>
> --
> Dmitry Borodaenko
>
> _________________________________________________________________________________________________________________________
>
> Ce message et ses pieces jointes peuvent contenir des informations
> confidentielles ou privilegiees et ne doivent donc
> pas etre diffuses, exploites ou copies sans autorisation. Si vous avez
> recu ce message par erreur, veuillez le signaler
> a l'expediteur et le detruire ainsi que les pieces jointes. Les messages
> electroniques etant susceptibles d'alteration,
> Orange decline toute responsabilite si ce message a ete altere, deforme ou
> falsifie. Merci.
>
> This message and its attachments may contain confidential or privileged
> information that may be protected by law;
> they should not be distributed, used or copied without authorisation.
> If you have received this email in error, please notify the sender and
> delete this message and its attachments.
> As emails may be altered, Orange is not liable for messages that have been
> modified, changed or falsified.
> Thank you.
>
>
> --
> Mailing list: https://launchpad.net/~fuel-dev
> Post to     : fuel-dev@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~fuel-dev
> More help   : https://help.launchpad.net/ListHelp
>



-- 
Yours Faithfully,
Vladimir Kuklin,
Fuel Library Tech Lead,
Mirantis, Inc.
+7 (495) 640-49-04
+7 (926) 702-39-68
Skype kuklinvv
45bk3, Vorontsovskaya Str.
Moscow, Russia,
www.mirantis.com <http://www.mirantis.ru/>
www.mirantis.ru
vkuklin@xxxxxxxxxxxx

References