diff options
Diffstat (limited to 'roles')
| -rw-r--r-- | roles/lib_openshift/library/oc_obj.py | 11 | ||||
| -rw-r--r-- | roles/lib_openshift/src/class/oc_obj.py | 11 | 
2 files changed, 20 insertions, 2 deletions
| diff --git a/roles/lib_openshift/library/oc_obj.py b/roles/lib_openshift/library/oc_obj.py index 9b0c0e0e4..7d9392af9 100644 --- a/roles/lib_openshift/library/oc_obj.py +++ b/roles/lib_openshift/library/oc_obj.py @@ -1478,7 +1478,16 @@ class OCObject(OpenShiftCLI):          if files:              return self._create(files[0]) -        content['data'] = yaml.dump(content['data']) +        # pylint: disable=no-member +        # The purpose of this change is twofold: +        # - we need a check to only use the ruamel specific dumper if ruamel is loaded +        # - the dumper or the flow style change is needed so openshift is able to parse +        # the resulting yaml, at least until gopkg.in/yaml.v2 is updated +        if hasattr(yaml, 'RoundTripDumper'): +            content['data'] = yaml.dump(content['data'], Dumper=yaml.RoundTripDumper) +        else: +            content['data'] = yaml.safe_dump(content['data'], default_flow_style=False) +          content_file = Utils.create_tmp_files_from_contents(content)[0]          return self._create(content_file['path']) diff --git a/roles/lib_openshift/src/class/oc_obj.py b/roles/lib_openshift/src/class/oc_obj.py index 5e423bea9..68f7818e4 100644 --- a/roles/lib_openshift/src/class/oc_obj.py +++ b/roles/lib_openshift/src/class/oc_obj.py @@ -50,7 +50,16 @@ class OCObject(OpenShiftCLI):          if files:              return self._create(files[0]) -        content['data'] = yaml.dump(content['data']) +        # pylint: disable=no-member +        # The purpose of this change is twofold: +        # - we need a check to only use the ruamel specific dumper if ruamel is loaded +        # - the dumper or the flow style change is needed so openshift is able to parse +        # the resulting yaml, at least until gopkg.in/yaml.v2 is updated +        if hasattr(yaml, 'RoundTripDumper'): +            content['data'] = yaml.dump(content['data'], Dumper=yaml.RoundTripDumper) +        else: +            content['data'] = yaml.safe_dump(content['data'], default_flow_style=False) +          content_file = Utils.create_tmp_files_from_contents(content)[0]          return self._create(content_file['path']) | 
