Esempio n. 1
0
 def assertClone(self, identifier, pointsto=None):
     partition, element, dirname = identifier.split('/')
     path = "%s/%s/%s/%s" % (self.settings.CLONEDIR, \
         partition, element, dirname)
     if not os.path.isdir(path):
         raise AssertionError("Clone '%s' not found" % path)
     if not os.path.isdir("%s/code" % path):
         raise AssertionError("Clone '%s' does not have code dir" % path)
     if not os.path.isdir("%s/data" % path):
         raise AssertionError("Clone '%s' does not have data dir" % path)
     inventory = get_inventory()
     self.assertTrue(partition in inventory)
     self.assertTrue(element in inventory[partition])
     refname = dirname_to_refname(dirname)
     self.assertTrue(refname in inventory[partition][element])
     if pointsto is not None:
         self.assertEquals(get_repository_head(path), pointsto)
Esempio n. 2
0
 def assertClone(self, identifier, pointsto=None):
     partition, element, dirname = identifier.split('/')
     path = "%s/%s/%s/%s" % (self.settings.CLONEDIR, \
         partition, element, dirname)
     if not os.path.isdir(path):
         raise AssertionError("Clone '%s' not found" % path)
     if not os.path.isdir("%s/code" % path):
         raise AssertionError("Clone '%s' does not have code dir" % path)
     if not os.path.isdir("%s/data" % path):
         raise AssertionError("Clone '%s' does not have data dir" % path)
     inventory = get_inventory()
     self.assertTrue(partition in inventory)
     self.assertTrue(element in inventory[partition])
     refname = dirname_to_refname(dirname)
     self.assertTrue(refname in inventory[partition][element])
     if pointsto is not None:
         self.assertEqual(get_repository_head(path),
             pointsto)
Esempio n. 3
0
            raise JensRepositoriesError("Unable to list %s (%s)" %
                                        (baredir, error))
        for name in names:
            inventory[partition][name] = \
                _read_list_of_clones(partition, name)
    return inventory


def _read_list_of_clones(partition, name):
    settings = Settings()
    try:
        clones = os.listdir(settings.CLONEDIR + "/%s/%s" % (partition, name))
    except OSError, error:
        raise JensRepositoriesError("Unable to list clones of %s/%s (%s)" %
                                    (partition, name, error))
    return [dirname_to_refname(clone) for clone in clones]


# This is basically the 'look-ahead' bit
def _read_desired_inventory():
    desired = {'modules': {}, 'hostgroups': {}, 'common': {}}
    environments = get_names_of_declared_environments()
    for environmentname in environments:
        try:
            environment = read_environment_definition(environmentname)
            if 'overrides' in environment:
                for partition in environment['overrides'].iterkeys():
                    if partition in ("modules", "hostgroups", "common"):
                        for name, override in \
                                environment['overrides'][partition].iteritems():
                            # prefixhash is equivalent to PREFIXhash, contrary to
Esempio n. 4
0
        except OSError, error:
            raise JensRepositoriesError("Unable to list %s (%s)" % \
                (baredir, error))
        for name in names:
            inventory[partition][name] = \
                _read_list_of_clones(settings, partition, name)
    return inventory

def _read_list_of_clones(settings, partition, name):
    try:
        clones = os.listdir(settings.CLONEDIR + "/%s/%s" %
            (partition, name))
    except OSError, error:
        raise JensRepositoriesError("Unable to list clones of %s/%s (%s)" % \
            (partition, name, error))
    return [dirname_to_refname(settings, clone) for clone in clones]

# This is basically the 'look-ahead' bit
def _read_desired_inventory(settings):
    desired = {'modules': {}, 'hostgroups': {}, 'common': {}}
    environments = get_names_of_declared_environments(settings)
    for environmentname in environments:
        try:
            environment = read_environment_definition(
                settings, environmentname)
            # TODO: what if overrides empty? what if overrides,partition empty?
            if 'overrides' in environment:
                for partition in environment['overrides'].iterkeys():
                    if partition in ("modules", "hostgroups", "common"):
                        for name, override in \
                                environment['overrides'][partition].iteritems():
Esempio n. 5
0
        except OSError, error:
            raise JensRepositoriesError("Unable to list %s (%s)" % \
                (baredir, error))
        for name in names:
            inventory[partition][name] = \
                _read_list_of_clones(settings, partition, name)
    return inventory


def _read_list_of_clones(settings, partition, name):
    try:
        clones = os.listdir(settings.CLONEDIR + "/%s/%s" % (partition, name))
    except OSError, error:
        raise JensRepositoriesError("Unable to list clones of %s/%s (%s)" % \
            (partition, name, error))
    return [dirname_to_refname(settings, clone) for clone in clones]


# This is basically the 'look-ahead' bit
def _read_desired_inventory(settings):
    desired = {'modules': {}, 'hostgroups': {}, 'common': {}}
    environments = get_names_of_declared_environments(settings)
    for environmentname in environments:
        try:
            environment = read_environment_definition(settings,
                                                      environmentname)
            # TODO: what if overrides empty? what if overrides,partition empty?
            if 'overrides' in environment:
                for partition in environment['overrides'].iterkeys():
                    if partition in ("modules", "hostgroups", "common"):
                        for name, override in \