[JIRA] (OVIRT-1366) ovirt-engine maven caching configuration in CI
prevents using mock_runner locally
by Barak Korren (oVirt JIRA)
[ https://ovirt-jira.atlassian.net/browse/OVIRT-1366?page=com.atlassian.jir... ]
Barak Korren updated OVIRT-1366:
--------------------------------
Component/s: (was: oVirt CI)
CI client projects
> ovirt-engine maven caching configuration in CI prevents using mock_runner locally
> ---------------------------------------------------------------------------------
>
> Key: OVIRT-1366
> URL: https://ovirt-jira.atlassian.net/browse/OVIRT-1366
> Project: oVirt - virtualization made easy
> Issue Type: Bug
> Components: CI client projects
> Reporter: Barak Korren
> Assignee: infra
> Labels: ovirt-engine, standard-ci
>
> The engine STD-CI is configured currently to store the maven cache on the slave in '{{/home/jenkins/maven_cache}}'. This works well in CI but effectively renders that STD-CI scripts unusable for people trying to run '{{mock_runner.sh}}' locally with the engine repo.
> We need to move the cache somewhere else that would be writeable on any machine. '{{/var/tmp}}' seems like a good candidate.
--
This message was sent by Atlassian Jira
(v1001.0.0-SNAPSHOT#100087)
6 years, 6 months
[JIRA] (OVIRT-1366) ovirt-engine maven caching configuration in CI
prevents using mock_runner locally
by Barak Korren (oVirt JIRA)
[ https://ovirt-jira.atlassian.net/browse/OVIRT-1366?page=com.atlassian.jir... ]
Barak Korren updated OVIRT-1366:
--------------------------------
Epic Link: (was: OVIRT-400)
> ovirt-engine maven caching configuration in CI prevents using mock_runner locally
> ---------------------------------------------------------------------------------
>
> Key: OVIRT-1366
> URL: https://ovirt-jira.atlassian.net/browse/OVIRT-1366
> Project: oVirt - virtualization made easy
> Issue Type: Bug
> Components: oVirt CI
> Reporter: Barak Korren
> Assignee: infra
> Labels: ovirt-engine, standard-ci
>
> The engine STD-CI is configured currently to store the maven cache on the slave in '{{/home/jenkins/maven_cache}}'. This works well in CI but effectively renders that STD-CI scripts unusable for people trying to run '{{mock_runner.sh}}' locally with the engine repo.
> We need to move the cache somewhere else that would be writeable on any machine. '{{/var/tmp}}' seems like a good candidate.
--
This message was sent by Atlassian Jira
(v1001.0.0-SNAPSHOT#100087)
6 years, 6 months
[JIRA] (OVIRT-1366) ovirt-engine maven caching configuration in CI
prevents using mock_runner locally
by Barak Korren (oVirt JIRA)
[ https://ovirt-jira.atlassian.net/browse/OVIRT-1366?page=com.atlassian.jir... ]
Barak Korren updated OVIRT-1366:
--------------------------------
Epic Link: (was: OVIRT-400)
> ovirt-engine maven caching configuration in CI prevents using mock_runner locally
> ---------------------------------------------------------------------------------
>
> Key: OVIRT-1366
> URL: https://ovirt-jira.atlassian.net/browse/OVIRT-1366
> Project: oVirt - virtualization made easy
> Issue Type: Bug
> Components: oVirt CI
> Reporter: Barak Korren
> Assignee: infra
> Labels: ovirt-engine, standard-ci
>
> The engine STD-CI is configured currently to store the maven cache on the slave in '{{/home/jenkins/maven_cache}}'. This works well in CI but effectively renders that STD-CI scripts unusable for people trying to run '{{mock_runner.sh}}' locally with the engine repo.
> We need to move the cache somewhere else that would be writeable on any machine. '{{/var/tmp}}' seems like a good candidate.
--
This message was sent by Atlassian Jira
(v1001.0.0-SNAPSHOT#100087)
6 years, 6 months
[JIRA] (OVIRT-1374) Provide a mechanism to obtain an ever
increasing build number
by Barak Korren (oVirt JIRA)
[ https://ovirt-jira.atlassian.net/browse/OVIRT-1374?page=com.atlassian.jir... ]
Barak Korren updated OVIRT-1374:
--------------------------------
Resolution: Won't Fix
Status: Done (was: To Do)
Not going to add this - implementing this would require storing state in the CI system, and would be prone to failure if that state is corrupted or lost.
This would also make the build version not reproducible.
{{git describe}} provides a better mechanism to achieve what is needed in a stateless and reproducible manner.
> Provide a mechanism to obtain an ever increasing build number
> -------------------------------------------------------------
>
> Key: OVIRT-1374
> URL: https://ovirt-jira.atlassian.net/browse/OVIRT-1374
> Project: oVirt - virtualization made easy
> Issue Type: New Feature
> Components: Standard CI (Pipelines), STDCI DSL
> Reporter: Juan Hernández
> Assignee: infra
>
> Currently when a project needs to generate unique names for artifacts, they have to use mechanisms like embedding the date and/or the git hash into the artifact name. For example, when a new build of the Ruby SDK is generated, the name of the RPM is like this:
> rubygem-ovirt-engine-sdk4-4.2.0-1.alpha0.20170505gita6de891.el7.centos.ppc64le.rpm
> That information is useful, and usually unique. But can be repeated if the same jobs is manually triggered the same day, as the date and the git hash will be the same.
> In addition the date may be misleading, because a build performed later but using an old commit, will look newer than an older build that uses a newer commit.
> A possible solution is to count the number of commits since certain well known commit. But this isn't reliable if the repository isn't completely cloned, for example if it is cloned with '--depth 1', as that well known commit may not be in the cloned repository. That cloning out of the control of the automation scripts.
> So my suggestion/request is to add to the CI/CD environment a mechanism to provide that sequence to the jobs explicitly. I'd suggest to use the count of commits since the initial commit of the repository. The CI/CD environment performs the clone, so it can make sure it has all the relevant commits.
> This information could be passed to the build-artifacts.sh script in an environment variable, or in the command line, or in a file in a known location.
> With that each project could (optionally) modify its automation scripts to include that number. for example, in the Ruby SDK I'd like to generate RPMs like this:
> rubygem-ovirt-engine-sdk4-4.2.0-1.alpha0.<that-number>.rpm
--
This message was sent by Atlassian Jira
(v1001.0.0-SNAPSHOT#100087)
6 years, 6 months
[JIRA] (OVIRT-1374) Provide a mechanism to obtain an ever
increasing build number
by Barak Korren (oVirt JIRA)
[ https://ovirt-jira.atlassian.net/browse/OVIRT-1374?page=com.atlassian.jir... ]
Barak Korren updated OVIRT-1374:
--------------------------------
Component/s: (was: oVirt CI)
STDCI DSL
Standard CI (Pipelines)
> Provide a mechanism to obtain an ever increasing build number
> -------------------------------------------------------------
>
> Key: OVIRT-1374
> URL: https://ovirt-jira.atlassian.net/browse/OVIRT-1374
> Project: oVirt - virtualization made easy
> Issue Type: New Feature
> Components: Standard CI (Pipelines), STDCI DSL
> Reporter: Juan Hernández
> Assignee: infra
>
> Currently when a project needs to generate unique names for artifacts, they have to use mechanisms like embedding the date and/or the git hash into the artifact name. For example, when a new build of the Ruby SDK is generated, the name of the RPM is like this:
> rubygem-ovirt-engine-sdk4-4.2.0-1.alpha0.20170505gita6de891.el7.centos.ppc64le.rpm
> That information is useful, and usually unique. But can be repeated if the same jobs is manually triggered the same day, as the date and the git hash will be the same.
> In addition the date may be misleading, because a build performed later but using an old commit, will look newer than an older build that uses a newer commit.
> A possible solution is to count the number of commits since certain well known commit. But this isn't reliable if the repository isn't completely cloned, for example if it is cloned with '--depth 1', as that well known commit may not be in the cloned repository. That cloning out of the control of the automation scripts.
> So my suggestion/request is to add to the CI/CD environment a mechanism to provide that sequence to the jobs explicitly. I'd suggest to use the count of commits since the initial commit of the repository. The CI/CD environment performs the clone, so it can make sure it has all the relevant commits.
> This information could be passed to the build-artifacts.sh script in an environment variable, or in the command line, or in a file in a known location.
> With that each project could (optionally) modify its automation scripts to include that number. for example, in the Ruby SDK I'd like to generate RPMs like this:
> rubygem-ovirt-engine-sdk4-4.2.0-1.alpha0.<that-number>.rpm
--
This message was sent by Atlassian Jira
(v1001.0.0-SNAPSHOT#100087)
6 years, 6 months
[JIRA] (OVIRT-1374) Provide a mechanism to obtain an ever
increasing build number
by Barak Korren (oVirt JIRA)
[ https://ovirt-jira.atlassian.net/browse/OVIRT-1374?page=com.atlassian.jir... ]
Barak Korren updated OVIRT-1374:
--------------------------------
Epic Link: (was: OVIRT-400)
> Provide a mechanism to obtain an ever increasing build number
> -------------------------------------------------------------
>
> Key: OVIRT-1374
> URL: https://ovirt-jira.atlassian.net/browse/OVIRT-1374
> Project: oVirt - virtualization made easy
> Issue Type: New Feature
> Components: oVirt CI
> Reporter: Juan Hernández
> Assignee: infra
>
> Currently when a project needs to generate unique names for artifacts, they have to use mechanisms like embedding the date and/or the git hash into the artifact name. For example, when a new build of the Ruby SDK is generated, the name of the RPM is like this:
> rubygem-ovirt-engine-sdk4-4.2.0-1.alpha0.20170505gita6de891.el7.centos.ppc64le.rpm
> That information is useful, and usually unique. But can be repeated if the same jobs is manually triggered the same day, as the date and the git hash will be the same.
> In addition the date may be misleading, because a build performed later but using an old commit, will look newer than an older build that uses a newer commit.
> A possible solution is to count the number of commits since certain well known commit. But this isn't reliable if the repository isn't completely cloned, for example if it is cloned with '--depth 1', as that well known commit may not be in the cloned repository. That cloning out of the control of the automation scripts.
> So my suggestion/request is to add to the CI/CD environment a mechanism to provide that sequence to the jobs explicitly. I'd suggest to use the count of commits since the initial commit of the repository. The CI/CD environment performs the clone, so it can make sure it has all the relevant commits.
> This information could be passed to the build-artifacts.sh script in an environment variable, or in the command line, or in a file in a known location.
> With that each project could (optionally) modify its automation scripts to include that number. for example, in the Ruby SDK I'd like to generate RPMs like this:
> rubygem-ovirt-engine-sdk4-4.2.0-1.alpha0.<that-number>.rpm
--
This message was sent by Atlassian Jira
(v1001.0.0-SNAPSHOT#100087)
6 years, 6 months
[JIRA] (OVIRT-1374) Provide a mechanism to obtain an ever
increasing build number
by Barak Korren (oVirt JIRA)
[ https://ovirt-jira.atlassian.net/browse/OVIRT-1374?page=com.atlassian.jir... ]
Barak Korren updated OVIRT-1374:
--------------------------------
Epic Link: (was: OVIRT-400)
> Provide a mechanism to obtain an ever increasing build number
> -------------------------------------------------------------
>
> Key: OVIRT-1374
> URL: https://ovirt-jira.atlassian.net/browse/OVIRT-1374
> Project: oVirt - virtualization made easy
> Issue Type: New Feature
> Components: oVirt CI
> Reporter: Juan Hernández
> Assignee: infra
>
> Currently when a project needs to generate unique names for artifacts, they have to use mechanisms like embedding the date and/or the git hash into the artifact name. For example, when a new build of the Ruby SDK is generated, the name of the RPM is like this:
> rubygem-ovirt-engine-sdk4-4.2.0-1.alpha0.20170505gita6de891.el7.centos.ppc64le.rpm
> That information is useful, and usually unique. But can be repeated if the same jobs is manually triggered the same day, as the date and the git hash will be the same.
> In addition the date may be misleading, because a build performed later but using an old commit, will look newer than an older build that uses a newer commit.
> A possible solution is to count the number of commits since certain well known commit. But this isn't reliable if the repository isn't completely cloned, for example if it is cloned with '--depth 1', as that well known commit may not be in the cloned repository. That cloning out of the control of the automation scripts.
> So my suggestion/request is to add to the CI/CD environment a mechanism to provide that sequence to the jobs explicitly. I'd suggest to use the count of commits since the initial commit of the repository. The CI/CD environment performs the clone, so it can make sure it has all the relevant commits.
> This information could be passed to the build-artifacts.sh script in an environment variable, or in the command line, or in a file in a known location.
> With that each project could (optionally) modify its automation scripts to include that number. for example, in the Ruby SDK I'd like to generate RPMs like this:
> rubygem-ovirt-engine-sdk4-4.2.0-1.alpha0.<that-number>.rpm
--
This message was sent by Atlassian Jira
(v1001.0.0-SNAPSHOT#100087)
6 years, 6 months