Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

kubernetes-dashboard build differs from parallelism #3234

Closed
bmwiedemann opened this issue Aug 25, 2018 · 11 comments
Closed

kubernetes-dashboard build differs from parallelism #3234

bmwiedemann opened this issue Aug 25, 2018 · 11 comments
Labels
lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness.

Comments

@bmwiedemann
Copy link
Contributor

bmwiedemann commented Aug 25, 2018

Environment
Dashboard version: 27408f1922c26d758cf1ac4639ccc4d1efdd45a5
Kubernetes version: N/A
Operating system: openSUSE-Tumbleweed 20180825
Node.js version: v8.11.3
Go version: go1.10.3
Steps to reproduce

On openSUSE or Debian do

osc checkout openSUSE:Factory/kubernetes-dashboard && cd $_
osc build -j2 --vm-type=kvm --keep-pkg=RPMS --noservice \
 "--build-opt=--vm-custom-opt=-rtc base=$(date -d@$((1535200000+31536000*($RANDOM%100))) -u +%FT%T)" \
 --define='%_buildhost reproducible' \
 --define='%clamp_mtime_to_source_date_epoch Y' \
 --define='%use_source_date_epoch_as_buildtime Y'
cd RPMS
md5sum *x86_64.rpm
unrpm *x86_64.rpm
md5sum var/lib/kubernetes-dashboard/public/*/static/app.*.js
Observed result

produces different RPMs for most runs

Expected result

should produce identical RPMs in each run

Comments

This is in addition to #3233
If you do not apply this patch, you have to omit the line with -rtc
Building with -j1 instead of -j2 already gives reproducible results.

@bmwiedemann
Copy link
Contributor Author

bmwiedemann commented Aug 25, 2018

The part that differs is /var/lib/kubernetes-dashboard/public/*/static/app.*.js
where even the name varies

from var/lib/kubernetes-dashboard/public/zh/static/app.*.js:

 Z.run(["$templateCache",function(a){a.put("common/components/togglehiddentext/togglehiddentext.html",' <pre ng-if="$ctrl.active" class="kd-pre-block">{{::$ctrl.text}}</pre> <span ng-if="!$ctrl.active"> <span ng-if="::$ctrl.placeholder.length">{{::$ctrl.placeholder}}</span> <input ng-if="::!$ctrl.placeholder.length" type="password" readonly="readonly" flex="nogrow" class="kd-toggle-hidden-text-input" value="{{::$ctrl.text}}"> </span> ')}]);
-Z.run(["$templateCache",function(a){a.put("common/components/uploadfile/uploadfile.html",' <div layout="row" layout-align="space-between start"> <input id="fileInput" type="file" class="ng-hide"> <div flex="auto"> <md-input-container class="md-block kd-upload-file-container"> <label>{{label}}</label> <input id="textInput" ng-model="fileName" ng-readonly="true" required md-no-asterisk> </md-input-container> </div> <md-button id="uploadButton" class="md-primary kd-upload-button" aria-label="attach_file"> <label class="kd-upload-label"> <md-icon> <i class="material-icons">more_horiz</i> </md-icon> </label> </md-button> </div> ')}]);
 Z.run(["$templateCache",function(a){a.put("common/components/warnings/warnings.html",' <div ng-if="$ctrl.warnings.length" class="kd-warnings-container"> <div class="kd-warning-message" ng-repeat="warning in $ctrl.warnings | limitTo: $ctrl.limit"> <md-icon class="material-icons">warning</md-icon> <span class="kd-raw-warning" flex> {{$ctrl.getLocalizedMessage(warning.ErrStatus.message)}} </span> <md-icon ng-click="$ctrl.dismissWarning($index)" class="material-icons kd-dismiss-icon"> close <md-tooltip md-delay="500" md-autohide> \u5ffd\u7565 </md-tooltip> </md-icon> </div> <div class="kd-more-warnings" ng-if="$ctrl.warnings.length > $ctrl.defaultLimit"> <md-button ng-if="$ctrl.limit" ng-click="$ctrl.toggleWarnings()"> <md-icon class="material-icons">expand_more</md-icon> {{$ctrl.getShowMoreLabel()}} </md-button> <md-button ng-if="!$ctrl.limit" ng-click="$ctrl.toggleWarnings()"> <md-icon class="material-icons">expand_less</md-icon> {{$ctrl.getShowLessLabel()}} </md-button> <span flex></span> <md-button ng-click="$ctrl.dismissWarnings()">\u5ffd\u7565\u6240\u6709</md-button> </div> </div> ')}]);
+Z.run(["$templateCache",function(a){a.put("common/components/uploadfile/uploadfile.html",' <div layout="row" layout-align="space-between start"> <input id="fileInput" type="file" class="ng-hide"> <div flex="auto"> <md-input-container class="md-block kd-upload-file-container"> <label>{{label}}</label> <input id="textInput" ng-model="fileName" ng-readonly="true" required md-no-asterisk> </md-input-container> </div> <md-button id="uploadButton" class="md-primary kd-upload-button" aria-label="attach_file"> <label class="kd-upload-label"> <md-icon> <i class="material-icons">more_horiz</i> </md-icon> </label> </md-button> </div> ')}]);

It seems to be an issue with random ordering.

@fejta-bot
Copy link

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Nov 23, 2018
@bmwiedemann
Copy link
Contributor Author

bmwiedemann commented Nov 24, 2018

a workaround for this issue is to do

taskset 1 node node_modules/gulp/bin/gulp.js build

@bmwiedemann
Copy link
Contributor Author

/remove-lifecycle stale

@k8s-ci-robot k8s-ci-robot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Nov 24, 2018
@floreks
Copy link
Member

floreks commented Dec 13, 2018

This should be resolved when we switch to the migration build, which should happen quite soon.

@fejta-bot
Copy link

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Mar 13, 2019
@maciaszczykm maciaszczykm removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Mar 13, 2019
@fejta-bot
Copy link

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jun 11, 2019
@fejta-bot
Copy link

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale

@fejta-bot
Copy link

Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle rotten

@k8s-ci-robot k8s-ci-robot added lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Oct 9, 2019
@maciaszczykm
Copy link
Member

/lifecycle frozen

@k8s-ci-robot k8s-ci-robot added lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. and removed lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. labels Oct 9, 2019
@maciaszczykm
Copy link
Member

We have changed build system with the new version. Please reopen if the issue persists.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness.
Projects
None yet
Development

No branches or pull requests

5 participants