mirror of
https://github.com/OpenNebula/one.git
synced 2025-03-21 14:50:08 +03:00
F #1684: Ad linuxcontainers market by default
This commit is contained in:
parent
5d9c92d0d9
commit
4d9a1f9c72
@ -33,12 +33,18 @@ MarketPlacePool::MarketPlacePool(SqlDB * db, bool is_federation_slave)
|
||||
//lastOID is set in PoolSQL::init_cb
|
||||
if (get_lastOID() == -1)
|
||||
{
|
||||
// Build the default default security group
|
||||
// Build the template for the OpenNebula Systems MarketPlace
|
||||
string default_market =
|
||||
"NAME=\"OpenNebula Public\"\n"
|
||||
"MARKET_MAD=one\n"
|
||||
"DESCRIPTION=\"OpenNebula Systems MarketPlace\"";
|
||||
|
||||
string lxc_market =
|
||||
"NAME=\"Linux Containers\"\n"
|
||||
"MARKET_MAD=linuxcontainers\n"
|
||||
"DESCRIPTION=\"MarketPlace for the public image server fo LXC &"
|
||||
" LXD hosted at linuxcontainers.org\"";
|
||||
|
||||
Nebula& nd = Nebula::instance();
|
||||
UserPool * upool = nd.get_upool();
|
||||
User * oneadmin = upool->get_ro(0);
|
||||
@ -46,9 +52,12 @@ MarketPlacePool::MarketPlacePool(SqlDB * db, bool is_federation_slave)
|
||||
string error;
|
||||
|
||||
MarketPlaceTemplate * default_tmpl = new MarketPlaceTemplate;
|
||||
MarketPlaceTemplate * lxc_tmpl = new MarketPlaceTemplate;
|
||||
|
||||
char * error_parse;
|
||||
|
||||
default_tmpl->parse(default_market, &error_parse);
|
||||
lxc_tmpl->parse(lxc_market, &error_parse);
|
||||
|
||||
MarketPlace * marketplace = new MarketPlace(
|
||||
oneadmin->get_uid(),
|
||||
@ -58,19 +67,33 @@ MarketPlacePool::MarketPlacePool(SqlDB * db, bool is_federation_slave)
|
||||
oneadmin->get_umask(),
|
||||
default_tmpl);
|
||||
|
||||
MarketPlace * lxc_marketplace = new MarketPlace(
|
||||
oneadmin->get_uid(),
|
||||
oneadmin->get_gid(),
|
||||
oneadmin->get_uname(),
|
||||
oneadmin->get_gname(),
|
||||
oneadmin->get_umask(),
|
||||
lxc_tmpl);
|
||||
|
||||
oneadmin->unlock();
|
||||
|
||||
marketplace->set_permissions(1,1,1, 1,0,0, 1,0,0, error);
|
||||
lxc_marketplace->set_permissions(1,1,1, 1,0,0, 1,0,0, error);
|
||||
|
||||
marketplace->zone_id = Nebula::instance().get_zone_id();
|
||||
lxc_marketplace->zone_id = Nebula::instance().get_zone_id();
|
||||
|
||||
marketplace->parse_template(error);
|
||||
lxc_marketplace->parse_template(error);
|
||||
|
||||
if (PoolSQL::allocate(marketplace, error) < 0)
|
||||
int rc = PoolSQL::allocate(marketplace, error);
|
||||
|
||||
rc += PoolSQL::allocate(lxc_marketplace, error);
|
||||
|
||||
if (rc < 0)
|
||||
{
|
||||
ostringstream oss;
|
||||
oss << "Error trying to create default "
|
||||
<< "OpenNebula Systems MarketPlace: " << error;
|
||||
oss << "Error trying to create default marketplaces: " << error;
|
||||
NebulaLog::log("MKP", Log::ERROR, oss);
|
||||
|
||||
throw runtime_error(oss.str());
|
||||
|
Loading…
x
Reference in New Issue
Block a user