<!-- 
RSS generated by JIRA (1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d) at Thu Feb 08 23:07:39 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary add field=key&field=summary to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>FOLIO Jira</title>
    <link>https://folio-org.atlassian.net</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>1001.0.0-SNAPSHOT</version>
        <build-number>100246</build-number>
        <build-date>07-02-2024</build-date>
    </build-info>

<item>
            <title>[FOLIO-691] Create Jenkins job to run packer build of folio/stable and folio/testing boxes</title>
                <link>https://folio-org.atlassian.net/browse/FOLIO-691</link>
                <project id="10290" key="FOLIO">FOLIO</project>
                    <description>&lt;p&gt;Will require running on a bare-metal server for VirtualBox&lt;/p&gt;</description>
                <environment></environment>
        <key id="80243">FOLIO-691</key>
            <summary>Create Jenkins job to run packer build of folio/stable and folio/testing boxes</summary>
                <type id="10002" iconUrl="https://folio-org.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10322?size=medium">New Feature</type>
                                            <priority id="10001" iconUrl="https://dev.folio.org/assets/jira-priority/jira-p2.svg">P2</priority>
                        <status id="6" iconUrl="https://folio-org.atlassian.net/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="green"/>
                                    <resolution id="10003">Done</resolution>
                                                        <assignee accountid="5c706fbb47a54a6728e59df2">Wayne Schneider</assignee>
                                                                <reporter accountid="5c706fbb47a54a6728e59df2">Wayne Schneider</reporter>
                                    <labels>
                            <label>ci</label>
                            <label>for-next-sprint</label>
                            <label>sprint17</label>
                            <label>sprint18</label>
                    </labels>
                <created>Thu, 22 Jun 2017 19:16:47 +0000</created>
                <updated>Mon, 12 Nov 2018 14:23:37 +0000</updated>
                            <resolved>Fri, 21 Jul 2017 16:55:14 +0000</resolved>
                                                                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                    <timespent seconds="71100">2 days, 3 hours, 45 minutes</timespent>
                                <comments>
                                                            <comment id="188629" author="5c706fbb47a54a6728e59df2" created="Fri, 30 Jun 2017 18:24:47 +0000"  >&lt;p&gt;Updated and tested new packer.json in folio-ansible. Environment on folio-jenkins-de in &lt;tt&gt;/home/wayne/folio-ansible&lt;/tt&gt;. Command to build:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
$ packer build -&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt;-file variables.json packer/packer.json
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Build targets are &lt;tt&gt;stable&lt;/tt&gt;,&lt;tt&gt;testing&lt;/tt&gt;, and &lt;tt&gt;testing-backend&lt;/tt&gt;. &lt;tt&gt;packer build&lt;/tt&gt; will build Vagrant boxes and push them to Vagrant Cloud.&lt;/p&gt;

&lt;p&gt;May need to look at using &lt;a href=&quot;https://www.vaultproject.io/&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;Vault&lt;/a&gt; for storing the Vagrant Cloud key.&lt;/p&gt;</comment>
                                                            <comment id="188631" author="5c706fbb47a54a6728e59df2" created="Tue, 11 Jul 2017 20:22:28 +0000"  >&lt;p&gt;This is working pretty well. I set up &lt;tt&gt;packer.json&lt;/tt&gt; with 4 targets, &lt;tt&gt;stable&lt;/tt&gt;, &lt;tt&gt;stable-backend&lt;/tt&gt;, &lt;tt&gt;testing&lt;/tt&gt;, and &lt;tt&gt;testing-backend&lt;/tt&gt;. Some stuff is controlled through a &lt;tt&gt;variables.json&lt;/tt&gt; file that is in the &lt;tt&gt;/home/wayne/folio-ansible&lt;/tt&gt; directory (mode &lt;tt&gt;600&lt;/tt&gt;, since it contains a key for Vagrant Cloud). I think there need to be 3 jobs, currently commands all executed from &lt;tt&gt;/home/wayne/folio-ansible&lt;/tt&gt;, obviously that isn&apos;t a good permanent solution:&lt;br/&gt;
1. Daily build of &lt;tt&gt;testing&lt;/tt&gt; and &lt;tt&gt;testing-backend&lt;/tt&gt;:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
packer build -&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt;-file variables.json -only testing,testing-backend packer/packer.json
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;2. Build of &lt;tt&gt;stable&lt;/tt&gt; (triggered on update of &lt;tt&gt;group_vars/stable&lt;/tt&gt; in folio-ansible?):&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
packer build -&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt;-file variables.json -only stable packer/packer.json
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;3. Build of &lt;tt&gt;stable-backend&lt;/tt&gt; (triggered on update of &lt;tt&gt;group_vars/stable-backend&lt;/tt&gt;?):&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
packer build -&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt;-file variables.json -only stable-backend packer/packer.json
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Currently I&apos;m running the commands myself. The jobs for stable and stable-backend may need some thinking, because the version and release notes are currently set in the &lt;tt&gt;variables.json&lt;/tt&gt; file, and would need to be updated before a new job is run.&lt;/p&gt;</comment>
                                                            <comment id="188633" author="5f9abc1eb45b2e007453f423" created="Wed, 12 Jul 2017 20:45:45 +0000"  >&lt;p&gt;I&apos;ll start on a Jenkins pipeline script to automate the above.   In the meantime,  let&apos;s move the packer stuff into the &lt;br/&gt;
folio-infrastructure/CI/packer of the folio-infrastructure project.   &lt;/p&gt;</comment>
                                                            <comment id="188634" author="5c706fbb47a54a6728e59df2" created="Wed, 12 Jul 2017 22:35:30 +0000"  >&lt;p&gt;Plan is to move packer config into folio-infrastructure repository, parse version information from group_vars files.&lt;/p&gt;</comment>
                                                            <comment id="188636" author="5c706fbb47a54a6728e59df2" created="Tue, 18 Jul 2017 23:16:18 +0000"  >&lt;p&gt;First draft of pipeline: &lt;a href=&quot;https://jenkins-aws.indexdata.com/job/Automation/job/folio-blackbox/&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://jenkins-aws.indexdata.com/job/Automation/job/folio-blackbox/&lt;/a&gt;&lt;/p&gt;</comment>
                                                            <comment id="188638" author="5f9abc1eb45b2e007453f423" created="Wed, 19 Jul 2017 12:49:12 +0000"  >&lt;p&gt;Just a rehash of Slack chat... Following items are outstanding after first draft. &lt;/p&gt;

&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Replace Wayne&apos;s personal Atlas token in Jenkins with new one.&lt;/li&gt;
	&lt;li&gt;Box tags and box descriptions need to be configurable.   Re-implement package.json?&lt;/li&gt;
	&lt;li&gt;Versions stored and parsed from Ansible group_var/stable and group_var/testing&lt;/li&gt;
	&lt;li&gt;Datestamp can be appended to Semver versions.&lt;/li&gt;
	&lt;li&gt;Set up &apos;post&apos; build notifications in Jenkinsfile&lt;/li&gt;
	&lt;li&gt;Add Jenkinsfile to git (same dir as packer)&lt;/li&gt;
	&lt;li&gt;Job scheduling&lt;/li&gt;
&lt;/ul&gt;
</comment>
                                                            <comment id="188639" author="5c706fbb47a54a6728e59df2" created="Thu, 20 Jul 2017 15:21:49 +0000"  >&lt;p&gt;All of the above is done except for scheduling and configuration of box tags.&lt;/p&gt;

&lt;p&gt;Notes:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Box tags can be configured by updating the Jenkinsfile, but that&apos;s a little heavy. Do we want it to be parameterized?&lt;/li&gt;
	&lt;li&gt;The Atlas token is for the folio-atlas Vagrant Cloud user.&lt;/li&gt;
	&lt;li&gt;Versions and version descriptions are stored in the group_vars files in folio-ansible.&lt;/li&gt;
	&lt;li&gt;post build email notifications are being sent to me. Also send to &lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=5f9abc1eb45b2e007453f423&quot; class=&quot;user-hover&quot; rel=&quot;5f9abc1eb45b2e007453f423&quot; data-account-id=&quot;5f9abc1eb45b2e007453f423&quot; accountid=&quot;5f9abc1eb45b2e007453f423&quot; rel=&quot;noreferrer&quot;&gt;John Malconian&lt;/a&gt;?&lt;/li&gt;
&lt;/ul&gt;
</comment>
                                                            <comment id="188641" author="5f9abc1eb45b2e007453f423" created="Thu, 20 Jul 2017 15:32:52 +0000"  >&lt;p&gt;maybe store the box tags in the group_vars files.    Can also parameterize them in Jenkins with default values.     You can send post build email notifications to folio-jenkins@indexdata.com (that&apos;s John, Wayne, and Charles). &lt;/p&gt;</comment>
                                                            <comment id="188642" author="5c706fbb47a54a6728e59df2" created="Thu, 20 Jul 2017 20:50:07 +0000"  >&lt;p&gt;OK, they are parameterized in Jenkins with defaults, so you can change on the fly if you need to. Post build notifications have been updated.&lt;/p&gt;

&lt;p&gt;I changed how the FOLIO_BUILD parameter works &amp;#8211; it now takes a comma-delimited list of builds, e.g. &lt;tt&gt;testing,testing-backend&lt;/tt&gt;. The possible values are &lt;tt&gt;stable&lt;/tt&gt;, &lt;tt&gt;stable-backend&lt;/tt&gt;, &lt;tt&gt;testing&lt;/tt&gt;,&lt;tt&gt;testing-backend&lt;/tt&gt;, and &lt;tt&gt;minimal&lt;/tt&gt;. I&apos;m not planning on keeping the &lt;tt&gt;folio/minimal&lt;/tt&gt; box up to date, unless someone sees value in an Okapi-only Vagrant box, I just put it there to have something reasonably quick to build for testing.&lt;/p&gt;

&lt;p&gt;I think the only thing left is scheduling. We may need to look into the &lt;a href=&quot;https://wiki.jenkins.io/display/JENKINS/Parameterized+Scheduler+Plugin&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;Parameterized Scheduler Plugin&lt;/a&gt;. IDK if we want any other triggers to schedule a build.&lt;/p&gt;</comment>
                                                            <comment id="188644" author="5f9abc1eb45b2e007453f423" created="Fri, 21 Jul 2017 16:55:14 +0000"  >&lt;p&gt;I set the FOLIO_BUILD parameter to default to &apos;testing,testing-backend&apos; in the &apos;folio-blackbox&apos; jenkins job.   The job to run is scheduled to run between 1-3am UTC daily.   We could get clever and initiate the job only if folio-testing-backend01 completes successfully (or vice versa), but let&apos;s keep it simple for now.    For now, we will run a folio-stable build manually.&lt;/p&gt;

&lt;p&gt;I also made some minor updates to the status notifications in the pipeline script and committed the changes.    &lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10000">
                    <name>Blocks</name>
                                            <outwardlinks description="blocks">
                                        <issuelink>
            <issuekey id="80217">FOLIO-669</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is blocked by">
                                        <issuelink>
            <issuekey id="80245">FOLIO-692</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10003">
                    <name>Relates</name>
                                                                <inwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="80220">FOLIO-702</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10000" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummarycf">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10019" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|hzxprr:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10020" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10024" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>[CHART] Date of First Response</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Wed, 12 Jul 2017 20:45:45 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10025" key="com.atlassian.jira.ext.charting:timeinstatus">
                        <customfieldname>[CHART] Time in Status</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                    </customfields>
    </item>
</channel>
</rss>