nice explanation Will, c&p to the wiki and docs, i'd say

On Fri, Feb 17, 2017 at 6:06 PM, Will Stevens <williamstev...@gmail.com> wrote:
> Yes. Exactly. The "patches" don't require a new system vm template to be
> distributed, but changes to the "appliance" does require a new system vm
> template.
>
> On Feb 17, 2017 12:04 PM, "David Mabry" <dma...@ena.com> wrote:
>
>> Awesome.  Thanks for the quick answer.  That totally makes sense.  Package
>> changes (installation, etc…) are done in the “appliance” section of code.
>> Any “config” changes required beyond package installation are done in the
>> “patches” section of code.
>>
>> Thanks,
>> David Mabry
>>
>> On 2/17/17, 10:52 AM, "williamstev...@gmail.com on behalf of Will
>> Stevens" <williamstev...@gmail.com on behalf of wstev...@cloudops.com>
>> wrote:
>>
>>     So the System VM is "built" from two sources.
>>
>>     1)
>>     https://github.com/apache/cloudstack/tree/master/tools/
>> appliance/definitions/systemvmtemplate
>>     This defines what is actually built and is distributed as the SystemVM
>>     Template.  You MUST use it if you change the packages included in the
>>     SystemVM template or change the core components in any way.  Changing
>>     anything here REQUIRES a new SystemVM template to be distributed for
>> that
>>     change to be used.
>>
>>     2) https://github.com/apache/cloudstack/tree/master/
>> systemvm/patches/debian
>>     This defines the systemvm.iso which is loaded into the System VM
>> template
>>     after the system vm is deployed.  This basically defines configuration
>>     which can be changed without requiring a new System VM template.  This
>>     section does not handle installation of packages and such, instead it
>>     handles System VM configuration and functionality.  So if settings
>> files
>>     need to be changed (for say something like VPN) or if the way we
>> handle IP
>>     address changes, etc...  That is all handled from here.  The
>> systemvm.iso
>>     is generated by the management server (i think) and is pushed to the
>> system
>>     vm after the system vm boots and the configuration which cloudstack
>> manages
>>     is handled through this code.
>>
>>     Is that clear?  Let me know if you have more questions.  I have had to
>> do a
>>     bunch of stuff in this recently for some of the networking issues we
>> have
>>     had as well as the StrongSwan VPN implementation (which changed both
>>     places).
>>
>>     Using StrongSwan as an example:
>>     I had to modify (1) in order to remove the OpenSwan package
>> installation
>>     and add the StrongSwan package installation.
>>
>>     I had to modify (2) in order to change the configuration of the VPN in
>>     order to handle things the way that StrongSwan needed things done.  So
>> the
>>     changes to things like the `ipsec` command are handled in (2) because
>> those
>>     are configuration changes and not package changes.
>>
>>     Is that clearer?
>>
>>     *Will STEVENS*
>>     Lead Developer
>>
>>     <https://goo.gl/NYZ8KK>
>>
>>     On Fri, Feb 17, 2017 at 11:18 AM, David Mabry <dma...@ena.com> wrote:
>>
>>     > Hello everyone,
>>     >
>>     > I’m looking at making some changes to the system vm, but I have
>> found that
>>     > there looks like there are 2 different places in the code that
>> “build” the
>>     > systemvm.  There is there is https://github.com/apache/
>> cloudstack/tree/
>>     > 13bfdd71e6fffff52d2f613a802b3d16c9b40af7/systemvm/patches/debian,
>> which
>>     > looks like it might be the “old” way and there is
>>     > https://github.com/apache/cloudstack/tree/
>> 87ef8137534fa798101f65c6691fcf
>>     > 71513ac978/tools/appliance/definitions/systemvmtemplate, which
>> looks like
>>     > it might be the “new” way.  If I wanted to make changes to how the
>> systemvm
>>     > is built which place should I modify?  I assume that I should modify
>> the
>>     > build scripts in the “new” location, but I thought I would ask here
>> first
>>     > just to be sure.
>>     >
>>     > --Mabry
>>     >
>>
>>
>>



-- 
Daan

Reply via email to