On 6/14/17, 6:00 PM, "Abhishek Kane" <abhishek.k...@veritas.com> wrote:
>Thank you for the comments Emilien! > >Updated as per your suggestions: >puppet-veritas-hyperscale: >https://github.com/abhishek-kane/puppet-veritas-hyperscale > >Also, please find the inline replies to your comments. > >We had been able to call the old puppet modules (which had scripts) using the >generic puppet way (puppet agent --test). But we are unable to deploy the new >puppet modules (which use existing puppet classes) the tripleo way. Following >paste shows a sample puppet module which we are trying to deploy on an >overcloud which is already deployed. We see that our resources are in >“CREATE_COMPLETE” status, but the actual operation hasn’t happened. >http://paste.openstack.org/show/612537/ Thanks to Steven Hardy, We are now able to apply (puppet apply) our individual puppet modules inside overcloud controller. We are working on creating compossible services. > >Regards, >Abhishek > >On 6/14/17, 1:18 AM, "Emilien Macchi" <emil...@redhat.com> wrote: > > On Wed, Jun 7, 2017 at 10:38 AM, Abhishek Kane > <abhishek.k...@veritas.com> wrote: > > Hi, > > > > On cinder node- we need to modify the cinder.conf. We don’t change any > config apart from this. We want to keep the config changes in heat template, > package installation in puppet, and trigger rest of the operations via > Horizon (as it’s done today). We are also trying to get rid of the nova.conf > file changes. Once the approach for cinder is sorted, will get back on this. > > > > If this is correct approach for cinder, I will raise review requests for > the following projects: > > puppet-tripleo: http://paste.openstack.org/show/611697/ > > puppet-cinder: http://paste.openstack.org/show/611698/ > > tripleo-heat-templates: http://paste.openstack.org/show/611700/ > > > > Also, I am not sure which TripleO repos need to be patched for the > controller components. > > > > We have decomposed the controller bin installer into idempotent > modules/scripts. Now, the installer is not a black box operation: > > https://github.com/abhishek-kane/puppet-veritas-hyperscale > > The inline replies below are w.r.t. this project. The product installer > bin currently works in atomic fashion. One issue which we see in puppet is > the error handling and rollback operations. > > > > Thanks, > > Abhishek > > > > On 6/1/17, 8:41 PM, "Emilien Macchi" <emil...@redhat.com> wrote: > > > > On Thu, Jun 1, 2017 at 3:47 PM, Abhishek Kane > <abhishek.k...@veritas.com> wrote: > > > Hi Emilien, > > > > > > The bin does following things on controller: > > > 1. Install core HyperScale packages. > > > > Should be done by Puppet, with Package resource. > > Ak> It’s done. > > > > > 2. Start HyperScale API server > > > > Should be done by Puppet, with Service resource. > > AK> It’s done. > > > > > 3. Install UI packages. This will add new files to and modify some > existing files of Horison. > > > > Should be done by Puppet, with Package resource and also some changes > > in puppet-horizon maybe if you need to change Horizon config. > > Ak> We have got rid of the horizon dependency right now. Our GUI > components get installed via separate package. > > > > > 4. Create HyperScale user in mysql db. Create database and dump > config. Add permissions of nova and cinder DB to HyperScale user. > > > > We have puppet-openstacklib which already manages DBs, you could > > easily re-use it. Please look at puppet-nova for example to see how > > things works in nova::db::mysql, etc. > > AK> TBD > > > > > 5. Add ceilometer pollsters for additional stats and modify > ceilometer files. > > > > puppet-ceilometer I guess. What do you mean by "files"? Config files? > > Ak> We are trying to get rid of this dependency as well. TBD. > > > > > 6. Change OpenStack configuration: > > > a. Create rabbitmq exchanges > > > > puppet-* modules already does it. > > AK> It’s done via script. Do we need to patch any module? > > Everything that touch *.conf files of OpenStack services need to be > done by existing openstack/puppet-* modules. > >AK> >https://github.com/abhishek-kane/puppet-veritas-hyperscale/blob/master/manifests/hs_rabbitmq.pp > We are still doing some operation via script, but it’s idempotent. > > > > > > b. Create keystone user > > > > puppet-keystone already does it. > > AK> It’s done via script. Do we need to patch keystone module? > > No, you'll need to create the right user/roles/endpoints/... in > puppet-tripleo, in a new profile, most probably. > You'll probably need to read a bit about: > https://github.com/openstack/puppet-keystone#setup > Let me know if you need more help on this thing. > >AK> I have already. >https://github.com/abhishek-kane/puppet-veritas-hyperscale/blob/master/manifests/hs_keystone.pp > > > > > > c. Define new flavors > > > > puppet-nova can manage flavors. > > AK> It’s done via script. Do we need to patch nova module? > > Same as Keystone. > See: > https://github.com/openstack/puppet-openstack-integration/blob/master/manifests/provision.pp#L7-L13 > You'll probably need that thing in your module or in puppet-tripleo > (composition layer for tripleo). > >AK> Already done that. >https://github.com/abhishek-kane/puppet-veritas-hyperscale/blob/master/manifests/hs_flavors.pp > > > > > > d. Create HyperScale volume type and set default volume type to > HyperScale in cinder.conf. > > > > we already support multi backends in tripleo, HyperScale would just > be > > a new addition. Re-use the bits please: puppet-cinder and > > puppet-tripleo will need to be patched. > > AK> It’s done via script. Do we need to patch cinder module? > > Same, please look how other backends are done in TripleO, we have a > bunch of examples in puppet-tripleo. > >Ak> The paste links mentioned in last email. Is it correct approach? >puppet-cinder: http://paste.openstack.org/show/612493/ >puppet-tripleo: http://paste.openstack.org/show/611697/ >tripleo-heat-templates: http://paste.openstack.org/show/611700/ > > > > e. Restart openstack’s services > > > > Already done by openstack/puppet-* modules. > > AK> We are trying to get rid of all OpenStack config file changes that > we used to do. TBD. > > > > > 7. Configure HyperScale services > > > > Should be done by your module, (you can either write a _config > > provider if it's ini standard otherwise just do a template that you > > ship in the module, like puppet-horizon). > > AK> It’s done. > > > > > Once the controller is configured, we use HyperScale’s CLI to > configure data and compute nodes- > > > > > > On data node (cinder): > > > 1. Install HyperScale data node packages. > > > > Should be done by Puppet, with Package resource. > > > >Ak> We have written a puppet module. >https://github.com/abhishek-kane/puppet-veritas-hyperscale/blob/master/manifests/datanode_pkg_inst.pp > > > > 2. Change cinder.conf to add backend and change rpc_backend. > > > > puppet-cinder >Ak > Paste links mentioned above. > > > > > > 3. Give the raw data disks and meta disks to HyperScale storage > layer for usage. > > > > what does it means? Do you run a CLI for that? > > I didn't get reply for that FYI ^ > >Ak> We need disk names as user input. We show the filtered (exclude mounted, >partitioned, etc disks) disks on the GUI and let user choose disks. We create >LVM volumes and create XFS mount points which we use later as backend for >instance volumes. Since this operation is not done at the time of deployment, >we don’t have any puppet module for this. > > > > 4. Configure HyperScale services. > > > > Should be done by Puppet, with Service resource. > > >AK> We have added a puppet module for this. >https://github.com/abhishek-kane/puppet-veritas-hyperscale/blob/master/manifests/datanode_service_start.pp > > > > 5. Dump config in the HyperScale database. > > > > can be done by a script maybe? > > ditto. > >Ak> Work in progress to use the openstacklib mysql component. Currently we are >running .sql files. Once we finalize it I will upload it on the github and >update. > > > > > > > On compute (nova): > > > 1. Install HyperScale compute packages. > > > > Should be done by Puppet, with Package resource. > > >Ak> >https://github.com/abhishek-kane/puppet-veritas-hyperscale/blob/master/manifests/compute_pkg_inst.pp > > > > 2. Configure cgroup. > > > > we don't manage cgroups in TripleO AFIK yet but it's something we > > could add, maybe with a puppet module. > > >AK> TODO > > > > 3. Disable selinux. > > > > Please don't do that. Disabling SElinux is a NOGO when adding new > > features (sorry to care about Security). > > >Ak> We have now removed this change. We don’t change any selinux setting now. > > > > 4. Add ceilometer pollsters for additional stats and modify > ceilometer files. > > > > puppet-ceilometer > > >Ak> We are trying to get rid of the ceilometer changes. Will update on this >later. > > > > 5. Modify qemu.conf to relax ACS checks. > > > > puppet-nova maybe, but not sure we really want to do that: > > https://vfio.blogspot.fr/2014/08/iommu-groups-inside-and-out.html > > > > Any details on why you're doing it? > > >AK> TODO > > > > 6. Modify libvirt.conf and libvirtd to allow live migration. > > >Ak> TODO > > > It's already supported by puppet-nova. > > > > > 7. Change network settings. > > > > Should be done by os-net-config in TripleO. > > >Ak> TODO > > > > 8. Configure HyperScale services. > > > > Done by your module (again). > > >Ak> >https://github.com/abhishek-kane/puppet-veritas-hyperscale/blob/master/manifests/compute_service_start.pp > > > > 9. Dump config in the HyperScale database. > > > > same as before. > > >Ak> Work in progress to use the openstacklib mysql component. Currently we are >running .sql files. Once we finalize it I will upload it on the github and >update. > > > > > > > We assume that we will not require steps to install packages if we > put packages in the overcloud image. We have started to convert the bin and > the CLI into puppet modules. > > > > > > > > > Regards, > > > Abhishek > > > > Hope it helped. > > > > > On 6/1/17, 4:24 AM, "Emilien Macchi" <emil...@redhat.com> wrote: > > > > > > On Wed, May 31, 2017 at 6:29 PM, Dnyaneshwar Pawar > > > <dnyaneshwar.pa...@veritas.com> wrote: > > > > Hi Alex, > > > > > > > > Currently we have puppet modules[0] to configure our > software which has > > > > components on Openstack Controller, Cinder node and Nova > node. > > > > As per document[1] we successfully tried out role specific > configuration[2]. > > > > > > > > So, does it mean that if we have an overcloud image with our > packages > > > > inbuilt and we call our configuration scripts using role > specific > > > > configuration, we may not need puppet modules[0] ? Is it > acceptable > > > > deployment method? > > > > > > So running a binary from Puppet, to make configuration > management is > > > not something we recommend. > > > Puppet has been good at managing configuration files and > services for > > > example. In your module, you just manage a file and execute > it. The > > > problem with that workflow is we have no idea what happens in > backend. > > > Also we have no way to make Puppet run idempotent, which is one > > > important aspect in TripleO. > > > > > > Please tell us what does the binary, and maybe we can convert > the > > > tasks into Puppet resources that could be managed by your > module. Also > > > make the resources by class (service), so we can plug it into > the > > > composable services in TripleO. > > > > > > Thanks, > > > > > > > [0] > https://github.com/abhishek-kane/puppet-veritas-hyperscale > > > > [1] > > > > > https://docs.openstack.org/developer/tripleo-docs/advanced_deployment/node_config.html > > > > [2] http://paste.openstack.org/show/611116/ > > > > > > > > Thanks, > > > > Dnyaneshwar > > > > > > > > On 5/30/17, 6:52 PM, "Alex Schultz" <aschu...@redhat.com> > wrote: > > > > > > > > On Mon, May 29, 2017 at 5:05 AM, Dnyaneshwar Pawar > > > > <dnyaneshwar.pa...@veritas.com> wrote: > > > > > > > > Hi, > > > > > > > > I am tying to deploy a software on openstack controller on > the overcloud. > > > > One way to do this is by modifying ‘overcloud image’ so that > all packages of > > > > our software are added to image and then run overcloud > deploy. > > > > Other way is to write heat template and puppet module which > will deploy the > > > > required packages. > > > > > > > > Question: Which of above two approaches is better? > > > > > > > > Note: Configuration part of the software will be done via > separate heat > > > > template and puppet module. > > > > > > > > > > > > Usually you do both. Depending on how the end user is > expected to > > > > deploy, if they are using the TripleoPackages service[0] in > their > > > > role, the puppet installation of the package won't actually > work (we > > > > override the package provider to noop) so it needs to be in > the > > > > images. That being said, usually there is also a bit of > puppet that > > > > needs to be written to configure the end service and as a > best > > > > practice (and for development purposes), it's a good idea to > also > > > > capture the package in the manifest. > > > > > > > > Thanks, > > > > -Alex > > > > > > > > [0] > > > > > https://github.com/openstack/tripleo-heat-templates/blob/master/puppet/services/tripleo-packages.yaml > > > > > > > > > > > > Thanks and Regards, > > > > Dnyaneshwar > > > > > > > > > __________________________________________________________________________ > > > > OpenStack Development Mailing List (not for usage questions) > > > > Unsubscribe: > openstack-dev-requ...@lists.openstack.org?subject:unsubscribe > > > > > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev > > > > > > > > > > > > > __________________________________________________________________________ > > > > OpenStack Development Mailing List (not for usage questions) > > > > Unsubscribe: > openstack-dev-requ...@lists.openstack.org?subject:unsubscribe > > > > > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev > > > > > > > > > > > > > __________________________________________________________________________ > > > > OpenStack Development Mailing List (not for usage questions) > > > > Unsubscribe: > openstack-dev-requ...@lists.openstack.org?subject:unsubscribe > > > > > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev > > > > > > > > > > > > > > > > -- > > > Emilien Macchi > > > > > > > __________________________________________________________________________ > > > OpenStack Development Mailing List (not for usage questions) > > > Unsubscribe: > openstack-dev-requ...@lists.openstack.org?subject:unsubscribe > > > > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev > > > > > > > > > > > > > > > > __________________________________________________________________________ > > > OpenStack Development Mailing List (not for usage questions) > > > Unsubscribe: > openstack-dev-requ...@lists.openstack.org?subject:unsubscribe > > > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev > > > > > > > > -- > > Emilien Macchi > > > > > __________________________________________________________________________ > > OpenStack Development Mailing List (not for usage questions) > > Unsubscribe: > openstack-dev-requ...@lists.openstack.org?subject:unsubscribe > > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev > > > > > > > __________________________________________________________________________ > > OpenStack Development Mailing List (not for usage questions) > > Unsubscribe: > openstack-dev-requ...@lists.openstack.org?subject:unsubscribe > > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev > > > > -- > Emilien Macchi > > __________________________________________________________________________ > OpenStack Development Mailing List (not for usage questions) > Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev > > >__________________________________________________________________________ >OpenStack Development Mailing List (not for usage questions) >Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe >http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev __________________________________________________________________________ OpenStack Development Mailing List (not for usage questions) Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev