Package io.fabric8.api

Examples of io.fabric8.api.FabricService


    @Override
    public void createContainers(AutoScaleRequest request) throws Exception {
        int count = request.getDelta();
        String profile = request.getProfile();
        String version = request.getVersion();
        FabricService fabricService = request.getFabricService();

        CreateOpenshiftContainerOptions.Builder builder = null;
        if (fabricService != null) {
            builder = createAutoScaleOptions(fabricService);
        }
        if (builder != null) {
            // TODO this is actually generic to all providers! :)
            for (int i = 0; i < count; i++) {
                Container[] containers = fabricService.getContainers();
                final CreateOpenshiftContainerOptions.Builder configuredBuilder = builder.number(1).version(version).profiles(profile);

                NameValidator openShiftValidator = containerProvider.createNameValidator(configuredBuilder.build());
                NameValidator fabricNameValidator = Containers.createNameValidator(fabricService.getContainers());
                NameValidator nameValidator = Containers.joinNameValidators(openShiftValidator, fabricNameValidator);

                String name = Containers.createContainerName(containers, profile, containerProvider.getScheme(), nameValidator);

                CreateOpenshiftContainerOptions options = configuredBuilder.name(name).build();
                LOG.info("Creating container name " + name + " version " + version + " profile " + profile + " " + count + " container(s)");
                fabricService.createContainers(options);
            }
        } else {
            LOG.warn("Could not create version " + version + " profile " + profile + " due to missing autoscale configuration");
        }
    }
View Full Code Here


    }


    @Override
    public ChildContainerController createController(CreateChildContainerOptions options) {
        FabricService fabric = getFabricService();
        boolean isJavaOrProcessContainer = ChildContainers.isJavaOrProcessContainer(fabric, options);
        if (isJavaOrProcessContainer) {
            return createProcessManagerController();
        }
        return null;
View Full Code Here

     *
     * @param containerId
     * @return
     */
    public synchronized int createJolokiaPort(String containerId) {
        FabricService fabricService = getFabricService();
        Container currentContainer = fabricService.getCurrentContainer();
        Set<Integer> usedPortByHost = fabricService.getPortService().findUsedPortByHost(currentContainer);

        while (true) {
            if (externalJolokiaPort <= 0) {
                externalJolokiaPort = JolokiaAgentHelper.DEFAULT_JOLOKIA_PORT;
            } else {
                externalJolokiaPort++;
            }
            if (!usedPortByHost.contains(externalJolokiaPort)) {
                Container container = fabricService.getCurrentContainer();
                String pid = JolokiaAgentHelper.JOLOKIA_PORTS_PID;
                String key = containerId;
                fabricService.getPortService().registerPort(container, pid, key, externalJolokiaPort);
                return externalJolokiaPort;
            }
        }
    }
View Full Code Here

        return builder.toString();
    }

    private void onConfigurationChanged() {
        ProcessManager manager = getProcessManager();
        FabricService fabric = getFabricService();
        if (manager != null && fabric != null) {
            ImmutableMap<String, Installation> map = manager.listInstallationMap();
            ImmutableSet<Map.Entry<String, Installation>> entries = map.entrySet();
            for (Map.Entry<String, Installation> entry : entries) {
                String id = entry.getKey();
                Installation installation = entry.getValue();
                try {
                    Container container = null;
                    try {
                        container = fabric.getContainer(id);
                    } catch (Exception e) {
                        LOG.debug("No container for id: " + id + ". " + e, e);
                    }
                    if (container != null && installation != null) {
                        ChildContainerController controllerForContainer = getControllerForContainer(container);
View Full Code Here

    }


    private void checkProcessesStatus() {
        ProcessManager manager = getProcessManager();
        FabricService fabric = getFabricService();
        if (manager != null && fabric != null) {
            Set<String> aliveIds = new HashSet<>();
            ImmutableMap<String, Installation> map = manager.listInstallationMap();
            ImmutableSet<Map.Entry<String, Installation>> entries = map.entrySet();
            for (Map.Entry<String, Installation> entry : entries) {
                String id = entry.getKey();
                Installation installation = entry.getValue();
                try {
                    Container container = null;
                    try {
                        container = fabric.getContainer(id);
                    } catch (Exception e) {
                        LOG.debug("No container for id: " + id + ". " + e, e);
                    }
                    if (container != null) {
                        Long pid = installation.getActivePid();
View Full Code Here

    }

    @Override
    protected Set<Integer> findUsedPortByHostAndDocker() {
        try {
            FabricService fabric = getFabricService();
            Container currentContainer = fabric.getCurrentContainer();
            Set<Integer> usedPorts;
            Set<Integer> dockerPorts;
            synchronized (portLock) {
                usedPorts = fabric.getPortService().findUsedPortByHost(currentContainer);
                dockerPorts = Dockers.getUsedPorts(docker);
            }
            usedPorts.addAll(dockerPorts);
            return usedPorts;
        } catch (DockerApiConnectionException e) {
View Full Code Here

    }

    @Override
    public boolean isValidProvider() {
        // docker provider isn't valid in openshift/kubernetes environment
        FabricService service = getFabricService();
        if (service != null) {
            // lets disable child if in docker or openshift environments
            String environment = service.getEnvironment();
            if (Objects.equal(environment, "openshift") || Objects.equal(environment, "kubernetes")) {
                return false;
            }
        }
        return true;
View Full Code Here

    protected abstract Set<Integer> findUsedPortByHostAndDocker();

    public abstract String getDockerAddress();

    protected DockerProviderConfig createDockerProviderConfig(Map<String, String> dockerProviderConfig, Map<String, String> environmentVariables) throws Exception {
        FabricService service = getFabricService();
        JolokiaAgentHelper.substituteEnvironmentVariableExpressions(dockerProviderConfig, environmentVariables, service, getCuratorFramework());
        return createDockerProviderConfig(dockerProviderConfig);
    }
View Full Code Here

    @Override
    public void createContainers(AutoScaleRequest request) throws Exception {
        int count = request.getDelta();
        String profile = request.getProfile();
        String version = request.getVersion();
        FabricService fabricService = request.getFabricService();

        Container[] containers = fabricService.getContainers();
        FabricRequirements requirements = request.getFabricRequirements();
        List<? extends HostConfiguration> hostConfigurations = requirements.getSshHosts();
        HostProfileCounter hostProfileCounter = new HostProfileCounter();
        AutoScalers.createHostToProfileScaleMap(hostProfileCounter, hostConfigurations, containers);

        for (int i = 0; i < count; i++) {
            CreateSshContainerOptions.Builder builder = null;
            NameValidator nameValidator = Containers.createNameValidator(containers);
            String name = Containers.createContainerName(containers, profile, containerProvider.getScheme(), nameValidator);

            if (fabricService != null) {
                builder = createAutoScaleOptions(request, fabricService, hostProfileCounter);
            }
            if (builder != null) {
                final CreateSshContainerOptions.Builder configuredBuilder = builder.number(1).version(version).profiles(profile);

                CreateSshContainerOptions options = configuredBuilder.name(name).build();
                LOG.info("Creating container name " + name + " version " + version + " profile " + profile + " " + count + " container(s)");
                fabricService.createContainers(options);
            }
        }
    }
View Full Code Here

        //System.out.println(executeCommand("fabric:info"));
        //System.out.println(executeCommand("fabric:profile-list"));

        ServiceProxy<FabricService> fabricProxy = ServiceProxy.createServiceProxy(bundleContext, FabricService.class);
        try {
            FabricService fabricService = fabricProxy.getService();
            CuratorFramework curator = fabricService.adapt(CuratorFramework.class);

            waitForFabricCommands();

            Set<ContainerProxy> containers = ContainerBuilder.create(fabricProxy, 2).withName("dosgi").withProfiles("karaf").assertProvisioningResult().build();
            try {
View Full Code Here

TOP

Related Classes of io.fabric8.api.FabricService

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.