chef-infrachef-solocookbookautomated-deploy

Deployment with Chef by using chef-solo: Error node.json


I want to start deploying components with chef-solo. I've already installed Chef Client (including chef-solo) and the required RPM artifacts by using yum.

I've also configured the solo.rb and node.json .

After executing the command: chef-solo -c solo.rb -j node.json I'm getting the following error message: FATAL: Cannot load configuration from node.json.

I'm quite a newbie at this so I appreciate any help. Thanks a lot.

Content of my node.json:

{
  "fqdn":"bender",
  "mysql":{
    "allow_remote_root":true,
    "bind_address":"xxx.x.x.x",
    "use_upstart":false,
    "server_repl_password":"xxx",
    "server_debian_password":"xxx",
    "server_root_password":"xxx",
    "tunable":{
      "wait_timeout":"7200"
    },
    "client": {
      "packages": ["mysql-community-client", "mysql-community-devel"]
    },
    "server": {
      "packages": ["mysql-community-server"]
    }
  },
  "coremedia":{
    "db":{
      "schemas":["cm7management",
                 "cm7master",
                 "cm7replication",
                 "cm7caefeeder",
                 "cm7mcaefeeder"]
    },
    "yum":{
      "local": {
        "path": "/opt/git/cm8-hamburg-de/boxes/target/shared/rpm-repo/",
        "archive": "/opt/git/cm8-hamburg-de/boxes/target/shared/rpm-repo/"
      }
    },
    "content_archive_url":"/opt/git/cm8-hamburg-de/boxes/target/shared/content/content-users.zip",
    "content_archive":"/opt/git/cm8-hamburg-de/boxes/target/shared/content/content-users.zip",

    "configuration":{
      "configure.STUDIO_TLD":"bender",
      "configure.DELIVERY_TLD":"bender",
      "configure.CROWD_APP_NAME":"admin",
      "configure.CROWD_PASSWORD":"x",
      "configure.CROWD_SERVER":"Crowd Server:8443",
      "configure.ELASTIC_MAIL_HOST":"webserver@testhh.de",
      "configure.DELIVERY_REPOSITORY_HTTP_PORT":"42080",
      "configure.DELIVERY_SOLR_PORT":"44080"
    },
    "logging":{
      "default":{
        "com.coremedia":{"level":"info"},
        "cap.server":{"level":"info"},
        "hox.corem.server":{"level":"info"},
        "workflow.server":{"level":"info"}
      }
    },
    "tomcat":{
      "manager":{
        "credentials":{
          "admin":{
            "username":"admin",
            "password" : "x",
            "roles"    : "manager-gui"
          },
 "script": {
            "username" :"script",
            "password" : "x",
            "roles"    : "manager-jmx,manager-script"
          }
    }
      }
    }
  },
  "run_list":[
  "recipe[blueprint-yum::default]",
  "recipe[coremedia::chef_logging]",
  "recipe[coremedia::reporting]",
  "recipe[mysql::server]",
  "recipe[coremedia::db_schemas]",
  "recipe[mongodb::default]",
  "recipe[coremedia::solr_master]",
  "recipe[coremedia::master_live_server]",
  "recipe[coremedia::content_management_server]",
  "recipe[coremedia::workflow_server]",
  "recipe[coremedia::caefeeder_preview]",
  "recipe[coremedia::caefeeder_live]",
  "recipe[coremedia::studio]",
  "recipe[coremedia::studio_apache]",
  "recipe[coremedia::certificate_generator]",
  "recipe[coremedia::delivery]",
  "recipe[coremedia::delivery_apache]"
  ]
}

Solution

  • make sure the node.json is in the same path from where you run chef-solo