Details

    • Type: Bug
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 4.5.0, 4.5.1, 4.6.0
    • Fix Version/s: 4.6.0
    • Component/s: None
    • Security Level: Public (Anyone can view this level - this is the default.)
    • Labels:
      None

      Description

      CentOS7 as KVM host fails with exception:

      2015-05-05 21:39:45,395

      {GMT} WARN [kvm.resource.LibvirtComputingResource] (agentRequest-Handler-5 LibvirtException
      org.libvirt.LibvirtException: Controller 'cpuacct' is not wanted, but 'cpu' is co-mounted: Invalid argument
      at org.libvirt.ErrorHandler.processError(Unknown Source)
      at org.libvirt.Connect.processError(Unknown Source)
      at org.libvirt.Connect.processError(Unknown Source)
      at org.libvirt.Connect.domainCreateXML(Unknown Source)
      at com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.startVM(LibvirtComputingResource.java:1267)
      at com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.execute(LibvirtComputingResource.java:3828)
      at com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.executeRequest(LibvirtComputingResource.java:1361)


      After umounting cpuacct (umount /sys/fs/cgroup/cpuacct), and restarting host, the exception seen is: (also seen after upgrading linux kernel to 4.0.1)

      2015-05-05 21:40:15,875{GMT}

      WARN [kvm.resource.LibvirtComputingResource] (agentRequest-Handler-5 LibvirtException
      org.libvirt.LibvirtException: unsupported configuration: CPU tuning is not available on this host
      at org.libvirt.ErrorHandler.processError(Unknown Source)
      at org.libvirt.Connect.processError(Unknown Source)
      at org.libvirt.Connect.processError(Unknown Source)
      at org.libvirt.Connect.domainCreateXML(Unknown Source)
      at com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.startVM(LibvirtComputingResource.java:1267)

        Issue Links

          Activity

          Hide
          bhaisaab Rohit Yadav added a comment -

          Kishan Kavala - Kishan have you seen anything like this?

          Show
          bhaisaab Rohit Yadav added a comment - Kishan Kavala - Kishan have you seen anything like this?
          Hide
          mlsorensen Marcus Sorensen added a comment -

          My testing indicates we need to avoid this line from serviceConfig.py when setting up EL7 hypervisors :

          cfo.addEntry("cgroup_controllers", "[\"cpu\"]")

          The cgroups are added automatically by systemd-machined, regardless of whether /etc/libvirt/qemu.conf has this line or not.

          There's a seemingly separate bug in systemd-machined(or perhaps libvirt's interaction with it) you may also notice that causes the cgroup cpu share setting to be reset on existing vms when new vms start, but this setting has no effect on that. The issue is in the distro.

          Show
          mlsorensen Marcus Sorensen added a comment - My testing indicates we need to avoid this line from serviceConfig.py when setting up EL7 hypervisors : cfo.addEntry("cgroup_controllers", " [\"cpu\"] ") The cgroups are added automatically by systemd-machined, regardless of whether /etc/libvirt/qemu.conf has this line or not. There's a seemingly separate bug in systemd-machined(or perhaps libvirt's interaction with it) you may also notice that causes the cgroup cpu share setting to be reset on existing vms when new vms start, but this setting has no effect on that. The issue is in the distro.
          Hide
          mlsorensen Marcus Sorensen added a comment -

          My testing indicates we need to avoid this line from serviceConfig.py when
          setting up EL7 hypervisors :

          cfo.addEntry("cgroup_controllers", "[\"cpu\"]")

          The cgroups are added automatically by systemd-machined, regardless of
          whether /etc/libvirt/qemu.conf has this line or not. There's a seemingly
          separate bug in systemd-machined that causes the cgroup cpu share setting
          to be reset on existing vms when new vms start, but this setting has no
          effect on that and the issue is in the distro.

          Show
          mlsorensen Marcus Sorensen added a comment - My testing indicates we need to avoid this line from serviceConfig.py when setting up EL7 hypervisors : cfo.addEntry("cgroup_controllers", " [\"cpu\"] ") The cgroups are added automatically by systemd-machined, regardless of whether /etc/libvirt/qemu.conf has this line or not. There's a seemingly separate bug in systemd-machined that causes the cgroup cpu share setting to be reset on existing vms when new vms start, but this setting has no effect on that and the issue is in the distro.
          Hide
          nuxro Nux added a comment -

          I should do some more testing on EL7, this bug sounds really nasty. Wonder if upstream is aware of it already..

          Show
          nuxro Nux added a comment - I should do some more testing on EL7, this bug sounds really nasty. Wonder if upstream is aware of it already..
          Hide
          bhaisaab Rohit Yadav added a comment -

          Marcus Sorensen That worked. I tested this with CentOS7 today on a digitalocean 8GB RAM machine (apparently digitalocean vms are vmx enabled) and after removing this entry I was able to deploy the zone and systemvms came up and I was able to access them using virsh.

          Show
          bhaisaab Rohit Yadav added a comment - Marcus Sorensen That worked. I tested this with CentOS7 today on a digitalocean 8GB RAM machine (apparently digitalocean vms are vmx enabled) and after removing this entry I was able to deploy the zone and systemvms came up and I was able to access them using virsh.
          Hide
          nqzhang nqzhang added a comment -

          How to solve this bug

          Show
          nqzhang nqzhang added a comment - How to solve this bug
          Hide
          mlsorensen Marcus Sorensen added a comment -

          We need to fix the python agent setup scripts to not add the cgroup_controllers line to /etc/libvirt/qemu.conf.

          Show
          mlsorensen Marcus Sorensen added a comment - We need to fix the python agent setup scripts to not add the cgroup_controllers line to /etc/libvirt/qemu.conf.
          Hide
          nqzhang nqzhang added a comment -

          when i avoid this line from /usr/lib64/python2.7/site-packages/cloudutils/serviceConfig.py
          cfo.addEntry("cgroup_controllers", "[\"cpu\"]")
          and avoid this line from /etc/libvirt/qemu.conf
          cgroup_controllers=["cpu"]

          then restart the libvirtd service

          it worked

          Show
          nqzhang nqzhang added a comment - when i avoid this line from /usr/lib64/python2.7/site-packages/cloudutils/serviceConfig.py cfo.addEntry("cgroup_controllers", " [\"cpu\"] ") and avoid this line from /etc/libvirt/qemu.conf cgroup_controllers= ["cpu"] then restart the libvirtd service it worked
          Hide
          widodh Wido den Hollander added a comment -

          Without systemd there is no complete CentOS 7 support.

          Show
          widodh Wido den Hollander added a comment - Without systemd there is no complete CentOS 7 support.
          Hide
          miguelferreira Miguel Ferreira added a comment - - edited

          I can confirm both the issue exists and the proposed temporary solution also fixed for me.

          One other way to sove the co-mounts problem is to do:
          sed -i "/JoinControllers/c\JoinControllers=''" /etc/systemd/system.conf
          new-kernel-pkg --mkinitrd --install `uname -r`

          followed by a reboot

          Show
          miguelferreira Miguel Ferreira added a comment - - edited I can confirm both the issue exists and the proposed temporary solution also fixed for me. One other way to sove the co-mounts problem is to do: sed -i "/JoinControllers/c\JoinControllers=''" /etc/systemd/system.conf new-kernel-pkg --mkinitrd --install `uname -r` followed by a reboot
          Hide
          remibergsma Remi Bergsma added a comment -

          Did some more research on the subject:

          The script serviceConfig.py has a separate section for RedHat alike systems. There indeed the 'cgroups_controllers' option is set in /etc/libvirt/qemu.conf. On CentOS 6 this works, because by default no cgroup is mounted and qemu then just ignores the setting, as described here [1]. On CentOS 6 we set option "cpu" but it is ignored because it is not mounted. In our documentation there is no instruction to even mount it. It seems to me it is useless to set it like this. It's been there since 2011, not sure why it was put there.

          When you remove the line, as suggested above, then the default kicks in. According to the qemu.conf file, the default is:
          cgroup_controllers = ["cpu", "devices", "memory", "blkio", "cpuacct", "net_cls"]

          Then again, if it's not mounted, it's not used.

          So, why do we have an issue on CentOS 7? Well, because "cpu" is co-mounted with "cpuacct". We specify "cpu" but that is impossible, since the mount has two. Then qemu reports:
          Controller 'cpuacct' is not wanted, but 'cpu' is co-mounted: Invalid argument

          I think we should get rid of the setting, because then we'll rely on the default. On CentOS 6 nothing is mounted, so it is ignored (like "cpu" is ignored now). On CentOS 7, they are all mounted by systemd and thus can all be used. That'd be the way to be backwards compatible and support CentOS 7 as well.

          I'll work on this in the coming days and send a PR to fix it. We probably also need to get rid of some of the code that checks the 'co-mount', as the co-mount itself is not the issue. It's the setting we put there in the first place.

          [1] https://libvirt.org/cgroups.html

          Show
          remibergsma Remi Bergsma added a comment - Did some more research on the subject: The script serviceConfig.py has a separate section for RedHat alike systems. There indeed the 'cgroups_controllers' option is set in /etc/libvirt/qemu.conf. On CentOS 6 this works, because by default no cgroup is mounted and qemu then just ignores the setting, as described here [1] . On CentOS 6 we set option "cpu" but it is ignored because it is not mounted. In our documentation there is no instruction to even mount it. It seems to me it is useless to set it like this. It's been there since 2011, not sure why it was put there. When you remove the line, as suggested above, then the default kicks in. According to the qemu.conf file, the default is: cgroup_controllers = ["cpu", "devices", "memory", "blkio", "cpuacct", "net_cls"] Then again, if it's not mounted, it's not used. So, why do we have an issue on CentOS 7? Well, because "cpu" is co-mounted with "cpuacct". We specify "cpu" but that is impossible, since the mount has two. Then qemu reports: Controller 'cpuacct' is not wanted, but 'cpu' is co-mounted: Invalid argument I think we should get rid of the setting, because then we'll rely on the default. On CentOS 6 nothing is mounted, so it is ignored (like "cpu" is ignored now). On CentOS 7, they are all mounted by systemd and thus can all be used. That'd be the way to be backwards compatible and support CentOS 7 as well. I'll work on this in the coming days and send a PR to fix it. We probably also need to get rid of some of the code that checks the 'co-mount', as the co-mount itself is not the issue. It's the setting we put there in the first place. [1] https://libvirt.org/cgroups.html
          Hide
          remibergsma Remi Bergsma added a comment -

          Work-in-progress here: https://github.com/remibergsma/cloudstack/commits/centos7-kvm

          The cgroup stuff seems fixes. Will do more testing to be sure.

          Remaining problem now:

          2015-08-22 07:40:19,778 ERROR [cloud.agent.AgentShell] (main:null) Unable to start agent: 
          com.cloud.utils.exception.CloudRuntimeException: Failed to connect socket to '/var/run/libvirt/libvirt-sock': No such file or directory
          

          While before adding the host to CloudStack this is available:

          [root@kvm2 ~]# ls -la /var/run/libvirt/libvirt-sock
          srwxrwxrwx. 1 root root 0 Aug 22 07:03 /var/run/libvirt/libvirt-sock
          

          After adding:

          [root@kvm2 ~]# ls -la /var/run/libvirt/libvirt-sock
          ls: cannot access /var/run/libvirt/libvirt-sock: No such file or directory
          

          Can be fixed by restarting libvirtd and then restarting agent:

          [root@kvm2 ~]# service libvirtd restart
          Redirecting to /bin/systemctl restart  libvirtd.service
          

          It's back:

          [root@kvm2 ~]# ls -la /var/run/libvirt/libvirt-sock
          srwxrwxrwx. 1 root root 0 Aug 22 07:41 /var/run/libvirt/libvirt-sock
          

          I restarted agent while Marvin was still waiting for the Agent to report back:

          [root@kvm2 ~]# /etc/init.d/cloudstack-agent restart
          Restarting cloudstack-agent (via systemctl):               [  OK  ]
          [root@kvm2 ~]# less /var/log/cloudstack/agent/
          

          After this it worked fine and the deployment succeeded.

          Will digg into this deeper on Monday and make a solution.

          Show
          remibergsma Remi Bergsma added a comment - Work-in-progress here: https://github.com/remibergsma/cloudstack/commits/centos7-kvm The cgroup stuff seems fixes. Will do more testing to be sure. Remaining problem now: 2015-08-22 07:40:19,778 ERROR [cloud.agent.AgentShell] (main:null) Unable to start agent: com.cloud.utils.exception.CloudRuntimeException: Failed to connect socket to '/var/run/libvirt/libvirt-sock': No such file or directory While before adding the host to CloudStack this is available: [root@kvm2 ~]# ls -la /var/run/libvirt/libvirt-sock srwxrwxrwx. 1 root root 0 Aug 22 07:03 /var/run/libvirt/libvirt-sock After adding: [root@kvm2 ~]# ls -la /var/run/libvirt/libvirt-sock ls: cannot access /var/run/libvirt/libvirt-sock: No such file or directory Can be fixed by restarting libvirtd and then restarting agent: [root@kvm2 ~]# service libvirtd restart Redirecting to /bin/systemctl restart libvirtd.service It's back: [root@kvm2 ~]# ls -la /var/run/libvirt/libvirt-sock srwxrwxrwx. 1 root root 0 Aug 22 07:41 /var/run/libvirt/libvirt-sock I restarted agent while Marvin was still waiting for the Agent to report back: [root@kvm2 ~]# /etc/init.d/cloudstack-agent restart Restarting cloudstack-agent (via systemctl): [ OK ] [root@kvm2 ~]# less /var/log/cloudstack/agent/ After this it worked fine and the deployment succeeded. Will digg into this deeper on Monday and make a solution.
          Hide
          remibergsma Remi Bergsma added a comment -

          It now actually works! But it needs more testing and clean-ups though.
          Work-in-progress here: https://github.com/remibergsma/cloudstack/commits/centos7-kvm

          Show
          remibergsma Remi Bergsma added a comment - It now actually works! But it needs more testing and clean-ups though. Work-in-progress here: https://github.com/remibergsma/cloudstack/commits/centos7-kvm
          Hide
          githubbot ASF GitHub Bot added a comment -

          GitHub user remibergsma opened a pull request:

          https://github.com/apache/cloudstack/pull/731

          CLOUDSTACK-8443: Support CentOS 7 as KVM hypervisor

          This adds support for CentOS 7 as a KVM hypervisor. As discussed in the Jira issue, the root cause of the issue was the `cloudstack-setup-agent` script that added this line to `/etc/libvirt/qemu.conf`:

          `cgroup_controllers=["cpu"]`

          On CentOS 6 this 'works', but since by default no cgroups are mounted, this setting is ignored by `libvirtd`. On CentOS 7 is does not work, because the `cpu` and `cpuacct` are 'co-mounted'. This simpy means you cannot use one without the order. The config line above instructs `libvirtd` to only use the `cpu` cgroup, which it can't.

          There was code added to make sure the `cpu` cgroup was not co-mounted. It did this with a shell script, but after a reboot it was gone. It wasn't reliable and not even a solution at all. I went ahead and removed the code, because the co-mounted cgroups work fine. The real issue was the config line we put in `/etc/libvirt/qemu.conf` so much better to fix that instead.

          The default for `libvirtd` is to use only cgroups that are mounted. When you remove the 'cgroup_controllers' line, the default kicks in. According to the `qemu.conf` file, the default is:

          `cgroup_controllers = ["cpu", "devices", "memory", "blkio", "cpuacct", "net_cls"]`

          Then again, if it's not mounted, it's not used. So, that's a nice way to control it.
          This works just fine for both RHEL/CentOS 6 and RHEL/CentOS 7.

          Along the debugging, I came across some small issues here and there which I also fixed in this PR.

          If you test this, be sure to build RPMs from this branch and install those on the KVM hypervisor.

          At Schuberg Philis we run KVM hypervisors on CentOS 7 for months with these fixes. Now I took the time to fix the issues in CloudStack, rather than work around them.

          @bhaisaab @karuturi could you please review this? Thanks!

          Please note:
          The next step is to fix CLOUDSTACK-8625 (Systemd profile for KVM Agent) as currently a sysvinit script is still used. Although it works, we do not have any systemd benefits. As it is a separate issue, I'll try to address it in a separate PR.

          You can merge this pull request into a Git repository by running:

          $ git pull https://github.com/remibergsma/cloudstack centos7-kvm

          Alternatively you can review and apply these changes as the patch at:

          https://github.com/apache/cloudstack/pull/731.patch

          To close this pull request, make a commit to your master/trunk branch
          with (at least) the following in the commit message:

          This closes #731


          commit e8fcaa8736d4f870d28fdb8617402c78b0fe0a0a
          Author: Remi Bergsma <github@remi.nl>
          Date: 2015-08-20T20:31:55Z

          CLOUDSTACK-8443: no need to specify cgroup_controllers

          This setting works on CentOS 6 / RHEL 6 but does nothing, as
          "cpu" cgroup is not mounted. On CentOS 7 / RHEL 7 systemd does
          mount cgroups and "cpu" is co-mounted with "cpuacc". Hence, if
          we specify "cpu" then this results in an error because it can
          only use them both, or none.

          By removing the setting, we rely on the default of qemu, which
          is:
          cgroup_controllers = ["cpu", "devices", "memory", "blkio", "cpuacct", "net_cls"]

          Only if they are really mounted, they will be used. So, this will
          work on both version 6 and 7.

          commit 3ec82a598c6aed0f72fc15b35de32575168e40ab
          Author: Remi Bergsma <github@remi.nl>
          Date: 2015-08-20T20:51:53Z

          CLOUDSTACK-8443: remove setting up cgroup_controllers

          commit 8196cc82542b9b2038ae3c5db88358249b3ce5ad
          Author: Remi Bergsma <github@remi.nl>
          Date: 2015-08-20T20:53:31Z

          CLOUDSTACK-8443: don't try to fix co-mounted cgroups

          This didn't work well, as after a reboot you'd still have qemu
          throwing errors. We'll make sure we can handle the co-mounted
          cgroups.

          commit 7d7778faa79823342c0468318ec26d8e3df84a9f
          Author: Remi Bergsma <github@remi.nl>
          Date: 2015-08-22T20:54:01Z

          CLOUDSTACK-8443: display the right hypervisor type

          commit 313988c76a9524159b8a12a569a818f0b715c14e
          Author: Remi Bergsma <github@remi.nl>
          Date: 2015-08-23T10:44:34Z

          CLOUDSTACK-8443: mention the correct logfile

          commit 3696fd37d34a3db962c6785530aefb3574dd874f
          Author: Remi Bergsma <github@remi.nl>
          Date: 2015-08-22T20:30:46Z

          CLOUDSTACK-8443: detect CentOS 7.x as RHEL 7 alike


          Show
          githubbot ASF GitHub Bot added a comment - GitHub user remibergsma opened a pull request: https://github.com/apache/cloudstack/pull/731 CLOUDSTACK-8443 : Support CentOS 7 as KVM hypervisor This adds support for CentOS 7 as a KVM hypervisor. As discussed in the Jira issue, the root cause of the issue was the `cloudstack-setup-agent` script that added this line to `/etc/libvirt/qemu.conf`: `cgroup_controllers= ["cpu"] ` On CentOS 6 this 'works', but since by default no cgroups are mounted, this setting is ignored by `libvirtd`. On CentOS 7 is does not work, because the `cpu` and `cpuacct` are 'co-mounted'. This simpy means you cannot use one without the order. The config line above instructs `libvirtd` to only use the `cpu` cgroup, which it can't. There was code added to make sure the `cpu` cgroup was not co-mounted. It did this with a shell script, but after a reboot it was gone. It wasn't reliable and not even a solution at all. I went ahead and removed the code, because the co-mounted cgroups work fine. The real issue was the config line we put in `/etc/libvirt/qemu.conf` so much better to fix that instead. The default for `libvirtd` is to use only cgroups that are mounted. When you remove the 'cgroup_controllers' line, the default kicks in. According to the `qemu.conf` file, the default is: `cgroup_controllers = ["cpu", "devices", "memory", "blkio", "cpuacct", "net_cls"] ` Then again, if it's not mounted, it's not used. So, that's a nice way to control it. This works just fine for both RHEL/CentOS 6 and RHEL/CentOS 7. Along the debugging, I came across some small issues here and there which I also fixed in this PR. If you test this, be sure to build RPMs from this branch and install those on the KVM hypervisor. At Schuberg Philis we run KVM hypervisors on CentOS 7 for months with these fixes. Now I took the time to fix the issues in CloudStack, rather than work around them. @bhaisaab @karuturi could you please review this? Thanks! Please note: The next step is to fix CLOUDSTACK-8625 (Systemd profile for KVM Agent) as currently a sysvinit script is still used. Although it works, we do not have any systemd benefits. As it is a separate issue, I'll try to address it in a separate PR. You can merge this pull request into a Git repository by running: $ git pull https://github.com/remibergsma/cloudstack centos7-kvm Alternatively you can review and apply these changes as the patch at: https://github.com/apache/cloudstack/pull/731.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #731 commit e8fcaa8736d4f870d28fdb8617402c78b0fe0a0a Author: Remi Bergsma <github@remi.nl> Date: 2015-08-20T20:31:55Z CLOUDSTACK-8443 : no need to specify cgroup_controllers This setting works on CentOS 6 / RHEL 6 but does nothing, as "cpu" cgroup is not mounted. On CentOS 7 / RHEL 7 systemd does mount cgroups and "cpu" is co-mounted with "cpuacc". Hence, if we specify "cpu" then this results in an error because it can only use them both, or none. By removing the setting, we rely on the default of qemu, which is: cgroup_controllers = ["cpu", "devices", "memory", "blkio", "cpuacct", "net_cls"] Only if they are really mounted, they will be used. So, this will work on both version 6 and 7. commit 3ec82a598c6aed0f72fc15b35de32575168e40ab Author: Remi Bergsma <github@remi.nl> Date: 2015-08-20T20:51:53Z CLOUDSTACK-8443 : remove setting up cgroup_controllers commit 8196cc82542b9b2038ae3c5db88358249b3ce5ad Author: Remi Bergsma <github@remi.nl> Date: 2015-08-20T20:53:31Z CLOUDSTACK-8443 : don't try to fix co-mounted cgroups This didn't work well, as after a reboot you'd still have qemu throwing errors. We'll make sure we can handle the co-mounted cgroups. commit 7d7778faa79823342c0468318ec26d8e3df84a9f Author: Remi Bergsma <github@remi.nl> Date: 2015-08-22T20:54:01Z CLOUDSTACK-8443 : display the right hypervisor type commit 313988c76a9524159b8a12a569a818f0b715c14e Author: Remi Bergsma <github@remi.nl> Date: 2015-08-23T10:44:34Z CLOUDSTACK-8443 : mention the correct logfile commit 3696fd37d34a3db962c6785530aefb3574dd874f Author: Remi Bergsma <github@remi.nl> Date: 2015-08-22T20:30:46Z CLOUDSTACK-8443 : detect CentOS 7.x as RHEL 7 alike
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 3ec82a598c6aed0f72fc15b35de32575168e40ab in cloudstack's branch refs/heads/CLOUDSTACK-8443 from Remi Bergsma
          [ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=3ec82a5 ]

          CLOUDSTACK-8443: remove setting up cgroup_controllers

          Show
          jira-bot ASF subversion and git services added a comment - Commit 3ec82a598c6aed0f72fc15b35de32575168e40ab in cloudstack's branch refs/heads/ CLOUDSTACK-8443 from Remi Bergsma [ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=3ec82a5 ] CLOUDSTACK-8443 : remove setting up cgroup_controllers
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 8196cc82542b9b2038ae3c5db88358249b3ce5ad in cloudstack's branch refs/heads/CLOUDSTACK-8443 from Remi Bergsma
          [ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=8196cc8 ]

          CLOUDSTACK-8443: don't try to fix co-mounted cgroups

          This didn't work well, as after a reboot you'd still have qemu
          throwing errors. We'll make sure we can handle the co-mounted
          cgroups.

          Show
          jira-bot ASF subversion and git services added a comment - Commit 8196cc82542b9b2038ae3c5db88358249b3ce5ad in cloudstack's branch refs/heads/ CLOUDSTACK-8443 from Remi Bergsma [ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=8196cc8 ] CLOUDSTACK-8443 : don't try to fix co-mounted cgroups This didn't work well, as after a reboot you'd still have qemu throwing errors. We'll make sure we can handle the co-mounted cgroups.
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 7d7778faa79823342c0468318ec26d8e3df84a9f in cloudstack's branch refs/heads/CLOUDSTACK-8443 from Remi Bergsma
          [ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=7d7778f ]

          CLOUDSTACK-8443: display the right hypervisor type

          Show
          jira-bot ASF subversion and git services added a comment - Commit 7d7778faa79823342c0468318ec26d8e3df84a9f in cloudstack's branch refs/heads/ CLOUDSTACK-8443 from Remi Bergsma [ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=7d7778f ] CLOUDSTACK-8443 : display the right hypervisor type
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 313988c76a9524159b8a12a569a818f0b715c14e in cloudstack's branch refs/heads/CLOUDSTACK-8443 from Remi Bergsma
          [ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=313988c ]

          CLOUDSTACK-8443: mention the correct logfile

          Show
          jira-bot ASF subversion and git services added a comment - Commit 313988c76a9524159b8a12a569a818f0b715c14e in cloudstack's branch refs/heads/ CLOUDSTACK-8443 from Remi Bergsma [ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=313988c ] CLOUDSTACK-8443 : mention the correct logfile
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 3696fd37d34a3db962c6785530aefb3574dd874f in cloudstack's branch refs/heads/CLOUDSTACK-8443 from Remi Bergsma
          [ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=3696fd3 ]

          CLOUDSTACK-8443: detect CentOS 7.x as RHEL 7 alike

          Show
          jira-bot ASF subversion and git services added a comment - Commit 3696fd37d34a3db962c6785530aefb3574dd874f in cloudstack's branch refs/heads/ CLOUDSTACK-8443 from Remi Bergsma [ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=3696fd3 ] CLOUDSTACK-8443 : detect CentOS 7.x as RHEL 7 alike
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user borisroman commented on the pull request:

          https://github.com/apache/cloudstack/pull/731#issuecomment-134071270

          LGTM -> Deployed on Centos7 started 2 systemvms, 1 router and 1 guest vm without libvirt errors.

          Show
          githubbot ASF GitHub Bot added a comment - Github user borisroman commented on the pull request: https://github.com/apache/cloudstack/pull/731#issuecomment-134071270 LGTM -> Deployed on Centos7 started 2 systemvms, 1 router and 1 guest vm without libvirt errors.
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user bhaisaab commented on the pull request:

          https://github.com/apache/cloudstack/pull/731#issuecomment-134107765

          @remibergsma looks good, but let me test it and get back to you on this; also for a small patch a single commit is preferred as multiple commits dilute the main motive of the fix when someone is browsing git history or referencing in future - 'Supporting CentOS7 as KVM hypervisor host'

          Show
          githubbot ASF GitHub Bot added a comment - Github user bhaisaab commented on the pull request: https://github.com/apache/cloudstack/pull/731#issuecomment-134107765 @remibergsma looks good, but let me test it and get back to you on this; also for a small patch a single commit is preferred as multiple commits dilute the main motive of the fix when someone is browsing git history or referencing in future - 'Supporting CentOS7 as KVM hypervisor host'
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user remibergsma commented on the pull request:

          https://github.com/apache/cloudstack/pull/731#issuecomment-134154979

          @borisroman @bhaisaab Thanks for testing!

          I'll have another look at the commits and see if it makes sense to quash some of them together (I'll make them atomic).

          Show
          githubbot ASF GitHub Bot added a comment - Github user remibergsma commented on the pull request: https://github.com/apache/cloudstack/pull/731#issuecomment-134154979 @borisroman @bhaisaab Thanks for testing! I'll have another look at the commits and see if it makes sense to quash some of them together (I'll make them atomic).
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user bhaisaab commented on the pull request:

          https://github.com/apache/cloudstack/pull/731#issuecomment-134169583

          just to clarify I've not tested this against a real env, just reviewed the code; there are few cgroup related things I don't completely grok but I'll invest time on them

          Show
          githubbot ASF GitHub Bot added a comment - Github user bhaisaab commented on the pull request: https://github.com/apache/cloudstack/pull/731#issuecomment-134169583 just to clarify I've not tested this against a real env, just reviewed the code; there are few cgroup related things I don't completely grok but I'll invest time on them
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user remibergsma commented on the pull request:

          https://github.com/apache/cloudstack/pull/731#issuecomment-134211424

          Squashed some commits that belong to each other.

          Show
          githubbot ASF GitHub Bot added a comment - Github user remibergsma commented on the pull request: https://github.com/apache/cloudstack/pull/731#issuecomment-134211424 Squashed some commits that belong to each other.
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user remibergsma commented on the pull request:

          https://github.com/apache/cloudstack/pull/731#issuecomment-134363088

          @bhaisaab No worries, took me some time as well to understand how it is supposed to work and I'm also still learning.

          In the Jira issue you mention two issues. The first:
          ```
          org.libvirt.LibvirtException: Controller 'cpuacct' is not wanted, but 'cpu' is co-mounted: Invalid argument
          ```

          This is due to the co-mount: both 'cpu' and 'cpuacct' are on one mount point, and our previous config instructs it to use only 'cpu'. So, the 'cpuacct' is `not wanted` by our config. This was solved in my PR by relying on the default.

          The second issue:
          ```
          unsupported configuration: CPU tuning is not available on this host
          ```

          This issue also went away by updating the `libvirtd` config. When I look at the Libvirt source (https://github.com/virtualopensystems/libvirt/blob/master/src/qemu/qemu_cgroup.c#L635) I see this error is thrown in qemu_cgroup.c I assume the VIR_ERR_CONFIG_UNSUPPORTED aka `unsupported configuration` also has to do with the rather weird cgroup config that we put there before but I don't know for sure.

          If you have some time, please give it a go. I'll also ask @wilderrodrigues to review it.

          Show
          githubbot ASF GitHub Bot added a comment - Github user remibergsma commented on the pull request: https://github.com/apache/cloudstack/pull/731#issuecomment-134363088 @bhaisaab No worries, took me some time as well to understand how it is supposed to work and I'm also still learning. In the Jira issue you mention two issues. The first: ``` org.libvirt.LibvirtException: Controller 'cpuacct' is not wanted, but 'cpu' is co-mounted: Invalid argument ``` This is due to the co-mount: both 'cpu' and 'cpuacct' are on one mount point, and our previous config instructs it to use only 'cpu'. So, the 'cpuacct' is `not wanted` by our config. This was solved in my PR by relying on the default. The second issue: ``` unsupported configuration: CPU tuning is not available on this host ``` This issue also went away by updating the `libvirtd` config. When I look at the Libvirt source ( https://github.com/virtualopensystems/libvirt/blob/master/src/qemu/qemu_cgroup.c#L635 ) I see this error is thrown in qemu_cgroup.c I assume the VIR_ERR_CONFIG_UNSUPPORTED aka `unsupported configuration` also has to do with the rather weird cgroup config that we put there before but I don't know for sure. If you have some time, please give it a go. I'll also ask @wilderrodrigues to review it.
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user karuturi commented on the pull request:

          https://github.com/apache/cloudstack/pull/731#issuecomment-134502526

          This is what I have done to test

          installed a fresh setup with centos63 rpms on MS with 6.3 and KVM host with 6.3.
          verified that systemvms, VR and user instances successfully started.
          verified that cgroup_controllers=["cpu"] doesnt exists at host:/etc/libvirt/qemu.conf

          installed a fresh setup with centos7 rpms on MS with 7 and KVM host with 7.
          verified that systemvms, VR and user instances successfully started.
          verified that cgroup_controllers=["cpu"] doesnt exists at host:/etc/libvirt/qemu.conf

          :+1:

          Thanks for the detailed description

          Show
          githubbot ASF GitHub Bot added a comment - Github user karuturi commented on the pull request: https://github.com/apache/cloudstack/pull/731#issuecomment-134502526 This is what I have done to test installed a fresh setup with centos63 rpms on MS with 6.3 and KVM host with 6.3. verified that systemvms, VR and user instances successfully started. verified that cgroup_controllers= ["cpu"] doesnt exists at host:/etc/libvirt/qemu.conf installed a fresh setup with centos7 rpms on MS with 7 and KVM host with 7. verified that systemvms, VR and user instances successfully started. verified that cgroup_controllers= ["cpu"] doesnt exists at host:/etc/libvirt/qemu.conf :+1: Thanks for the detailed description
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user remibergsma commented on the pull request:

          https://github.com/apache/cloudstack/pull/731#issuecomment-134523092

          Thanks for testing and verifying @karuturi

          Show
          githubbot ASF GitHub Bot added a comment - Github user remibergsma commented on the pull request: https://github.com/apache/cloudstack/pull/731#issuecomment-134523092 Thanks for testing and verifying @karuturi
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 87fdb521f0339c7bda7cbad979365988a14e9fd1 in cloudstack's branch refs/heads/master from Remi Bergsma
          [ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=87fdb52 ]

          CLOUDSTACK-8443: don't try to fix co-mounted cgroups

          This setting works on CentOS 6 / RHEL 6 but does nothing, as
          "cpu" cgroup is not mounted. On CentOS 7 / RHEL 7 systemd does
          mount cgroups and "cpu" is co-mounted with "cpuacc". Hence, if
          we specify "cpu" then this results in an error because it can
          only use them both, or none.

          By removing the setting, we rely on the default of qemu, which
          is:
          cgroup_controllers = ["cpu", "devices", "memory", "blkio", "cpuacct", "net_cls"]

          Only if they are really mounted, they will be used. So, this will
          work on both version 6 and 7.

          The 'fix script' didn't work well, as after a reboot you'd still have qemu
          throwing errors. Now we can handle the co-mountedcgroups.

          Show
          jira-bot ASF subversion and git services added a comment - Commit 87fdb521f0339c7bda7cbad979365988a14e9fd1 in cloudstack's branch refs/heads/master from Remi Bergsma [ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=87fdb52 ] CLOUDSTACK-8443 : don't try to fix co-mounted cgroups This setting works on CentOS 6 / RHEL 6 but does nothing, as "cpu" cgroup is not mounted. On CentOS 7 / RHEL 7 systemd does mount cgroups and "cpu" is co-mounted with "cpuacc". Hence, if we specify "cpu" then this results in an error because it can only use them both, or none. By removing the setting, we rely on the default of qemu, which is: cgroup_controllers = ["cpu", "devices", "memory", "blkio", "cpuacct", "net_cls"] Only if they are really mounted, they will be used. So, this will work on both version 6 and 7. The 'fix script' didn't work well, as after a reboot you'd still have qemu throwing errors. Now we can handle the co-mountedcgroups.
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 778b828af0d223299f093e2e7262ce4ad525f244 in cloudstack's branch refs/heads/master from Remi Bergsma
          [ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=778b828 ]

          CLOUDSTACK-8443: display the right hypervisor type

          Show
          jira-bot ASF subversion and git services added a comment - Commit 778b828af0d223299f093e2e7262ce4ad525f244 in cloudstack's branch refs/heads/master from Remi Bergsma [ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=778b828 ] CLOUDSTACK-8443 : display the right hypervisor type
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit b29ffa2cfecd9e331bdc2520b241a93bf866d934 in cloudstack's branch refs/heads/master from Remi Bergsma
          [ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=b29ffa2 ]

          CLOUDSTACK-8443: mention the correct logfile

          Show
          jira-bot ASF subversion and git services added a comment - Commit b29ffa2cfecd9e331bdc2520b241a93bf866d934 in cloudstack's branch refs/heads/master from Remi Bergsma [ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=b29ffa2 ] CLOUDSTACK-8443 : mention the correct logfile
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 0a320c18d4450e36b0fedacb237a5ed5f465a7b8 in cloudstack's branch refs/heads/master from Remi Bergsma
          [ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=0a320c1 ]

          CLOUDSTACK-8443: detect CentOS 7.x as RHEL 7 alike

          Show
          jira-bot ASF subversion and git services added a comment - Commit 0a320c18d4450e36b0fedacb237a5ed5f465a7b8 in cloudstack's branch refs/heads/master from Remi Bergsma [ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=0a320c1 ] CLOUDSTACK-8443 : detect CentOS 7.x as RHEL 7 alike
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit c0fde9a12bf32d0d4009792d05b1648f7c6ea419 in cloudstack's branch refs/heads/master from Remi Bergsma
          [ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=c0fde9a ]

          Merge pull request #731 from remibergsma/centos7-kvm

          CLOUDSTACK-8443: Support CentOS 7 as KVM hypervisorThis adds support for CentOS 7 as a KVM hypervisor. As discussed in the Jira issue, the root cause of the issue was the `cloudstack-setup-agent` script that added this line to `/etc/libvirt/qemu.conf`:

          `cgroup_controllers=["cpu"]`

          On CentOS 6 this 'works', but since by default no cgroups are mounted, this setting is ignored by `libvirtd`. On CentOS 7 is does not work, because the `cpu` and `cpuacct` are 'co-mounted'. This simpy means you cannot use one without the order. The config line above instructs `libvirtd` to only use the `cpu` cgroup, which it can't.

          There was code added to make sure the `cpu` cgroup was not co-mounted. It did this with a shell script, but after a reboot it was gone. It wasn't reliable and not even a solution at all. I went ahead and removed the code, because the co-mounted cgroups work fine. The real issue was the config line we put in `/etc/libvirt/qemu.conf` so much better to fix that instead.

          The default for `libvirtd` is to use only cgroups that are mounted. When you remove the 'cgroup_controllers' line, the default kicks in. According to the `qemu.conf` file, the default is:

          `cgroup_controllers = ["cpu", "devices", "memory", "blkio", "cpuacct", "net_cls"]`

          Then again, if it's not mounted, it's not used. So, that's a nice way to control it.
          This works just fine for both RHEL/CentOS 6 and RHEL/CentOS 7.

          Along the debugging, I came across some small issues here and there which I also fixed in this PR.

          If you test this, be sure to build RPMs from this branch and install those on the KVM hypervisor.

          At Schuberg Philis we run KVM hypervisors on CentOS 7 for months with these fixes. Now I took the time to fix the issues in CloudStack, rather than work around them.

          @bhaisaab @karuturi could you please review this? Thanks!

          Please note:
          The next step is to fix CLOUDSTACK-8625 (Systemd profile for KVM Agent) as currently a sysvinit script is still used. Although it works, we do not have any systemd benefits. As it is a separate issue, I'll try to address it in a separate PR.

          Signed-off-by: Remi Bergsma <github@remi.nl>

          Show
          jira-bot ASF subversion and git services added a comment - Commit c0fde9a12bf32d0d4009792d05b1648f7c6ea419 in cloudstack's branch refs/heads/master from Remi Bergsma [ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=c0fde9a ] Merge pull request #731 from remibergsma/centos7-kvm CLOUDSTACK-8443 : Support CentOS 7 as KVM hypervisorThis adds support for CentOS 7 as a KVM hypervisor. As discussed in the Jira issue, the root cause of the issue was the `cloudstack-setup-agent` script that added this line to `/etc/libvirt/qemu.conf`: `cgroup_controllers= ["cpu"] ` On CentOS 6 this 'works', but since by default no cgroups are mounted, this setting is ignored by `libvirtd`. On CentOS 7 is does not work, because the `cpu` and `cpuacct` are 'co-mounted'. This simpy means you cannot use one without the order. The config line above instructs `libvirtd` to only use the `cpu` cgroup, which it can't. There was code added to make sure the `cpu` cgroup was not co-mounted. It did this with a shell script, but after a reboot it was gone. It wasn't reliable and not even a solution at all. I went ahead and removed the code, because the co-mounted cgroups work fine. The real issue was the config line we put in `/etc/libvirt/qemu.conf` so much better to fix that instead. The default for `libvirtd` is to use only cgroups that are mounted. When you remove the 'cgroup_controllers' line, the default kicks in. According to the `qemu.conf` file, the default is: `cgroup_controllers = ["cpu", "devices", "memory", "blkio", "cpuacct", "net_cls"] ` Then again, if it's not mounted, it's not used. So, that's a nice way to control it. This works just fine for both RHEL/CentOS 6 and RHEL/CentOS 7. Along the debugging, I came across some small issues here and there which I also fixed in this PR. If you test this, be sure to build RPMs from this branch and install those on the KVM hypervisor. At Schuberg Philis we run KVM hypervisors on CentOS 7 for months with these fixes. Now I took the time to fix the issues in CloudStack, rather than work around them. @bhaisaab @karuturi could you please review this? Thanks! Please note: The next step is to fix CLOUDSTACK-8625 (Systemd profile for KVM Agent) as currently a sysvinit script is still used. Although it works, we do not have any systemd benefits. As it is a separate issue, I'll try to address it in a separate PR. pr/731: CLOUDSTACK-8443 : detect CentOS 7.x as RHEL 7 alike CLOUDSTACK-8443 : mention the correct logfile CLOUDSTACK-8443 : display the right hypervisor type CLOUDSTACK-8443 : don't try to fix co-mounted cgroups Signed-off-by: Remi Bergsma <github@remi.nl>
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit c0fde9a12bf32d0d4009792d05b1648f7c6ea419 in cloudstack's branch refs/heads/master from Remi Bergsma
          [ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=c0fde9a ]

          Merge pull request #731 from remibergsma/centos7-kvm

          CLOUDSTACK-8443: Support CentOS 7 as KVM hypervisorThis adds support for CentOS 7 as a KVM hypervisor. As discussed in the Jira issue, the root cause of the issue was the `cloudstack-setup-agent` script that added this line to `/etc/libvirt/qemu.conf`:

          `cgroup_controllers=["cpu"]`

          On CentOS 6 this 'works', but since by default no cgroups are mounted, this setting is ignored by `libvirtd`. On CentOS 7 is does not work, because the `cpu` and `cpuacct` are 'co-mounted'. This simpy means you cannot use one without the order. The config line above instructs `libvirtd` to only use the `cpu` cgroup, which it can't.

          There was code added to make sure the `cpu` cgroup was not co-mounted. It did this with a shell script, but after a reboot it was gone. It wasn't reliable and not even a solution at all. I went ahead and removed the code, because the co-mounted cgroups work fine. The real issue was the config line we put in `/etc/libvirt/qemu.conf` so much better to fix that instead.

          The default for `libvirtd` is to use only cgroups that are mounted. When you remove the 'cgroup_controllers' line, the default kicks in. According to the `qemu.conf` file, the default is:

          `cgroup_controllers = ["cpu", "devices", "memory", "blkio", "cpuacct", "net_cls"]`

          Then again, if it's not mounted, it's not used. So, that's a nice way to control it.
          This works just fine for both RHEL/CentOS 6 and RHEL/CentOS 7.

          Along the debugging, I came across some small issues here and there which I also fixed in this PR.

          If you test this, be sure to build RPMs from this branch and install those on the KVM hypervisor.

          At Schuberg Philis we run KVM hypervisors on CentOS 7 for months with these fixes. Now I took the time to fix the issues in CloudStack, rather than work around them.

          @bhaisaab @karuturi could you please review this? Thanks!

          Please note:
          The next step is to fix CLOUDSTACK-8625 (Systemd profile for KVM Agent) as currently a sysvinit script is still used. Although it works, we do not have any systemd benefits. As it is a separate issue, I'll try to address it in a separate PR.

          Signed-off-by: Remi Bergsma <github@remi.nl>

          Show
          jira-bot ASF subversion and git services added a comment - Commit c0fde9a12bf32d0d4009792d05b1648f7c6ea419 in cloudstack's branch refs/heads/master from Remi Bergsma [ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=c0fde9a ] Merge pull request #731 from remibergsma/centos7-kvm CLOUDSTACK-8443 : Support CentOS 7 as KVM hypervisorThis adds support for CentOS 7 as a KVM hypervisor. As discussed in the Jira issue, the root cause of the issue was the `cloudstack-setup-agent` script that added this line to `/etc/libvirt/qemu.conf`: `cgroup_controllers= ["cpu"] ` On CentOS 6 this 'works', but since by default no cgroups are mounted, this setting is ignored by `libvirtd`. On CentOS 7 is does not work, because the `cpu` and `cpuacct` are 'co-mounted'. This simpy means you cannot use one without the order. The config line above instructs `libvirtd` to only use the `cpu` cgroup, which it can't. There was code added to make sure the `cpu` cgroup was not co-mounted. It did this with a shell script, but after a reboot it was gone. It wasn't reliable and not even a solution at all. I went ahead and removed the code, because the co-mounted cgroups work fine. The real issue was the config line we put in `/etc/libvirt/qemu.conf` so much better to fix that instead. The default for `libvirtd` is to use only cgroups that are mounted. When you remove the 'cgroup_controllers' line, the default kicks in. According to the `qemu.conf` file, the default is: `cgroup_controllers = ["cpu", "devices", "memory", "blkio", "cpuacct", "net_cls"] ` Then again, if it's not mounted, it's not used. So, that's a nice way to control it. This works just fine for both RHEL/CentOS 6 and RHEL/CentOS 7. Along the debugging, I came across some small issues here and there which I also fixed in this PR. If you test this, be sure to build RPMs from this branch and install those on the KVM hypervisor. At Schuberg Philis we run KVM hypervisors on CentOS 7 for months with these fixes. Now I took the time to fix the issues in CloudStack, rather than work around them. @bhaisaab @karuturi could you please review this? Thanks! Please note: The next step is to fix CLOUDSTACK-8625 (Systemd profile for KVM Agent) as currently a sysvinit script is still used. Although it works, we do not have any systemd benefits. As it is a separate issue, I'll try to address it in a separate PR. pr/731: CLOUDSTACK-8443 : detect CentOS 7.x as RHEL 7 alike CLOUDSTACK-8443 : mention the correct logfile CLOUDSTACK-8443 : display the right hypervisor type CLOUDSTACK-8443 : don't try to fix co-mounted cgroups Signed-off-by: Remi Bergsma <github@remi.nl>
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit c0fde9a12bf32d0d4009792d05b1648f7c6ea419 in cloudstack's branch refs/heads/master from Remi Bergsma
          [ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=c0fde9a ]

          Merge pull request #731 from remibergsma/centos7-kvm

          CLOUDSTACK-8443: Support CentOS 7 as KVM hypervisorThis adds support for CentOS 7 as a KVM hypervisor. As discussed in the Jira issue, the root cause of the issue was the `cloudstack-setup-agent` script that added this line to `/etc/libvirt/qemu.conf`:

          `cgroup_controllers=["cpu"]`

          On CentOS 6 this 'works', but since by default no cgroups are mounted, this setting is ignored by `libvirtd`. On CentOS 7 is does not work, because the `cpu` and `cpuacct` are 'co-mounted'. This simpy means you cannot use one without the order. The config line above instructs `libvirtd` to only use the `cpu` cgroup, which it can't.

          There was code added to make sure the `cpu` cgroup was not co-mounted. It did this with a shell script, but after a reboot it was gone. It wasn't reliable and not even a solution at all. I went ahead and removed the code, because the co-mounted cgroups work fine. The real issue was the config line we put in `/etc/libvirt/qemu.conf` so much better to fix that instead.

          The default for `libvirtd` is to use only cgroups that are mounted. When you remove the 'cgroup_controllers' line, the default kicks in. According to the `qemu.conf` file, the default is:

          `cgroup_controllers = ["cpu", "devices", "memory", "blkio", "cpuacct", "net_cls"]`

          Then again, if it's not mounted, it's not used. So, that's a nice way to control it.
          This works just fine for both RHEL/CentOS 6 and RHEL/CentOS 7.

          Along the debugging, I came across some small issues here and there which I also fixed in this PR.

          If you test this, be sure to build RPMs from this branch and install those on the KVM hypervisor.

          At Schuberg Philis we run KVM hypervisors on CentOS 7 for months with these fixes. Now I took the time to fix the issues in CloudStack, rather than work around them.

          @bhaisaab @karuturi could you please review this? Thanks!

          Please note:
          The next step is to fix CLOUDSTACK-8625 (Systemd profile for KVM Agent) as currently a sysvinit script is still used. Although it works, we do not have any systemd benefits. As it is a separate issue, I'll try to address it in a separate PR.

          Signed-off-by: Remi Bergsma <github@remi.nl>

          Show
          jira-bot ASF subversion and git services added a comment - Commit c0fde9a12bf32d0d4009792d05b1648f7c6ea419 in cloudstack's branch refs/heads/master from Remi Bergsma [ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=c0fde9a ] Merge pull request #731 from remibergsma/centos7-kvm CLOUDSTACK-8443 : Support CentOS 7 as KVM hypervisorThis adds support for CentOS 7 as a KVM hypervisor. As discussed in the Jira issue, the root cause of the issue was the `cloudstack-setup-agent` script that added this line to `/etc/libvirt/qemu.conf`: `cgroup_controllers= ["cpu"] ` On CentOS 6 this 'works', but since by default no cgroups are mounted, this setting is ignored by `libvirtd`. On CentOS 7 is does not work, because the `cpu` and `cpuacct` are 'co-mounted'. This simpy means you cannot use one without the order. The config line above instructs `libvirtd` to only use the `cpu` cgroup, which it can't. There was code added to make sure the `cpu` cgroup was not co-mounted. It did this with a shell script, but after a reboot it was gone. It wasn't reliable and not even a solution at all. I went ahead and removed the code, because the co-mounted cgroups work fine. The real issue was the config line we put in `/etc/libvirt/qemu.conf` so much better to fix that instead. The default for `libvirtd` is to use only cgroups that are mounted. When you remove the 'cgroup_controllers' line, the default kicks in. According to the `qemu.conf` file, the default is: `cgroup_controllers = ["cpu", "devices", "memory", "blkio", "cpuacct", "net_cls"] ` Then again, if it's not mounted, it's not used. So, that's a nice way to control it. This works just fine for both RHEL/CentOS 6 and RHEL/CentOS 7. Along the debugging, I came across some small issues here and there which I also fixed in this PR. If you test this, be sure to build RPMs from this branch and install those on the KVM hypervisor. At Schuberg Philis we run KVM hypervisors on CentOS 7 for months with these fixes. Now I took the time to fix the issues in CloudStack, rather than work around them. @bhaisaab @karuturi could you please review this? Thanks! Please note: The next step is to fix CLOUDSTACK-8625 (Systemd profile for KVM Agent) as currently a sysvinit script is still used. Although it works, we do not have any systemd benefits. As it is a separate issue, I'll try to address it in a separate PR. pr/731: CLOUDSTACK-8443 : detect CentOS 7.x as RHEL 7 alike CLOUDSTACK-8443 : mention the correct logfile CLOUDSTACK-8443 : display the right hypervisor type CLOUDSTACK-8443 : don't try to fix co-mounted cgroups Signed-off-by: Remi Bergsma <github@remi.nl>
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit c0fde9a12bf32d0d4009792d05b1648f7c6ea419 in cloudstack's branch refs/heads/master from Remi Bergsma
          [ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=c0fde9a ]

          Merge pull request #731 from remibergsma/centos7-kvm

          CLOUDSTACK-8443: Support CentOS 7 as KVM hypervisorThis adds support for CentOS 7 as a KVM hypervisor. As discussed in the Jira issue, the root cause of the issue was the `cloudstack-setup-agent` script that added this line to `/etc/libvirt/qemu.conf`:

          `cgroup_controllers=["cpu"]`

          On CentOS 6 this 'works', but since by default no cgroups are mounted, this setting is ignored by `libvirtd`. On CentOS 7 is does not work, because the `cpu` and `cpuacct` are 'co-mounted'. This simpy means you cannot use one without the order. The config line above instructs `libvirtd` to only use the `cpu` cgroup, which it can't.

          There was code added to make sure the `cpu` cgroup was not co-mounted. It did this with a shell script, but after a reboot it was gone. It wasn't reliable and not even a solution at all. I went ahead and removed the code, because the co-mounted cgroups work fine. The real issue was the config line we put in `/etc/libvirt/qemu.conf` so much better to fix that instead.

          The default for `libvirtd` is to use only cgroups that are mounted. When you remove the 'cgroup_controllers' line, the default kicks in. According to the `qemu.conf` file, the default is:

          `cgroup_controllers = ["cpu", "devices", "memory", "blkio", "cpuacct", "net_cls"]`

          Then again, if it's not mounted, it's not used. So, that's a nice way to control it.
          This works just fine for both RHEL/CentOS 6 and RHEL/CentOS 7.

          Along the debugging, I came across some small issues here and there which I also fixed in this PR.

          If you test this, be sure to build RPMs from this branch and install those on the KVM hypervisor.

          At Schuberg Philis we run KVM hypervisors on CentOS 7 for months with these fixes. Now I took the time to fix the issues in CloudStack, rather than work around them.

          @bhaisaab @karuturi could you please review this? Thanks!

          Please note:
          The next step is to fix CLOUDSTACK-8625 (Systemd profile for KVM Agent) as currently a sysvinit script is still used. Although it works, we do not have any systemd benefits. As it is a separate issue, I'll try to address it in a separate PR.

          Signed-off-by: Remi Bergsma <github@remi.nl>

          Show
          jira-bot ASF subversion and git services added a comment - Commit c0fde9a12bf32d0d4009792d05b1648f7c6ea419 in cloudstack's branch refs/heads/master from Remi Bergsma [ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=c0fde9a ] Merge pull request #731 from remibergsma/centos7-kvm CLOUDSTACK-8443 : Support CentOS 7 as KVM hypervisorThis adds support for CentOS 7 as a KVM hypervisor. As discussed in the Jira issue, the root cause of the issue was the `cloudstack-setup-agent` script that added this line to `/etc/libvirt/qemu.conf`: `cgroup_controllers= ["cpu"] ` On CentOS 6 this 'works', but since by default no cgroups are mounted, this setting is ignored by `libvirtd`. On CentOS 7 is does not work, because the `cpu` and `cpuacct` are 'co-mounted'. This simpy means you cannot use one without the order. The config line above instructs `libvirtd` to only use the `cpu` cgroup, which it can't. There was code added to make sure the `cpu` cgroup was not co-mounted. It did this with a shell script, but after a reboot it was gone. It wasn't reliable and not even a solution at all. I went ahead and removed the code, because the co-mounted cgroups work fine. The real issue was the config line we put in `/etc/libvirt/qemu.conf` so much better to fix that instead. The default for `libvirtd` is to use only cgroups that are mounted. When you remove the 'cgroup_controllers' line, the default kicks in. According to the `qemu.conf` file, the default is: `cgroup_controllers = ["cpu", "devices", "memory", "blkio", "cpuacct", "net_cls"] ` Then again, if it's not mounted, it's not used. So, that's a nice way to control it. This works just fine for both RHEL/CentOS 6 and RHEL/CentOS 7. Along the debugging, I came across some small issues here and there which I also fixed in this PR. If you test this, be sure to build RPMs from this branch and install those on the KVM hypervisor. At Schuberg Philis we run KVM hypervisors on CentOS 7 for months with these fixes. Now I took the time to fix the issues in CloudStack, rather than work around them. @bhaisaab @karuturi could you please review this? Thanks! Please note: The next step is to fix CLOUDSTACK-8625 (Systemd profile for KVM Agent) as currently a sysvinit script is still used. Although it works, we do not have any systemd benefits. As it is a separate issue, I'll try to address it in a separate PR. pr/731: CLOUDSTACK-8443 : detect CentOS 7.x as RHEL 7 alike CLOUDSTACK-8443 : mention the correct logfile CLOUDSTACK-8443 : display the right hypervisor type CLOUDSTACK-8443 : don't try to fix co-mounted cgroups Signed-off-by: Remi Bergsma <github@remi.nl>
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit c0fde9a12bf32d0d4009792d05b1648f7c6ea419 in cloudstack's branch refs/heads/master from Remi Bergsma
          [ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=c0fde9a ]

          Merge pull request #731 from remibergsma/centos7-kvm

          CLOUDSTACK-8443: Support CentOS 7 as KVM hypervisorThis adds support for CentOS 7 as a KVM hypervisor. As discussed in the Jira issue, the root cause of the issue was the `cloudstack-setup-agent` script that added this line to `/etc/libvirt/qemu.conf`:

          `cgroup_controllers=["cpu"]`

          On CentOS 6 this 'works', but since by default no cgroups are mounted, this setting is ignored by `libvirtd`. On CentOS 7 is does not work, because the `cpu` and `cpuacct` are 'co-mounted'. This simpy means you cannot use one without the order. The config line above instructs `libvirtd` to only use the `cpu` cgroup, which it can't.

          There was code added to make sure the `cpu` cgroup was not co-mounted. It did this with a shell script, but after a reboot it was gone. It wasn't reliable and not even a solution at all. I went ahead and removed the code, because the co-mounted cgroups work fine. The real issue was the config line we put in `/etc/libvirt/qemu.conf` so much better to fix that instead.

          The default for `libvirtd` is to use only cgroups that are mounted. When you remove the 'cgroup_controllers' line, the default kicks in. According to the `qemu.conf` file, the default is:

          `cgroup_controllers = ["cpu", "devices", "memory", "blkio", "cpuacct", "net_cls"]`

          Then again, if it's not mounted, it's not used. So, that's a nice way to control it.
          This works just fine for both RHEL/CentOS 6 and RHEL/CentOS 7.

          Along the debugging, I came across some small issues here and there which I also fixed in this PR.

          If you test this, be sure to build RPMs from this branch and install those on the KVM hypervisor.

          At Schuberg Philis we run KVM hypervisors on CentOS 7 for months with these fixes. Now I took the time to fix the issues in CloudStack, rather than work around them.

          @bhaisaab @karuturi could you please review this? Thanks!

          Please note:
          The next step is to fix CLOUDSTACK-8625 (Systemd profile for KVM Agent) as currently a sysvinit script is still used. Although it works, we do not have any systemd benefits. As it is a separate issue, I'll try to address it in a separate PR.

          Signed-off-by: Remi Bergsma <github@remi.nl>

          Show
          jira-bot ASF subversion and git services added a comment - Commit c0fde9a12bf32d0d4009792d05b1648f7c6ea419 in cloudstack's branch refs/heads/master from Remi Bergsma [ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=c0fde9a ] Merge pull request #731 from remibergsma/centos7-kvm CLOUDSTACK-8443 : Support CentOS 7 as KVM hypervisorThis adds support for CentOS 7 as a KVM hypervisor. As discussed in the Jira issue, the root cause of the issue was the `cloudstack-setup-agent` script that added this line to `/etc/libvirt/qemu.conf`: `cgroup_controllers= ["cpu"] ` On CentOS 6 this 'works', but since by default no cgroups are mounted, this setting is ignored by `libvirtd`. On CentOS 7 is does not work, because the `cpu` and `cpuacct` are 'co-mounted'. This simpy means you cannot use one without the order. The config line above instructs `libvirtd` to only use the `cpu` cgroup, which it can't. There was code added to make sure the `cpu` cgroup was not co-mounted. It did this with a shell script, but after a reboot it was gone. It wasn't reliable and not even a solution at all. I went ahead and removed the code, because the co-mounted cgroups work fine. The real issue was the config line we put in `/etc/libvirt/qemu.conf` so much better to fix that instead. The default for `libvirtd` is to use only cgroups that are mounted. When you remove the 'cgroup_controllers' line, the default kicks in. According to the `qemu.conf` file, the default is: `cgroup_controllers = ["cpu", "devices", "memory", "blkio", "cpuacct", "net_cls"] ` Then again, if it's not mounted, it's not used. So, that's a nice way to control it. This works just fine for both RHEL/CentOS 6 and RHEL/CentOS 7. Along the debugging, I came across some small issues here and there which I also fixed in this PR. If you test this, be sure to build RPMs from this branch and install those on the KVM hypervisor. At Schuberg Philis we run KVM hypervisors on CentOS 7 for months with these fixes. Now I took the time to fix the issues in CloudStack, rather than work around them. @bhaisaab @karuturi could you please review this? Thanks! Please note: The next step is to fix CLOUDSTACK-8625 (Systemd profile for KVM Agent) as currently a sysvinit script is still used. Although it works, we do not have any systemd benefits. As it is a separate issue, I'll try to address it in a separate PR. pr/731: CLOUDSTACK-8443 : detect CentOS 7.x as RHEL 7 alike CLOUDSTACK-8443 : mention the correct logfile CLOUDSTACK-8443 : display the right hypervisor type CLOUDSTACK-8443 : don't try to fix co-mounted cgroups Signed-off-by: Remi Bergsma <github@remi.nl>
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user asfgit closed the pull request at:

          https://github.com/apache/cloudstack/pull/731

          Show
          githubbot ASF GitHub Bot added a comment - Github user asfgit closed the pull request at: https://github.com/apache/cloudstack/pull/731
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user bhaisaab commented on a diff in the pull request:

          https://github.com/apache/cloudstack/pull/731#discussion_r37855588

          — Diff: plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java —
          @@ -699,17 +698,6 @@ public boolean configure(final String name, final Map<String, Object> params) th
          _hypervisorType = HypervisorType.KVM;
          }

          • //Verify that cpu,cpuacct cgroups are not co-mounted
          • if(HypervisorType.LXC.equals(getHypervisorType())){
              • End diff –

          @kishankavala can you review this patch, it removes some of the cgroup setting stuff for LXC?

          Show
          githubbot ASF GitHub Bot added a comment - Github user bhaisaab commented on a diff in the pull request: https://github.com/apache/cloudstack/pull/731#discussion_r37855588 — Diff: plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java — @@ -699,17 +698,6 @@ public boolean configure(final String name, final Map<String, Object> params) th _hypervisorType = HypervisorType.KVM; } //Verify that cpu,cpuacct cgroups are not co-mounted if(HypervisorType.LXC.equals(getHypervisorType())){ End diff – @kishankavala can you review this patch, it removes some of the cgroup setting stuff for LXC?
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user remibergsma commented on a diff in the pull request:

          https://github.com/apache/cloudstack/pull/731#discussion_r37874182

          — Diff: plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java —
          @@ -699,17 +698,6 @@ public boolean configure(final String name, final Map<String, Object> params) th
          _hypervisorType = HypervisorType.KVM;
          }

          • //Verify that cpu,cpuacct cgroups are not co-mounted
          • if(HypervisorType.LXC.equals(getHypervisorType())){
              • End diff –

          @bhaisaab I just tested LXC and it works just fine with the co-mounted cgroups. The problem this code works-around has been solved. I think we're fine.

          Show
          githubbot ASF GitHub Bot added a comment - Github user remibergsma commented on a diff in the pull request: https://github.com/apache/cloudstack/pull/731#discussion_r37874182 — Diff: plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java — @@ -699,17 +698,6 @@ public boolean configure(final String name, final Map<String, Object> params) th _hypervisorType = HypervisorType.KVM; } //Verify that cpu,cpuacct cgroups are not co-mounted if(HypervisorType.LXC.equals(getHypervisorType())){ End diff – @bhaisaab I just tested LXC and it works just fine with the co-mounted cgroups. The problem this code works-around has been solved. I think we're fine.
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user kishankavala commented on the pull request:

          https://github.com/apache/cloudstack/pull/731#issuecomment-134636230

          @remibergsma changes looks fine. I would like to test it and get back to you, hopefully by tomorrow.

          Show
          githubbot ASF GitHub Bot added a comment - Github user kishankavala commented on the pull request: https://github.com/apache/cloudstack/pull/731#issuecomment-134636230 @remibergsma changes looks fine. I would like to test it and get back to you, hopefully by tomorrow.
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user remibergsma commented on the pull request:

          https://github.com/apache/cloudstack/pull/731#issuecomment-134664222

          @kishankavala Thanks, that would be great! Let me know if I can be of any help.

          Show
          githubbot ASF GitHub Bot added a comment - Github user remibergsma commented on the pull request: https://github.com/apache/cloudstack/pull/731#issuecomment-134664222 @kishankavala Thanks, that would be great! Let me know if I can be of any help.
          Hide
          githubbot ASF GitHub Bot added a comment -

          GitHub user wido opened a pull request:

          https://github.com/apache/cloudstack/pull/814

          CLOUDSTACK-8443: Support CentOS 7 for 4.5

          This is based on two PRs:

          • 731
          • 757

          This commit is based on the 4.5 branch for a future 4.5 release.

          You can merge this pull request into a Git repository by running:

          $ git pull https://github.com/wido/cloudstack CLOUDSTACK-8443

          Alternatively you can review and apply these changes as the patch at:

          https://github.com/apache/cloudstack/pull/814.patch

          To close this pull request, make a commit to your master/trunk branch
          with (at least) the following in the commit message:

          This closes #814


          commit 2b8fd2469f5dad54684c253560a1fa7fcebc5892
          Author: Wido den Hollander <wido@widodh.nl>
          Date: 2015-09-13T13:30:20Z

          CLOUDSTACK-8443: Support CentOS 7 for 4.5

          This is based on two PRs:

          • 731
          • 757

          This commit is based on the 4.5 branch for a future 4.5 release.


          Show
          githubbot ASF GitHub Bot added a comment - GitHub user wido opened a pull request: https://github.com/apache/cloudstack/pull/814 CLOUDSTACK-8443 : Support CentOS 7 for 4.5 This is based on two PRs: 731 757 This commit is based on the 4.5 branch for a future 4.5 release. You can merge this pull request into a Git repository by running: $ git pull https://github.com/wido/cloudstack CLOUDSTACK-8443 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/cloudstack/pull/814.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #814 commit 2b8fd2469f5dad54684c253560a1fa7fcebc5892 Author: Wido den Hollander <wido@widodh.nl> Date: 2015-09-13T13:30:20Z CLOUDSTACK-8443 : Support CentOS 7 for 4.5 This is based on two PRs: 731 757 This commit is based on the 4.5 branch for a future 4.5 release.
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user remibergsma commented on the pull request:

          https://github.com/apache/cloudstack/pull/814#issuecomment-139911602

          LGTM - Built agent RPMs for CentOS 7 from this PR branch and installed those on the KVM hypervisors. Run the management server also from this branch and was able to add a CentOS 7 host both through Marvin and UI without manual intervention. Just like you can do on master.

          Thanks for back porting to 4.5 @wido !

          <img width="790" alt="screen shot 2015-09-13 at 21 33 59" src="https://cloud.githubusercontent.com/assets/1630096/9838498/344c6204-5a5f-11e5-93ce-4601b29e0f6e.png">

          Show
          githubbot ASF GitHub Bot added a comment - Github user remibergsma commented on the pull request: https://github.com/apache/cloudstack/pull/814#issuecomment-139911602 LGTM - Built agent RPMs for CentOS 7 from this PR branch and installed those on the KVM hypervisors. Run the management server also from this branch and was able to add a CentOS 7 host both through Marvin and UI without manual intervention. Just like you can do on master. Thanks for back porting to 4.5 @wido ! <img width="790" alt="screen shot 2015-09-13 at 21 33 59" src="https://cloud.githubusercontent.com/assets/1630096/9838498/344c6204-5a5f-11e5-93ce-4601b29e0f6e.png">
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user wido commented on the pull request:

          https://github.com/apache/cloudstack/pull/814#issuecomment-139913862

          @bhaisaab Could you look into this? If this gets a LGTM we might want to spin out 4.5.3 shortly with proper CentOS 7 support.

          A short e-mail to the dev@ list might attract more small hotfixes we might want to put in 4.5.3

          Show
          githubbot ASF GitHub Bot added a comment - Github user wido commented on the pull request: https://github.com/apache/cloudstack/pull/814#issuecomment-139913862 @bhaisaab Could you look into this? If this gets a LGTM we might want to spin out 4.5.3 shortly with proper CentOS 7 support. A short e-mail to the dev@ list might attract more small hotfixes we might want to put in 4.5.3
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user bhaisaab commented on the pull request:

          https://github.com/apache/cloudstack/pull/814#issuecomment-139958619

          @wido: thanks, LGTM. Sure, I think for now we should be focusing on master/4.6 and meanwhile keep fixing/merging any 4.5.x issues and perhaps attempt to do a 4.5.3 release later in October or early November.

          Show
          githubbot ASF GitHub Bot added a comment - Github user bhaisaab commented on the pull request: https://github.com/apache/cloudstack/pull/814#issuecomment-139958619 @wido: thanks, LGTM. Sure, I think for now we should be focusing on master/4.6 and meanwhile keep fixing/merging any 4.5.x issues and perhaps attempt to do a 4.5.3 release later in October or early November.
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 2b8fd2469f5dad54684c253560a1fa7fcebc5892 in cloudstack's branch refs/heads/4.5 from Wido den Hollander
          [ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=2b8fd24 ]

          CLOUDSTACK-8443: Support CentOS 7 for 4.5

          This is based on two PRs:

          • 731
          • 757

          This commit is based on the 4.5 branch for a future 4.5 release.

          Show
          jira-bot ASF subversion and git services added a comment - Commit 2b8fd2469f5dad54684c253560a1fa7fcebc5892 in cloudstack's branch refs/heads/4.5 from Wido den Hollander [ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=2b8fd24 ] CLOUDSTACK-8443 : Support CentOS 7 for 4.5 This is based on two PRs: 731 757 This commit is based on the 4.5 branch for a future 4.5 release.
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit d58dfbf21bd813fda1fa3a9b2aa0090ee058d51f in cloudstack's branch refs/heads/4.5 from Rohit Yadav
          [ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=d58dfbf ]

          Merge pull request #814 from wido/CLOUDSTACK-8443

          CLOUDSTACK-8443: Support CentOS 7 for 4.5This is based on two PRs:

          • 731
          • 757

          This commit is based on the 4.5 branch for a future 4.5 release.

          Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

          Show
          jira-bot ASF subversion and git services added a comment - Commit d58dfbf21bd813fda1fa3a9b2aa0090ee058d51f in cloudstack's branch refs/heads/4.5 from Rohit Yadav [ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=d58dfbf ] Merge pull request #814 from wido/ CLOUDSTACK-8443 CLOUDSTACK-8443 : Support CentOS 7 for 4.5This is based on two PRs: 731 757 This commit is based on the 4.5 branch for a future 4.5 release. pr/814: CLOUDSTACK-8443 : Support CentOS 7 for 4.5 Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit d58dfbf21bd813fda1fa3a9b2aa0090ee058d51f in cloudstack's branch refs/heads/4.5 from Rohit Yadav
          [ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=d58dfbf ]

          Merge pull request #814 from wido/CLOUDSTACK-8443

          CLOUDSTACK-8443: Support CentOS 7 for 4.5This is based on two PRs:

          • 731
          • 757

          This commit is based on the 4.5 branch for a future 4.5 release.

          Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

          Show
          jira-bot ASF subversion and git services added a comment - Commit d58dfbf21bd813fda1fa3a9b2aa0090ee058d51f in cloudstack's branch refs/heads/4.5 from Rohit Yadav [ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=d58dfbf ] Merge pull request #814 from wido/ CLOUDSTACK-8443 CLOUDSTACK-8443 : Support CentOS 7 for 4.5This is based on two PRs: 731 757 This commit is based on the 4.5 branch for a future 4.5 release. pr/814: CLOUDSTACK-8443 : Support CentOS 7 for 4.5 Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit d58dfbf21bd813fda1fa3a9b2aa0090ee058d51f in cloudstack's branch refs/heads/4.5 from Rohit Yadav
          [ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=d58dfbf ]

          Merge pull request #814 from wido/CLOUDSTACK-8443

          CLOUDSTACK-8443: Support CentOS 7 for 4.5This is based on two PRs:

          • 731
          • 757

          This commit is based on the 4.5 branch for a future 4.5 release.

          Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

          Show
          jira-bot ASF subversion and git services added a comment - Commit d58dfbf21bd813fda1fa3a9b2aa0090ee058d51f in cloudstack's branch refs/heads/4.5 from Rohit Yadav [ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=d58dfbf ] Merge pull request #814 from wido/ CLOUDSTACK-8443 CLOUDSTACK-8443 : Support CentOS 7 for 4.5This is based on two PRs: 731 757 This commit is based on the 4.5 branch for a future 4.5 release. pr/814: CLOUDSTACK-8443 : Support CentOS 7 for 4.5 Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user asfgit closed the pull request at:

          https://github.com/apache/cloudstack/pull/814

          Show
          githubbot ASF GitHub Bot added a comment - Github user asfgit closed the pull request at: https://github.com/apache/cloudstack/pull/814
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 94b60be4076e46e308202ff06c6a466a4ec84d90 in cloudstack's branch refs/heads/master from Wido den Hollander
          [ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=94b60be ]

          CLOUDSTACK-8443: Install the systemd wrapper script in RPM

          Show
          jira-bot ASF subversion and git services added a comment - Commit 94b60be4076e46e308202ff06c6a466a4ec84d90 in cloudstack's branch refs/heads/master from Wido den Hollander [ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=94b60be ] CLOUDSTACK-8443 : Install the systemd wrapper script in RPM
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 5c5ea5f63fdf08b7812a38a092e82b776e39c669 in cloudstack's branch refs/heads/master from Rohit Yadav
          [ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=5c5ea5f ]

          Merge pull request #813 from wido/CLOUDSTACK-8625

          CLOUDSTACK-8625: Systemd profile for CloudStack AgentWith CentOS 7 and Ubuntu 16.04 (to be released) using systemd
          it is preferred that CloudStack's Agent is also being started using
          systemd.

          This commit includes a service file for the CloudStack Agent with
          a wrapper script which actually executes Java

          It no longer uses jsvc for daemonizing and thus this requirement
          has also been dropped for CentOS 7 packaging.

          The Agent log output to stdout has also been modified to no longer
          include the timestamp as this is done by journalctl.

          This has been tested on a CentOS 7.1 machine and the Agent starts,
          stops and restarts properly.

          Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

          Show
          jira-bot ASF subversion and git services added a comment - Commit 5c5ea5f63fdf08b7812a38a092e82b776e39c669 in cloudstack's branch refs/heads/master from Rohit Yadav [ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=5c5ea5f ] Merge pull request #813 from wido/ CLOUDSTACK-8625 CLOUDSTACK-8625 : Systemd profile for CloudStack AgentWith CentOS 7 and Ubuntu 16.04 (to be released) using systemd it is preferred that CloudStack's Agent is also being started using systemd. This commit includes a service file for the CloudStack Agent with a wrapper script which actually executes Java It no longer uses jsvc for daemonizing and thus this requirement has also been dropped for CentOS 7 packaging. The Agent log output to stdout has also been modified to no longer include the timestamp as this is done by journalctl. This has been tested on a CentOS 7.1 machine and the Agent starts, stops and restarts properly. pr/813: CLOUDSTACK-8625 : Remove the need of a wrapper script for the Agent CLOUDSTACK-8625 : Updated spec file for systemd profile CLOUDSTACK-8443 : Install the systemd wrapper script in RPM CLOUDSTACK-8625 : Systemd profile for CloudStack Agent Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

            People

            • Assignee:
              remibergsma Remi Bergsma
              Reporter:
              bhaisaab Rohit Yadav
            • Votes:
              0 Vote for this issue
              Watchers:
              9 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development