Add global-system-config update for LLGR

PROD-16774

Change-Id: I56922b603b65a03f798f1fb7b6f03676e177d510
diff --git a/README.rst b/README.rst
index bebe7d7..2f55b18 100644
--- a/README.rst
+++ b/README.rst
@@ -911,6 +911,26 @@
           ip_address: 172.16.0.12
           dpdk_enabled: True
 
+
+Enforcing global system config
+
+.. code-block:: yaml
+
+  opencontrail:
+    client:
+      ...
+      global_system_config:
+        name: default-global-system-config
+        asn: 64512
+        grp:
+          enable: true
+          restart_time: 60
+          end_of_rib_timeout: 30
+          bgp_helper_enable: false
+          xmpp_helper_enable: false
+          long_lived_restart_time: 300
+
+
 Enforcing global vrouter config
 
 .. code-block:: yaml
@@ -927,6 +947,8 @@
           - 'default-global-system-config'
           - 'default-global-vrouter-config'
 
+
+
 Enforcing control nodes
 
 .. code-block:: yaml
diff --git a/_modules/contrail.py b/_modules/contrail.py
index 10c7680..38281b2 100644
--- a/_modules/contrail.py
+++ b/_modules/contrail.py
@@ -1691,6 +1691,8 @@
         if config_obj.graceful_restart_parameters and not HAS_OLD:
             curr_grp = str(config_obj.graceful_restart_parameters).replace(" ", "").split(",")
             curr_grpd = dict(item.split('=') for item in curr_grp)
+        else:
+            curr_grpd = None
 
         if grp and 'enable' in grp and not HAS_OLD:
             grp_obj = GracefulRestartParametersType()
diff --git a/opencontrail/client.sls b/opencontrail/client.sls
index 7069077..24370ac 100644
--- a/opencontrail/client.sls
+++ b/opencontrail/client.sls
@@ -16,10 +16,22 @@
 {%- endif %}
 {%- endif %}
 
+{%- if client.global_system_config is defined %}
+global_system_config_create:
+  contrail.global_system_config_present:
+  - name: {{ client.global_system_config.get('name', 'default-global-system-config') }}
+  - ans: {{ client.global_system_config.get('ans', '64512') }}
+  {%- if client.global_system_config.grp is defined %}
+   - grp:
+    {{ client.global_system_config.get('grp')  | yaml(False) | indent(4) }}
+  {%- endif %}
+
+{%- endif %}
+
 {%- if client.global_vrouter_config is defined %}
 global_vrouter_config_create:
   contrail.global_vrouter_config_present:
-  - name: {{ client.global_vrouter_config.get('name', 'global-vrouter-config') }}
+  - name: {{ client.global_vrouter_config.get('name', 'default-global-vrouter-config') }}
   - parent_type: {{ client.global_vrouter_config.get('parent_type', 'global-system-config') }}
   - encap_priority: {{ client.global_vrouter_config.get('encap_priority', 'MPLSoUDP,MPLSoGRE') }}
   - vxlan_vn_id_mode: {{ client.global_vrouter_config.get('vxlan_vn_id_mode', 'automatic') }}