Search in sources :

Example 1 with Certificates

use of com.cloud.legacymodel.auth.Certificates in project cosmic by MissionCriticalCloud.

the class KeystoreManagerImpl method getCertificates.

@Override
public Certificates getCertificates(final String name) {
    final KeystoreVO ksVo = _ksDao.findByName(name);
    if (ksVo == null) {
        return null;
    }
    final String prvKey = ksVo.getKey();
    final String prvCert = ksVo.getCertificate();
    final String domainSuffix = ksVo.getDomainSuffix();
    String certChain = null;
    String rootCert = null;
    final List<KeystoreVO> certchains = _ksDao.findCertChain(domainSuffix);
    if (certchains.size() > 0) {
        final ArrayList<String> chains = new ArrayList<>();
        for (final KeystoreVO cert : certchains) {
            if (chains.size() == 0) {
                // For the first time it will be length 0
                rootCert = cert.getCertificate();
            }
            chains.add(cert.getCertificate());
        }
        Collections.reverse(chains);
        certChain = StringUtils.join(chains, "\n");
    }
    final Certificates certs = new Certificates(prvKey, prvCert, certChain, rootCert);
    return certs;
}
Also used : ArrayList(java.util.ArrayList) Certificates(com.cloud.legacymodel.auth.Certificates)

Example 2 with Certificates

use of com.cloud.legacymodel.auth.Certificates in project cosmic by MissionCriticalCloud.

the class SecondaryStorageManagerImpl method generateSetupCommand.

@Override
public boolean generateSetupCommand(final Long ssHostId) {
    final HostVO cssHost = this._hostDao.findById(ssHostId);
    final Long zoneId = cssHost.getDataCenterId();
    if (cssHost.getType() == HostType.SecondaryStorageVM) {
        final SecondaryStorageVmVO secStorageVm = this._secStorageVmDao.findByInstanceName(cssHost.getName());
        if (secStorageVm == null) {
            logger.warn("secondary storage VM " + cssHost.getName() + " doesn't exist");
            return false;
        }
        final List<DataStore> ssStores = this._dataStoreMgr.getImageStoresByScope(new ZoneScope(zoneId));
        for (final DataStore ssStore : ssStores) {
            if (!(ssStore.getTO() instanceof NfsTO)) {
                // only do this for Nfs
                continue;
            }
            final String secUrl = ssStore.getUri();
            final SecStorageSetupCommand setupCmd;
            if (!this._useSSlCopy) {
                setupCmd = new SecStorageSetupCommand(ssStore.getTO(), secUrl, null);
            } else {
                final Certificates certs = this._keystoreMgr.getCertificates(ConsoleProxyManager.CERTIFICATE_NAME);
                setupCmd = new SecStorageSetupCommand(ssStore.getTO(), secUrl, certs);
            }
            // template/volume file upload key
            final String postUploadKey = this._configDao.getValue(Config.SSVMPSK.key());
            setupCmd.setPostUploadKey(postUploadKey);
            final Answer answer = this._agentMgr.easySend(ssHostId, setupCmd);
            if (answer != null && answer.getResult()) {
                final SecStorageSetupAnswer an = (SecStorageSetupAnswer) answer;
                if (an.get_dir() != null) {
                    // update the parent path in image_store table for this image store
                    final ImageStoreVO svo = this._imageStoreDao.findById(ssStore.getId());
                    svo.setParent(an.get_dir());
                    this._imageStoreDao.update(ssStore.getId(), svo);
                }
                logger.debug("Successfully programmed secondary storage " + ssStore.getName() + " in secondary storage VM " + secStorageVm.getInstanceName());
            } else {
                logger.debug("Successfully programmed secondary storage " + ssStore.getName() + " in secondary storage VM " + secStorageVm.getInstanceName());
                return false;
            }
        }
    }
    return true;
}
Also used : SecondaryStorageVmVO(com.cloud.vm.SecondaryStorageVmVO) Certificates(com.cloud.legacymodel.auth.Certificates) SecStorageSetupCommand(com.cloud.legacymodel.communication.command.SecStorageSetupCommand) SecStorageSetupAnswer(com.cloud.legacymodel.communication.answer.SecStorageSetupAnswer) NfsTO(com.cloud.legacymodel.to.NfsTO) HostVO(com.cloud.host.HostVO) ZoneScope(com.cloud.engine.subsystem.api.storage.ZoneScope) CheckSshAnswer(com.cloud.legacymodel.communication.answer.CheckSshAnswer) Answer(com.cloud.legacymodel.communication.answer.Answer) SecStorageSetupAnswer(com.cloud.legacymodel.communication.answer.SecStorageSetupAnswer) DataStore(com.cloud.engine.subsystem.api.storage.DataStore) ImageStoreVO(com.cloud.storage.datastore.db.ImageStoreVO)

Aggregations

Certificates (com.cloud.legacymodel.auth.Certificates)2 DataStore (com.cloud.engine.subsystem.api.storage.DataStore)1 ZoneScope (com.cloud.engine.subsystem.api.storage.ZoneScope)1 HostVO (com.cloud.host.HostVO)1 Answer (com.cloud.legacymodel.communication.answer.Answer)1 CheckSshAnswer (com.cloud.legacymodel.communication.answer.CheckSshAnswer)1 SecStorageSetupAnswer (com.cloud.legacymodel.communication.answer.SecStorageSetupAnswer)1 SecStorageSetupCommand (com.cloud.legacymodel.communication.command.SecStorageSetupCommand)1 NfsTO (com.cloud.legacymodel.to.NfsTO)1 ImageStoreVO (com.cloud.storage.datastore.db.ImageStoreVO)1 SecondaryStorageVmVO (com.cloud.vm.SecondaryStorageVmVO)1 ArrayList (java.util.ArrayList)1