<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://devproj.inf.ed.ac.uk"  xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>DICE development projects - squinney</title>
 <link>http://devproj.inf.ed.ac.uk/project-managers/squinney</link>
 <description></description>
 <language>en</language>
<item>
 <title>Virtual desktop infrastructure</title>
 <link>http://devproj.inf.ed.ac.uk/show/295</link>
 <description>&lt;div class=&quot;field field-name-field-projectid field-type-serial field-label-inline clearfix&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Project ID:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;295&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-current-stage field-type-taxonomy-term-reference field-label-inline clearfix&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Current stage:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/project-stages/0pending&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;0_Pending&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-manager field-type-taxonomy-term-reference field-label-inline clearfix&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Manager:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/project-managers/squinney&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;squinney&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-unit field-type-taxonomy-term-reference field-label-inline clearfix&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Unit:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/unit/mp-unit&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;mp-unit&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-summary field-type-text field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Summary:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;Virtual desktop infrastructure&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-what field-type-text-long field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;What:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;Provide a decent virtual desktop infrastructure. For researchers (e.g. staff, postdocs, postgrads) who have DICE desktops, the service might utilise the computing resources of the desktop machine allocated to the particular user. This is not possible with NX but there are probably other systems out there which can be used, this project will evaluate the various options to come up with a proposal for future implementation.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-why field-type-text-long field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Why:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;The recently deployed NX service has been wildly popular and users would like an even better service. It&#039;s clear that running just one server for this purpose is not going to be sufficient. We have to limit resource access (e.g. memory) so that it is reasonably usable by all. Most staff have DICE desktop machines so it would be nice to have some system to allow remote graphical access.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-effort-estimate field-type-text field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Effort estimate:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;2 weeks&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-other field-type-text-long field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Other:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;Dependencies:&lt;/p&gt;
&lt;p&gt;Risks:&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
 <pubDate>Fri, 11 Oct 2013 09:05:32 +0000</pubDate>
 <dc:creator>squinney</dc:creator>
 <guid isPermaLink="false">2149 at http://devproj.inf.ed.ac.uk</guid>
 <comments>http://devproj.inf.ed.ac.uk/show/295#comments</comments>
</item>
<item>
 <title>User accessible login reports</title>
 <link>http://devproj.inf.ed.ac.uk/show/254</link>
 <description>&lt;div class=&quot;field field-name-field-projectid field-type-serial field-label-inline clearfix&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Project ID:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;254&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-current-stage field-type-taxonomy-term-reference field-label-inline clearfix&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Current stage:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/project-stages/5completed&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;5_Completed&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-manager field-type-taxonomy-term-reference field-label-inline clearfix&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Manager:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/project-managers/squinney&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;squinney&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-unit field-type-taxonomy-term-reference field-label-inline clearfix&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Unit:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/unit/mp-unit&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;mp-unit&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-what field-type-text-long field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;What:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;b&gt;Description: &lt;/b&gt;
&lt;/p&gt;&lt;p&gt;The recent development of a database to store interesting events that have been filtered out from the centrally-stored syslog files means that it is now relatively straightforward to generate reports of logins for our users.&lt;/p&gt;
&lt;p&gt;The aim of this project is to produce a mechanism (eg individual email reports, cosign-protected web page) for users to see from which remote machines their account has been accessed - including ssh and weblogin logins.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Deliverables: &lt;/b&gt; A working mechanism.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-why field-type-text-long field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Why:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;b&gt;Customer: &lt;/b&gt; All users&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Case statement: &lt;/b&gt; Recent evidence shows us that compromised accounts are a serious, and not infrequent, threat to the integrity of our computing systems.&lt;/p&gt;
&lt;p&gt;
When an account has been compromised, an attacker will often log on to systems accessible by that account to check for any local root exploits. If there are no current root exploits on those systems, the attacker will quietly logoff and keep the account details for a future attempt.&lt;/p&gt;
&lt;p&gt;
Providing a mechanism by which users could see from which external machine their account was accessed would allow users to spot suspicious activity on their account, hopefully before any malicious damage is done.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-when field-type-text-long field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;When:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;b&gt;Status: &lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Timescales: &lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Priority: &lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Time: &lt;/b&gt; &lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-how field-type-text-long field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;How:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;b&gt;Proposal: &lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Resources: &lt;/b&gt; Two weeks&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Plan: &lt;/b&gt;
&lt;/p&gt;&lt;p&gt;The simplest approach to providing access to this information for our users is to create a cosign-protected CGI script. This would use SQL to securely query the data stored in the buzzsaw database stored on the central log server.&lt;/p&gt;
&lt;p&gt;The intention is to write this script using the python programming language. This provides the opportunity to gain valuable experience with an alternative programming language. This clearly means that the project will take longer but that has been factored into the effort allocation.&lt;/p&gt;
&lt;p&gt;The web interface does not need to be complicated but will ideally have facilities to allowing basic paging (e.g. month by month) and sorting of the data (e.g. by date, source host, target host).&lt;/p&gt;
&lt;p&gt;Separation of the query code from the presentation by using a templating system is preferable to make it easier to modify the interface in the future.&lt;/p&gt;
&lt;p&gt;Along with the web interface we will send an email to each user every month summarising all the logins from the previous month. This means that all users will be encouraged to check their login history regularly.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-effort-taken-days- field-type-number-integer field-label-inline clearfix&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Effort taken (days):&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;15&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-final-report-url field-type-url field-label-inline clearfix&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Final report URL:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;https://wiki.inf.ed.ac.uk/DICE/FinalProjectReport254&quot;&gt;https://wiki.inf.ed.ac.uk/DICE/FinalProjectReport254&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-other field-type-text-long field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Other:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;b&gt;Dependencies: &lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Risks: &lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Milestones&lt;/b&gt;&lt;/p&gt;
&lt;table&gt;&lt;th&gt;Proposed date&lt;/th&gt;
&lt;th&gt;Achieved date&lt;/th&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;tr&gt;&lt;td&gt;&lt;/td&gt;
&lt;td&gt;2012-11-23&lt;/td&gt;
&lt;td&gt;sql&lt;/td&gt;
&lt;td&gt;Develop the python code to do the necessary SQL queries against the buzzsaw database. &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;
&lt;td&gt;2012-11-30&lt;/td&gt;
&lt;td&gt;cgi&lt;/td&gt;
&lt;td&gt;Develop a cosign-protected cgi script which will use the sql query functions to find a list of logins for the user.&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;
&lt;td&gt;2012-12-14&lt;/td&gt;
&lt;td&gt;presentation&lt;/td&gt;
&lt;td&gt;Develop a web interface using a templating system to present the data to the user in a reasonable format with basic paging and sorting functionality.
&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;
&lt;td&gt;2012-12-21&lt;/td&gt;
&lt;td&gt;email&lt;/td&gt;
&lt;td&gt;Develop a system to send an email to each user every month which summarises their login activity.&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
 <pubDate>Fri, 25 Jan 2013 15:46:26 +0000</pubDate>
 <dc:creator>boss</dc:creator>
 <guid isPermaLink="false">2107 at http://devproj.inf.ed.ac.uk</guid>
 <comments>http://devproj.inf.ed.ac.uk/show/254#comments</comments>
</item>
<item>
 <title>Build Farm enhancements</title>
 <link>http://devproj.inf.ed.ac.uk/show/245</link>
 <description>&lt;div class=&quot;field field-name-field-projectid field-type-serial field-label-inline clearfix&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Project ID:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;245&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-current-stage field-type-taxonomy-term-reference field-label-inline clearfix&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Current stage:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/project-stages/0pending&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;0_Pending&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-manager field-type-taxonomy-term-reference field-label-inline clearfix&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Manager:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/project-managers/squinney&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;squinney&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-unit field-type-taxonomy-term-reference field-label-inline clearfix&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Unit:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/unit/mp-unit&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;mp-unit&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-what field-type-text-long field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;What:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;b&gt;Description: &lt;/b&gt; This project will fix various bugs in the PkgForge build farm software and deliver a number of feature enhancements.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Deliverables: &lt;/b&gt; &lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-why field-type-text-long field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Why:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;b&gt;Customer: &lt;/b&gt; Informatics computing team. Potentially also external users so they should not be ignored but they are not a priority. &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Case statement: &lt;/b&gt;
&lt;/p&gt;&lt;p&gt;Since its entry into service in Informatics the PkgForge software build farm has been very successfully used to port LCFG and DICE to the SL6 platform. A number of minor bugs and niggles with the interface have been discovered that users would like resolved.&lt;/p&gt;
&lt;p&gt;Due to a shortage of time with the original project the web interface is rather basic and needs a lot of work to provide a better user experience, it also needs reworking internally to use the correct APIs.&lt;/p&gt;
&lt;p&gt;There are also a few new features which are very desirable, for instance, gpg signing of packages would help enhance the security of our systems.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-when field-type-text-long field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;When:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;b&gt;Status: &lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Timescales: &lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Priority: &lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Time: &lt;/b&gt; &lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-how field-type-text-long field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;How:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;b&gt;Proposal: &lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Resources: &lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Plan: &lt;/b&gt;
&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Add systemd support for daemons (1 day)&lt;/li&gt;
&lt;li&gt;Fix reported bugs (1 day)&lt;/li&gt;
&lt;li&gt;Rework the web interface (4 days)&lt;/li&gt;
&lt;li&gt;Feature enhancement: Add support for signing packages (2 days)&lt;/li&gt;
&lt;li&gt;Feature enhancement: Soft/hard build timeouts (1 day)&lt;/li&gt;
&lt;li&gt;Feature enhancement: Job resubmission (2 days)&lt;/li&gt;
&lt;li&gt;Feature enhancement: Live view of build logs (2 days)&lt;/li&gt;
&lt;li&gt;Feature enhancement: Allow building against a target without submission (1 day)&lt;/li&gt;
&lt;li&gt;Feature enhancement: Add query functionality to the command line client (2 days)&lt;/li&gt;
&lt;li&gt;Feature enhancement: Enhance package quality checks (rpmlint, etc) (2 days)&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-other field-type-text-long field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Other:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;b&gt;Dependencies: &lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Risks: &lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Milestones&lt;/b&gt;&lt;/p&gt;
&lt;table&gt;&lt;th&gt;Proposed date&lt;/th&gt;
&lt;th&gt;Achieved date&lt;/th&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
 <pubDate>Fri, 25 Jan 2013 15:46:24 +0000</pubDate>
 <dc:creator>boss</dc:creator>
 <guid isPermaLink="false">2098 at http://devproj.inf.ed.ac.uk</guid>
 <comments>http://devproj.inf.ed.ac.uk/show/245#comments</comments>
</item>
<item>
 <title>LCFG client refactor - code cleanup</title>
 <link>http://devproj.inf.ed.ac.uk/show/225</link>
 <description>&lt;div class=&quot;field field-name-field-projectid field-type-serial field-label-inline clearfix&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Project ID:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;225&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-current-stage field-type-taxonomy-term-reference field-label-inline clearfix&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Current stage:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/project-stages/3implementation&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;3_Implementation&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-manager field-type-taxonomy-term-reference field-label-inline clearfix&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Manager:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/project-managers/squinney&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;squinney&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-unit field-type-taxonomy-term-reference field-label-inline clearfix&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Unit:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/unit/mp-unit&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;mp-unit&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-what field-type-text-long field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;What:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;b&gt;Description: &lt;/b&gt;
&lt;/p&gt;&lt;p&gt;The aim of this project is to cleanup up the code of the LCFG client&lt;br /&gt;
(primarily rdxprof). This will not be a complete rewrite and we do not&lt;br /&gt;
intend to add new features. The project will however go beyond basic&lt;br /&gt;
refactoring by addressing a couple of longstanding bugs which have&lt;br /&gt;
been seen to regularly cause problems for users. The aim is to bring&lt;br /&gt;
the code up to &quot;Modern Perl&quot; standards and make it more portable.&lt;/p&gt;
&lt;p&gt;Note that completely redesigning the code (such as reimplementing&lt;br /&gt;
using a proper Object-Oriented framework like Moose) is outside of the&lt;br /&gt;
scope of this project.&lt;/p&gt;
&lt;p&gt;This is expected to require 4 weeks effort, the project has been split&lt;br /&gt;
up into 11 tasks with 19 days allocated which leaves 1 day of&lt;br /&gt;
leeway. Time allocations for tasks have been rounded up to the nearest&lt;br /&gt;
half day of effort, some will take less, some might take more. For&lt;br /&gt;
some of the tasks the changes might be quite small but a good&lt;br /&gt;
understanding of the code will need to be acquired first.&lt;/p&gt;
&lt;p&gt;This is a child project of &lt;a href=&quot;https://devproj.inf.ed.ac.uk/project/show/139&quot;&gt;project 139&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Deliverables: &lt;/b&gt; Cleaner LCFG client component code&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-why field-type-text-long field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Why:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;b&gt;Customer: &lt;/b&gt; Internal&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Case statement: &lt;/b&gt; There is a significant risk that the existing code base might not run &quot;as is&quot; on future DICE platforms. Further developments of LCFG are also stalled because of the difficulty of extending the existing code. &lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-when field-type-text-long field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;When:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;b&gt;Status: &lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Timescales: &lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Priority: &lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Time: &lt;/b&gt; &lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-how field-type-text-long field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;How:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;b&gt;Proposal: &lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Resources: &lt;/b&gt; Four weeks.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Plan: &lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;h3&gt;1. Rework the rdxprof script as a Perl module. (0.5 days)&lt;/h3&gt;
&lt;p&gt;This makes the code more manageable and potentially reuable, it also&lt;br /&gt;
allows the creation of a code-level test suite for the various&lt;br /&gt;
subroutines. This will reduce the risk involved in future development&lt;br /&gt;
and maintenance. The rdxprof script will still exist but will just&lt;br /&gt;
call functions from the new module (a similar approach was taken with&lt;br /&gt;
the LCFG server mkxprof script).&lt;/p&gt;
&lt;h3&gt;2. Basic test suite (0.5 days)&lt;/h3&gt;
&lt;p&gt;Add basic compilation tests for all modules which can be run each time&lt;br /&gt;
the package is built.&lt;/p&gt;
&lt;h3&gt;3. Run code through perltidy (1 day)&lt;/h3&gt;
&lt;p&gt;This will make the code indentation and formatting more consistent and&lt;br /&gt;
thus more readable. It will be done to the same rules as the LCFG&lt;br /&gt;
server code base.&lt;/p&gt;
&lt;h3&gt;4. Refactor code to satisfy perl critic level 5 (2 days)&lt;/h3&gt;
&lt;p&gt;This stage will refactor the code to deal with the worst cases of&lt;br /&gt;
badly written Perl based on the findings of the perlcritic tool.&lt;/p&gt;
&lt;h3&gt;5. Refactor code to satisfy perl critic level 4 where possible (2 days)&lt;/h3&gt;
&lt;p&gt;This stage will refactor the code to eliminate the majority of the&lt;br /&gt;
lesser code issues. The experience of improving the LCFG server code&lt;br /&gt;
showed that it is not entirely possible to satisfy level 4. There are&lt;br /&gt;
likely to be some cases where it is essential to implement&lt;br /&gt;
functionality in a way which might not be considered &quot;best practices&quot;.&lt;/p&gt;
&lt;h3&gt;6. Enable &#039;warnings&#039; and eradicate any use of undefined variables (4 days)&lt;/h3&gt;
&lt;p&gt;None of the LCFG client modules or the rdxprof script have the Perl&lt;br /&gt;
warnings pragma enabled. We should enable this in all code to avoid&lt;br /&gt;
nasty surprises. Based on the experiences of refactoring the LCFG&lt;br /&gt;
server code this is likely to result in a substantial number of&lt;br /&gt;
warnings being generated related to the usage of undefined&lt;br /&gt;
variables. Eradicating this use of undefined variables is likely to be&lt;br /&gt;
the biggest part of the project, in particular, finding them takes&lt;br /&gt;
quite a bit of effort when they lie in uncommonly used code paths. It&lt;br /&gt;
also requires a good working knowledge of the code to understand when&lt;br /&gt;
there is a specific meaning attached to a variable being in an&lt;br /&gt;
undefined state.&lt;/p&gt;
&lt;h3&gt;7. Improve option handling (1 day)&lt;/h3&gt;
&lt;p&gt;The current handling of command-line options in rdxprof is fairly poor&lt;br /&gt;
and does not support the longer descriptive option name style. It&lt;br /&gt;
would also be very useful to add support for a simple configuration&lt;br /&gt;
file. This would make it easier to separate the client code and the&lt;br /&gt;
LCFG component into separate projects in SVN.&lt;/p&gt;
&lt;h3&gt;8. Eradicate hard wired paths (1 day)&lt;/h3&gt;
&lt;p&gt;There are a number of paths hardwired into the code using the CMake&lt;br /&gt;
macro syntax (e.g. @FOO@). This means it is currently not possible to&lt;br /&gt;
run rdxprof unless you are the root user, even if you can read the XML&lt;br /&gt;
profiles. They should all be converted into command-line options with&lt;br /&gt;
the current values being the defaults for root and new defaults being&lt;br /&gt;
introduced for the non-root user scenario. These macros also need to&lt;br /&gt;
be removed so that we can convert the code into a standard Perl&lt;br /&gt;
package.&lt;/p&gt;
&lt;h3&gt;9. Split client and LCFG component (1 day)&lt;/h3&gt;
&lt;p&gt;The LCFG client code should be split out into a separate project in&lt;br /&gt;
SVN. This would allow the packaging to be reworked so that it is&lt;br /&gt;
buildable as a standard Perl module which can be submitted to&lt;br /&gt;
CPAN. The LCFG component would still be built as normal using the&lt;br /&gt;
CMake based system.&lt;/p&gt;
&lt;p&gt;This follows the way in which the LCFG server code is packaged. It&lt;br /&gt;
should be relatively straightforward, and can reuse the Module::Build&lt;br /&gt;
module created for that package.&lt;/p&gt;
&lt;h3&gt;10. Bug Fix: Rework the network port handling (4 days)&lt;/h3&gt;
&lt;p&gt;On startup the client attempts to listen on a network port so that it&lt;br /&gt;
can receive signals from the server when a new profile is&lt;br /&gt;
available. If the port has already been taken by another process then&lt;br /&gt;
the client hangs forever. This is particularly undesirable behaviour&lt;br /&gt;
as it leaves a machine in an unmanageable state, we should rework this&lt;br /&gt;
code so that it fails better. The client should be able to just log&lt;br /&gt;
the error and carry on. There is no issue with continuing without the&lt;br /&gt;
ability to listen for notifications since the client will still be&lt;br /&gt;
able to regularly poll the server for changes, the responsive will&lt;br /&gt;
only be slightly degraded.&lt;/p&gt;
&lt;h3&gt;11. Bug Fix: Regularly lookup the addresses for servers (2 days)&lt;/h3&gt;
&lt;p&gt;Currently, once the client has looked up the address for a server it&lt;br /&gt;
continues to use that address until the process is restarted. This&lt;br /&gt;
makes it very difficult to move a server (for instance, by just moving&lt;br /&gt;
a DNS CNAME from one host to another). This data should be stored in a&lt;br /&gt;
time-limited cache so that lookups are redone occasionally.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-final-report-url field-type-url field-label-inline clearfix&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Final report URL:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;https://wiki.inf.ed.ac.uk/DICE/FinalProjectReport225&quot;&gt;https://wiki.inf.ed.ac.uk/DICE/FinalProjectReport225&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-other field-type-text-long field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Other:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;b&gt;Dependencies: &lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Risks: &lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Milestones&lt;/b&gt;&lt;/p&gt;
&lt;table&gt;&lt;th&gt;Proposed date&lt;/th&gt;
&lt;th&gt;Achieved date&lt;/th&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
 <pubDate>Fri, 25 Jan 2013 15:46:20 +0000</pubDate>
 <dc:creator>boss</dc:creator>
 <guid isPermaLink="false">2078 at http://devproj.inf.ed.ac.uk</guid>
 <comments>http://devproj.inf.ed.ac.uk/show/225#comments</comments>
</item>
<item>
 <title>System Security Enhancements</title>
 <link>http://devproj.inf.ed.ac.uk/show/224</link>
 <description>&lt;div class=&quot;field field-name-field-projectid field-type-serial field-label-inline clearfix&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Project ID:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;224&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-current-stage field-type-taxonomy-term-reference field-label-inline clearfix&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Current stage:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/project-stages/5completed&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;5_Completed&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-manager field-type-taxonomy-term-reference field-label-inline clearfix&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Manager:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/project-managers/squinney&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;squinney&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-unit field-type-taxonomy-term-reference field-label-inline clearfix&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Unit:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/unit/mp-unit&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;mp-unit&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-what field-type-text-long field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;What:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;b&gt;Description: &lt;/b&gt; This project will enhance the security of our systems in various ways based on the proposals made in the report into the compromise of the SSH servers.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Deliverables: &lt;/b&gt; More secure DICE infrastructure.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-why field-type-text-long field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Why:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;b&gt;Customer: &lt;/b&gt; Internal.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Case statement: &lt;/b&gt; &lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-when field-type-text-long field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;When:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;b&gt;Status: &lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Timescales: &lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Priority: &lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Time: &lt;/b&gt; &lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-how field-type-text-long field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;How:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;b&gt;Proposal: &lt;/b&gt;
&lt;/p&gt;&lt;p&gt;The expectation is that all of the &quot;main aims&quot; will be completed within the time allotted. If there is spare time then work will be done on the &quot;other possibilities&quot; section of the project.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Resources: &lt;/b&gt; 4 weeks effort.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Plan: &lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;h3&gt;Main Aims&lt;/h3&gt;
&lt;ol&gt;&lt;li&gt;
&lt;p&gt;&lt;strong&gt;System Auditing:&lt;/strong&gt;&lt;br /&gt;We should enable the Linux audit daemon on all DICE machines with a reasonable set of default rules. This will, for instance, make it possible to trace all modifications to important parts of the filesystem and monitor the execution of setuid root files. For important servers we would also like to have a facility to securely send the audit logs to a remote central server.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Enhance logging and automate the log monitoring:&lt;/strong&gt;&lt;br /&gt;In particular we need to automatically monitor the syslogs for all DICE systems to spot events, such as kernel panics, which might indicate attempts by a user to leverage a local security hole.&lt;/p&gt;
&lt;/li&gt;&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Regularly monitor the file-system:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;
It is clear that we need to monitor the file-system of our servers for unauthorized changes. In particular we should monitor:&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;All setuid root scripts which are runnable by other users.&lt;/li&gt;
&lt;li&gt;All files which are not owned by RPMs&lt;/li&gt;
&lt;li&gt;Important directories such as /etc/.
&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Some of this can be done using the Linux audit daemon but it would be good to have additional coverage. This can be done with intrusion-detection software such as AIDE (Advanced Intrusion&lt;br /&gt;
Detection Environment) which is a file and directory integrity checker.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Regularly sweep for root-kits:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;
We should regularly run software to check for the evidence of root-kits having been installed, e.g. chkrootkit and rkhunter. In particular, running more than one check would denitely be useful as they function quite differently.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Bootable image for investigations:&lt;/strong&gt;&lt;br /&gt;Develop a bootable ISO which can be used to carry out investigations on suspect machines. This would be based on our standard installroot image with additional packages, such as chkrootkit and rkhunter, which are useful to have readily available. This could be made available via CD, USB and PXE. There is also a need for a read-only filesystem (in our case delivered via AFS) for running scripts such as chkrootkit which use a number of separate tools which could be subverted if they are coming from the local disk.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;&lt;h3&gt;Other Possibilities&lt;/h3&gt;
&lt;ol&gt;&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Use SELinux:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;
We do not currently use the SELinux framework which would almost certainly have prevented this intrusion occurring. To run it in full &quot;strict&quot; mode might require a great deal of effort to make it work with LCFG. However, it should be possible to get a lot of&lt;br /&gt;
the benefits whilst using the lesser &quot;targetted&quot; mode, which is the standard for Redhat systems. It is denitely worth some further investigation.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Shared database for failed logins:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;
We should investigate whether it is possible to create a database of failed logins which is shared across all DICE machines with external SSH access. This could be used to&lt;br /&gt;
automatically block all SSH access for hosts which are attacking our systems.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;SSH Honeypot:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;
We could use an SSH honeypot which has an SSH firewall hole but which cannot actually be accessed by any users due to restrictions in the SSH daemon config and the&lt;br /&gt;
access.conf file. The location of this service would not be advertised to our users so it&lt;br /&gt;
would only be found by attackers who are port-scanning our network for targets. This&lt;br /&gt;
could then feed into a shared database of banned hosts.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Some parts of the work for this project have already been done or just need some extensions. In particular, the audit daemon work is mostly complete but needs rolling out to all machines.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-final-report-url field-type-url field-label-inline clearfix&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Final report URL:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;https://wiki.inf.ed.ac.uk/DICE/FinalProjectReport224&quot;&gt;https://wiki.inf.ed.ac.uk/DICE/FinalProjectReport224&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-other field-type-text-long field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Other:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;b&gt;Dependencies: &lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Risks: &lt;/b&gt; We get hacked again...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Milestones&lt;/b&gt;&lt;/p&gt;
&lt;table&gt;&lt;th&gt;Proposed date&lt;/th&gt;
&lt;th&gt;Achieved date&lt;/th&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;tr&gt;&lt;td&gt;&lt;/td&gt;
&lt;td&gt;2012-06-16&lt;/td&gt;
&lt;td&gt;3. Monitor fs&lt;/td&gt;
&lt;td&gt;File-system intrusion monitoring&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2012-09-30&lt;/td&gt;
&lt;td&gt;2012-06-30&lt;/td&gt;
&lt;td&gt;4. Check for ro&lt;/td&gt;
&lt;td&gt;Regularly sweep for root-kits&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;
&lt;td&gt;2012-07-30&lt;/td&gt;
&lt;td&gt;6. SELinux&lt;/td&gt;
&lt;td&gt;Consider using SELinux&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;
&lt;td&gt;2012-07-16&lt;/td&gt;
&lt;td&gt;5. ISO&lt;/td&gt;
&lt;td&gt;Develop a bootable image for investigations.&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;
&lt;td&gt;2012-08-30&lt;/td&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;Consider using a shared database for failed logins&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2012-08-17&lt;/td&gt;
&lt;td&gt;2012-05-31&lt;/td&gt;
&lt;td&gt;1. Log Checking&lt;/td&gt;
&lt;td&gt;Enhance logging and automate log monitoring.&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2012-06-18&lt;/td&gt;
&lt;td&gt;2012-05-31&lt;/td&gt;
&lt;td&gt;0. Auditing&lt;/td&gt;
&lt;td&gt;System Auditing&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
 <pubDate>Fri, 25 Jan 2013 15:46:20 +0000</pubDate>
 <dc:creator>boss</dc:creator>
 <guid isPermaLink="false">2077 at http://devproj.inf.ed.ac.uk</guid>
 <comments>http://devproj.inf.ed.ac.uk/show/224#comments</comments>
</item>
<item>
 <title>Remote hardware management for desktops</title>
 <link>http://devproj.inf.ed.ac.uk/show/156</link>
 <description>&lt;div class=&quot;field field-name-field-projectid field-type-serial field-label-inline clearfix&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Project ID:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;156&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-current-stage field-type-taxonomy-term-reference field-label-inline clearfix&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Current stage:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/project-stages/0pending&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;0_Pending&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-manager field-type-taxonomy-term-reference field-label-inline clearfix&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Manager:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/project-managers/squinney&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;squinney&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-unit field-type-taxonomy-term-reference field-label-inline clearfix&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Unit:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/unit/mp-unit&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;mp-unit&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-what field-type-text-long field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;What:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;b&gt;Description: &lt;/b&gt; It would be useful to be able to reliably remotely manage the power settings for desktop machines. In particular it would be good to offer our users the facility to remotely turn on/off and reboot their own desktop machines. When a user is logged in via the console they are allowed to do all these things so they shouldn&#039;t be limited when working remotely.&lt;/p&gt;
&lt;p&gt;This could also provide the opportunity to improve power savings in Informatics as we would not have to leave any desktop machine permanently turned on just in case a user wanted to use it remotely.&lt;/p&gt;
&lt;p&gt;Further opportunities are available to remotely configure BIOS settingsand to do asset management for the Inventory without requiring machines be turned on.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Deliverables: &lt;/b&gt; Interface for users to remotely control the power settings of their own desktop machine.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-why field-type-text-long field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Why:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;b&gt;Customer: &lt;/b&gt; Informatics users.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Case statement: &lt;/b&gt; Requested by user: &lt;a href=&quot;https://rt3.inf.ed.ac.uk/Ticket/Display.html?id=45583&quot;&gt;https://rt3.inf.ed.ac.uk/Ticket/Display.html?id=45583&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-when field-type-text-long field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;When:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;b&gt;Status: &lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Timescales: &lt;/b&gt; A rough estimate of 3 weeks effort for delivery of a system which allows users to remotely control their machines.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Priority: &lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Time: &lt;/b&gt; &lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-how field-type-text-long field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;How:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;b&gt;Proposal: &lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Resources: &lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Plan: &lt;/b&gt; Investigate Intel AMT. Develop an authenticated system for remote power control using AMT, maybe based around remctl. Develop a user interface, possibly available via the web, authenticated with cosign, to allow the desktop &#039;owner&#039; to control their machine.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-other field-type-text-long field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Other:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;b&gt;Dependencies: &lt;/b&gt; Currently, Intel AMT is only available in desktop PCs with Intel Core 2 processor with vPro technology so the right hardware is required.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Risks: &lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Milestones&lt;/b&gt;&lt;/p&gt;
&lt;table&gt;&lt;th&gt;Proposed date&lt;/th&gt;
&lt;th&gt;Achieved date&lt;/th&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
 <pubDate>Fri, 25 Jan 2013 15:46:06 +0000</pubDate>
 <dc:creator>boss</dc:creator>
 <guid isPermaLink="false">2009 at http://devproj.inf.ed.ac.uk</guid>
</item>
<item>
 <title>LCFG Beginners Guide</title>
 <link>http://devproj.inf.ed.ac.uk/show/141</link>
 <description>&lt;div class=&quot;field field-name-field-projectid field-type-serial field-label-inline clearfix&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Project ID:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;141&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-current-stage field-type-taxonomy-term-reference field-label-inline clearfix&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Current stage:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/project-stages/0pending&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;0_Pending&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-manager field-type-taxonomy-term-reference field-label-inline clearfix&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Manager:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/project-managers/squinney&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;squinney&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-unit field-type-taxonomy-term-reference field-label-inline clearfix&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Unit:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/unit/mp-unit&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;mp-unit&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-what field-type-text-long field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;What:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;b&gt;Description: &lt;/b&gt; A guide which would cover all the basics needed to get started with LCFG. This would be mainly based on the LCFG workshops run in June 2007.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Deliverables: &lt;/b&gt; A guide to getting started with LCFG, probably in both HTML and PDF formats.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-why field-type-text-long field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Why:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;b&gt;Customer: &lt;/b&gt; External users of LCFG.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Case statement: &lt;/b&gt; It&#039;s currently quite hard to quickly get started with LCFG. &lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-when field-type-text-long field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;When:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;b&gt;Status: &lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Timescales: &lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Priority: &lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Time: &lt;/b&gt; &lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-how field-type-text-long field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;How:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;b&gt;Proposal: &lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Resources: &lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Plan: &lt;/b&gt; &lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-other field-type-text-long field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Other:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;b&gt;Dependencies: &lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Risks: &lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Milestones&lt;/b&gt;&lt;/p&gt;
&lt;table&gt;&lt;th&gt;Proposed date&lt;/th&gt;
&lt;th&gt;Achieved date&lt;/th&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
 <pubDate>Fri, 25 Jan 2013 15:46:02 +0000</pubDate>
 <dc:creator>boss</dc:creator>
 <guid isPermaLink="false">1994 at http://devproj.inf.ed.ac.uk</guid>
</item>
<item>
 <title>Rewrite the LCFG syslog component</title>
 <link>http://devproj.inf.ed.ac.uk/show/138</link>
 <description>&lt;div class=&quot;field field-name-field-projectid field-type-serial field-label-inline clearfix&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Project ID:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;138&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-current-stage field-type-taxonomy-term-reference field-label-inline clearfix&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Current stage:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/project-stages/4ddropped&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;4d_Dropped&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-manager field-type-taxonomy-term-reference field-label-inline clearfix&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Manager:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/project-managers/squinney&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;squinney&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-unit field-type-taxonomy-term-reference field-label-inline clearfix&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Unit:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/unit/mp-unit&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;mp-unit&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-what field-type-text-long field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;What:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;b&gt;Description: &lt;/b&gt; It has noted that the syslog component is in need of some attention. It suffers from a number of problems:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;The paths to the syslogd and klogd programs are hardwired in the shell code - prevents use with any other compatible daemon.&lt;/li&gt;
&lt;li&gt;All the log file paths are hardwired in the shell code.&lt;/li&gt;
&lt;li&gt;It uses the old-style LCFG templating system to generate m4 files which are then processed to generate the final syslog configuration file. This also means that resources contain m4 statements rather than simple values.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Fedora now uses rsyslog as the default syslogd, and has done since November 2007. This means it is fairly likely to be in RHEL6. It is also used by Debian and Ubuntu so it looks like it is becoming the de facto standard choice for a modern syslogd. It supports the old config file but also has lots of other nice features which could be useful. It is also highly desirable to make the component generic enough to support multiple different syslogds. Alternatively it might be good to write a specific rsyslog component which makes it possible to enable the fancy features via LCFG. We might even want to do both of these.&lt;/p&gt;
&lt;p&gt;See &lt;a href=&quot;http://www.rsyslog.com/&quot;&gt;the rsyslog website&lt;/a&gt; for more details on rsyslog.&lt;/p&gt;
&lt;p&gt;There is an rsyslog package available in SL5 but it&#039;s version 2.0 which is somewhat behind the current stable version. &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Deliverables: &lt;/b&gt; A new LCFG syslog component.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-why field-type-text-long field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Why:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;b&gt;Customer: &lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Case statement: &lt;/b&gt; &lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-when field-type-text-long field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;When:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;b&gt;Status: &lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Timescales: &lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Priority: &lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Time: &lt;/b&gt; &lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-how field-type-text-long field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;How:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;b&gt;Proposal: &lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Resources: &lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Plan: &lt;/b&gt; &lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-other field-type-text-long field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Other:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;b&gt;Dependencies: &lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Risks: &lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Milestones&lt;/b&gt;&lt;/p&gt;
&lt;table&gt;&lt;th&gt;Proposed date&lt;/th&gt;
&lt;th&gt;Achieved date&lt;/th&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
 <pubDate>Fri, 25 Jan 2013 15:46:01 +0000</pubDate>
 <dc:creator>boss</dc:creator>
 <guid isPermaLink="false">1991 at http://devproj.inf.ed.ac.uk</guid>
 <comments>http://devproj.inf.ed.ac.uk/show/138#comments</comments>
</item>
<item>
 <title>LCFG Client Refactoring</title>
 <link>http://devproj.inf.ed.ac.uk/show/139</link>
 <description>&lt;div class=&quot;field field-name-field-projectid field-type-serial field-label-inline clearfix&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Project ID:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;139&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-current-stage field-type-taxonomy-term-reference field-label-inline clearfix&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Current stage:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/project-stages/0pending&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;0_Pending&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-manager field-type-taxonomy-term-reference field-label-inline clearfix&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Manager:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/project-managers/squinney&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;squinney&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-unit field-type-taxonomy-term-reference field-label-inline clearfix&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Unit:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/unit/mp-unit&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;mp-unit&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-what field-type-text-long field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;What:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;b&gt;Description: &lt;/b&gt; A project to rewrite the LCFG client to be cleaner and easier to maintain and develop, without significant change in functionality. &lt;/p&gt;
&lt;p&gt;This has been deliberately split out from the LCFG Core Refactoring project so that we can track server and client redevelopment separately.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Deliverables: &lt;/b&gt; New LCFG client code. &lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-why field-type-text-long field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Why:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;b&gt;Customer: &lt;/b&gt; All LCFG users.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Case statement: &lt;/b&gt; There is a significant risk that the existing code base might not run &quot;as is&quot; on future DICE platforms. Further developments of LCFG are also stalled because of the difficulty of extending the existing code. &lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-when field-type-text-long field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;When:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;b&gt;Status: &lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Timescales: &lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Priority: &lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Time: &lt;/b&gt; &lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-how field-type-text-long field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;How:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;b&gt;Proposal: &lt;/b&gt; Include porting the LCFG core, and some other critical components, to some other Linux distribution, eg Debian, to maintain portability. &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Resources: &lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Plan: &lt;/b&gt; &lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-other field-type-text-long field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Other:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;b&gt;Dependencies: &lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Risks: &lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;URL:&lt;/b&gt;&lt;a href=&quot;http://wiki.lcfg.org/bin/view/LCFG/LcfgBrainstorm&quot;&gt;http://wiki.lcfg.org/bin/view/LCFG/LcfgBrainstorm&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Milestones&lt;/b&gt;&lt;/p&gt;
&lt;table&gt;&lt;th&gt;Proposed date&lt;/th&gt;
&lt;th&gt;Achieved date&lt;/th&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
 <pubDate>Fri, 25 Jan 2013 15:46:01 +0000</pubDate>
 <dc:creator>boss</dc:creator>
 <guid isPermaLink="false">1992 at http://devproj.inf.ed.ac.uk</guid>
 <comments>http://devproj.inf.ed.ac.uk/show/139#comments</comments>
</item>
<item>
 <title>Automated upstream package repository mirroring </title>
 <link>http://devproj.inf.ed.ac.uk/show/140</link>
 <description>&lt;div class=&quot;field field-name-field-projectid field-type-serial field-label-inline clearfix&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Project ID:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;140&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-current-stage field-type-taxonomy-term-reference field-label-inline clearfix&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Current stage:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/project-stages/0pending&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;0_Pending&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-manager field-type-taxonomy-term-reference field-label-inline clearfix&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Manager:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/project-managers/squinney&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;squinney&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-unit field-type-taxonomy-term-reference field-label-inline clearfix&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Unit:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/unit/mp-unit&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;mp-unit&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-what field-type-text-long field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;What:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;b&gt;Description: &lt;/b&gt; Currently we maintain our local package repositories using the, locally developed, &lt;code&gt;getupdates&lt;/code&gt; script. This is very basic and just uses ftp to synchronise with individual directories on remote sites. The main problems with this are that it has to be run manually and does not give a complete copy of a remote site, for instance we do not have local copies of SRPMs. It would be much more efficient to keep complete copies of remote sites and do so in an entirely automated manner.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Deliverables: &lt;/b&gt; &lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-why field-type-text-long field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Why:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;b&gt;Customer: &lt;/b&gt; Informatics&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Case statement: &lt;/b&gt; The current script for synchronising with remote sites is a bit fragile. It has to be run manually which is inefficient and tends to only get run when Stephen is around and remembers. We do not have local copies of everything for a platform. This is particularly an issue for SRPMs, we would like to keep copies of all SRPMs, for example, in case the upstream provider later drops a package that we still want and need to patch. We also don&#039;t have local copies of debuginfo packages or other types of updates (i.e. non-security) which might be useful.&lt;/p&gt;
&lt;p&gt;Another issue is the way we currently layout our package &quot;buckets&quot; in the local RPM repository. We only have base and updates directories for sl5, whereas there are actually separate upstream repositories for each minor release of sl5. This forces us to run our local scripts rather than just using something like rsync to mirror an entire site. &lt;/p&gt;
&lt;p&gt;Beyond this we currently have to manually process the list of package updates to generate LCFG package lists for base, updates, postship, kernel and xen. Much of this work could be automated by converting to a simple rules based system. There is a potential to considerable improve the handling of LCFG package lists such that we can keep up-to-date with repositories such as epel as well as just the main platform. This would give us more timely security updates and bug fixes.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-when field-type-text-long field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;When:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;b&gt;Status: &lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Timescales: &lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Priority: &lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Time: &lt;/b&gt; &lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-how field-type-text-long field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;How:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;b&gt;Proposal: &lt;/b&gt; The project would split into roughly 3 parts:&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;Develop a solution for automatically synchronising with remote sites&lt;/li&gt;
&lt;li&gt;Switch to using the new repository layout (e.g. with updaterpms.)&lt;/li&gt;
&lt;li&gt;Create scripts which can find and categorise new packages&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;The most important parts of this project and stages are 1 and 2, part 3 would be nice to have from an efficiency point-of-view but is not as essential.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Resources: &lt;/b&gt; 2w of Stephen time. Much more if someone else.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Plan: &lt;/b&gt; &lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-field-other field-type-text-long field-label-above&quot;&gt;&lt;div class=&quot;field-label&quot;&gt;Other:&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot;&gt;&lt;p&gt;&lt;b&gt;Dependencies: &lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Risks: &lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Milestones&lt;/b&gt;&lt;/p&gt;
&lt;table&gt;&lt;th&gt;Proposed date&lt;/th&gt;
&lt;th&gt;Achieved date&lt;/th&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
 <pubDate>Fri, 25 Jan 2013 15:46:01 +0000</pubDate>
 <dc:creator>boss</dc:creator>
 <guid isPermaLink="false">1993 at http://devproj.inf.ed.ac.uk</guid>
</item>
</channel>
</rss>
