@Override protected Account emptyAccount() { return new OpenstackAccount(); } }
@Override public OpenstackBakeryDefaults emptyBakeryDefaults() { OpenstackBakeryDefaults result = new OpenstackBakeryDefaults(); return result; } }
@Override protected BaseImage buildBaseImage(String baseImageId){ OpenstackBaseImage baseImage = new OpenstackBaseImage(); OpenstackBaseImage.OpenstackImageSettings imageSettings = new OpenstackBaseImage.OpenstackImageSettings(); baseImage.setBaseImage(imageSettings); //TODO(edwinavalos) Support multiple virtualization settings List<OpenstackBaseImage.OpenstackVirtualizationSettings> vsList = new ArrayList<>(); OpenstackBaseImage.OpenstackVirtualizationSettings virtualizationSettings = new OpenstackBaseImage.OpenstackVirtualizationSettings(); virtualizationSettings.setSourceImageId(sourceImageId); virtualizationSettings.setRegion(region); virtualizationSettings.setInstanceType(instanceType); virtualizationSettings.setSshUserName(sshUserName); vsList.add(virtualizationSettings); baseImage.setVirtualizationSettings(vsList); return baseImage; } }
@Override protected Account editAccount(OpenstackAccount account) { account.setUserDataFile(isSet(userDataFile) ? userDataFile : account.getUserDataFile()); account.setHeatTemplateLocation(isSet(heatTemplateLocation) ? heatTemplateLocation : account.getHeatTemplateLocation()); account.setConsulConfig(isSet(consulConfig) ? consulConfig : account.getConsulConfig()); account.setAccountType(isSet(accountType) ? accountType : account.getAccountType()); account.setAuthUrl(isSet(authUrl) ? authUrl : account.getAuthUrl()); account.setUsername(isSet(username) ? username : account.getUsername()); account.setPassword(isSet(password) ? password : account.getPassword()); account.setProjectName(isSet(projectName) ? projectName : account.getProjectName()); account.setDomainName(isSet(domainName) ? domainName : account.getDomainName()); account.setInsecure(isSet(insecure) ? insecure : account.getInsecure()); List<String> existingRegions = account.getRegions(); List<String> newRegions = updateStringList(existingRegions, regions, addRegion, removeRegion); account.setRegions(newRegions); }catch (IllegalArgumentException e) { throw new IllegalArgumentException("Set either --regions or --[add/remove]-region"); OpenstackAccount.OpenstackLbaasOptions lbaas = account.getLbaas(); if (isSet(lbaasPollInterval) || isSet(lbaasPollTimeout)) { if (isSet(lbaasPollInterval)) { lbaas.setPollInterval(lbaasPollInterval); lbaas.setPollTimeout(lbaasPollTimeout); account.setLbaas(lbaas);
@Override protected BakeryDefaults editBakeryDefaults(OpenstackBakeryDefaults bakeryDefaults) { bakeryDefaults.setAuthUrl(isSet(authUrl) ? authUrl : bakeryDefaults.getAuthUrl()); bakeryDefaults.setDomainName(isSet(domainName) ? domainName : bakeryDefaults.getDomainName()); bakeryDefaults.setNetworkId(isSet(networkId) ? networkId : bakeryDefaults.getNetworkId()); bakeryDefaults.setFloatingIpPool(isSet(floatingIpPool) ? floatingIpPool : bakeryDefaults.getFloatingIpPool()); bakeryDefaults.setSecurityGroups(isSet(securityGroups) ? securityGroups : bakeryDefaults.getSecurityGroups()); bakeryDefaults.setProjectName(isSet(projectName) ? projectName : bakeryDefaults.getProjectName()); bakeryDefaults.setUsername(isSet(username) ? username : bakeryDefaults.getUsername()); bakeryDefaults.setPassword(isSet(password) ? password : bakeryDefaults.getPassword()); bakeryDefaults.setInsecure(isSet(insecure) ? insecure : bakeryDefaults.getInsecure()); bakeryDefaults.setTemplateFile(isSet(templateFile) ? templateFile : bakeryDefaults.getTemplateFile()); return bakeryDefaults; }
@Override public void validate(ConfigProblemSetBuilder p, OpenstackBakeryDefaults n) { DaemonTaskHandler.message("Validating " + n.getNodeName() + " with " + OpenstackBakeryDefaultsValidator.class.getSimpleName()); String authUrl = n.getAuthUrl(); String domainName = n.getDomainName(); String networkId = n.getNetworkId(); String floatingIpPool = n.getFloatingIpPool(); String securityGroups = n.getSecurityGroups(); String projectName = n.getProjectName(); String username = n.getUsername(); String password = n.getPassword(); Boolean insecure = n.getInsecure(); List<OpenstackBaseImage> baseImages = n.getBaseImages();
@Override protected BaseImage editBaseImage(OpenstackBaseImage baseImage){ OpenstackBaseImage.OpenstackImageSettings imageSettings = baseImage.getBaseImage(); imageSettings = imageSettings != null ? imageSettings : new OpenstackBaseImage.OpenstackImageSettings(); baseImage.setBaseImage(imageSettings); //TODO(edwinavalos) make this work for multiple virtualization settings OpenstackBaseImage.OpenstackVirtualizationSettings virtualizationSettings = baseImage.getVirtualizationSettings().get(0); virtualizationSettings = virtualizationSettings != null ? virtualizationSettings : new OpenstackBaseImage.OpenstackVirtualizationSettings(); virtualizationSettings.setSourceImageId(isSet(sourceImageId) ? sourceImageId : virtualizationSettings.getSourceImageId()); virtualizationSettings.setRegion(isSet(region) ? region : virtualizationSettings.getRegion()); virtualizationSettings.setInstanceType(isSet(instanceType) ? instanceType : virtualizationSettings.getInstanceType()); virtualizationSettings.setSshUserName(isSet(sshUserName) ? sshUserName : virtualizationSettings.getSshUserName()); return baseImage; } }
@Override protected Account buildAccount(String accountName) { OpenstackAccount account = (OpenstackAccount) new OpenstackAccount().setName(accountName); OpenstackAccount.OpenstackLbaasOptions lbaas = new OpenstackAccount.OpenstackLbaasOptions(); if (isSet(lbaasPollInterval)) { lbaas.setPollInterval(lbaasPollInterval); } if (isSet(lbaasPollTimeout)) { lbaas.setPollTimeout(lbaasPollTimeout); } account.setAuthUrl(authUrl) .setUsername(username) .setPassword(password) .setAccountType(accountType) .setHeatTemplateLocation(heatTemplateLocation) .setProjectName(projectName) .setDomainName(domainName) .setRegions(regions) .setInsecure(insecure) .setUserDataFile(userDataFile) .setConsulConfig(consulConfig) .setLbaas(lbaas); return account; }
public void validate(ConfigProblemSetBuilder p, OpenstackBaseImage n) { DaemonTaskHandler.message("Validating " + n.getNodeName() + " with " + OpenstackBaseImageValidator.class.getSimpleName()); OpenstackBaseImage.OpenstackVirtualizationSettings vs = n.getVirtualizationSettings().get(0); String region = vs.getRegion(); String instanceType = vs.getInstanceType(); String sourceImageId = vs.getSourceImageId(); String sshUserName = vs.getSshUserName(); if (StringUtils.isEmpty(region)) { p.addProblem(Problem.Severity.ERROR, "No region supplied for openstack base image."); } if (StringUtils.isEmpty(instanceType)) { p.addProblem(Problem.Severity.ERROR, "No instance type supplied for openstack base image."); } if (StringUtils.isEmpty(sourceImageId)) { p.addProblem(Problem.Severity.ERROR, "No source image id supplied for openstack base image."); } if (StringUtils.isEmpty(sshUserName)) { p.addProblem(Problem.Severity.ERROR, "No ssh username supplied for openstack base image."); } // TODO(shazy792) Add check to see if image actually exists on openstack instance } }
@Override public void validate(ConfigProblemSetBuilder p, OpenstackProvider n) { List<OpenstackNamedAccountCredentials> credentialsList = new ArrayList<>(); OpenstackAccountValidator openstackAccountValidator = new OpenstackAccountValidator(credentialsList, halyardVersion); n.getAccounts().forEach(openstackAccount -> openstackAccountValidator.validate(p, openstackAccount)); new OpenstackBakeryDefaultsValidator(credentialsList, halyardVersion).validate(p, n.getBakeryDefaults()); } }
@Override protected Account editAccount(OpenstackAccount account) { account.setUserDataFile(isSet(userDataFile) ? userDataFile : account.getUserDataFile()); account.setHeatTemplateLocation(isSet(heatTemplateLocation) ? heatTemplateLocation : account.getHeatTemplateLocation()); account.setConsulConfig(isSet(consulConfig) ? consulConfig : account.getConsulConfig()); account.setAccountType(isSet(accountType) ? accountType : account.getAccountType()); account.setAuthUrl(isSet(authUrl) ? authUrl : account.getAuthUrl()); account.setUsername(isSet(username) ? username : account.getUsername()); account.setPassword(isSet(password) ? password : account.getPassword()); account.setProjectName(isSet(projectName) ? projectName : account.getProjectName()); account.setDomainName(isSet(domainName) ? domainName : account.getDomainName()); account.setInsecure(isSet(insecure) ? insecure : account.getInsecure()); List<String> existingRegions = account.getRegions(); List<String> newRegions = updateStringList(existingRegions, regions, addRegion, removeRegion); account.setRegions(newRegions); }catch (IllegalArgumentException e) { throw new IllegalArgumentException("Set either --regions or --[add/remove]-region"); OpenstackAccount.OpenstackLbaasOptions lbaas = account.getLbaas(); if (isSet(lbaasPollInterval) || isSet(lbaasPollTimeout)) { if (isSet(lbaasPollInterval)) { lbaas.setPollInterval(lbaasPollInterval); lbaas.setPollTimeout(lbaasPollTimeout); account.setLbaas(lbaas);
@Override protected BakeryDefaults editBakeryDefaults(OpenstackBakeryDefaults bakeryDefaults) { bakeryDefaults.setAuthUrl(isSet(authUrl) ? authUrl : bakeryDefaults.getAuthUrl()); bakeryDefaults.setDomainName(isSet(domainName) ? domainName : bakeryDefaults.getDomainName()); bakeryDefaults.setNetworkId(isSet(networkId) ? networkId : bakeryDefaults.getNetworkId()); bakeryDefaults.setFloatingIpPool(isSet(floatingIpPool) ? floatingIpPool : bakeryDefaults.getFloatingIpPool()); bakeryDefaults.setSecurityGroups(isSet(securityGroups) ? securityGroups : bakeryDefaults.getSecurityGroups()); bakeryDefaults.setProjectName(isSet(projectName) ? projectName : bakeryDefaults.getProjectName()); bakeryDefaults.setUsername(isSet(username) ? username : bakeryDefaults.getUsername()); bakeryDefaults.setPassword(isSet(password) ? password : bakeryDefaults.getPassword()); bakeryDefaults.setInsecure(isSet(insecure) ? insecure : bakeryDefaults.getInsecure()); bakeryDefaults.setTemplateFile(isSet(templateFile) ? templateFile : bakeryDefaults.getTemplateFile()); return bakeryDefaults; }
@Override public void validate(ConfigProblemSetBuilder p, OpenstackBakeryDefaults n) { DaemonTaskHandler.message("Validating " + n.getNodeName() + " with " + OpenstackBakeryDefaultsValidator.class.getSimpleName()); String authUrl = n.getAuthUrl(); String domainName = n.getDomainName(); String networkId = n.getNetworkId(); String floatingIpPool = n.getFloatingIpPool(); String securityGroups = n.getSecurityGroups(); String projectName = n.getProjectName(); String username = n.getUsername(); String password = n.getPassword(); Boolean insecure = n.getInsecure(); List<OpenstackBaseImage> baseImages = n.getBaseImages();
@Override protected BaseImage editBaseImage(OpenstackBaseImage baseImage){ OpenstackBaseImage.OpenstackImageSettings imageSettings = baseImage.getBaseImage(); imageSettings = imageSettings != null ? imageSettings : new OpenstackBaseImage.OpenstackImageSettings(); baseImage.setBaseImage(imageSettings); //TODO(edwinavalos) make this work for multiple virtualization settings OpenstackBaseImage.OpenstackVirtualizationSettings virtualizationSettings = baseImage.getVirtualizationSettings().get(0); virtualizationSettings = virtualizationSettings != null ? virtualizationSettings : new OpenstackBaseImage.OpenstackVirtualizationSettings(); virtualizationSettings.setSourceImageId(isSet(sourceImageId) ? sourceImageId : virtualizationSettings.getSourceImageId()); virtualizationSettings.setRegion(isSet(region) ? region : virtualizationSettings.getRegion()); virtualizationSettings.setInstanceType(isSet(instanceType) ? instanceType : virtualizationSettings.getInstanceType()); virtualizationSettings.setSshUserName(isSet(sshUserName) ? sshUserName : virtualizationSettings.getSshUserName()); return baseImage; } }
@Override protected Account buildAccount(String accountName) { OpenstackAccount account = (OpenstackAccount) new OpenstackAccount().setName(accountName); OpenstackAccount.OpenstackLbaasOptions lbaas = new OpenstackAccount.OpenstackLbaasOptions(); if (isSet(lbaasPollInterval)) { lbaas.setPollInterval(lbaasPollInterval); } if (isSet(lbaasPollTimeout)) { lbaas.setPollTimeout(lbaasPollTimeout); } account.setAuthUrl(authUrl) .setUsername(username) .setPassword(password) .setAccountType(accountType) .setHeatTemplateLocation(heatTemplateLocation) .setProjectName(projectName) .setDomainName(domainName) .setRegions(regions) .setInsecure(insecure) .setUserDataFile(userDataFile) .setConsulConfig(consulConfig) .setLbaas(lbaas); return account; }
public void validate(ConfigProblemSetBuilder p, OpenstackBaseImage n) { DaemonTaskHandler.message("Validating " + n.getNodeName() + " with " + OpenstackBaseImageValidator.class.getSimpleName()); OpenstackBaseImage.OpenstackVirtualizationSettings vs = n.getVirtualizationSettings().get(0); String region = vs.getRegion(); String instanceType = vs.getInstanceType(); String sourceImageId = vs.getSourceImageId(); String sshUserName = vs.getSshUserName(); if (StringUtils.isEmpty(region)) { p.addProblem(Problem.Severity.ERROR, "No region supplied for openstack base image."); } if (StringUtils.isEmpty(instanceType)) { p.addProblem(Problem.Severity.ERROR, "No instance type supplied for openstack base image."); } if (StringUtils.isEmpty(sourceImageId)) { p.addProblem(Problem.Severity.ERROR, "No source image id supplied for openstack base image."); } if (StringUtils.isEmpty(sshUserName)) { p.addProblem(Problem.Severity.ERROR, "No ssh username supplied for openstack base image."); } // TODO(shazy792) Add check to see if image actually exists on openstack instance } }
@Override protected BaseImage buildBaseImage(String baseImageId){ OpenstackBaseImage baseImage = new OpenstackBaseImage(); OpenstackBaseImage.OpenstackImageSettings imageSettings = new OpenstackBaseImage.OpenstackImageSettings(); baseImage.setBaseImage(imageSettings); //TODO(edwinavalos) Support multiple virtualization settings List<OpenstackBaseImage.OpenstackVirtualizationSettings> vsList = new ArrayList<>(); OpenstackBaseImage.OpenstackVirtualizationSettings virtualizationSettings = new OpenstackBaseImage.OpenstackVirtualizationSettings(); virtualizationSettings.setSourceImageId(sourceImageId); virtualizationSettings.setRegion(region); virtualizationSettings.setInstanceType(instanceType); virtualizationSettings.setSshUserName(sshUserName); vsList.add(virtualizationSettings); baseImage.setVirtualizationSettings(vsList); return baseImage; } }
@Override public void validate(ConfigProblemSetBuilder p, OpenstackProvider n) { List<OpenstackNamedAccountCredentials> credentialsList = new ArrayList<>(); OpenstackAccountValidator openstackAccountValidator = new OpenstackAccountValidator(credentialsList, halyardVersion); n.getAccounts().forEach(openstackAccount -> openstackAccountValidator.validate(p, openstackAccount)); new OpenstackBakeryDefaultsValidator(credentialsList, halyardVersion).validate(p, n.getBakeryDefaults()); } }
@Override protected Account emptyAccount() { return new OpenstackAccount(); } }
@Override public OpenstackBakeryDefaults emptyBakeryDefaults() { OpenstackBakeryDefaults result = new OpenstackBakeryDefaults(); return result; } }