Exemple #1
0
 def _compare_job_definitions(self, local_definition, remote_definition):
     local_definition, remote_definition = _normalize_definitions(
         local_definition, remote_definition)
     if "schedules" in remote_definition:
         for schedule in remote_definition["schedules"]:
             if "nextRunAt" in schedule:
                 del schedule["nextRunAt"]
     return compare_dicts(remote_definition, local_definition)
Exemple #2
0
 def compare_job_definitions(self,
                             old_job_definition,
                             new_job_definition,
                             debug=False):
     if "schedules" in old_job_definition:
         for schedule in old_job_definition["schedules"]:
             if "nextRunAt" in schedule:
                 del schedule["nextRunAt"]
     return compare_dicts(old_job_definition,
                          new_job_definition,
                          print_differences=debug)
Exemple #3
0
 def compare_app_definitions(self,
                             old_definition,
                             new_definition,
                             debug=False):
     for key in [
             "version", "lastTaskFailure", "tasks", "tasksHealthy",
             "tasksUnhealthy", "versionInfo", "deployments", "tasksRunning",
             "tasksStaged", "executor"
     ]:
         if key in old_definition:
             del old_definition[key]
     return compare_dicts(old_definition,
                          new_definition,
                          print_differences=debug)
Exemple #4
0
 def dry_run(self, config, dependencies_changed=False, print_changes=True, debug=False):
     description = self.api.describe_service(config.service_name)
     if not description:
         if print_changes:
             print("Would install %s" % config.service_name)
         return True
     old_options = description["userProvidedOptions"]
     options_equal = compare_dicts(old_options, config.options, print_differences=debug)
     version_equal = description["package"]["version"] == config.package_version
     if not version_equal:
         if print_changes:
             print("Would update %s from %s to %s" % (config.service_name, description["package"]["version"], config.package_version))
     elif not options_equal:
         if print_changes:
             print("Would change config of %s" % config.service_name)
     return not options_equal or not version_equal
Exemple #5
0
 def dry_run(self, config, dependencies_changed=False, debug=False):
     if not self.api.ping():
         print("Could not reach api-server. Would probably create pool %s" %
               config.name)
         return True
     exists = config.name in self.api.get_pools()
     if not exists:
         print("Would create pool %s" % config.name)
         return True
     existing_pool_config = self.api.get_pool(config.name)
     local_pool_config, existing_pool_config = _normalize_pool_definition(
         config.pool_config, existing_pool_config)
     diff = compare_dicts(existing_pool_config, local_pool_config)
     if diff:
         if debug:
             print("Would update pool %s:" % config.name)
             print(diff)
         else:
             print("Would update pool %s" % config.name)
         return True
     else:
         return False
Exemple #6
0
 def test_compare_dicts(self):
     self.assertTrue(util.compare_dicts({"a": 1}, {"a": 1}))
     self.assertFalse(util.compare_dicts({"a": 1}, {"a": 2}))
     self.assertFalse(util.compare_dicts({"a": 1}, {"b": 1}))