← Back to team overview

fuel-dev team mailing list archive

Advanced configuration of OpenStack settings in Fuel UI

 

Hi all,

I'm glad to introduce you an advanced configuration of OpenStack settngs in
Fuel UI. An appropriate
blueprint<https://blueprints.launchpad.net/fuel/+spec/ui-settings-tab-validation>
was
implemented and the code merged.

Now we support the following cases:

   - validation of simple text settings using *regular expressions*. It can
   be email, password setting, etc.
   To take advantage of this feature a new *regex* attribute should be
   added into setting structure in
openstack.yaml<https://github.com/stackforge/fuel-web/blob/master/nailgun/nailgun/fixtures/openstack.yaml#L144>
    file:
   regex:
   source: "^[a-z]+$", // RegExp object source
            error: "Invalid username" // Warning message to be displayed on
   UI

   - configuration of setting *dependencies*:
      - setting can depend on some environment attribute. For example,
      *Murano* component can't be installed on environment with Neutron
      networking.
      To set such dependency the following property should be added to
      setting structure:
      depends:
            - "cluster:net_provider": "neutron"
      - setting can depend on other settings. For example, in Storage
      section *Ceph RadosGW for objects (Swift API)* can not be activated
      without active *Ceph RBD for images (Glance)* setting.
      To configure such dependency the following change should be made into
      setting structure:
      depends:
            - "settings:storage.images_ceph": true


   - configuration of setting *conflicts:*
   - setting can conflict with other settings. For example, in Storage
      section *Cinder LVM over iSCSI for volumes *and* Ceph RBD for volumes
      (Cinder) *settings can not be activated at the same time.
      To configure such conflict the following change should be made into
      setting structure:
      conflicts:
      - "settings:storage.volumes_ceph": true

So, *depends* and *conflicts* setting attributes are the lists of
declarative conditions of the following format:
"<model_name>:<model_attribute_path>":
<model_attribute_value>. I want to notice that there are no separate fields
with warning messages. Such warnings should be reflected in setting
*description *attribute.

Please see a design
document<https://docs.google.com/document/d/1f_FKdzZdFh3KrUUrtAjTVScV7rn00pyxPeWwxb3jQ8k/edit?usp=sharing>
for
more detailed information and UI screenshots.

Feel free for comments and asking questions.

Best Regards,
Julia Aranovich

-- 
Kind Regards,
Julia Aranovich,
Software Engineer,
Mirantis, Inc
+7 (905) 388-82-61 (cell)
Skype: juliakirnosova
www.mirantis.ru
jaranovich@xxxxxxxxxxxx <jkirnosova@xxxxxxxxxxxx>

Follow ups