def create_builder(self, name, pgp, ssl=None, ip=None): """ :param str name: name of the builder :param str pgp: path to the pgp public keyfile :param str ssl: path to the ssl certificate :param str ip: ip address of the builder """ if NAMESPACE.session.query(Builder).filter_by(name=name).first(): raise ValueError("Slave already exists.") pgp = import_pgp(self.pgp_keyring, pgp) if ssl is not None: ssl = import_ssl(self.ssl_keyring, ssl, name) b = Builder(name=name, maintainer=NAMESPACE.user, pgp=pgp, ssl=ssl, last_ping=datetime.utcnow()) elif ip is not None: b = Builder(name=name, maintainer=NAMESPACE.user, pgp=pgp, ip=ip, last_ping=datetime.utcnow()) else: raise ValueError("Need either ssl certificate or ip address") NAMESPACE.session.add(b) emit('create', 'slave', b.debilize()) return b.debilize()
def create_builder(self, name, pgp, ssl): if NAMESPACE.session.query(Builder).filter_by(name=name).first(): raise ValueError("Slave already exists.") pgp = import_pgp(self.pgp_keyring, pgp) ssl = import_ssl(self.ssl_keyring, ssl, name) b = Builder(name=name, maintainer=NAMESPACE.user, pgp=pgp, ssl=ssl, last_ping=datetime.utcnow()) NAMESPACE.session.add(b) emit('create', 'slave', b.debilize()) return b.debilize()
def create_builder(self, slave_name, slave_password, key): keyid = import_key(key) obid = NAMESPACE.session.query(Builder).filter_by( name=slave_name).count() if obid != 0: raise ValueError("Slave already exists.") b = Builder(maintainer=NAMESPACE.user, name=slave_name, key=keyid, password=slave_password, last_ping=dt.datetime.utcnow()) emit('create', 'slave', b.debilize()) NAMESPACE.session.add(b) NAMESPACE.session.commit() return b.debilize()