anchor.diff:                  leo_redundant_manager_mnesia:create_members(disc_copies, Nodes),
                   leo_redundant_manager_mnesia:create_ring_current(disc_copies, Nodes),
                   leo_redundant_manager_mnesia:create_ring_prev(disc_copies, Nodes),
  -
  -                %% Launch Auth
  -                leo_s3_auth_api:create_credential_table(disc_copies, Nodes)
  -
  +                leo_s3_auth_api:create_credential_table(disc_copies, Nodes),
  +                leo_s3_bucket_api:create_bucket_table(disc_copies, Nodes)
               catch _:Reason ->
  -                    ?error("inspect1/3", "cause:~p", [Reason])
  +                    ?error("create_mnesia_tables1/3", "cause:~p", [Reason])
               end,
   
               {ok, SystemConf} = load_system_config_with_store_data(),
  
positive.code:                                                           {d,           SystemConf#system_conf.d},
                                                            {bit_of_ring, SystemConf#system_conf.bit_of_ring}]);
                  Error ->
                      ?error("inspect2/2", "cause:~p", [Error]),
                      Error
              end;
          Tbls when length(Tbls) =< 1 ->
              {error, no_exists};
          Error ->
              ?error("inspect2/2", "cause:~p", [Error]),
              Error
      end.
  
  
  %% @spec () -> ok |
  %%             not_started
  %% @doc stop process.
  %% @end
  stop() ->
      case whereis(?MODULE) of
          Pid when is_pid(Pid) == true ->
              exit(Pid, shutdown),
              ok;
          _ -> not_started
      end.
  
  %% ---------------------------------------------------------------------
  %% Callbacks
  %% ---------------------------------------------------------------------
  %% @spec (Params) -> ok
  %% @doc stop process.
  %% @end
  %% @private
  init([TCPServerParams]) ->
      ChildProcs =
          [{leo_manager_controller,
            {leo_manager_controller, start_link, [TCPServerParams]},
            permanent,
            ?SHUTDOWN_WAITING_TIME,
            worker,
            [leo_manager_controller]},
  
           {leo_manager_cluster_monitor,
            {leo_manager_cluster_monitor, start_link, []},
            permanent,
            ?SHUTDOWN_WAITING_TIME,
            worker,
            [leo_manager_cluster_monitor]}
          ],
      {ok, {_SupFlags = {one_for_one, ?MAX_RESTART, ?MAX_TIME}, ChildProcs}}.
  
  
  %% ---------------------------------------------------------------------
  %% Inner Function(s)
  %% ---------------------------------------------------------------------
  log_file_appender() ->
      %% app.config:
      %% {log_appender, [{file, [{path, "./log/app/"}]},
      %%                 {zmq,  [{ip,   "10.0.0.1"},
      %%                         {port, 10501}]}
      %%                ]},
  
      case application:get_env(leo_manager, log_appender) of
          undefined   -> log_file_appender([], []);
          {ok, Value} -> log_file_appender(Value, [])
      end.
  
  log_file_appender([], []) ->
      [{?LOG_ID_FILE_INFO,  ?LOG_APPENDER_FILE},
       {?LOG_ID_FILE_ERROR, ?LOG_APPENDER_FILE}];
  log_file_appender([], Acc) ->
      lists:reverse(Acc);
  log_file_appender([{Type, _}|T], Acc) when Type == file ->
      log_file_appender(T, [{?LOG_ID_FILE_ERROR, ?LOG_APPENDER_FILE}|[{?LOG_ID_FILE_INFO, ?LOG_APPENDER_FILE}|Acc]]);
  log_file_appender([{Type, _}|T], Acc) when Type == zmq ->
      %% @TODO
      log_file_appender(T, [{?LOG_ID_ZMQ, ?LOG_APPENDER_ZMQ}|Acc]).
  
  
  %% @spec (ConfFileName)-> ok | {error, Cause}
  %% @doc load a system config file. a system config file store to mnesia.
  %% @end
  %% @private
  
negative.code: 
  %% External API
  -export([start_link/0, stop/0]).
  -export([create_mnesia_tables/2]).
  
  
  %% Callbacks
  