Deploying a Cloudify Manager Image

A Cloudify Manager is a compute host that runs the Cloudify Management services. To help you get running with Cloudify Manager easily, Cloudify provides images of Cloudify Manager for:

You can create an OpenStack instance with the OpenStack QCOW file, or load a Docker container. Images include pre-installation of Cloudify Manager and its dependencies.

To install Cloudify Manager on bare-metal or other platforms using a single offline RPM package, go to installing Cloudify Manager.

Setup an Instance of a Cloudify Manager Image

  1. Go to the Cloudify download page and select the Cloudify Enterprise or Community image for your platform.
  2. Start the image in your platform:

    • OpenStack

      Go to your OpenStack cloud and launch an instance based on the image you downloaded:

      1. Go to Compute > Images and click Create.
      2. Enter the details of the image, including:
        • Image Source - Select Image File and click Browse File to browse to the QCOW2 image file.
        • Format - Select QCOW2.
      3. Configure the instance resources according to the prerequisites.
      4. Launch the instance.
      5. To verify that the Cloudify Manager is installed after the instance is created and running, go to the Cloudify Management Console at http://<public_ip>. Use this IP address as the manager IP address for CLI and Cloudify Management Console connections.
    • Docker
      1. Verify that the target computer meets the prerequisites.
      2. To create and start a Docker container with Cloudify Manager, run:

        docker run --name cfy_manager_local -d --restart unless-stopped \
          -v /sys/fs/cgroup:/sys/fs/cgroup:ro --tmpfs /run --tmpfs /run/lock \
          --security-opt seccomp:unconfined --cap-add SYS_ADMIN \
          -p 80:80 -p 5671:5671 -p 53333:53333 -p 8000:8000 \
          cloudifyplatform/premium-cloudify-manager-aio:latest
        Or, with a minimal command:
        docker run -d \
          -v /sys/fs/cgroup:/sys/fs/cgroup:ro --tmpfs /run --tmpfs /run/lock \
          cloudifyplatform/premium-cloudify-manager-aio:latest
        Explanation of commonly used docker run flags:

        • --restart unless-stopped: auto-restart of the container
        • security-opt secconmp:unconfined --cap-add SYS_ADMIN or alternatively --privileged: when running a SystemD-based container, giving the container elevated privileges is required for SystemD itself to run. When using a new enough Docker Engine (at least 17.05+), those flags can be omitted, but the host SELinux policy might need to be adjusted by doing setsebool -P container_manage_cgroup true. Neither those flags, nor the SELinux adjustment, are required when using containers not based on SystemD.
        • -v /sys/fs/cgroup:/sys/fs/cgroup:ro --tmpfs /run --tmpfs /run/lock: mounts required only when using a SystemD-based container. Note that the host machine must also be using SystemD.
        • -p 80:80 -p 5671:5671 -p 53333:53333 -p 8000:8000 or alternatively -p 443:443: the ports 5671 and 53333 are used for manager/agent communication, while the port 80 or 443 is used for CLI/UI access to the manager. Port 8000 is used for the hello-world example and is optional. Using the -p flags, or even --network host, these ports can be forwarded from the host machine to the container.
        • --name cfy_manager_local: the name given to the container, for use with later docker exec calls.
        • -v /some/absolute/path/to/config.yaml:/etc/cloudify/config.yaml:rw: mounting a yaml file at /etc/cloudify/config.yaml allows configuring the manager container, including setting an admin password, and providing paths to TLS certificates.
      3. The container’s starter service will take a while to boot up all the manager components. Run cfy_manager wait-for-starter to synchronously wait for the manager to fully start:

        docker exec cfy_manager_local cfy_manager wait-for-starter
        When done, wait-for-starter will print out the manager’s admin password to stdout.

      4. You can change the admin password by running cfy_manager reset-admin-password:

        docker exec cfy_manager_local cfy_manager reset-admin-password NEW_PASSWORD

      5. To verify that the Cloudify Manager is installed after the instance is created and running, go to the Cloudify Management Console at http://<manager_ip>, or if the manager’s port was bound to the host machine’s port using -p 80:80 or similar, use http://<host_ip>. Use this IP address as the manager IP address for CLI and Cloudify Management Console connections.

      6. Cloudify Management Console’s HTTP port depends on actual Cloudify Manager’s configuration. If you wish to enable SSL, you should also start using 443 port (-p 443:443 in the docker run command) and https:// protocol for accessing Cloudify Management Console.

      7. Activate your license - Learn more about license activation

  3. To use Cloudify Manager from the terminal using the Cloudify CLI, run the following command with your instance details.

        $ cfy profiles use <manager-ip> -u admin -p admin -t default_tenant
        

    The default credentials are:

    • username - admin
    • password - admin

    Because the cfy command is already available and configured, you can navigate to Cloudify Manager using SSH and use the already configured CLI environment (except for Docker). You can also install Cloudify CLI on a local host and connect to the instance remotely.

  4. To change the admin password, run:

        cfy users set-password admin -p <new-password>
        
  5. To update the active CLI profile to use the new password, run:

        cfy profiles use <manager-ip> -u admin -p <the-new-password> -t default_tenant
        

Next Steps

After Cloudify Manager is installed, you can configure your Cloudify Manager for your environment, including:

First Deployment

Check out your new Cloudify Manager by installing the Local Hello-World Example Deployment.
This example demonstrates how you can use Cloudify to easily install a local HTTP server with a hello-world page on it.