[Starlingx-discuss] enable pbr version

Saul Wold sgw at linux.intel.com
Wed Apr 22 03:24:20 UTC 2020


Hi Again Yipeng,

I hope you are well, will you be able to continue working on PBR?  Also 
maybe you could join us at the Distro call [0] in your evening.

Sau!

[0] 
https://wiki.openstack.org/wiki/Starlingx/Meetings#6am_Pacific_-_Distro_Non-OpenStack_Team_Call

On 4/14/20 9:42 AM, Saul Wold wrote:
> Yipeng,
> 
> I hope you can join the Distro meeting in your evening tomorrow and we 
> can disuses this issue.
> 
> Thanks
> 
>    Sau!
> 
> 
> On 4/13/20 10:13 PM, Saul Wold wrote:
>> Can you please provide more details about what you did and how you 
>> tried to create the ISO?
>>
>> The information here is not very helpful.  Maybe the community members 
>> in China can help you get the build to work correctly.
>>
>> Sau!
>>
>>
>> On 4/13/20 7:43 PM, 何义鹏 wrote:
>>>
>>> Hi Saul,
>>>
>>> I'm sorry it took so long to recover your mail.
>>>
>>> Recently, there was a problem when I modified according to the method 
>>> you provided under patch.
>>> I tried to change all the versions in the patch of 
>>> starlingx-starboard to pbr_version.
>>> But the result still failed to build iso.
>>>
>>> yipeng.he!
>>> ------------------ Original ------------------
>>> *From: * "Saul Wold"<sgw at linux.intel.com>;
>>> *Date: * Wed, Apr 8, 2020 02:58 AM
>>> *To: * "starlingx-discuss"<starlingx-discuss at lists.starlingx.io>; "何 
>>> 义 鹏"<yipeng.he at jitstack.com>;
>>> *Subject: * Re: [Starlingx-discuss] enable pbr version
>>>
>>> Hi Yipeng,
>>>
>>> Sorry for the delay in getting back to you, I was looking into the build
>>> failure and trying understand how we handle the difference between the
>>> PBR SemVer [0] and PEP440 [1]. Specifically when there is a "Pre" tag
>>> like rc0, b1 such as 4.0.0.rc0. When PEP440 normalizes that semver tag
>>> to create the egg-info versio it comes out as 4.0.0rc0.egg-info.
>>>
>>> So we need to also change the spec files %files section for the egg-info
>>> file to wild-card that file instead of having a specific version listed.
>>>
>>> For example in the starlingx-dashboard spec file:
>>>
>>> diff --git a/starlingx-dashboard/centos/starlingx-dashboard.spec
>>> b/starlingx-dashboard/centos/starlingx-dashboard.spec
>>> index 7fbee65..399a9bd 100644
>>> --- a/starlingx-dashboard/centos/starlingx-dashboard.spec
>>> +++ b/starlingx-dashboard/centos/starlingx-dashboard.spec
>>> @@ -62,7 +62,7 @@ rm -rf $RPM_BUILD_ROOT
>>>    %files
>>>    %{python2_sitelib}/%{py_pkg_name}
>>>
>>> -%{python2_sitelib}/%{py_pkg_name}-%{version}*.egg-info
>>> +%{python2_sitelib}/%{py_pkg_name}-*.egg-info
>>>
>>>    %{enabled_dir}
>>>    %{stx_themes_dir}
>>>
>>> And as discussed in Jeremy's email we should be adding the "Sem-Ver:
>>> feature" in the commit message, just once per repo. See Bin's pending
>>> commit in fault [2]. You will have to back and fix fault and other
>>> pending commits with the wild-card change for the egg-info file in the
>>> spec file.
>>>
>>> Finally all PBR related reviews should have a
>>> Depends-On: https://review.opendev.org/#/c/691632/
>>>
>>> So it does not get merged before the enabling code in the build tools
>>> merges.
>>>
>>> Hope this clarifies things and gets the PBR work unblocked. I am going
>>> through the reviews and trying to provide some additional review 
>>> comments.
>>> We can also talk about this tomorrow during the Distro call [3]
>>>
>>> Sau!
>>>
>>>
>>> [0] https://docs.openstack.org/pbr/3.0.0/semver.html
>>> [1] https://www.python.org/dev/peps/pep-0440/
>>> [2] https://review.opendev.org/#/c/691647/
>>> [3]
>>> On 3/30/20 6:52 PM, 何义鹏 wrote:
>>>  >
>>>  >   Saul!
>>>  >
>>>  > Thank you for your answer! But how should I use the semMem-ver tag?
>>>  > ------------------ Original ------------------
>>>  > *From: * "Saul Wold"<sgw at linux.intel.com>;
>>>  > *Date: * Sat, Mar 28, 2020 07:02 AM
>>>  > *To: * "何义鹏"<yipeng.he at jitstack.com>; "Penney,
>>>  > Don"<Don.Penney at windriver.com>; "Scott
>>>  > Little"<scott.little at windriver.com>; "Miller,
>>>  > Frank"<Frank.Miller at windriver.com>;
>>>  > *Cc: * "曹明晓"<cherish.cao at jitstack.com>; "杨永金"
>>>  > <wesley.yang at jitstack.com>; "桂来军"<helen.gui at jitstack.com>;
>>>  > "starlingx-discuss"<starlingx-discuss at lists.starlingx.io>;
>>>  > *Subject: * Re: [Starlingx-discuss] enable pbr version
>>>  > Yipeng,
>>>  >
>>>  >
>>>  > I replied the other day, wanting to confirm if you have any 
>>> additional
>>>  > changes in your local git repo? It seems that we need to consider a
>>>  > couple of options to possibly "pre-tag" 4.0 or use the "Sem_Ver:
>>>  > feature" tag in a commit to move the pbr versioning forward.
>>>  >
>>>  > BUILD Team (Don, Scott, Frank):
>>>  >
>>>  > Here's the general issue, we tag on the release branches, not master
>>>  > (although we have a v3.0.0.rc0 tag on master), we need to either 
>>> add a
>>>  > Sem_Ver: feature tag to increment version's major number, or add a
>>>  > pre-tag of the 4.0 release.
>>>  >
>>>  > Thoughts from the build team?  I think we discussed part of the 
>>> before,
>>>  > but want to do a quick revisit of the thread back in Nov [1], I 
>>> think we
>>>  > had agreed to use Sem_Ver but it's not in the email thread
>>>  >
>>>  >
>>>  > [0]
>>>  > 
>>> http://lists.starlingx.io/pipermail/starlingx-discuss/2019-November/006790.html 
>>>
>>>  >
>>>  >
>>>  > On 3/26/20 7:26 PM, 何义鹏 wrote:
>>>  >  >
>>>  >  > Yes, building the rpm of the starlingx dashboard is a necessary 
>>> step for
>>>  >  > my build-iso.
>>>  >  >
>>>  >  > Maybe Saul can respond to the question that python builds allow 
>>> several
>>>  >  > versions of components.
>>>  >  >
>>>  > Jeremy replied to this earlier in the week, the issue appears to 
>>> be the
>>>  > way we tagged rc0, we might need to have change our tagging.  He also
>>>  > stated that the number of components is not a limiting factor.
>>>  >
>>>  > Sau!
>>>  >  > ------------------ Original ------------------
>>>  >  > *From: * "Penney, Don"<Don.Penney at windriver.com>;
>>>  >  > *Date: * Wed, Mar 25, 2020 10:11 PM
>>>  >  > *To: * "何义鹏"<yipeng.he at jitstack.com>; "Saul
>>>  >  > Wold(sgw at linux.intel.com)"<sgw at linux.intel.com>;
>>>  >  > *Cc:
>>>  >  >
>>>  > 
>>> * "'starlingx-discuss at lists.starlingx.io'(starlingx-discuss at lists.starlingx.io)"<starlingx-discuss at lists.starlingx.io>; 
>>>
>>>  >
>>>  >  >
>>>  >  > *Subject: * RE: Re:RE: [Starlingx-discuss] enable pbr version
>>>  >  >
>>>  >  > Please keep starlingx-discuss on the receiver list.
>>>  >  >
>>>  >  > You had indicated build-iso was failing, but the build.log you 
>>> provided
>>>  >  > appears to be the RPM build log for starlingx-dashboard.
>>>  >  >
>>>  >  > Processing files: 
>>> starlingx-dashboard-2.9999.9999.rc1.dev23-0.tis.noarch
>>>  >  >
>>>  >  > error: File not found:
>>>  >  >
>>>  > 
>>> /builddir/build/BUILDROOT/starlingx-dashboard-2.9999.9999.rc1.dev23-0.tis.x86_64/usr/lib/python2.7/site-packages/starlingx_dashboard-2.9999.9999.rc1.dev23*.egg-info 
>>>
>>>  >  >
>>>  >  > RPM build errors:
>>>  >  >
>>>  >  >      File not found:
>>>  >  >
>>>  > 
>>> /builddir/build/BUILDROOT/starlingx-dashboard-2.9999.9999.rc1.dev23-0.tis.x86_64/usr/lib/python2.7/site-packages/starlingx_dashboard-2.9999.9999.rc1.dev23*.egg-info 
>>>
>>>  >  >
>>>  >  > Child return code was: 1
>>>  >  >
>>>  >  > EXCEPTION: [Error()]
>>>  >  >
>>>  >  > Traceback (most recent call last):
>>>  >  >
>>>  >  >    File 
>>> "/usr/lib/python3.6/site-packages/mockbuild/trace_decorator.py",
>>>  >  > line 95, in trace
>>>  >  >
>>>  >  >      result = func(*args, **kw)
>>>  >  >
>>>  >  >    File "/usr/lib/python3.6/site-packages/mockbuild/util.py", 
>>> line 746,
>>>  >  > in do_with_status
>>>  >  >
>>>  >  >      raise exception.Error("Command failed: \n # %s\n%s" % 
>>> (command,
>>>  >  > output), child.returncode)
>>>  >  >
>>>  >  > mockbuild.exception.Error: Command failed:
>>>  >  >
>>>  >  >   # bash --login -c /usr/bin/rpmbuild -bb --target x86_64 --nodeps
>>>  >  > /builddir/build/SPECS/starlingx-dashboard.spec
>>>  >  >
>>>  >  > Looking through the build.log, I see the following:
>>>  >  >
>>>  >  > Copying starlingx_dashboard.egg-info to
>>>  >  >
>>>  > 
>>> build/bdist.linux-x86_64/wheel/starlingx_dashboard-2.9999.9999rc1.dev23-py2.7.egg-info 
>>>
>>>  >  >
>>>  >  > So in the build, it’s creating the egg with the version set to
>>>  >  > 2.9999.9999rc1.dev23, while the %files is expecting it to be
>>>  >  > 2.9999.9999.rc1.dev23.
>>>  >  >
>>>  >  > Looking further through the build.log, there’s the following:
>>>  >  >
>>>  >  > + /usr/bin/python2 setup.py install -O1 --skip-build --root
>>>  >  >
>>>  > 
>>> /builddir/build/BUILDROOT/starlingx-dashboard-2.9999.9999.rc1.dev23-0.tis.x86_64 
>>>
>>>  >  >
>>>  >  > /usr/lib/python2.7/site-packages/setuptools/dist.py:355: 
>>> UserWarning:
>>>  >  > Normalizing '2.9999.9999.rc1.dev23' to '2.9999.9999rc1.dev23'
>>>  >  >
>>>  >  >    normalized_version,
>>>  >  >
>>>  >  > running install
>>>  >  >
>>>  >  > Maybe the python build only allows 4 version components?
>>>  >  >
>>>  >  > *From:*何义鹏[mailto:yipeng.he at jitstack.com]
>>>  >  > *Sent:* Tuesday, March 24, 2020 9:59 PM
>>>  >  > *To:* Penney, Don
>>>  >  > *Subject:* Re:RE: [Starlingx-discuss] enable pbr version
>>>  >  >
>>>  >  > Hi Saul,
>>>  >  >
>>>  >  > I added the error log to the attachment. Do you need other 
>>> files for
>>>  >  > analysis?
>>>  >  >
>>>  >  > Thank you for your help.
>>>  >  >
>>>  >  >     yipeng.he!
>>>  >  >
>>>  >  > ------------------ Original ------------------
>>>  >  >
>>>  >  > *From: * "Penney, Don"<Don.Penney at windriver.com>;
>>>  >  >
>>>  >  > *Date: * Wed, Mar 25, 2020 04:24 AM
>>>  >  >
>>>  >  > *To: * "Saul Wold"<sgw at linux.intel.com>; "何义鹏"
>>>  > <yipeng.he at jitstack.com>;
>>>  >  >
>>>  >  > *Cc: * "桂来军"<helen.gui at jitstack.com>; "杨永金"
>>>  >  > <wesley.yang at jitstack.com>; "曹明晓"<cherish.cao at jitstack.com>;
>>>  >  > "starlingx-discuss"<starlingx-discuss at lists.starlingx.io>;
>>>  >  >
>>>  >  > *Subject: * RE: [Starlingx-discuss] enable pbr version
>>>  >  >
>>>  >  > Hi Yipeng,
>>>  >  >
>>>  >  > Can you provide more info? What was the error you saw from 
>>> build-iso?
>>>  >  >
>>>  >  >
>>>  >  > -----Original Message-----
>>>  >  > From: Saul Wold [mailto:sgw at linux.intel.com]
>>>  >  > Sent: Monday, March 23, 2020 6:45 PM
>>>  >  > To: 何义鹏
>>>  >  > Cc: 桂来军; 杨永金; 曹明晓; starlingx-discuss
>>>  >  > Subject: Re: [Starlingx-discuss] enable pbr version
>>>  >  >
>>>  >  >
>>>  >  > Hi Yipeng,
>>>  >  >
>>>  >  > I was out last week on vacation, so I am catching up now.
>>>  >  >
>>>  >  > I think you would have to investigate build-iso and associated 
>>> scripts
>>>  >  > and tools to see if there is an awk, sed or some other command 
>>> that is
>>>  >  > not parsing the extended version.  I have not investigated this 
>>> further,
>>>  >  > that's my initial assessment.
>>>  >  >
>>>  >  > Can you be more specific about what the error is or provide a 
>>> log file
>>>  >  > of the build-iso process?
>>>  >  >
>>>  >  > Thanks for working on this project.
>>>  >  >
>>>  >  >    Sau!
>>>  >  >
>>>  >  >
>>>  >  >
>>>  >  > On 3/19/20 12:21 AM, 何义鹏wrote:
>>>  >  >> Hello Saul
>>>  >  >>
>>>  >  >> I'm Yipeng He from JITStack, and I'm taking over the tasks of 
>>> PBR.
>>>  >  >> I encountered the following issue when trying to build iso:
>>>  >  >> It fails when the suffix of the version generated by the PBR 
>>> tool ended
>>>  >  >> with number, for instance the building fails if the version id is
>>>  >  >> 2.999.9999.rc1.dev23,
>>>  >  >> and when I replaced it with 2.999.9999.rc1.dev, the ISO 
>>> building was
>>>  >  >> successful.
>>>  >  >> I don't knwo why this happens, could please support and advice 
>>> the
>>>  >  >> solution for this issue.
>>>  >  >>
>>>  >  >>
>>>  >  >> Yipeng.He
>>>  >  >>
>>>  >  >> _______________________________________________
>>>  >  >> Starlingx-discuss mailing list
>>>  >  >> Starlingx-discuss at lists.starlingx.io
>>>  >  >> 
>>> http://lists.starlingx.io/cgi-bin/mailman/listinfo/starlingx-discuss
>>>  >  >>
>>>  >  >
>>>  >  > _______________________________________________
>>>  >  > Starlingx-discuss mailing list
>>>  >  > Starlingx-discuss at lists.starlingx.io
>>>  >  > 
>>> http://lists.starlingx.io/cgi-bin/mailman/listinfo/starlingx-discuss
>>>  >  >
>>>  >  >
>>>  >  > _______________________________________________
>>>  >  > Starlingx-discuss mailing list
>>>  >  > Starlingx-discuss at lists.starlingx.io
>>>  >  > 
>>> http://lists.starlingx.io/cgi-bin/mailman/listinfo/starlingx-discuss
>>>  >  >
>>>  >
>>>  > _______________________________________________
>>>  > Starlingx-discuss mailing list
>>>  > Starlingx-discuss at lists.starlingx.io
>>>  > http://lists.starlingx.io/cgi-bin/mailman/listinfo/starlingx-discuss
>>>  >
>>>
>>> _______________________________________________
>>> Starlingx-discuss mailing list
>>> Starlingx-discuss at lists.starlingx.io
>>> http://lists.starlingx.io/cgi-bin/mailman/listinfo/starlingx-discuss
>>>
>>
>> _______________________________________________
>> 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