** Description changed:

- Trusty uses upstart by default, and installing snapd (e.g. for livepatch
- purposes), pulls systemd too. In this setup, upstart is _not_ replaced
- by systemd, but MAAS "detects" systemd as init because of the existence
- of /run/systemd/system:
+ [impact]
+ Since Trusty uses upstart by default, MAAS manages its services with upstart. 
However, when a user installs systemd (even if it is not used as the init 
system), MAAS detects systemd installed and tries to manage its services via 
systemd. This obviously creates issues and prevents MAAS from working.
+ 
+ [Test Case]
+ 1. Install & configure MAAS
+ 2. Add machines
+ 3. install systemd
+ 4. MAAS will fail to manage machines
+ 
+ [Regression potential]
+ Minimal. This just ensures that upstart is detected correctly even if systemd 
is installed (but not used).
+ 
+ [Original bug report]
+ Trusty uses upstart by default, and installing snapd (e.g. for livepatch 
purposes), pulls systemd too. In this setup, upstart is _not_ replaced by 
systemd, but MAAS "detects" systemd as init because of the existence of 
/run/systemd/system:
  
  @src/provisioningserver/utils/__init__.py:505
  
  SYSTEMD_RUN_PATH = '/run/systemd/system'
  
- 
  def get_init_system():
-     """Returns 'upstart' or 'systemd'."""
-     if os.path.exists(SYSTEMD_RUN_PATH):
-         return 'systemd'
-     else:
-         return 'upstart'
+     """Returns 'upstart' or 'systemd'."""
+     if os.path.exists(SYSTEMD_RUN_PATH):
+         return 'systemd'
+     else:
+         return 'upstart'
  
  One possible solution would be to check if /sbin/init is a symlink
  pointing to /lib/systemd/systemd:
  
  def get_init_system():
-     """Returns 'upstart' or 'systemd'.""" 
-     initpath = os.readlink("/sbin/init") 
-     if (initpath == "/lib/systemd/systemd"): 
-         return 'systemd' 
-     else: 
-     return 'upstart' 
+     """Returns 'upstart' or 'systemd'."""
+     initpath = os.readlink("/sbin/init")
+     if (initpath == "/lib/systemd/systemd"):
+         return 'systemd'
+     else:
+     return 'upstart'
  
- 
- Other affected parts of the code are the postinst files for maas-proxy and 
maas-dhcp (debian/maas-proxy.postinst debian/maas-dhcp.postinst), throwing an 
error if maas is installed after systemd in Trusty
+ Other affected parts of the code are the postinst files for maas-proxy
+ and maas-dhcp (debian/maas-proxy.postinst debian/maas-dhcp.postinst),
+ throwing an error if maas is installed after systemd in Trusty

** Also affects: maas (Ubuntu)
   Importance: Undecided
       Status: New

** Changed in: maas (Ubuntu)
   Importance: Undecided => Critical

** Changed in: maas/1.9
       Status: Triaged => In Progress

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1732703

Title:
  MAAS does not detect properly if Ubuntu is using upstart/systemd

To manage notifications about this bug go to:
https://bugs.launchpad.net/maas/+bug/1732703/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to