Return-Path: X-Original-To: apmail-cloudstack-dev-archive@www.apache.org Delivered-To: apmail-cloudstack-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id E793D1077E for ; Mon, 9 Sep 2013 17:49:35 +0000 (UTC) Received: (qmail 1683 invoked by uid 500); 9 Sep 2013 17:49:35 -0000 Delivered-To: apmail-cloudstack-dev-archive@cloudstack.apache.org Received: (qmail 1436 invoked by uid 500); 9 Sep 2013 17:49:33 -0000 Mailing-List: contact dev-help@cloudstack.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cloudstack.apache.org Delivered-To: mailing list dev@cloudstack.apache.org Received: (qmail 1428 invoked by uid 99); 9 Sep 2013 17:49:31 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 09 Sep 2013 17:49:31 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of daan.hoogland@gmail.com designates 209.85.223.181 as permitted sender) Received: from [209.85.223.181] (HELO mail-ie0-f181.google.com) (209.85.223.181) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 09 Sep 2013 17:49:26 +0000 Received: by mail-ie0-f181.google.com with SMTP id y16so8601135ieg.12 for ; Mon, 09 Sep 2013 10:49:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type; bh=Pxn5BbHoxX90Yv2sC02jjqVwUcx0fYVqY/obUqCiiM8=; b=lJ7s1H0x+18MV/4NqI9Of9Psvrp6J2MdcFSfALmXoQRd/p2q6wIwBza1cjPprduY0P Emy05O/rjnm4ub1fkmAzbJJdOoW35G75vjFaWVbq58FhH2wvEV/8N0Fti7WNpnncbmt4 8BD0azk/1rrAoR6N25pART1LOIi3sNKLAQtCeCt+lrAo0X2znS7cI2K3t2T8CaFHRt4Q G0TYIhjDvVBrFbcifPYwzDHcXr1c1GTe6zDxKPc+RiFFf5CwkOiAodDrp0O1c0FADsQT 5onxJOB/VB9OYo0I/CZN5BW2S/m8FXmb/RMhkNHreH6rU8f+Kh2bXqnCtZJiQ7zizZo8 3DUw== X-Received: by 10.50.85.114 with SMTP id g18mr8962876igz.15.1378748945417; Mon, 09 Sep 2013 10:49:05 -0700 (PDT) MIME-Version: 1.0 Received: by 10.64.10.167 with HTTP; Mon, 9 Sep 2013 10:48:45 -0700 (PDT) In-Reply-To: <20CF38CB4385CE4D9D1558D52A0FC0581115B1@SJCPEX01CL03.citrite.net> References: <20CF38CB4385CE4D9D1558D52A0FC0581115B1@SJCPEX01CL03.citrite.net> From: Daan Hoogland Date: Mon, 9 Sep 2013 19:48:45 +0200 Message-ID: Subject: Re: Configuration variable changes... To: dev Content-Type: text/plain; charset=ISO-8859-1 X-Virus-Checked: Checked by ClamAV on apache.org Looks great Alex, One question; Adding a scope or a multiplier is featured on the wiki but not specified. Can you add a pointer to it? Very nice indeed, Daan On Mon, Sep 9, 2013 at 7:20 PM, Alex Huang wrote: > As part of the work to pull apart orchestration from self service, I made some changes to how configuration parameters work. The problem with the current system are as follows: > > - configuration variables are all stored as enums in Config.java which means plugins have to modify a single file. We established that to be a bad pattern in some earlier thread. > - No way to tell during upgrades whether a config variable has become useless or if the defaults have changed. > - No way to consistently have variables be dynamically updated. > - No way to consistently migrate a global variable to a scoped variable. > - No way to use more than one type of storage (db) to store config variables. > - Some of the code are still using text strings to retrieve configuration. > - No way to consistently validate variables. (although this is not done yet but I described how it can be done in this new framework.) > > The changes are detailed on wiki [1]. There's a detail list of todo items in ConfigDepotImpl.java if you're interested in picking up any of the work. The old way still works but I recommend we move all new way for new config parameters. > > If everyone reviewed it all and like how it works then we can remove the old way of how it all works. > > --Alex > [1] https://cwiki.apache.org/confluence/display/CLOUDSTACK/Configuration