diff --git a/xds/src/main/java/io/grpc/xds/internal/certprovider/ZatarCertificateProvider.java b/xds/src/main/java/io/grpc/xds/internal/certprovider/DynamicReloadingCertificateProvider.java similarity index 92% rename from xds/src/main/java/io/grpc/xds/internal/certprovider/ZatarCertificateProvider.java rename to xds/src/main/java/io/grpc/xds/internal/certprovider/DynamicReloadingCertificateProvider.java index c76dd0dd51..af7324f258 100644 --- a/xds/src/main/java/io/grpc/xds/internal/certprovider/ZatarCertificateProvider.java +++ b/xds/src/main/java/io/grpc/xds/internal/certprovider/DynamicReloadingCertificateProvider.java @@ -37,9 +37,10 @@ import java.util.concurrent.TimeUnit; import java.util.logging.Level; import java.util.logging.Logger; -/** Implementation of {@link CertificateProvider} for Zatar cert provider. */ -final class ZatarCertificateProvider extends CertificateProvider { - private static final Logger logger = Logger.getLogger(ZatarCertificateProvider.class.getName()); +/** Implementation of {@link CertificateProvider} for dynamic reloading cert provider. */ +final class DynamicReloadingCertificateProvider extends CertificateProvider { + private static final Logger logger = + Logger.getLogger(DynamicReloadingCertificateProvider.class.getName()); private final SynchronizationContext syncContext; private final ScheduledExecutorService scheduledExecutorService; @@ -52,7 +53,7 @@ final class ZatarCertificateProvider extends CertificateProvider { @VisibleForTesting SynchronizationContext.ScheduledHandle scheduledHandle; private Path lastModifiedTarget; - ZatarCertificateProvider( + DynamicReloadingCertificateProvider( DistributorWatcher watcher, boolean notifyCertUpdates, String directory, @@ -75,7 +76,8 @@ final class ZatarCertificateProvider extends CertificateProvider { } private SynchronizationContext createSynchronizationContext(String details) { - final InternalLogId logId = InternalLogId.allocate("ZatarCertificateProvider", details); + final InternalLogId logId = + InternalLogId.allocate("DynamicReloadingCertificateProvider", details); return new SynchronizationContext( new Thread.UncaughtExceptionHandler() { private boolean panicMode; @@ -182,7 +184,7 @@ final class ZatarCertificateProvider extends CertificateProvider { private static final Factory DEFAULT_INSTANCE = new Factory() { @Override - ZatarCertificateProvider create( + DynamicReloadingCertificateProvider create( DistributorWatcher watcher, boolean notifyCertUpdates, String directory, @@ -192,7 +194,7 @@ final class ZatarCertificateProvider extends CertificateProvider { long refreshIntervalInSeconds, ScheduledExecutorService scheduledExecutorService, TimeProvider timeProvider) { - return new ZatarCertificateProvider( + return new DynamicReloadingCertificateProvider( watcher, notifyCertUpdates, directory, @@ -209,7 +211,7 @@ final class ZatarCertificateProvider extends CertificateProvider { return DEFAULT_INSTANCE; } - abstract ZatarCertificateProvider create( + abstract DynamicReloadingCertificateProvider create( DistributorWatcher watcher, boolean notifyCertUpdates, String directory, diff --git a/xds/src/main/java/io/grpc/xds/internal/certprovider/ZatarCertificateProviderProvider.java b/xds/src/main/java/io/grpc/xds/internal/certprovider/DynamicReloadingCertificateProviderProvider.java similarity index 82% rename from xds/src/main/java/io/grpc/xds/internal/certprovider/ZatarCertificateProviderProvider.java rename to xds/src/main/java/io/grpc/xds/internal/certprovider/DynamicReloadingCertificateProviderProvider.java index 13dfeed9c3..ad4a37f92d 100644 --- a/xds/src/main/java/io/grpc/xds/internal/certprovider/ZatarCertificateProviderProvider.java +++ b/xds/src/main/java/io/grpc/xds/internal/certprovider/DynamicReloadingCertificateProviderProvider.java @@ -28,9 +28,9 @@ import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; /** - * Provider of {@link ZatarCertificateProvider}s. + * Provider of {@link DynamicReloadingCertificateProvider}s. */ -final class ZatarCertificateProviderProvider implements CertificateProviderProvider { +final class DynamicReloadingCertificateProviderProvider implements CertificateProviderProvider { private static final String DIRECTORY_KEY = "directory"; private static final String CERT_FILE_KEY = "certificate-file"; @@ -41,34 +41,34 @@ final class ZatarCertificateProviderProvider implements CertificateProviderProvi @VisibleForTesting static final long REFRESH_INTERVAL_DEFAULT = 600L; - static final String ZATAR_PROVIDER_NAME = "gke-cas-certs"; + static final String DYNAMIC_RELOADING_PROVIDER_NAME = "gke-cas-certs"; static { CertificateProviderRegistry.getInstance() .register( - new ZatarCertificateProviderProvider( - ZatarCertificateProvider.Factory.getInstance(), + new DynamicReloadingCertificateProviderProvider( + DynamicReloadingCertificateProvider.Factory.getInstance(), ScheduledExecutorServiceFactory.DEFAULT_INSTANCE, TimeProvider.SYSTEM_TIME_PROVIDER)); } - final ZatarCertificateProvider.Factory zatarCertificateProviderFactory; + final DynamicReloadingCertificateProvider.Factory dynamicReloadingCertificateProviderFactory; private final ScheduledExecutorServiceFactory scheduledExecutorServiceFactory; private final TimeProvider timeProvider; @VisibleForTesting - ZatarCertificateProviderProvider( - ZatarCertificateProvider.Factory zatarCertificateProviderFactory, + DynamicReloadingCertificateProviderProvider( + DynamicReloadingCertificateProvider.Factory dynamicReloadingCertificateProviderFactory, ScheduledExecutorServiceFactory scheduledExecutorServiceFactory, TimeProvider timeProvider) { - this.zatarCertificateProviderFactory = zatarCertificateProviderFactory; + this.dynamicReloadingCertificateProviderFactory = dynamicReloadingCertificateProviderFactory; this.scheduledExecutorServiceFactory = scheduledExecutorServiceFactory; this.timeProvider = timeProvider; } @Override public String getName() { - return ZATAR_PROVIDER_NAME; + return DYNAMIC_RELOADING_PROVIDER_NAME; } @Override @@ -76,7 +76,7 @@ final class ZatarCertificateProviderProvider implements CertificateProviderProvi Object config, CertificateProvider.DistributorWatcher watcher, boolean notifyCertUpdates) { Config configObj = validateAndTranslateConfig(config); - return zatarCertificateProviderFactory.create( + return dynamicReloadingCertificateProviderFactory.create( watcher, notifyCertUpdates, configObj.directory, @@ -117,7 +117,7 @@ final class ZatarCertificateProviderProvider implements CertificateProviderProvi ScheduledExecutorService create() { return Executors.newSingleThreadScheduledExecutor( new ThreadFactoryBuilder() - .setNameFormat("zatar" + "-%d") + .setNameFormat("dynamicReloading" + "-%d") .setDaemon(true) .build()); } diff --git a/xds/src/test/java/io/grpc/xds/internal/certprovider/ZatarCertificateProviderProviderTest.java b/xds/src/test/java/io/grpc/xds/internal/certprovider/DynamicReloadingCertificateProviderProviderTest.java similarity index 83% rename from xds/src/test/java/io/grpc/xds/internal/certprovider/ZatarCertificateProviderProviderTest.java rename to xds/src/test/java/io/grpc/xds/internal/certprovider/DynamicReloadingCertificateProviderProviderTest.java index ac577bc829..2ee5fb3964 100644 --- a/xds/src/test/java/io/grpc/xds/internal/certprovider/ZatarCertificateProviderProviderTest.java +++ b/xds/src/test/java/io/grpc/xds/internal/certprovider/DynamicReloadingCertificateProviderProviderTest.java @@ -36,35 +36,40 @@ import org.junit.runners.JUnit4; import org.mockito.Mock; import org.mockito.MockitoAnnotations; -/** Unit tests for {@link ZatarCertificateProviderProvider}. */ +/** Unit tests for {@link DynamicReloadingCertificateProviderProvider}. */ @RunWith(JUnit4.class) -public class ZatarCertificateProviderProviderTest { +public class DynamicReloadingCertificateProviderProviderTest { - @Mock ZatarCertificateProvider.Factory zatarCertificateProviderFactory; - @Mock private ZatarCertificateProviderProvider.ScheduledExecutorServiceFactory + @Mock DynamicReloadingCertificateProvider.Factory dynamicReloadingCertificateProviderFactory; + @Mock private DynamicReloadingCertificateProviderProvider.ScheduledExecutorServiceFactory scheduledExecutorServiceFactory; @Mock private TimeProvider timeProvider; - private ZatarCertificateProviderProvider provider; + private DynamicReloadingCertificateProviderProvider provider; @Before public void setUp() throws IOException { MockitoAnnotations.initMocks(this); provider = - new ZatarCertificateProviderProvider( - zatarCertificateProviderFactory, scheduledExecutorServiceFactory, timeProvider); + new DynamicReloadingCertificateProviderProvider( + dynamicReloadingCertificateProviderFactory, + scheduledExecutorServiceFactory, + timeProvider); } @Test public void providerRegisteredName() { CertificateProviderProvider certProviderProvider = CertificateProviderRegistry.getInstance() - .getProvider(ZatarCertificateProviderProvider.ZATAR_PROVIDER_NAME); - assertThat(certProviderProvider).isInstanceOf(ZatarCertificateProviderProvider.class); - ZatarCertificateProviderProvider zatarCertificateProviderProvider = - (ZatarCertificateProviderProvider) certProviderProvider; - assertThat(zatarCertificateProviderProvider.zatarCertificateProviderFactory) - .isSameInstanceAs(ZatarCertificateProvider.Factory.getInstance()); + .getProvider( + DynamicReloadingCertificateProviderProvider.DYNAMIC_RELOADING_PROVIDER_NAME); + assertThat(certProviderProvider) + .isInstanceOf(DynamicReloadingCertificateProviderProvider.class); + DynamicReloadingCertificateProviderProvider dynamicReloadingCertificateProviderProvider = + (DynamicReloadingCertificateProviderProvider) certProviderProvider; + assertThat( + dynamicReloadingCertificateProviderProvider.dynamicReloadingCertificateProviderFactory) + .isSameInstanceAs(DynamicReloadingCertificateProvider.Factory.getInstance()); } @Test @@ -72,11 +77,11 @@ public class ZatarCertificateProviderProviderTest { CertificateProvider.DistributorWatcher distWatcher = new CertificateProvider.DistributorWatcher(); @SuppressWarnings("unchecked") - Map map = (Map) JsonParser.parse(MINIMAL_ZATAR_CONFIG); + Map map = (Map) JsonParser.parse(MINIMAL_DYNAMIC_RELOADING_CONFIG); ScheduledExecutorService mockService = mock(ScheduledExecutorService.class); when(scheduledExecutorServiceFactory.create()).thenReturn(mockService); provider.createCertificateProvider(map, distWatcher, true); - verify(zatarCertificateProviderFactory, times(1)) + verify(dynamicReloadingCertificateProviderFactory, times(1)) .create( eq(distWatcher), eq(true), @@ -94,11 +99,11 @@ public class ZatarCertificateProviderProviderTest { CertificateProvider.DistributorWatcher distWatcher = new CertificateProvider.DistributorWatcher(); @SuppressWarnings("unchecked") - Map map = (Map) JsonParser.parse(FULL_ZATAR_CONFIG); + Map map = (Map) JsonParser.parse(FULL_DYNAMIC_RELOADING_CONFIG); ScheduledExecutorService mockService = mock(ScheduledExecutorService.class); when(scheduledExecutorServiceFactory.create()).thenReturn(mockService); provider.createCertificateProvider(map, distWatcher, true); - verify(zatarCertificateProviderFactory, times(1)) + verify(dynamicReloadingCertificateProviderFactory, times(1)) .create( eq(distWatcher), eq(true), @@ -167,7 +172,7 @@ public class ZatarCertificateProviderProviderTest { } } - private static final String MINIMAL_ZATAR_CONFIG = + private static final String MINIMAL_DYNAMIC_RELOADING_CONFIG = "{\n" + " \"directory\": \"/var/run/gke-spiffe/certs/..data\"," + " \"certificate-file\": \"certificates.pem\"," @@ -175,7 +180,7 @@ public class ZatarCertificateProviderProviderTest { + " \"ca-certificate-file\": \"ca_certificates.pem\"" + " }"; - private static final String FULL_ZATAR_CONFIG = + private static final String FULL_DYNAMIC_RELOADING_CONFIG = "{\n" + " \"directory\": \"/var/run/gke-spiffe/certs/..data1\"," + " \"certificate-file\": \"certificates2.pem\"," diff --git a/xds/src/test/java/io/grpc/xds/internal/certprovider/ZatarCertificateProviderTest.java b/xds/src/test/java/io/grpc/xds/internal/certprovider/DynamicReloadingCertificateProviderTest.java similarity index 98% rename from xds/src/test/java/io/grpc/xds/internal/certprovider/ZatarCertificateProviderTest.java rename to xds/src/test/java/io/grpc/xds/internal/certprovider/DynamicReloadingCertificateProviderTest.java index 8a0cebf126..a2f7cb7e32 100644 --- a/xds/src/test/java/io/grpc/xds/internal/certprovider/ZatarCertificateProviderTest.java +++ b/xds/src/test/java/io/grpc/xds/internal/certprovider/DynamicReloadingCertificateProviderTest.java @@ -58,9 +58,9 @@ import org.mockito.ArgumentMatchers; import org.mockito.Mock; import org.mockito.MockitoAnnotations; -/** Unit tests for {@link ZatarCertificateProvider}. */ +/** Unit tests for {@link DynamicReloadingCertificateProvider}. */ @RunWith(JUnit4.class) -public class ZatarCertificateProviderTest { +public class DynamicReloadingCertificateProviderTest { private static final String CERT_FILE = "cert.pem"; private static final String KEY_FILE = "key.pem"; private static final String ROOT_FILE = "root.pem"; @@ -72,7 +72,7 @@ public class ZatarCertificateProviderTest { @Rule public TemporaryFolder tempFolder = new TemporaryFolder(); private String symlink; - private ZatarCertificateProvider provider; + private DynamicReloadingCertificateProvider provider; @Before public void setUp() throws IOException { @@ -83,7 +83,7 @@ public class ZatarCertificateProviderTest { symlink = new File(tempFolder.getRoot(), "..data").getAbsolutePath(); provider = - new ZatarCertificateProvider( + new DynamicReloadingCertificateProvider( watcher, true, symlink,