Пример #1
0
def install_packages(*roles):
    """Install packages for the given roles."""
    roles = list(roles)
    if roles == ["all"]:
        roles = SERVER_ROLES
    if "base" not in roles:
        roles.insert(0, "base")
    config_file = os.path.join(CONF_ROOT, u"packages.conf")
    config = ConfigParser.SafeConfigParser()
    config.read(config_file)
    for role in roles:
        if config.has_section(role):
            # Get ppas
            if config.has_option(role, "ppas"):
                for ppa in config.get(role, "ppas").split(" "):
                    system.add_ppa(ppa, update=False)
            # Get sources
            if config.has_option(role, "sources"):
                for section in config.get(role, "sources").split(" "):
                    source = config.get(section, "source")
                    key = config.get(section, "key")
                    system.add_apt_source(source=source, key=key, update=False)
            sudo(u"apt-get update")
            sudo(u"apt-get install -y %s" % config.get(role, "packages"))
            sudo(u"apt-get upgrade -y")
Пример #2
0
 def test_add_apt_source_no_update(self):
     "Add apt souce without updating apt sources."
     with patch('argyle.system.update_apt_sources') as update:
         system.add_apt_source("deb http://example.com/deb lucid main",
                               update=False)
         # Apt sources should not be updated
         self.assertFalse(update.called)
Пример #3
0
 def test_add_apt_source_no_key(self):
     "Add apt souce without key url."
     with patch('argyle.system.update_apt_sources') as update:
         system.add_apt_source("deb http://example.com/deb lucid main")
         # Source file should be backed up
         self.assertSudoCommand('cp /etc/apt/sources.list{,.bak}')
         files = self.mocks['files']
         self.assertTrue(files.append.called)
         args, kwargs = files.append.call_args
         source_list = args[0]
         new_source = args[1]
         self.assertEqual(source_list, '/etc/apt/sources.list')
         self.assertEqual(new_source, 'deb http://example.com/deb lucid main')
         # Apt sources should be updated
         self.assertTrue(update.called)
Пример #4
0
 def test_add_apt_source_no_key(self):
     "Add apt souce without key url."
     with patch('argyle.system.update_apt_sources') as update:
         system.add_apt_source("deb http://example.com/deb lucid main")
         # Source file should be backed up
         self.assertSudoCommand('cp /etc/apt/sources.list{,.bak}')
         files = self.mocks['files']
         self.assertTrue(files.append.called)
         args, kwargs = files.append.call_args
         source_list = args[0]
         new_source = args[1]
         self.assertEqual(source_list, '/etc/apt/sources.list')
         self.assertEqual(new_source,
                          'deb http://example.com/deb lucid main')
         # Apt sources should be updated
         self.assertTrue(update.called)
Пример #5
0
 def test_add_apt_source_with_key(self):
     "Add apt souce with key url."
     with patch('argyle.system.update_apt_sources') as update:
         source = "deb http://example.com/deb lucid main"
         key = "http://example.com/key"
         system.add_apt_source(source, key)
         # Key file should be added
         self.assertSudoCommand('wget -q http://example.com/key -O - | sudo apt-key add -')
         files = self.mocks['files']
         self.assertTrue(files.append.called)
         args, kwargs = files.append.call_args
         source_list = args[0]
         new_source = args[1]
         self.assertEqual(source_list, '/etc/apt/sources.list')
         self.assertEqual(new_source, source)
         # Apt sources should be updated
         self.assertTrue(update.called)
Пример #6
0
 def test_add_apt_source_with_key(self):
     "Add apt souce with key url."
     with patch('argyle.system.update_apt_sources') as update:
         source = "deb http://example.com/deb lucid main"
         key = "http://example.com/key"
         system.add_apt_source(source, key)
         # Key file should be added
         self.assertSudoCommand(
             'wget -q http://example.com/key -O - | sudo apt-key add -')
         files = self.mocks['files']
         self.assertTrue(files.append.called)
         args, kwargs = files.append.call_args
         source_list = args[0]
         new_source = args[1]
         self.assertEqual(source_list, '/etc/apt/sources.list')
         self.assertEqual(new_source, source)
         # Apt sources should be updated
         self.assertTrue(update.called)
Пример #7
0
def install_packages(*roles):
    """Install packages for the given roles."""
    config_file = os.path.join(CONF_ROOT, u'packages.conf')
    config = ConfigParser.SafeConfigParser()
    config.read(config_file)
    for role in roles:
        if config.has_section(role):
            # Get ppas
            if config.has_option(role, 'ppas'):
                for ppa in config.get(role, 'ppas').split(' '):
                    system.add_ppa(ppa, update=False)
            # Get sources
            if config.has_option(role, 'sources'):
                for section in config.get(role, 'sources').split(' '):
                    source = config.get(section, 'source')
                    key = config.get(section, 'key')
                    system.add_apt_source(source=source, key=key, update=False)
            # sudo(u"apt-get update")
            sudo(u"apt-get install -y %s" % config.get(role, 'packages'))
Пример #8
0
def install_packages(*roles):
    """Install packages for the given roles."""
    config_file = os.path.join(CONF_ROOT, u'packages.conf')
    config = ConfigParser.SafeConfigParser()
    config.read(config_file)
    for role in roles:
        if config.has_section(role):
            # Get ppas
            if config.has_option(role, 'ppas'):
                for ppa in config.get(role, 'ppas').split(' '):
                    system.add_ppa(ppa, update=False)
            # Get sources
            if config.has_option(role, 'sources'):
                for section in config.get(role, 'sources').split(' '):
                    source = config.get(section, 'source')
                    key = config.get(section, 'key')
                    system.add_apt_source(source=source, key=key, update=False)
            sudo(u"apt-get update")
            sudo(u"apt-get install -y %s" % config.get(role, 'packages'))
            sudo(u"apt-get upgrade -y")
Пример #9
0
 def test_add_apt_source_no_update(self):
     "Add apt souce without updating apt sources."
     with patch('argyle.system.update_apt_sources') as update:
         system.add_apt_source("deb http://example.com/deb lucid main", update=False)
         # Apt sources should not be updated
         self.assertFalse(update.called)