OpenstackNetworkProviderProperties template) { OpenstackNetworkProviderProperties entity = template != null? template: new OpenstackNetworkProviderProperties(); if (model.isSetTenantName()) { entity.setTenantName(model.getTenantName()); entity.setUserDomainName(model.getUserDomainName()); entity.setProjectName(model.getProjectName()); entity.setProjectDomainName(model.getProjectDomainName()); entity.setPluginType(mapPluginType(model.getPluginType())); entity.setPluginType(model.getExternalPluginType()); entity.setAgentConfiguration(map(model.getAgentConfiguration(), entity.getAgentConfiguration())); entity.setReadOnly(model.isReadOnly()); entity.setAutoSync(model.isAutoSync());
/** * Convenience method to know if the plugin represented is Open vSwitch. * * @return <code>true</code> iff the plugin type represents a Open vSwitch plugin. */ public final boolean isOpenVSwitch() { return OpenstackNetworkPluginType.OPEN_VSWITCH.name().equals(getPluginType()); }
private boolean isExternalNetworkProviderReadOnly(Provider<?> provider) { OpenstackNetworkProviderProperties properties = (OpenstackNetworkProviderProperties) provider.getAdditionalProperties(); if (properties.getReadOnly()){ return true; } return false; }
private AdditionalProperties mapAdditionalProperties(ResultSet rs, Provider<?> entity) throws SQLException { switch (entity.getType()) { case EXTERNAL_NETWORK: case OPENSTACK_NETWORK: OpenstackNetworkProviderProperties networkProperties = new OpenstackNetworkProviderProperties(); mapOpenStackProperties(rs, networkProperties); networkProperties.setReadOnly(rs.getBoolean("read_only")); networkProperties.setAutoSync(rs.getBoolean("auto_sync")); networkProperties.setPluginType(rs.getString("plugin_type")); networkProperties.setAgentConfiguration(SerializationFactory.getDeserializer() .deserialize(rs.getString("agent_configuration"), AgentConfiguration.class)); return networkProperties; case OPENSTACK_IMAGE: OpenStackImageProviderProperties imageProperties = new OpenStackImageProviderProperties(); mapOpenStackProperties(rs, imageProperties); return imageProperties; case OPENSTACK_VOLUME: OpenStackVolumeProviderProperties volumeProperties = new OpenStackVolumeProviderProperties(); mapOpenStackProperties(rs, volumeProperties); return volumeProperties; case VMWARE: return SerializationFactory.getDeserializer().deserialize(rs.getString("additional_properties"), VmwareVmProviderProperties.class); case KVM: return SerializationFactory.getDeserializer().deserialize(rs.getString("additional_properties"), KVMVmProviderProperties.class); case XEN: return SerializationFactory.getDeserializer().deserialize(rs.getString("additional_properties"), XENVmProviderProperties.class); default: return null; } }
@Override protected Provider<?> generateNewEntity() { Provider<AdditionalProperties> provider = new Provider<>(); provider.setId(generateNonExistingId()); provider.setName("brovider"); provider.setUrl("http://brovider.com/"); provider.setType(ProviderType.OPENSTACK_NETWORK); OpenstackNetworkProviderProperties additionalProperties = new OpenstackNetworkProviderProperties(); additionalProperties.setReadOnly(Boolean.FALSE); additionalProperties.setTenantName("10ant"); additionalProperties.setUserDomainName("userTomain"); additionalProperties.setProjectName("browject"); additionalProperties.setProjectDomainName("browjjectTomain"); additionalProperties.setPluginType(OpenstackNetworkPluginType.OPEN_VSWITCH.name()); provider.setAdditionalProperties(additionalProperties); provider.setAuthUrl("http://keystone-server:35357/v2.0/"); return provider; }
if (additionalProperties.getTenantName() != null) { model.setTenantName(additionalProperties.getTenantName()); if (additionalProperties.getUserDomainName() != null) { model.setUserDomainName(additionalProperties.getUserDomainName()); if (additionalProperties.getProjectName() != null) { model.setProjectName(additionalProperties.getProjectName()); if (additionalProperties.getProjectDomainName() != null) { model.setProjectDomainName(additionalProperties.getProjectDomainName()); String pluginType = additionalProperties.getPluginType(); if (pluginType != null) { model.setPluginType(NetworkPluginType.OPEN_VSWITCH); model.setExternalPluginType(additionalProperties.getPluginType()); if (additionalProperties.getAgentConfiguration() != null) { model.setAgentConfiguration(map(additionalProperties.getAgentConfiguration(), null)); model.setReadOnly(additionalProperties.getReadOnly()); model.setAutoSync(additionalProperties.getAutoSync());
public void flush(Provider<OpenstackNetworkProviderProperties> provider) { OpenstackNetworkProviderProperties properties = provider.getAdditionalProperties(); if (properties == null) { properties = new OpenstackNetworkProviderProperties(); provider.setAdditionalProperties(properties); properties.setPluginType(NetworkProviderPluginTranslator. getPluginNameForDisplayString(getPluginType().getSelectedItem())); properties.setAgentConfiguration(null); } else { AgentConfiguration agentConfiguration = properties.getAgentConfiguration(); if (agentConfiguration == null) { agentConfiguration = new AgentConfiguration(); properties.setAgentConfiguration(agentConfiguration);
OpenstackNetworkProviderProperties networkProperties = (OpenstackNetworkProviderProperties) entity.getAdditionalProperties(); readOnly = networkProperties.getReadOnly(); pluginType = networkProperties.getPluginType(); agentConfiguration = networkProperties.getAgentConfiguration(); autoSync = networkProperties.getAutoSync(); case OPENSTACK_IMAGE: case OPENSTACK_VOLUME:
public void init(Provider<OpenstackNetworkProviderProperties> provider, ProviderType type) { OpenstackNetworkProviderProperties properties = provider.getAdditionalProperties(); NetworkProviderPluginTranslator translator = NetworkProviderPluginTranslator.getTranslatorByProviderType(type); String pluginName = translator.getDisplayStringForPluginName(properties == null ? translator.getDefault() : properties.getPluginType()); List<String> displayItems = translator.getPresetDisplayStrings(); getPluginType().setItems(displayItems); getPluginType().setSelectedItem(pluginName); pluginValidator = translator.getPluginValidator(); if (properties != null) { AgentConfiguration agentConfiguration = properties.getAgentConfiguration(); if (agentConfiguration != null) { getInterfaceMappings().setEntity(agentConfiguration.getNetworkMappings()); MessagingConfiguration messagingConfiguration = agentConfiguration.getMessagingConfiguration(); if (messagingConfiguration != null) { getBrokerType().setSelectedItem(messagingConfiguration.getBrokerType()); getMessagingServer().setEntity(messagingConfiguration.getAddress()); Integer port = messagingConfiguration.getPort(); getMessagingServerPort().setEntity(port == null ? null : Integer.toString(port)); getMessagingServerUsername().setEntity(messagingConfiguration.getUsername()); getMessagingServerPassword().setEntity(messagingConfiguration.getPassword()); } } } }
getNeutronAgentModel().flush(provider); OpenstackNetworkProviderProperties properties = (OpenstackNetworkProviderProperties) provider.getAdditionalProperties(); properties.setReadOnly(readOnly.getEntity()); properties.setAutoSync(autoSync.getEntity()); } else if (isTypeOpenStackImage()) { provider.setAdditionalProperties(new OpenStackImageProviderProperties());
OpenstackNetworkProviderProperties properties = (OpenstackNetworkProviderProperties) provider.getAdditionalProperties(); getAutoSync().setEntity(properties.getAutoSync());
/** * Check if any of the providers in externalProviderIds is read only * @param providers providers retrieved from the backend * @param externalProviderIds Set of all external provider id's to which the removed networks belong * @return true if any of the providers is read only */ protected boolean checkForRemoveExternalNetworkAvailability( List<Provider> providers, Set<Guid> externalProviderIds) { for (Provider provider : providers) { if (externalProviderIds.contains(provider.getId())) { OpenstackNetworkProviderProperties properties = (OpenstackNetworkProviderProperties) provider.getAdditionalProperties(); if (properties.getReadOnly()) { // If any of the providers is read only, abort return true; } } } return false; }
@Override protected ToStringBuilder appendAttributes(ToStringBuilder tsb) { return super.appendAttributes(tsb) .append("pluginType", getPluginType()); }
private void setCommandExecutionAllowedForProvider(Provider provider){ OpenstackNetworkProviderProperties properties = (OpenstackNetworkProviderProperties) provider.getAdditionalProperties(); if (properties != null && properties.getReadOnly()){ setCommandExecutionAllowed(false); return; } setCommandExecutionAllowed(true); }
private void setReadOnlyEntity() { boolean isReadOnlyAware = getType().getSelectedItem().isReadOnlyAware(); if (isReadOnlyAware && getIsUnmanaged().getEntity()) { getReadOnly().setEntity(false); } else if (isReadOnlyAware) { OpenstackNetworkProviderProperties properties = (OpenstackNetworkProviderProperties) provider.getAdditionalProperties(); getReadOnly().setEntity(properties != null ? properties.getReadOnly() : true); } }