AETHER-2846 Support all parameters which lists in Aether Docs

AETHER-2847 Integrating with Prometheus and record eNB information
AETHER-2848 Move SAS configuration as enodeb base, not plugin in driver code
AETHER-2879 add gps information in prometheus
AETHER-2880 add ip and port as configurable parameter in enodebd
AETHER-2897 Firmware update feature over CWMP
AETHER-3022 Integrate firmware upgrade state into configuration workflow
AETHER-3120 Develop ACS state machine with firmware upgrade feature

Change-Id: I0bcbf2229ba3c1638f2a997f3c651f8d6240145d
diff --git a/device_config/configuration_init.py b/device_config/configuration_init.py
index 4b156df..2c4e342 100644
--- a/device_config/configuration_init.py
+++ b/device_config/configuration_init.py
@@ -91,6 +91,8 @@
     enb_config = _get_enb_yang_config(device_config) or \
                  _get_enb_config(mconfig, device_config)
 
+    print(enb_config)
+
     _set_earfcn_freq_band_mode(
         device_config, cfg_desired, data_model,
         enb_config.earfcndl,
@@ -190,7 +192,6 @@
         mconfig: mconfigs_pb2.EnodebD,
         device_config: EnodebConfiguration,
 ) -> SingleEnodebConfig:
-
     # The eNodeB parameters to be generated with default value,
     # It will load from eNB configs based on serial number or default value
     # The params is a nested list which contains 2 format of parameter names.
@@ -237,8 +238,13 @@
     Set the following parameters:
      - PCI
     """
-    if pci not in range(0, 504 + 1):
+
+    if pci is int and pci not in range(0, 504 + 1):
         raise ConfigurationError('Invalid PCI (%d)' % pci)
+
+    if pci is str and any(map(lambda x: int(x) not in range(0, 504 + 1), pci.split(","))):
+        raise ConfigurationError('Invalid PCI (%s)' % pci)
+
     cfg.set_parameter(ParameterName.PCI, pci)