← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1066115] Re: The landscape client plugin doesn't create the config file with the proper permissions

 

** Changed in: cloud-init
       Status: Fix Committed => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to cloud-init.
https://bugs.launchpad.net/bugs/1066115

Title:
  The landscape client plugin doesn't create the config file with the
  proper permissions

Status in Init scripts for use on cloud images:
  Fix Released
Status in “cloud-init” package in Ubuntu:
  Triaged
Status in “cloud-init” source package in Precise:
  Triaged
Status in “cloud-init” source package in Quantal:
  Triaged

Bug description:
  === Begin SRU Information ===
  [Impact]
   * If an image does not have landscape-client installed inside it, and the
     user provided landscape config, then:
     a.) the landscape config file would be written with root:root permissions
         so that the user that landscape runs as could not change it.
     b.) the landscape package would not be installed.

   * The fix here is just to install the landscape-client package.  This is
     clearly what the user would want.
     Additionally, no package installation occurs unless the user made that
     request.  The fix for 'a' is also addressed by this because the file will
     exist on disk with proper permissions before cloud-init writes it, and
     will thus keep the same ownership.

  [Test Case]
   * launch instance with landscape config in user-data like the following:
     #cloud-config
     apt_upgrade: True
     apt_sources:
      - source: deb $MIRROR $RELEASE-proposed main
     landscape:
       client:
         url: "https://landscape.canonical.com/message-system";
         ping_url: "http://landscape.canonical.com/ping";
         data_path: "/var/lib/landscape/client"
         http_proxy: "http://my.proxy.com/foobar";
         tags: "server,cloud"
   * upon investigation, /etc/landscape/client.conf should be owned
     by 'landscape' user rather than root.

  [Regression Potential] 
   * This was broken before, so it is not likely to be broken worse now.

  === End SRU Information ===


  When cloud-init runs and landscape-client is not installed, it creates
  /etc/landscape/client.conf owned as root:root, whereas landscape-
  client expects it to be landscape:root. The proper fix is although
  probably to require installation of landscape-client first, as it will
  create the file properly, and then landscape-client can update it.

To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-init/+bug/1066115/+subscriptions