[Starlingx-discuss] [Containers] Background info on helm charts
Arevalo, Mario Alfredo C
mario.alfredo.c.arevalo at intel.com
Thu Feb 7 21:46:19 UTC 2019
Sounds good, thanks team!.
Best Regards.
Mario.
> -----Original Message-----
> From: Penney, Don [mailto:Don.Penney at windriver.com]
> Sent: Thursday, February 7, 2019 3:26 PM
> To: Bailey, Henry Albert (Al) <Al.Bailey at windriver.com>; Arevalo, Mario
> Alfredo C <mario.alfredo.c.arevalo at intel.com>; Wold, Saul
> <saul.wold at intel.com>; Troyer, Dean <dean.troyer at intel.com>
> Cc: starlingx-discuss at lists.starlingx.io
> Subject: RE: [Containers] Background info on helm charts
>
> The wheel includes the fm_core.so library, which is compiled from the python
> source in fm-common.
>
> libfmcommon.so, however, is not python code, so would not be part of a wheel.
> It would need to be installed via the DIST_PACKAGES entry, as Al describes.
>
>
> -----Original Message-----
> From: Bailey, Henry Albert (Al)
> Sent: Thursday, February 07, 2019 4:13 PM
> To: Arevalo, Mario Alfredo C; Penney, Don; Wold, Saul; Troyer, Dean
> Cc: starlingx-discuss at lists.starlingx.io
> Subject: RE: [Containers] Background info on helm charts
>
> Looks like the wheel is not complete.
>
> the regular RPM is the only place that installs that shared lib.
> fm-common-1.0-8.tis.x86_64.rpm
>
> ie:
> /usr/lib64/libfmcommon.so.1
> /usr/lib64/libfmcommon.so.1.0
>
>
> I think you need to add this line in your build file DIST_PACKAGES="fm-
> common"
>
> Sort of this gnocchi does for rados
> https://github.com/openstack/stx-upstream/blob/master/openstack/python-
> gnocchi/centos/stx-gnocchi.pike_docker_image#L7
>
> Al
>
> -----Original Message-----
> From: Arevalo, Mario Alfredo C [mailto:mario.alfredo.c.arevalo at intel.com]
> Sent: Thursday, February 07, 2019 4:01 PM
> To: Bailey, Henry Albert (Al); Penney, Don; Wold, Saul; Troyer, Dean
> Cc: starlingx-discuss at lists.starlingx.io
> Subject: RE: [Containers] Background info on helm charts
>
> Hi Al,
>
> Thanks for your answer.
>
> I have done a tests with the fm_core-1.0-cp27-cp27mu-linux_x86_64.whl
> package that you mention, however it does not include libfmcommon.so library.
> I downloaded the last wheels taball and I unzip all packages and I could not find
> that library.
>
> Best regards.
> Mario.
> ________________________________________
> From: Bailey, Henry Albert (Al) [Al.Bailey at windriver.com]
> Sent: Thursday, February 07, 2019 12:37 PM
> To: Arevalo, Mario Alfredo C; Penney, Don; Wold, Saul; Troyer, Dean
> Cc: starlingx-discuss at lists.starlingx.io
> Subject: RE: [Containers] Background info on helm charts
>
> For issue 1)
> Other openstack components write the paste like this Here's the template for
> writing the api-paste.ini
> https://github.com/openstack/openstack-
> helm/blob/master/heat/templates/configmap-etc.yaml#L139
> Here's example data being written to it:
> https://github.com/openstack/openstack-
> helm/blob/master/heat/values.yaml#L275
>
> For issue 2)
> You should be able to include the wheel for fm_core, which is defined here
> https://github.com/openstack/stx-fault/blob/master/fm-
> common/sources/setup.py
>
> it's in fm-common folder, but its called fm_core and it is included in the wheels
> tarball
> http://mirror.starlingx.cengn.ca/mirror/starlingx/master/centos/latest_docker_
> image_build/outputs/wheels/
>
> fm_core-1.0-cp27-cp27mu-linux_x86_64.whl
>
> The wheel contains C code, so it is an architecture specific wheel
>
> Al
>
>
> -----Original Message-----
> From: Arevalo, Mario Alfredo C [mailto:mario.alfredo.c.arevalo at intel.com]
> Sent: Thursday, February 07, 2019 3:13 PM
> To: Penney, Don; Wold, Saul; Bailey, Henry Albert (Al); Troyer, Dean
> Cc: starlingx-discuss at lists.starlingx.io
> Subject: RE: [Containers] Background info on helm charts
>
> Hi team,
>
> There is a pair of issues which needs to be solved in order to create a "fm rest
> api" docker image that can work correctly.
>
> Issue 1:
> =======
>
> The fm-rest-api requires a configuration file called "api-paste.ini"[0]. It seems
> that this file is created in the deployment process in this section by puppet:
> https://git.starlingx.io/cgit/stx-config/tree/puppet-modules-wrs/puppet-
> fm/src/fm/manifests/init.pp#n109
>
> proposal: I noticed how devstack process deal with this, firstly the "api-paste.ini"
> file was added manually inside devstack/files directory[1], then during the
> devstack execution process, the plugin just makes a copy to the environment:
> https://git.starlingx.io/cgit/stx-fault/tree/devstack/lib/stx-fault#n173
>
> I wonder if it is the best approach to do something similar using the variable
> "CUSTOMIZATION" of loci with something like this: "cat > /etc/fm/api-paste.ini
> << EOF config lines EOF" or maybe cloning the stx-fault repository and copying
> the available file in the devstack directory[0] to "/etc/fm".
>
> Issue 2:
> =======
>
> The "fm rest api" requires a shared object called "libfmcommon.so", this library
> is created in fm-common project, however it is not available in any wheel
> package.
>
> Proposal: I am not sure if something like this should be enough:
> data_files=[('/usr/lib64', ['libfmcommon.so'])], inside the setup.py[2]
>
> Furthermore I tried to add it from the specfile:
> https://git.starlingx.io/cgit/stx-fault/tree/fm-common/centos/fm-
> common.spec#n54
> however I think this is not a good option.
>
> What do you think is the best approach to tackle these issues?
>
> Any comments are welcome.
>
> Best regards.
> Mario.
>
> [0] https://git.starlingx.io/cgit/stx-fault/tree/devstack/files/api-paste.ini
> [1] https://git.starlingx.io/cgit/stx-fault/tree/devstack/files
> [2] https://git.starlingx.io/cgit/stx-fault/tree/fm-common/sources/setup.py
>
>
>
> ________________________________________
> From: Arevalo, Mario Alfredo C [mario.alfredo.c.arevalo at intel.com]
> Sent: Friday, February 01, 2019 7:54 PM
> To: Penney, Don; Miller, Frank
> Cc: starlingx-discuss at lists.starlingx.io
> Subject: Re: [Starlingx-discuss] [Containers] Background info on helm charts
>
> Hi Folks,
>
> This a short update about this task (I will be in holiday for our next
> containerization meeting).
> During this week I have been exploring the scripts and tools involved in the
> containerization building process. This activity and the wiki page shared by Don
> Penny have allowed me to get a better understating of the work-flow. I have
> sent a PR[1] with the required files to create an image for fm-rest-api service. At
> this moment it is WIP due to I need to do testing. Possibly it will require more
> dependencies which are not available in the wheels.cfg/tarball, I will continue
> working on this.
> During the building tools exploration I had some issues related to network due
> to I am working behind a proxy, I sent a patch[2] to set it in the docker
> build/run commands and avoid manually modification efforts.
>
> Any comments, feel free to contact me.
>
> [1] https://review.openstack.org/#/c/634540/
> [2] https://review.openstack.org/#/c/634542/
>
> Best regards.
> Mario.
>
> ________________________________________
> From: Penney, Don [Don.Penney at windriver.com]
> Sent: Wednesday, January 30, 2019 7:24 AM
> To: Arevalo, Mario Alfredo C; Miller, Frank
> Cc: Saul Wold; starlingx-discuss at lists.starlingx.io
> Subject: RE: [Containers] Background info on helm charts
>
> https://wiki.openstack.org/wiki/StarlingX/Containers/BuildingImages
>
>
> -----Original Message-----
> From: Penney, Don
> Sent: Tuesday, January 29, 2019 10:34 AM
> To: 'Arevalo, Mario Alfredo C'; Miller, Frank
> Cc: Saul Wold; starlingx-discuss at lists.starlingx.io
> Subject: RE: [Containers] Background info on helm charts
>
> Hi Mario,
>
> I'm making "writing a wiki" one of my top priorities. I'm hoping to get started on
> it today, and try to get something published in the next couple of days, barring
> other issues coming along.
>
> Cheers,
> Don.
>
> -----Original Message-----
> From: Arevalo, Mario Alfredo C [mailto:mario.alfredo.c.arevalo at intel.com]
> Sent: Monday, January 28, 2019 4:15 PM
> To: Miller, Frank
> Cc: Saul Wold; starlingx-discuss at lists.starlingx.io; Penney, Don
> Subject: RE: [Containers] Background info on helm charts
>
> Hi Frank,
>
> Thank you for the information, however my doubts are oriented more to the
> work-flow than the Dockerfile/helm/chart/ tools. Even I created a dockerfile[1]
> for FM service in the last week, nevertheless, the starlingx work-flow includes
> some parts which I have not digested completely yet. Don Penny have helped
> me sending useful information related to this (Thanks for that), the interaction
> between OpenStack/loci system and python/wheels. However I have some
> gaps, for example, as staring point I have to create the docker image which will
> be consumed by the chart. There are some build scripts and notes that talks
> about this, but precisely, there are a pair of lines in the build-tools/README
> which makes reference to a exposed service that is not specified [2,3].
> For that reason I asked for a little more detailed information about the work-
> flow during our meeting today.
>
> Thanks for your attention.
>
> Best regards.
> Mario.
>
> [1] https://github.com/MarioCarrilloA/chart-playground
> [2] https://github.com/openstack/stx-root/blob/master/build-tools/build-
> docker-images/README#L4
> [3] https://github.com/openstack/stx-root/blob/master/build-tools/build-
> docker-images/README#L9
>
>
>
>
>
>
>
> From: Miller, Frank [Frank.Miller at windriver.com]
>
> Sent: Monday, January 28, 2019 11:19 AM
>
> To: Arevalo, Mario Alfredo C
>
> Cc: Saul Wold; starlingx-discuss at lists.starlingx.io
>
> Subject: [Containers] Background info on helm charts
>
>
>
>
>
>
>
> Mario:
>
> On the containers community call this morning we took an action to identify
> information about helm charts. Irina Mihai identified four references that she
> used when working on the cinder helm chart overrides. See [1] to [4] below.
>
> Also as you work on creating a helm chart for the FM service, you should look at
> examples of existing helm charts for a reference. 2 good examples are:
> *
> Cinder helm chart which is available in the upstream openstack-helm project [5]
> and uses certain defaults. We have added StarlingX specific overrides which are
> generated from code we added [6].
> *
> Nova-api-proxy which is a StarlingX specific service and hence was created from
> scratch [7,8]
>
> Frank
>
> [1]
>
> https://docs.helm.sh/developing_charts/
> [2] https://medium.com/containerum/how-to-make-and-share-your-own-
> helm-package-50ae40f6c221
> [3] https://docs.bitnami.com/kubernetes/how-to/create-your-first-helm-chart/
> [4] Helm chart install order https://github.com/helm/helm/blob/release-
> 2.10/pkg/tiller/kind_sorter.go#L29
> [5] Cinder helm chart in upstream openstack-helm:
>
> https://git.openstack.org/cgit/openstack/openstack-helm/tree/cinder
> [6] StarlingX cinder overrides: See cinder.py in
>
> https://github.com/openstack/stx-
> config/tree/master/sysinv/sysinv/sysinv/sysinv/helm
>
> [7] Helm chart for nova_api_proxy:
>
> https://git.openstack.org/cgit/openstack/stx-
> config/tree/kubernetes/applications/stx-openstack/stx-openstack-helm/stx-
> openstack-helm/nova-api-proxy
>
> [8] nova_api_proxy override code: See nova_api_proxy.py in
> https://github.com/openstack/stx-
> config/tree/master/sysinv/sysinv/sysinv/sysinv/helm
>
>
>
>
>
> _______________________________________________
> Starlingx-discuss mailing list
> Starlingx-discuss at lists.starlingx.io
> http://lists.starlingx.io/cgi-bin/mailman/listinfo/starlingx-discuss
More information about the Starlingx-discuss
mailing list