/** * {@inheritDoc} */ @Override public void from(io.cattle.platform.core.model.Network from) { setId(from.getId()); setName(from.getName()); setAccountId(from.getAccountId()); setKind(from.getKind()); setUuid(from.getUuid()); setDescription(from.getDescription()); setState(from.getState()); setCreated(from.getCreated()); setRemoved(from.getRemoved()); setRemoveTime(from.getRemoveTime()); setData(from.getData()); setIsPublic(from.getIsPublic()); setDomain(from.getDomain()); setNetworkDriverId(from.getNetworkDriverId()); }
protected void setDefaultNetwork(Long accountId) { Account account = objectManager.loadResource(Account.class, accountId); if (account == null) { return; } Long defaultNetworkId = account.getDefaultNetworkId(); Long newDefaultNetworkId = null; for (Network network : networkDao.getActiveNetworks(account.getId())) { if (network.getKind().startsWith(NetworkConstants.PREFIX_KIND_DOCKER) || network.getKind().equals("hostOnlyNetwork")) { continue; } if (network.getId().equals(defaultNetworkId)) { newDefaultNetworkId = defaultNetworkId; break; } if ((CommonStatesConstants.ACTIVATING.equals(network.getState()) || CommonStatesConstants.UPDATING_ACTIVE.equals(network.getState())) && newDefaultNetworkId == null) { newDefaultNetworkId = network.getId(); } else if (CommonStatesConstants.ACTIVE.equals(network.getState())) { newDefaultNetworkId = network.getId(); } } if (!ObjectUtils.equals(defaultNetworkId, newDefaultNetworkId)) { objectManager.setFields(account, AccountConstants.FIELD_DEFAULT_NETWORK_ID, newDefaultNetworkId); } }
protected void migrateInstances(Network network) { List<Instance> instances = objectManager.find(Instance.class, INSTANCE.REMOVED, null, INSTANCE.ACCOUNT_ID, network.getAccountId()); for (Instance instance : instances) { String networkMode = DataAccessor.fieldString(instance, DockerInstanceConstants.FIELD_NETWORK_MODE); if ("managed".equals(networkMode)) { List<Long> networkIds = DataAccessor.fieldLongList(instance, InstanceConstants.FIELD_NETWORK_IDS); if (networkIds != null && networkIds.size() == 1 && !network.getId().equals(networkIds.get(0))) { DataAccessor.setField(instance, InstanceConstants.FIELD_NETWORK_IDS, Arrays.asList(network.getId())); objectManager.persist(instance); } } } }
SUBNET.GATEWAY, subnet.getGateway(), SUBNET.NETWORK_ADDRESS, subnet.getNetworkAddress(), SUBNET.NETWORK_ID, network.getId(), SUBNET.START_ADDRESS, subnet.getStartAddress(), SUBNET.DATA, CollectionUtils.asMap(SUBNET_INDEX, key), SUBNET.ACCOUNT_ID, network.getAccountId()); NetworkDriver driver = objectManager.loadResource(NetworkDriver.class, network.getNetworkDriverId()); if (driver == null) { return null;
@Override public List<Subnet> getSubnets(Network network) { return objectManager.find(Subnet.class, SUBNET.NETWORK_ID, network.getId(), SUBNET.STATE, CommonStatesConstants.ACTIVE); }
public DefaultNetworkLock(Network network) { super("DEFAULT.NETWORK." + network.getAccountId()); }
protected Map<String, Network> getNetworksByUuid(Account account) { Map<String, Network> result = new HashMap<>(); for (Network network : objectManager.find(Network.class, NETWORK.ACCOUNT_ID, account.getId(), NETWORK.REMOVED, null)) { result.put(network.getKind(), network); } return result; } }
if (network.getRemoved() != null) { continue;
@Override public void migrateToNetwork(Network network) { Network hostOnly = objectManager.findAny(Network.class, NETWORK.ACCOUNT_ID, network.getAccountId(), NETWORK.KIND, "hostOnlyNetwork"); if (hostOnly != null) { create() .update(SUBNET) .set(SUBNET.NETWORK_ID, network.getId()) .where(SUBNET.NETWORK_ID.eq(hostOnly.getId())) .execute(); create() .update(IP_ADDRESS) .set(IP_ADDRESS.NETWORK_ID, network.getId()) .where(IP_ADDRESS.NETWORK_ID.eq(hostOnly.getId())) .execute(); create() .update(NIC) .set(NIC.NETWORK_ID, network.getId()) .where(NIC.NETWORK_ID.eq(hostOnly.getId())) .execute(); } create() .update(ACCOUNT) .set(ACCOUNT.DEFAULT_NETWORK_ID, network.getId()) .where(ACCOUNT.ID.eq(network.getAccountId())) .execute(); }
protected void populateNic(IdFormatter idFormatter, Map<String, Object> instanceData, Nic nic, Network network) { Integer deviceNumber = nic.getDeviceNumber(); String mac = nic.getMacAddress(); if (mac == null) { return; } @SuppressWarnings("unchecked") Map<String, Object> data = (Map<String, Object>) CollectionUtils.getNestedValue(instanceData, "network", "interfaces", "macs", mac); if (data == null) { data = new HashMap<String, Object>(); setNestedValue(instanceData, data, "network", "interfaces", "macs", mac); } else { return; } data.put("device-number", deviceNumber); data.put("mac", nic.getMacAddress()); data.put("owner-id", formatId(idFormatter, Instance.class, nic.getInstanceId())); // TODO don't have a security group concept yet data.put("security-group-ids", ""); data.put("security-groups", ""); data.put("vpc-id", formatId(idFormatter, Network.class, network.getId())); data.put("vpc-ipv4-cidr-block", DataAccessor.fieldString(network, NetworkConstants.FIELD_CIDR)); if (deviceNumber != null && deviceNumber.intValue() == 0) { instanceData.put("mac", nic.getMacAddress()); setNestedValue(instanceData, HostnameGenerator.getServicesDomain(network), "services", "domain"); } }
@Override public void doWithLockNoResult() { setDefaultNetwork(network.getAccountId()); } });
data.put(InstanceConstants.FIELD_NETWORK_IDS, Arrays.asList(network.getId()));