[PATCH conductor] Added warning if rootpw is missing in template XML
Jan Provaznik
jprovazn at redhat.com
Mon Dec 12 15:08:07 UTC 2011
On 12/12/2011 03:52 PM, jprovazn at redhat.com wrote:
> From: Jan Provaznik<jprovazn at redhat.com>
>
> https://bugzilla.redhat.com/show_bug.cgi?id=761139
> ---
> src/app/controllers/images_controller.rb | 23 +++++++++++++++++++----
> src/app/models/template_xml.rb | 6 +++++-
> src/config/locales/en.yml | 1 +
> 3 files changed, 25 insertions(+), 5 deletions(-)
>
> diff --git a/src/app/controllers/images_controller.rb b/src/app/controllers/images_controller.rb
> index a178596..123b8a2 100644
> --- a/src/app/controllers/images_controller.rb
> +++ b/src/app/controllers/images_controller.rb
> @@ -113,12 +113,16 @@ class ImagesController< ApplicationController
>
> begin
> doc = TemplateXML.new(xml_source)
> - rescue Nokogiri::XML::SyntaxError
> - errors = [t('template_xml.errors.xml_parse_error')]
> - else
> doc.name = @name
> @xml = doc.to_xml
> errors = doc.validate
> + # check explicitly if rootpw is set or not,
> + # imagefactory requires this param for some
> + # target/platform combinations
> + # https://bugzilla.redhat.com/show_bug.cgi?id=761139
> + flash.now[:warning] = I18n.t('images.flash.warning.no_rootpw') if doc.rootpw.blank?
> + rescue Nokogiri::XML::SyntaxError
> + errors = [t('template_xml.errors.xml_parse_error')]
> end
>
> if errors.any?
> @@ -134,7 +138,18 @@ class ImagesController< ApplicationController
> @name = params[:name]
> @xml = params[:image_xml]
>
> - errors = TemplateXML.validate(@xml)
> + begin
> + doc = TemplateXML.new(@xml)
> + errors = doc.validate
> + # check explicitly if rootpw is set or not,
> + # imagefactory requires this param for some
> + # target/platform combinations
> + # https://bugzilla.redhat.com/show_bug.cgi?id=761139
> + flash.now[:warning] = I18n.t('images.flash.warning.no_rootpw') if doc.rootpw.blank?
> + rescue Nokogiri::XML::SyntaxError
> + errors = [t('template_xml.errors.xml_parse_error')]
> + end
> +
> if errors.any?
> flash.now[:error] = errors
> render :edit_xml and return
> diff --git a/src/app/models/template_xml.rb b/src/app/models/template_xml.rb
> index 149c9c5..8a2aa4c 100644
> --- a/src/app/models/template_xml.rb
> +++ b/src/app/models/template_xml.rb
> @@ -57,7 +57,11 @@ class TemplateXML
> end
>
> def name
> - doc.xpath('/template/name').text
> + @xml.xpath('/template/name').text
> + end
> +
> + def rootpw
> + @xml.xpath('/template/os/rootpw').text
> end
>
> def to_xml
> diff --git a/src/config/locales/en.yml b/src/config/locales/en.yml
> index 4dab401..602e766 100644
> --- a/src/config/locales/en.yml
> +++ b/src/config/locales/en.yml
> @@ -727,6 +727,7 @@ en:
> warning:
> delete_failed: Unable to Delete Image
> not_found: Image not found
> + no_rootpw: "Template has no rootpw parameter, build will fail for some targets."
> error:
> invalid_url: Could not load the provided URL
> new:
Ignore this, pls
More information about the aeolus-devel
mailing list